From 321626e9d3e523fcdfb6978e686aac807c7046fd Mon Sep 17 00:00:00 2001 From: Till Tomczak Date: Fri, 20 Jun 2025 01:06:37 +0200 Subject: [PATCH] =?UTF-8?q?Die=20Dateien=20wurden=20wie=20folgt=20ge=C3=A4?= =?UTF-8?q?ndert=20und=20hinzugef=C3=BCgt:?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. backend/logs - 'admin', 'admin_api', 'app', 'calendar', 'data_management', 'drucker_steuerung', 'energy_monitoring', 'guest', 'hardware_integration', 'job_queue_system', 'jobs', 'models', 'monitoring_analytics', 'permissions', 'scheduler', 'security_suite', 'startup', ' --- backend/__pycache__/app.cpython-311.pyc | Bin 98592 -> 94970 bytes backend/app.py | 37 + backend/backend/database/myp.db | Bin 94208 -> 102400 bytes .../__pycache__/admin_unified.cpython-311.pyc | Bin 197253 -> 218603 bytes backend/blueprints/admin_unified.py | 581 ++++++- .../database/myp.db.backup_20250620_004637 | Bin 0 -> 245760 bytes ...627f6771cc3621bb4b2b014bf19b8_activity.pkl | Bin 0 -> 60 bytes ...71768c32367a2421015b4535c3671_activity.pkl | Bin 0 -> 60 bytes ...b55a11dffacb417ed88ff8b9b5d42_activity.pkl | Bin 0 -> 60 bytes ...abe3be7e103f8256790184044fb55_activity.pkl | Bin 0 -> 60 bytes ...06705be071f514f3fcb03753e74c1_activity.pkl | Bin 0 -> 60 bytes ...85935e8278383feaa0acba926edd6_activity.pkl | Bin 0 -> 60 bytes ...1fbd2005493f27d8a20ddf2cfeac4_activity.pkl | Bin 0 -> 60 bytes ...0bb5a8b642d8c399827e31f1f6cf3_activity.pkl | Bin 0 -> 60 bytes ...27c6a6f018b5b61e7606eb7bd98f9_activity.pkl | Bin 0 -> 60 bytes ...46d4d69323b90aab57df9e17f0f23_activity.pkl | Bin 0 -> 60 bytes ...1876c13017b0e6345b9be5bf30352_activity.pkl | Bin 0 -> 60 bytes ...0c4deae287073c8efea60996f39ab_activity.pkl | Bin 0 -> 60 bytes ...2c8635ed4c197987cc2a075af68b4_activity.pkl | Bin 0 -> 60 bytes ...600e89958c23e4635fae2ec845b6b_activity.pkl | Bin 0 -> 60 bytes ...79e493a882363adf52524479522a6_activity.pkl | Bin 0 -> 60 bytes ...18f8f598a7d3bbb4fc0e0f1e01580_activity.pkl | Bin 0 -> 60 bytes ...3ae7c009d8989e17571d00f02749e_activity.pkl | Bin 0 -> 60 bytes ...572a0ab358b5ee67df0b94642f524_activity.pkl | Bin 0 -> 60 bytes ...71a2443c7305c3669c6c564e36055_activity.pkl | Bin 0 -> 60 bytes ...36f880588c84f7986c36420ec25fb_activity.pkl | Bin 0 -> 60 bytes ...967b6d7b4f243ba90fd34ca5fb546_activity.pkl | Bin 0 -> 60 bytes ...b23f86f21857a2b51d6d9783125a9_activity.pkl | Bin 0 -> 60 bytes ...be4528f343feb0d941d8b764bdcee_activity.pkl | Bin 0 -> 60 bytes ...8c3f62a0aed20f49173b7ff25dfc8_activity.pkl | Bin 0 -> 60 bytes ...e95ba397ea636de75661e4b1693a5_activity.pkl | Bin 0 -> 60 bytes ...246473a61b6486553cd27526499ab_activity.pkl | Bin 0 -> 60 bytes ...adc3b800a3cd4d1ddf76218a96f98_activity.pkl | Bin 0 -> 60 bytes ...2859a89aa146e70bac6f31a873ac1_activity.pkl | Bin 0 -> 60 bytes ...6d5558de7d5c8a065520e9d9d1ede_activity.pkl | Bin 0 -> 60 bytes ...b18b2d721f2afabf1d7ea323683db_activity.pkl | Bin 0 -> 60 bytes ...792816f1433b3b1a25813ceaee7f9_activity.pkl | Bin 0 -> 60 bytes ...c41022cb25c65136a10b048a011e8_activity.pkl | Bin 0 -> 60 bytes ...e43372e0cff8eab5b6d143423be70_activity.pkl | Bin 0 -> 60 bytes ...7aaa1e20eb19de8b5c3336945111b_activity.pkl | Bin 0 -> 60 bytes ...c05cd21497d757bda8eeb80faa45f_activity.pkl | Bin 0 -> 60 bytes ...01ec16b65fdb56dd9cd0d94434747_activity.pkl | Bin 0 -> 60 bytes ...e81c71622f2b2d6eccfc2b8112ac2_activity.pkl | Bin 0 -> 60 bytes ...d8e76858d876e60670127a0cbe6ae_activity.pkl | Bin 0 -> 60 bytes ...cc33afa2e03043fad320270b1c206_activity.pkl | Bin 0 -> 60 bytes ...6790d1ed0a90de2b2444f6a410995_activity.pkl | Bin 0 -> 60 bytes ...0e718481f25421b918759d955260f_activity.pkl | Bin 0 -> 60 bytes ...000e4b3a3b026c940abc8c006f98c_activity.pkl | Bin 0 -> 60 bytes ...7687541e0e8024c8c238f19467d25_activity.pkl | Bin 0 -> 60 bytes ...e7e3ed820be55edb9fe9b2b7a7448_activity.pkl | Bin 0 -> 60 bytes ...9ea057aa8de5d202e402ec9c515f0_activity.pkl | Bin 0 -> 60 bytes ...0b596d46a3fd58c72f526a4918852_activity.pkl | Bin 0 -> 60 bytes ...2a5864d6282ead2e2486f98b588a2_activity.pkl | Bin 0 -> 60 bytes ...3d807c78c3f07900ca226b5464a5c_activity.pkl | Bin 0 -> 60 bytes ...41094780b4688cd38a6dba2951998_activity.pkl | Bin 0 -> 60 bytes ...e4053cada8b5d69ce7e36b47cf454_activity.pkl | Bin 0 -> 60 bytes ...f02a7f41018dfe8c429c46e47d349_activity.pkl | Bin 0 -> 60 bytes ...f91cc8267b240ddce8900a679aec8_activity.pkl | Bin 0 -> 60 bytes ...8611cee0c69b8ad05fade85121201_activity.pkl | Bin 0 -> 60 bytes ...0979bbce9cdf1b7ccfc5da10c11c7_activity.pkl | Bin 0 -> 60 bytes ...c895ee9521a7674adb92e155142c2_activity.pkl | Bin 0 -> 60 bytes ...bf37bf255403c28df3352cc2cb0af_activity.pkl | Bin 0 -> 60 bytes ...fb6cf46143cd329ca4c751ab121d4_activity.pkl | Bin 0 -> 60 bytes ...424bf4cf5abd73af1e81fbc793847_activity.pkl | Bin 0 -> 60 bytes ...7b55797cc0e8aaa77e42fa7c871b1_activity.pkl | Bin 0 -> 60 bytes ...81fd7ee5c6ef81325e938f1d769bf_activity.pkl | Bin 0 -> 60 bytes ...ca4de94cddb966e47763462afc0a7_activity.pkl | Bin 0 -> 60 bytes ...620701fcb29ecc87295cc6edb97d0_activity.pkl | Bin 0 -> 60 bytes ...c92b1a648daf6a2c45a65c97b6756_activity.pkl | Bin 0 -> 60 bytes ...fb214f7775be31637826891574709_activity.pkl | Bin 0 -> 60 bytes ...2bc9b1d681e6e5abcb87ffdebbe20_activity.pkl | Bin 0 -> 60 bytes ...070b81dbeb9f70c063372dd5dcc0d_activity.pkl | Bin 0 -> 60 bytes ...7f6577c65cd066cb141c3fd382919_activity.pkl | Bin 0 -> 60 bytes ...880ff909f82078deeab83fd740d74_activity.pkl | Bin 0 -> 60 bytes ...de5f3556aead6e6d8f635d11a6d10_activity.pkl | Bin 0 -> 60 bytes ...3530727b4e943c049175233a913a4_activity.pkl | Bin 0 -> 60 bytes ...5ebda2bcce4eaa9602a9b9346670b_activity.pkl | Bin 0 -> 60 bytes ...2fddca0b62f8e5a90e1052a002c0e_activity.pkl | Bin 0 -> 60 bytes ...85c873a1c9bcc404b9b9a5c55311b_activity.pkl | Bin 0 -> 60 bytes ...0e4169656530b233cd305ed6c34a3_activity.pkl | Bin 0 -> 60 bytes ...067636e42797fb685cc6676b4638b_activity.pkl | Bin 0 -> 60 bytes ...b9db27488e02f25339993d986e88d_activity.pkl | Bin 0 -> 60 bytes ...be1be734b272d0d5875eb9b296154_activity.pkl | Bin 0 -> 60 bytes ...7d6c44ab8cef5642171ccbf8785d7_activity.pkl | Bin 0 -> 60 bytes ...a353fb0cf014e44a69f2ffd4f3759_activity.pkl | Bin 0 -> 60 bytes ...6eff604a59b3af29e188d13580ff0_activity.pkl | Bin 0 -> 60 bytes ...ad74ffaedb41643746ad69af26bcf_activity.pkl | Bin 0 -> 60 bytes ...2ceaf37d7123199d6db749392c82d_activity.pkl | Bin 0 -> 60 bytes ...acc6dd7d7827620e34996525fb74a_activity.pkl | Bin 0 -> 60 bytes ...2f7dcb8ecc82c176d87b916dd564d_activity.pkl | Bin 0 -> 60 bytes ...64a199dd3a06d7a4a1636cc96e65a_activity.pkl | Bin 0 -> 60 bytes ...c185cf0bdcbf9995cd6d0ecd07a46_activity.pkl | Bin 0 -> 60 bytes ...ab770e3aa33c878f9c8e8a75b5b78_activity.pkl | Bin 0 -> 60 bytes ...4e0527c10f3d314905ebe58f0d884_activity.pkl | Bin 0 -> 60 bytes ...78477249b2d02dc26fa649798c08d_activity.pkl | Bin 0 -> 60 bytes ...cdf1df77a33b0bb046c4c770b603f_activity.pkl | Bin 0 -> 60 bytes ...44f22e55dc36fd4348fdfad7b8dc8_activity.pkl | Bin 0 -> 60 bytes ...351be306a1968d78abb0ab87b1d93_activity.pkl | Bin 0 -> 60 bytes ...464f9757c45bbd60b89c938cb20a2_activity.pkl | Bin 0 -> 60 bytes ...0b46dd4d5b4e6562fe26ab63cebb7_activity.pkl | Bin 0 -> 60 bytes ...dc08e9a8f95eab1593df6a3c02fba_activity.pkl | Bin 0 -> 60 bytes ...2b5d08d38bc28cb2361978c8e4aa9_activity.pkl | Bin 0 -> 60 bytes ...1a2dbb1fa7401e1e85972a3fab026_activity.pkl | Bin 0 -> 60 bytes ...bf0736af68a48eae908da1bf7b525_activity.pkl | Bin 0 -> 60 bytes ...8ef1b28a3c05e4aec3c034df37673_activity.pkl | Bin 0 -> 60 bytes ...742848ba02a723d3eff6e0b019c23_activity.pkl | Bin 0 -> 60 bytes ...21a1128f9e43c021582a4cf1ee334_activity.pkl | Bin 0 -> 60 bytes ...9c1e649583db3b7ceaa3d709550c9_activity.pkl | Bin 0 -> 60 bytes ...8a5ce33e16e220f3dfb96fc4e9709_activity.pkl | Bin 0 -> 60 bytes ...9b22fb1771922c34f7a864fa2a199_activity.pkl | Bin 0 -> 60 bytes ...836f7a235f65115ff1603a6df060e_activity.pkl | Bin 0 -> 60 bytes ...ae4716c8da125d331eb4732184af7_activity.pkl | Bin 0 -> 60 bytes ...d5d7b8b37f1d7870eae2027df2abe_activity.pkl | Bin 0 -> 60 bytes ...459c18a5930fbbcad49ba38863494_activity.pkl | Bin 0 -> 60 bytes ...7ddd833c6edb4f97200a1e1da2448_activity.pkl | Bin 0 -> 60 bytes ...4f02ad5028ce3bf848ae70ae2d4d2_activity.pkl | Bin 0 -> 60 bytes ...0d8830a1c9580672c9108ce270e06_activity.pkl | Bin 0 -> 60 bytes ...ffd2f79fcca4e95939786fd106b39_activity.pkl | Bin 0 -> 60 bytes ...33cb695b911c2bcd274352e990b6e_activity.pkl | Bin 0 -> 60 bytes ...fbb9987ab559b571af7467da1e4ae_activity.pkl | Bin 0 -> 60 bytes ...007fc6567101ff01893260d6fd8db_activity.pkl | Bin 0 -> 60 bytes ...7018cf999b436eb1a2378922e398d_activity.pkl | Bin 0 -> 60 bytes ...309910a05ae9b843458f296de0a66_activity.pkl | Bin 0 -> 60 bytes ...77c1e85929d4272d3a8d4e71f40d3_activity.pkl | Bin 0 -> 60 bytes ...3f133aa53557832003ff9131ffd53_activity.pkl | Bin 0 -> 60 bytes ...58ec57d269588fa24ff069989307e_activity.pkl | Bin 0 -> 60 bytes ...1dfb380824d0b7f67c682c923c8e6_activity.pkl | Bin 0 -> 60 bytes ...974f98270d852ec4f4137eab7d8c6_activity.pkl | Bin 0 -> 60 bytes ...1e41cd54bb9b39ba30ec466dbfdf6_activity.pkl | Bin 0 -> 60 bytes ...3e5434172eba8ef59c92f5fb4743a_activity.pkl | Bin 0 -> 60 bytes ...57567d5e9e20c551f6e0bedc0a7e4_activity.pkl | Bin 0 -> 60 bytes ...f5ea5210e7644b9cf23a72aeebfa6_activity.pkl | Bin 0 -> 60 bytes ...405db9209782aa7994c6e476fdde2_activity.pkl | Bin 0 -> 60 bytes ...5a94d5cc5363ad1559e5af852c869_activity.pkl | Bin 0 -> 60 bytes ...c5fc6c09ec89a521b8d82548bd0c7_activity.pkl | Bin 0 -> 60 bytes ...408835a6d2e0faa8a4dc909db339f_activity.pkl | Bin 0 -> 60 bytes ...6878811787949cebd33070aa6fad7_activity.pkl | Bin 0 -> 60 bytes ...b3e4d0f4113776f9cd50a98491fcb_activity.pkl | Bin 0 -> 60 bytes ...254ff9efcef670a5e026bee84e36d_activity.pkl | Bin 0 -> 60 bytes ...9513dd636d080b6554556422e49e2_activity.pkl | Bin 0 -> 60 bytes ...cbba08fbc9091d7251857a6d9a0f8_activity.pkl | Bin 0 -> 60 bytes ...387f0f21fc0028f17cf9c0757d5db_activity.pkl | Bin 0 -> 60 bytes ...e9110b1a6a2f0c96c6b10176d6afa_activity.pkl | Bin 0 -> 60 bytes ...1eb49602db69cb64a23339750273b_activity.pkl | Bin 0 -> 60 bytes ...45b0de9c65ebabcbc8d0642d7c119_activity.pkl | Bin 0 -> 60 bytes ...f07c0efdf1fdec01a093e13916791_activity.pkl | Bin 0 -> 60 bytes ...fbc30b263aa9dfb1257ad6746b4eb_activity.pkl | Bin 0 -> 60 bytes ...a73e4626922a32edb177ff158da44_activity.pkl | Bin 0 -> 60 bytes ...f706dc174cdb6e798ed66d2565bef_activity.pkl | Bin 0 -> 60 bytes ...05b9ced0cbcb98e16627b60dcb138_activity.pkl | Bin 0 -> 60 bytes ...377e3f1f364232d734542f0b6e575_activity.pkl | Bin 0 -> 60 bytes ...af8fd77754d812dbef5565760ecce_activity.pkl | Bin 0 -> 60 bytes ...bc09d3c0d9633868ab3bc74b02749_activity.pkl | Bin 0 -> 60 bytes ...6873f9f9d1e1053e7d0d548dc6a7f_activity.pkl | Bin 0 -> 60 bytes ...99c93b446e2770f0124287fb718cc_activity.pkl | Bin 0 -> 60 bytes ...5a47ca6232b0eca9b47824aab7183_activity.pkl | Bin 0 -> 60 bytes ...3addd60112287137fa0a4ad0e964b_activity.pkl | Bin 0 -> 60 bytes ...c08944bc53ae5a7bc0228c7abda91_activity.pkl | Bin 0 -> 60 bytes ...c8e6767011cc59680b4fed485d298_activity.pkl | Bin 0 -> 60 bytes ...619567fa03d978150ab4bccd20b4e_activity.pkl | Bin 0 -> 60 bytes ...c3d2369fdda747d9f931e1123f519_activity.pkl | Bin 0 -> 60 bytes ...596d58b7e3efbb0869b5a28cf3daa_activity.pkl | Bin 0 -> 60 bytes ...4e02273648a5cb52cef493bac9d5c_activity.pkl | Bin 0 -> 60 bytes ...fbc41b987d92704ca0e36d51a5d4a_activity.pkl | Bin 0 -> 60 bytes ...14b9cf83a4926872b0fb635ce7354_activity.pkl | Bin 0 -> 60 bytes ...d67f3f1cd1edc859d982a5b403ef5_activity.pkl | Bin 0 -> 60 bytes ...eb6a3ccbf03cf012a375e178b1a8e_activity.pkl | Bin 0 -> 60 bytes ...bdf7ecd992db56823ee4687724a67_activity.pkl | Bin 0 -> 60 bytes ...bb79498c7df30c3fd38c210a67f45_activity.pkl | Bin 0 -> 60 bytes ...620c45f36fd0a3ee1d0e896959de3_activity.pkl | Bin 0 -> 60 bytes ...8ca177b5e4bf89d54580c039d4a4a_activity.pkl | Bin 0 -> 60 bytes ...217c0d9776c9a4fc2e5925cea5e17_activity.pkl | Bin 0 -> 60 bytes ...feb1bf1d281f66564b4b131b3b0cd_activity.pkl | Bin 0 -> 60 bytes ...d6e260f8056511663b8dc7e156dfa_activity.pkl | Bin 0 -> 60 bytes ...9b7cb6dc845c8d48c66ffa9c71586_activity.pkl | Bin 0 -> 60 bytes ...40e03d3a6fb4fa852ba38909cf495_activity.pkl | Bin 0 -> 60 bytes ...181408636de36794cdc7d39454001_activity.pkl | Bin 0 -> 60 bytes ...b3dd861f081e0269a537eed43fdae_activity.pkl | Bin 0 -> 60 bytes ...89ec064acf84e6ab253d4dbaab7eb_activity.pkl | Bin 0 -> 60 bytes ...f59811966ed95c2e245cb84d0ede7_activity.pkl | Bin 0 -> 60 bytes ...b3444cb7e91bdc16c20e9e911cb10_activity.pkl | Bin 0 -> 60 bytes ...5700b1656d789810c8aa663ef5081_activity.pkl | Bin 0 -> 60 bytes ...dc9f671015bac2e3092090eda798e_activity.pkl | Bin 0 -> 60 bytes ...d2174ac6ef0899aa885dcf5b728cd_activity.pkl | Bin 0 -> 60 bytes ...0db0ba01de9a854e6461e78ebf827_activity.pkl | Bin 0 -> 60 bytes ...9aaede1cf919c1ac014e6b74fc379_activity.pkl | Bin 0 -> 60 bytes ...3215cb5fbd9415d119e27710a875a_activity.pkl | Bin 0 -> 60 bytes ...59771e9c2d0308cb4a7e4e9904c35_activity.pkl | Bin 0 -> 60 bytes ...07d02fd82fd972cce190862d6289c_activity.pkl | Bin 0 -> 60 bytes ...66eea62217ef26a8086dd33652f5d_activity.pkl | Bin 0 -> 60 bytes ...cb7d6e4dacca72004d8e0e1b70c33_activity.pkl | Bin 0 -> 60 bytes ...3d969989221a308aff9ea788654d8_activity.pkl | Bin 0 -> 60 bytes ...040e7f6770c5b28f76ccb247ca8a7_activity.pkl | Bin 0 -> 60 bytes ...e11742c9688ea6380c6ddf38717bc_activity.pkl | Bin 0 -> 60 bytes ...38f710a667c5ba18908390b6cc2d1_activity.pkl | Bin 0 -> 60 bytes ...27d19d012f71a7bc5210b6e5418e0_activity.pkl | Bin 0 -> 60 bytes ...39a8ce147d753ede739623ef5363c_activity.pkl | Bin 0 -> 60 bytes ...0d7d781ed65dcb2fc945bd623dac8_activity.pkl | Bin 0 -> 60 bytes ...0dc851b5cc546293dbfae3f589608_activity.pkl | Bin 0 -> 60 bytes ...a9da6ecac27db24dc7d32a8f65983_activity.pkl | Bin 0 -> 60 bytes ...47c28b0e6d821715b8ec2fd560388_activity.pkl | Bin 0 -> 60 bytes ...5463561f2208e17283b24c23e3074_activity.pkl | Bin 0 -> 60 bytes ...8d92ff8b700037c4f0f2d59081512_activity.pkl | Bin 0 -> 60 bytes ...0fc74a14f8f1fa3af2efecfc6c9f0_activity.pkl | Bin 0 -> 60 bytes ...9effabfd498e02b8c0a850027279b_activity.pkl | Bin 0 -> 60 bytes ...cd594d1f3e528ce2fa3470e655649_activity.pkl | Bin 0 -> 60 bytes ...7b80a738c9c8f1010315b6d9f0570_activity.pkl | Bin 0 -> 60 bytes ...5b9b593a95c3049f45ecb9dafd54e_activity.pkl | Bin 0 -> 60 bytes ...8c1165d177bdb3f54124c40b430b2_activity.pkl | Bin 0 -> 60 bytes ...af0337dddbfb71dd4a661db4f2840_activity.pkl | Bin 0 -> 60 bytes ...e42a3886e53708bcd5cbcfb4ca9b8_activity.pkl | Bin 0 -> 60 bytes ...e2ac7a040e68f667cb374f0e0b8eb_activity.pkl | Bin 0 -> 60 bytes ...1ab8cdb4bed01a67b931d7ff744e9_activity.pkl | Bin 0 -> 60 bytes ...6ae444b6e5609af7c4e682a70b98b_activity.pkl | Bin 0 -> 60 bytes ...62eadae2811e91cf6e4f75aecaf7e_activity.pkl | Bin 0 -> 60 bytes ...3dcc19ab73cd23de22e6797d0f928_activity.pkl | Bin 0 -> 60 bytes ...4a8463d2ece3489327bb0dc38b1be_activity.pkl | Bin 0 -> 60 bytes ...c4fdbcf8c18df7af86bb8e5c8e069_activity.pkl | Bin 0 -> 60 bytes ...5425f3417733dd57981146b0bd9bc_activity.pkl | Bin 0 -> 60 bytes ...294cb33aa6c2de01a5b250b890f78_activity.pkl | Bin 0 -> 60 bytes ...78052c13c8288665e67aa152f5d4b_activity.pkl | Bin 0 -> 60 bytes ...f16c7b6f76ec15e42a1597e8180d4_activity.pkl | Bin 0 -> 60 bytes ...26f47b0e64091341e5d0c656df87d_activity.pkl | Bin 0 -> 60 bytes ...f1d1aed666e9bf64002f4a431f96e_activity.pkl | Bin 0 -> 60 bytes ...00f2fc7d0f0589aae505625bcfe5e_activity.pkl | Bin 0 -> 60 bytes ...ea8e5f833be6f18b65b019be32810_activity.pkl | Bin 0 -> 60 bytes ...fb38b50c7a29fe58b25dcba032166_activity.pkl | Bin 0 -> 60 bytes ...c5180915ee6660205c008c2d98367_activity.pkl | Bin 0 -> 60 bytes ...aab1605d678c229af6d4d5247da83_activity.pkl | Bin 0 -> 60 bytes ...29c3912f8f463c8c420fd1feff11d_activity.pkl | Bin 0 -> 60 bytes ...258203fa5e053277554dd1befb6d5_activity.pkl | Bin 0 -> 60 bytes ...d22032cade96286723ff2e32ade19_activity.pkl | Bin 0 -> 60 bytes ...ce66a97940f3e57707f9bd0603908_activity.pkl | Bin 0 -> 60 bytes ...4c41ad040b12b0854a5410cfa1f73_activity.pkl | Bin 0 -> 60 bytes ...77aad25e42ead670a5e58d6e2cfbb_activity.pkl | Bin 0 -> 60 bytes ...70782f57aee6998083f726e2b01c6_activity.pkl | Bin 0 -> 60 bytes ...3826e174a0ac9e50f99ee29904d03_activity.pkl | Bin 0 -> 60 bytes ...6be664ecb9e52cb03be49c69475fe_activity.pkl | Bin 0 -> 60 bytes ...26aa6b33a325e6a1786ef4c098b75_activity.pkl | Bin 0 -> 60 bytes ...1a124fcedc1748b4b61726450bbfa_activity.pkl | Bin 0 -> 60 bytes ...ea5ee86a94e0bd8e8c5a04f2a52ea_activity.pkl | Bin 0 -> 60 bytes ...c309933543617750d9b64b27c9f4f_activity.pkl | Bin 0 -> 60 bytes ...e38b7b6ea61cf32ab5365f5e8ae50_activity.pkl | Bin 0 -> 60 bytes ...f640f072235bbbb9f07a2c2e604d3_activity.pkl | Bin 0 -> 60 bytes ...40876f6b04a4f4e0efe5545e44bf2_activity.pkl | Bin 0 -> 60 bytes ...5fd65c53a875ab9c66c29aaa645b7_activity.pkl | Bin 0 -> 60 bytes ...718299f04a1c4eacdaf4dac230995_activity.pkl | Bin 0 -> 60 bytes ...17314ba590d0b97f2103b8bfad8a6_activity.pkl | Bin 0 -> 60 bytes ...15b66c4fe7df099b30bf51a9f5037_activity.pkl | Bin 0 -> 60 bytes ...7ced8ffce164381d0530d770cab67_activity.pkl | Bin 0 -> 60 bytes ...2480dd39fdc07b1dcd5ac297f8988_activity.pkl | Bin 0 -> 60 bytes ...8f45d3582b5ba36da279c17e5d31b_activity.pkl | Bin 0 -> 60 bytes ...02c0cb66e5cc7e72194e1956e91ed_activity.pkl | Bin 0 -> 60 bytes ...0a7c1e08332dd42ea9c954f4a38e6_activity.pkl | Bin 0 -> 60 bytes ...9dc0998caea837b3e89879be28b48_activity.pkl | Bin 0 -> 60 bytes ...931edf5c2b936faa09456baaa1e07_activity.pkl | Bin 0 -> 60 bytes ...823ab4b9d1b1ae9825a62f149da6c_activity.pkl | Bin 0 -> 60 bytes ...ea84f98b76bb401bb0a2dc0567d6e_activity.pkl | Bin 0 -> 60 bytes ...58fe2fc753da7d8390a2da3528a89_activity.pkl | Bin 0 -> 60 bytes ...b187de62f3e0bd2407fec898982d9_activity.pkl | Bin 0 -> 60 bytes ...b95073f733f05476a1839272550ad_activity.pkl | Bin 0 -> 60 bytes ...f2ae1fb87a5d6aaeaf868ee436f4b_activity.pkl | Bin 0 -> 60 bytes ...6f7c3d4027ff4690474ed13c39021_activity.pkl | Bin 0 -> 60 bytes ...fadf0c0e6c3547dbffdced2ae9f3f_activity.pkl | Bin 0 -> 60 bytes ...8215cc0b5ba4fec2dd62f3773b8bb_activity.pkl | Bin 0 -> 60 bytes ...0850b18dd70471a276af6cd3bc7f5_activity.pkl | Bin 0 -> 60 bytes ...31812acdc98b75f5b60d33951e708_activity.pkl | Bin 0 -> 60 bytes ...9073cc0b604de41b80f0fa6285f2d_activity.pkl | Bin 0 -> 60 bytes ...3cda0299d8bd560dca8eb1adc4a3e_activity.pkl | Bin 0 -> 60 bytes ...aaf420be4344b3693c4f91c8305f8_activity.pkl | Bin 0 -> 60 bytes ...04aa869871a7d80c8d5a690993d52_activity.pkl | Bin 0 -> 60 bytes ...5dc49b282abdf6b963ffa1d922ebd_activity.pkl | Bin 0 -> 60 bytes ...b4af9c6559a08445a784b762a0dd0_activity.pkl | Bin 0 -> 60 bytes ...8b2ac9c471e68a1a439cd0f411879_activity.pkl | Bin 0 -> 60 bytes ...4eb9884039b2e715fe2e839698aa2_activity.pkl | Bin 0 -> 60 bytes ...6e836f4553febfccbc27ebd395dac_activity.pkl | Bin 0 -> 60 bytes ...9e96f71090b39c393c65dfcedbb51_activity.pkl | Bin 0 -> 60 bytes ...470853356c69beec87a69db666da2_activity.pkl | Bin 0 -> 60 bytes ...8d1c5a6bf6c09d57e0da8c3769416_activity.pkl | Bin 0 -> 60 bytes ...9f0762183207102fb860a6d8d99f5_activity.pkl | Bin 0 -> 60 bytes ...fbb414d3e62212e8eda6b73edaa87_activity.pkl | Bin 0 -> 60 bytes ...1902d05fe12a82ecaf92a2783c04e_activity.pkl | Bin 0 -> 60 bytes ...0a5534d442c69dede7241cdd59041_activity.pkl | Bin 0 -> 60 bytes ...46f13259bec80649a6eeb9b63ad65_activity.pkl | Bin 0 -> 60 bytes ...24f0d8a79b77fb26dcef543af0969_activity.pkl | Bin 0 -> 60 bytes ...0c72f21910ef6acbfba5576256dee_activity.pkl | Bin 0 -> 60 bytes ...4157d8fb5d8e9d96dd496e799547e_activity.pkl | Bin 0 -> 60 bytes ...9e582de2bad9b8ab92f4a50fde152_activity.pkl | Bin 0 -> 60 bytes ...7caa86e52bf1bd16a6505d348a739_activity.pkl | Bin 0 -> 60 bytes ...24a292412acbe1975a52c096dae82_activity.pkl | Bin 0 -> 60 bytes ...a20abcacccf98d99480e302fc4f32_activity.pkl | Bin 0 -> 60 bytes ...97c3b5e91ad7775f3d4a0882ee992_activity.pkl | Bin 0 -> 60 bytes ...81571cd539eeb2e956b8aa1b7f667_activity.pkl | Bin 0 -> 60 bytes ...e56d87c325a9718ece955274e294f_activity.pkl | Bin 0 -> 60 bytes ...360060441a043b5059ef10e4a2ef8_activity.pkl | Bin 0 -> 60 bytes ...cb5ec17493c701d1acda943aa1edc_activity.pkl | Bin 0 -> 60 bytes ...983b47a791d07644cc6229596f1b9_activity.pkl | Bin 0 -> 60 bytes ...34a17ed10b377b5f19ce3aa70d73e_activity.pkl | Bin 0 -> 60 bytes ...64423c495fa81a8b88bb19e8fb96e_activity.pkl | Bin 0 -> 60 bytes ...b95e4a52ac33a5a169ea5ae864f71_activity.pkl | Bin 0 -> 60 bytes ...91226bf88d86533d06d75ffab1e4d_activity.pkl | Bin 0 -> 60 bytes ...df2e5ad75fe45c2dd50d02c50f713_activity.pkl | Bin 0 -> 60 bytes ...96991f70dc3870c1f5bf2d87eadb6_activity.pkl | Bin 0 -> 60 bytes ...564e7baabb96798477ec4508f815b_activity.pkl | Bin 0 -> 60 bytes ...36796e539281165516d2455c0cd9a_activity.pkl | Bin 0 -> 60 bytes ...1fae62bf255a52bb08c41386fe1ac_activity.pkl | Bin 0 -> 60 bytes ...3163332d2d3bd04fa22a4ace0294b_activity.pkl | Bin 0 -> 60 bytes ...be33e8e5cd1eb25418c73ee3a8c8b_activity.pkl | Bin 0 -> 60 bytes ...63928eb790e26e3219f5274b6a336_activity.pkl | Bin 0 -> 60 bytes ...6d2cd1a6352e938d15bb3f1aa6cd1_activity.pkl | Bin 0 -> 60 bytes ...1371d2428f8d4bbea220fee0576ae_activity.pkl | Bin 0 -> 60 bytes ...45a480bfa7ece66b1444d1934518d_activity.pkl | Bin 0 -> 60 bytes ...b7d8295ed4267b716c7ba325fb654_activity.pkl | Bin 0 -> 60 bytes ...7826753240b951176d96b58808dce_activity.pkl | Bin 0 -> 60 bytes ...7bbd9d8ed7886af88fd83eae4944d_activity.pkl | Bin 0 -> 60 bytes ...ae6b3595daad6bd9825fd10b32db0_activity.pkl | Bin 0 -> 60 bytes ...4d3b1a4a7a3970be0ea0311114bfe_activity.pkl | Bin 0 -> 60 bytes ...9727776e3d374a065b114b9baf05f_activity.pkl | Bin 0 -> 60 bytes ...5e361dda6e1b7b8f956210514172b_activity.pkl | Bin 0 -> 60 bytes ...10f43fcba084d3bf6fc6fbbe74310_activity.pkl | Bin 0 -> 60 bytes ...12b7e187f31b1e3ed66516eadc60a_activity.pkl | Bin 0 -> 60 bytes ...15b3ac5860c3e683c5651fb4c2f8e_activity.pkl | Bin 0 -> 60 bytes ...0c612d0f72d34443b3c7fd28e6ae5_activity.pkl | Bin 0 -> 60 bytes ...158e2142ffe9a66bd13cc4835dcb8_activity.pkl | Bin 0 -> 60 bytes ...8299639f3f3f586119a9682e57a2e_activity.pkl | Bin 0 -> 60 bytes ...e07b134721ba642cbd38cb98472e4_activity.pkl | Bin 0 -> 60 bytes ...0ca9fe828c6b924ac08b68ae22ed0_activity.pkl | Bin 0 -> 60 bytes ...f3a838a982963656acd4b12b80284_activity.pkl | Bin 0 -> 60 bytes ...c7168d17f540ca6cae760bb812bc6_activity.pkl | Bin 0 -> 60 bytes ...4ca605d3830297dcc586eac6bfd0c_activity.pkl | Bin 0 -> 60 bytes ...0a68a949b94cae6f20e6d14ccc8e5_activity.pkl | Bin 0 -> 60 bytes ...946f16167b7c86ab46d7483ef2701_activity.pkl | Bin 0 -> 60 bytes ...42ed19231e9e1c0f7919fe5dfdb9d_activity.pkl | Bin 0 -> 60 bytes ...67bd55c279c3ac63acf9c22a4bac4_activity.pkl | Bin 0 -> 60 bytes ...2837e5f3ca5000c4acd0021aa8e2e_activity.pkl | Bin 0 -> 60 bytes ...d93d5fccbc9a306d612c8a41e3b8d_activity.pkl | Bin 0 -> 60 bytes ...028f4a6a4117ba674f61ba40d8325_activity.pkl | Bin 0 -> 60 bytes ...0722ed3cdf933ea3af9a5c0091106_activity.pkl | Bin 0 -> 60 bytes ...708797663412643b8655ae1909c0a_activity.pkl | Bin 0 -> 60 bytes ...06ba97527cf882e9103d06e3ed3e9_activity.pkl | Bin 0 -> 60 bytes ...95bb11fdf7de5199f55fa90d3d570_activity.pkl | Bin 0 -> 60 bytes ...f3a91b47d8c2b4d6297d7d6a8a641_activity.pkl | Bin 0 -> 60 bytes ...6519f4220b4b68222090c22618552_activity.pkl | Bin 0 -> 60 bytes ...6e2c2c5194fc25526e4c15519d696_activity.pkl | Bin 0 -> 60 bytes ...e3da4d120d679614809b03e2a3b42_activity.pkl | Bin 0 -> 60 bytes ...86cb275045065445d0ded2158ad93_activity.pkl | Bin 0 -> 60 bytes ...9efccab2c448361634009c32ac374_activity.pkl | Bin 0 -> 60 bytes ...95163a8bfb618d14fb7a886e0994e_activity.pkl | Bin 0 -> 60 bytes ...63253346e7bb36aec7bc5263528be_activity.pkl | Bin 0 -> 60 bytes ...bfe8ce8599ea1f5be43055069c982_activity.pkl | Bin 0 -> 60 bytes ...36f32c2bbd84cf08ea9b8548313ee_activity.pkl | Bin 0 -> 60 bytes ...0f188fa44a8150f0dd392934d58de_activity.pkl | Bin 0 -> 60 bytes ...833eae0ffd3eebdd388098b4566a4_activity.pkl | Bin 0 -> 60 bytes ...28df6af5325366d806b4b61b339d2_activity.pkl | Bin 0 -> 60 bytes ...21c8de9a38274e576a81ed3f4cc65_activity.pkl | Bin 0 -> 60 bytes ...f905fb337456a13ee418477d746d6_activity.pkl | Bin 0 -> 60 bytes ...ece810977385ec9118768bdd2dca6_activity.pkl | Bin 0 -> 60 bytes ...6f548747892988caf9dc34076ad04_activity.pkl | Bin 0 -> 60 bytes ...41247f0336f40006bba4119189e4c_activity.pkl | Bin 0 -> 60 bytes ...25fdd6885ebba9133efe1984e86cf_activity.pkl | Bin 0 -> 60 bytes ...63556013078d11af4486fca2a7ebc_activity.pkl | Bin 0 -> 60 bytes ...38bfc08bd0c68391ea394d97b5144_activity.pkl | Bin 0 -> 60 bytes ...4c6786459e0fe2ffbeb5718893bb1_activity.pkl | Bin 0 -> 60 bytes ...2f1ff3199f4e456f55c555185d86e_activity.pkl | Bin 0 -> 60 bytes ...9fe02206075a3858b2d1b6f3a7fe9_activity.pkl | Bin 0 -> 60 bytes ...89ef89df1d85f9b97862641845593_activity.pkl | Bin 0 -> 60 bytes ...786f0284d08ebc115bb67c6b7d5f3_activity.pkl | Bin 0 -> 60 bytes ...727b9d75d87ef3a243a3f61da9c98_activity.pkl | Bin 0 -> 60 bytes ...90513e064967a4970d24f7cf4f420_activity.pkl | Bin 0 -> 60 bytes ...08c84c09cdf3113f447e78d8dcd95_activity.pkl | Bin 0 -> 60 bytes ...8eb32d72edba1fb8c8e39ee452808_activity.pkl | Bin 0 -> 60 bytes ...ed7144c88416aa94a5fe1294624c9_activity.pkl | Bin 0 -> 60 bytes ...cef35783d863aa3a90de85fd0b6ca_activity.pkl | Bin 0 -> 60 bytes ...ddc30a059e48601d395dd842a09c1_activity.pkl | Bin 0 -> 60 bytes ...b8f4653dfc7c72823f1f96acba6b4_activity.pkl | Bin 0 -> 60 bytes ...a3dc90d5f018943e880acbf7dbffa_activity.pkl | Bin 0 -> 60 bytes ...19e189831e40cbf9ccb14628ce205_activity.pkl | Bin 0 -> 60 bytes ...3f06ab3d99f974831bf1dc06ea907_activity.pkl | Bin 0 -> 60 bytes ...f381b9174ec72c4ac862e72a8e9c0_activity.pkl | Bin 0 -> 60 bytes ...1e4e07dae0908af4b0d81c8ec34bf_activity.pkl | Bin 0 -> 60 bytes ...c1cf5eb88681b98ae35539b368e6f_activity.pkl | Bin 0 -> 60 bytes ...72e436bea92f2c685b75ca750125f_activity.pkl | Bin 0 -> 60 bytes ...b6675a1c0c312026e34d7b7073cda_activity.pkl | Bin 0 -> 60 bytes ...95855e301538aac6f4b452d3ff30f_activity.pkl | Bin 0 -> 60 bytes ...7d9ac43407e41970d367bb817dc7e_activity.pkl | Bin 0 -> 60 bytes ...396774be7f3642d1e540980f80f95_activity.pkl | Bin 0 -> 60 bytes ...a39e527355cb9663e45982ffa341b_activity.pkl | Bin 0 -> 60 bytes ...1be4772035e9382614e6b173df0c2_activity.pkl | Bin 0 -> 60 bytes ...52fe7386326d111d37881d1a479f4_activity.pkl | Bin 0 -> 60 bytes ...42c64ea5ed68fecf2499ab5e39448_activity.pkl | Bin 0 -> 60 bytes ...96ae2c1e5204bb0b1884c75283a27_activity.pkl | Bin 0 -> 60 bytes ...d63738a7e75bcd241a4dc25cec44d_activity.pkl | Bin 0 -> 60 bytes ...ffc075f2c11389778f7958d6d0b56_activity.pkl | Bin 0 -> 60 bytes ...3b5318b0fef3895a4ca2d56faeaad_activity.pkl | Bin 0 -> 60 bytes ...69caf03bf3329ecddc9699c454376_activity.pkl | Bin 0 -> 60 bytes ...6632a3432dd93c861d6f8df62bdee_activity.pkl | Bin 0 -> 60 bytes ...389876b078eeff8848162143b0c42_activity.pkl | Bin 0 -> 60 bytes ...7227dd6768bb2ae4f704647ff5fdb_activity.pkl | Bin 0 -> 60 bytes ...c04ff1137bb8877a81ab702f8047b_activity.pkl | Bin 0 -> 60 bytes ...ded645afe07b5009f4344a423b0a8_activity.pkl | Bin 0 -> 60 bytes ...ca68465c301d0798d0cf77ebc2adb_activity.pkl | Bin 0 -> 60 bytes ...aca6895be8c829cc5c76b56396dfa_activity.pkl | Bin 0 -> 60 bytes ...b3636969153269fc8c70503883fe9_activity.pkl | Bin 0 -> 60 bytes ...d26aba9112194d6a82c61bc2887f2_activity.pkl | Bin 0 -> 60 bytes ...3cf7e1a4389d9527bcda7a1f756fd_activity.pkl | Bin 0 -> 60 bytes ...783567fea6ede588569b825e18b78_activity.pkl | Bin 0 -> 60 bytes ...bafe9afc055b364b686f12d652c5f_activity.pkl | Bin 0 -> 60 bytes ...85c483a7f5cd5b6d1adabf3366285_activity.pkl | Bin 0 -> 60 bytes ...3c4f0d64586459477b95ca9cc9b73_activity.pkl | Bin 0 -> 60 bytes ...bd3da7444c17ec44bdd96129d185b_activity.pkl | Bin 0 -> 60 bytes ...c1d59d6eaf5d4f861a061365f0547_activity.pkl | Bin 0 -> 60 bytes ...85e52dd8f47f79a82cd53bb23cf3d_activity.pkl | Bin 0 -> 60 bytes ...1609f1f6722bd4e75b4b6a940cf43_activity.pkl | Bin 0 -> 60 bytes ...6d0e9347f5a3ff2b3955d9d5c97db_activity.pkl | Bin 0 -> 60 bytes ...e5eadd199a2d50428be84bd0b8908_activity.pkl | Bin 0 -> 60 bytes ...69d3cbed8139d195383d2b7c32601_activity.pkl | Bin 0 -> 60 bytes ...fe6f1014e7a0df7261dc12c2d142a_activity.pkl | Bin 0 -> 60 bytes ...b26ebb7d148530190f568daee2c01_activity.pkl | Bin 0 -> 60 bytes ...7bcf5d266c9c902e5a5a66544f93e_activity.pkl | Bin 0 -> 60 bytes ...5b17bdd6c42778a11385cf344b79e_activity.pkl | Bin 0 -> 60 bytes ...ab127d1620129ca289e77437d7d1d_activity.pkl | Bin 0 -> 60 bytes ...9052004a9459b9a410a9860aa79c3_activity.pkl | Bin 0 -> 60 bytes ...b88d6cdf295dbf7b85e374cc6a18d_activity.pkl | Bin 0 -> 60 bytes ...e721d518e770ffbcd938a77405577_activity.pkl | Bin 0 -> 60 bytes ...3a1147d27d35f0ccaf4da7fcb240e_activity.pkl | Bin 0 -> 60 bytes ...0aa66cb2bb8f54b3f72c98c6ce0a5_activity.pkl | Bin 0 -> 60 bytes ...e358894eae4050ee04eb6236d7be4_activity.pkl | Bin 0 -> 60 bytes ...08365c3a73e32766cdadee6e83bb2_activity.pkl | Bin 0 -> 60 bytes ...5ddeb9e22a1b1195fe302ca81381e_activity.pkl | Bin 0 -> 60 bytes ...88474db44cccd2b5b179101921d53_activity.pkl | Bin 0 -> 60 bytes ...cf18eb89afd97cc931575cc5ede59_activity.pkl | Bin 0 -> 60 bytes ...063512326b3204780746e895a8c3b_activity.pkl | Bin 0 -> 60 bytes ...72a38db719b0ea6da665c02667b99_activity.pkl | Bin 0 -> 60 bytes ...666b78b69c6a943db8fa1b36c9691_activity.pkl | Bin 0 -> 60 bytes ...1b99a3cae290503201702ffd7209a_activity.pkl | Bin 0 -> 60 bytes ...1c5488b89774a25ae1d70a8b7ea80_activity.pkl | Bin 0 -> 60 bytes ...32730b23849bdbf26ffc3911a3ac9_activity.pkl | Bin 0 -> 60 bytes ...86ead262d5b68398426b78d297556_activity.pkl | Bin 0 -> 60 bytes ...7ed42773c8073f327b6dd6ed00202_activity.pkl | Bin 0 -> 60 bytes ...3850759c120bdcd5245e63c7e5a63_activity.pkl | Bin 0 -> 60 bytes ...2fc8b769f302ec649a9ec6bb1b39e_activity.pkl | Bin 0 -> 60 bytes ...d41f21ebabdfe48fdbf2a78aecff4_activity.pkl | Bin 0 -> 60 bytes ...b54451fd3f6eb804b556a8e20052e_activity.pkl | Bin 0 -> 60 bytes ...011a6f40c958b11261558b000c124_activity.pkl | Bin 0 -> 60 bytes ...a6002f967a32e95ce29d1c6e70c0a_activity.pkl | Bin 0 -> 60 bytes ...3af76f1f281bf209d370e29927766_activity.pkl | Bin 0 -> 60 bytes ...fbd47a9d61878420c6f6579ba7023_activity.pkl | Bin 0 -> 60 bytes ...69124e4bb6fe354627929f31d4b75_activity.pkl | Bin 0 -> 60 bytes ...c9c2274edad50bd86753e4b1ca676_activity.pkl | Bin 0 -> 60 bytes ...3ff5ce7d10408c024bf13822d0132_activity.pkl | Bin 0 -> 60 bytes ...c61ebc3fdbf51ec3bd88a61984385_activity.pkl | Bin 0 -> 60 bytes ...f6b406a64628ecda5c9ec8d11c554_activity.pkl | Bin 0 -> 60 bytes ...286c1a17cb0b74f403f0d87fc0bf3_activity.pkl | Bin 0 -> 60 bytes ...dabd99012127fd11707ca8761b90c_activity.pkl | Bin 0 -> 60 bytes ...a2279e66f8ba014e0ff2bde53f70f_activity.pkl | Bin 0 -> 60 bytes ...6aced346c4bb5cab6920f6f9c425e_activity.pkl | Bin 0 -> 60 bytes ...14a4836f8e7021d67a8e3c02276b9_activity.pkl | Bin 0 -> 60 bytes ...3711e1c8017e68725690a96c5e4a8_activity.pkl | Bin 0 -> 60 bytes ...78e23d75fcff9facc1ac5e285bd65_activity.pkl | Bin 0 -> 60 bytes ...51d38b6d30dbc8036f227259f9359_activity.pkl | Bin 0 -> 60 bytes ...aa95a062fa60634c2a3da72c7fb2a_activity.pkl | Bin 0 -> 60 bytes ...d3d1a0dd69c02c39cb1868458ced1_activity.pkl | Bin 0 -> 60 bytes ...2a25f7a6b6852bd82984bacfbb977_activity.pkl | Bin 0 -> 60 bytes ...999ac413f30229b561e8ee1bf9dce_activity.pkl | Bin 0 -> 60 bytes ...49a09d50d8f3124ca1a45a7744045_activity.pkl | Bin 0 -> 60 bytes ...fda489cdb15b3f80e8e1608ee801b_activity.pkl | Bin 0 -> 60 bytes ...5ed3a26140254a4aa0ad95ea3029f_activity.pkl | Bin 0 -> 60 bytes ...9cee9b882d64b7e94caa58ae79395_activity.pkl | Bin 0 -> 60 bytes ...c9a950667a98f13dcbf36105c5555_activity.pkl | Bin 0 -> 60 bytes ...b1bc68666689d14a72453808385af_activity.pkl | Bin 0 -> 60 bytes ...6ef52a260673cd4fb765c8a03720c_activity.pkl | Bin 0 -> 60 bytes ...e6fb39c642a13b7517e4b8818c2e5_activity.pkl | Bin 0 -> 60 bytes ...aa1990a56c8921ecfb0fa38d7cec7_activity.pkl | Bin 0 -> 60 bytes ...702276a042641ac28d71563ea853d_activity.pkl | Bin 0 -> 60 bytes ...7d23ce6e6589854d4f6512195c655_activity.pkl | Bin 0 -> 60 bytes ...71fd1aceaa7d085b1215b78b877fa_activity.pkl | Bin 0 -> 60 bytes ...0928353eb1dd64d0b41e2eea09c11_activity.pkl | Bin 0 -> 60 bytes ...61d4f970ab10d56cb46cc9974bdb4_activity.pkl | Bin 0 -> 60 bytes ...70c59c18813c9d8f008d660b94da1_activity.pkl | Bin 0 -> 60 bytes ...743394eb9b255e845558230dc0b12_activity.pkl | Bin 0 -> 60 bytes ...775f68377446fb67758b123ad2e79_activity.pkl | Bin 0 -> 60 bytes ...a365a5f633ce7ba19af6329522ed9_activity.pkl | Bin 0 -> 60 bytes ...742bdf2f43d3a86fe26977456353d_activity.pkl | Bin 0 -> 60 bytes ...7e60b344d71e039e839956bc93637_activity.pkl | Bin 0 -> 60 bytes ...53414b99c746995a7ac1d3706e055_activity.pkl | Bin 0 -> 60 bytes ...853426798213b72b478177e8d6e86_activity.pkl | Bin 0 -> 60 bytes ...5b0c4ca5540028baceb6e94f2031b_activity.pkl | Bin 0 -> 60 bytes ...47302ed780cbc572f25e0a7a20fe3_activity.pkl | Bin 0 -> 60 bytes ...82c0fa45a5911d10b72bf05e41c27_activity.pkl | Bin 0 -> 60 bytes ...715a0e876d26d227c2aecaf3d89ce_activity.pkl | Bin 0 -> 60 bytes ...a441417e685a512bfb6e1f91af659_activity.pkl | Bin 0 -> 60 bytes ...cc263c5620e5a628f996a8949cbb4_activity.pkl | Bin 0 -> 60 bytes ...1be76534a8f86e8d3543a0b5f3e51_activity.pkl | Bin 0 -> 60 bytes ...492eba7dff4722fffd9fd5930d306_activity.pkl | Bin 0 -> 60 bytes ...029e81bd4bead6f6e013d09fcfefe_activity.pkl | Bin 0 -> 60 bytes ...3f26f804723e82418bc03925ad974_activity.pkl | Bin 0 -> 60 bytes ...badb31b899f1b585ec260be435ee9_activity.pkl | Bin 0 -> 60 bytes ...98c92ebc855ad606a04187f8030d1_activity.pkl | Bin 0 -> 60 bytes ...0f8d37949762e2b2760a61a0e34d0_activity.pkl | Bin 0 -> 60 bytes ...38d5022d6523f5113ce4960816ce8_activity.pkl | Bin 0 -> 60 bytes ...78910e4ec9d0ef0d6f2bd405be750_activity.pkl | Bin 0 -> 60 bytes ...0e364e50a01bed5c5b906226a3e70_activity.pkl | Bin 0 -> 60 bytes ...106b86fce9c25348455f8baa6f444_activity.pkl | Bin 0 -> 60 bytes ...6b83b2cf77da4d2a2ec4ef3df094c_activity.pkl | Bin 0 -> 60 bytes ...947b87ef34fceb94ff6b5c8b9f60b_activity.pkl | Bin 0 -> 60 bytes ...99530d81540fac3ddd1fd33fc4325_activity.pkl | Bin 0 -> 60 bytes ...ef13a4fb5298b8bd40220ac20a5d4_activity.pkl | Bin 0 -> 60 bytes ...fd1622aecd5f810203ce7215fbd5b_activity.pkl | Bin 0 -> 60 bytes ...2a6bd8e3e3bcfe2f494dc1d2f6d82_activity.pkl | Bin 0 -> 60 bytes ...a3cfc147ba59eef0de8d5ea01b735_activity.pkl | Bin 0 -> 60 bytes ...6f95b34038c3b181e981ca9c26b0d_activity.pkl | Bin 0 -> 60 bytes ...b8db9fd8031038405c04dee83c339_activity.pkl | Bin 0 -> 60 bytes ...545a15c2746bf15fbe54e2f212a4c_activity.pkl | Bin 0 -> 60 bytes ...9e125f4ecc10274a3c42e3acf68de_activity.pkl | Bin 0 -> 60 bytes ...4b8ee40f08edfcc68f693c6646a8d_activity.pkl | Bin 0 -> 60 bytes ...fc0ec0a7c28c6f2be3dc44154dc20_activity.pkl | Bin 0 -> 60 bytes ...9e84eff81514f79e75e0c9cc631fb_activity.pkl | Bin 0 -> 60 bytes ...cc7c7cb73c1bb9f6421c085bb1849_activity.pkl | Bin 0 -> 60 bytes ...44a668a98c03f18aa149f3c7b3fe4_activity.pkl | Bin 0 -> 60 bytes ...2eeb3da503445a561fede0d518751_activity.pkl | Bin 0 -> 60 bytes ...5580395679fc6c326553f68dcef23_activity.pkl | Bin 0 -> 60 bytes ...729144edf31522a981632f7ae0624_activity.pkl | Bin 0 -> 60 bytes ...e6acd163a20d2315f66ed6bc8629b_activity.pkl | Bin 0 -> 60 bytes ...bf7bf925a87eab969c1ee23aeff5c_activity.pkl | Bin 0 -> 60 bytes ...e0f76adc76230963e246fff3482f3_activity.pkl | Bin 0 -> 60 bytes ...3cbc7160fcb93d41a1392c404fa70_activity.pkl | Bin 0 -> 60 bytes ...61a032e9bb2eeef028d328f422f7e_activity.pkl | Bin 0 -> 60 bytes ...9acd976cfa67dc63bb40452acf0a7_activity.pkl | Bin 0 -> 60 bytes ...8ff8cb87d39e806f8c1cf1d6562bf_activity.pkl | Bin 0 -> 60 bytes ...cb568bae0f861476467f800c3bdb6_activity.pkl | Bin 0 -> 60 bytes ...ca8d695aab3ac0cd9366e23ecbf30_activity.pkl | Bin 0 -> 60 bytes ...0176f6e1e02d2f397eb93609512d0_activity.pkl | Bin 0 -> 60 bytes ...c9c9cb6bd6d9c00dbf962f0952b59_activity.pkl | Bin 0 -> 60 bytes ...d17c64597de7446ba0f812d4b00a6_activity.pkl | Bin 0 -> 60 bytes ...4a8cfc22bb2512306b4589113bd11_activity.pkl | Bin 0 -> 60 bytes ...808cc33472fe09716904348530b22_activity.pkl | Bin 0 -> 60 bytes ...4a0818f2203818affdaf727c56ddd_activity.pkl | Bin 0 -> 60 bytes ...7c165e101465101ef778feb86339b_activity.pkl | Bin 0 -> 60 bytes ...f0a5c0ece3805eb8322815e6b15f3_activity.pkl | Bin 0 -> 60 bytes ...204127acac7ddba79ed91b6e0e1d5_activity.pkl | Bin 0 -> 60 bytes ...c1dd7d8dddce111b0eda528cc31e1_activity.pkl | Bin 0 -> 60 bytes ...debec772e9bbcffaadc3defefe12c_activity.pkl | Bin 0 -> 60 bytes ...3467b1df2277ebd37111b5120cf7a_activity.pkl | Bin 0 -> 60 bytes ...3004b795e4e635684c6140d82cba9_activity.pkl | Bin 0 -> 60 bytes ...486a0cc74fff7c93348271ef6b8b4_activity.pkl | Bin 0 -> 60 bytes ...b6e3973a670ed29a3e4f27bac22ff_activity.pkl | Bin 0 -> 60 bytes ...21350dd82b408cef59c9904c71c54_activity.pkl | Bin 0 -> 60 bytes ...7cc958ff31b8e11d54b4abd333dd4_activity.pkl | Bin 0 -> 60 bytes ...5d5d52f417aadd203ac275adf8679_activity.pkl | Bin 0 -> 60 bytes ...77a7f484069a36267c78aabecd130_activity.pkl | Bin 0 -> 60 bytes ...d180532ac05a5e8aa1194832a1f60_activity.pkl | Bin 0 -> 60 bytes ...66cb0651d985e75348713f63c80d7_activity.pkl | Bin 0 -> 60 bytes ...9ea6b48386ee1697dbabebaf2f7a3_activity.pkl | Bin 0 -> 60 bytes ...f2a1b37a18c97cf1cf1f0ad215094_activity.pkl | Bin 0 -> 60 bytes ...15080c662cafe06ff08d46abf6fbb_activity.pkl | Bin 0 -> 60 bytes ...4b46d479e29d58fae0c6a7aa8639d_activity.pkl | Bin 0 -> 60 bytes ...63a3358b7e503b4f370478d7b88ac_activity.pkl | Bin 0 -> 60 bytes ...a313ec07f779bc86dbbacf52ab7a5_activity.pkl | Bin 0 -> 60 bytes ...6fd383e35688eacd97c2f80f6a5ac_activity.pkl | Bin 0 -> 60 bytes ...3ae61a60d58e34b0adef59415f498_activity.pkl | Bin 0 -> 60 bytes ...ee805ddde254e16a8e745782700cc_activity.pkl | Bin 0 -> 60 bytes ...eaaf6038c01b7defe237d8d71e713_activity.pkl | Bin 0 -> 60 bytes ...525c472e4ab04bef49f5f3de5a794_activity.pkl | Bin 0 -> 60 bytes ...a4b8a33039203a194d8cc921dbd65_activity.pkl | Bin 0 -> 60 bytes ...9600d1bb0f9789e166ac367e1911c_activity.pkl | Bin 0 -> 60 bytes ...1b3f1d889e862a0bd01c257d64e2c_activity.pkl | Bin 0 -> 60 bytes ...6951d27cb9f22ac90b6166e6ced1b_activity.pkl | Bin 0 -> 60 bytes ...0df22d6a6b9f8f03e79f1f5f65519_activity.pkl | Bin 0 -> 60 bytes ...7828d8595d7a65ee17cfaf8621727_activity.pkl | Bin 0 -> 60 bytes ...1829406db2d4c0f58454c2a512272_activity.pkl | Bin 0 -> 60 bytes ...d5e7d4c675971b18f7048d385f22d_activity.pkl | Bin 0 -> 60 bytes ...8efcb45694edecfc2c2a9d8f901a7_activity.pkl | Bin 0 -> 60 bytes ...f99cfbbf43717a5a5c6a41bfe9528_activity.pkl | Bin 0 -> 60 bytes ...8eaf8a848261624d4e263ff47c7e6_activity.pkl | Bin 0 -> 60 bytes ...8dc98ceeb8b8e07546ddfea7fcd35_activity.pkl | Bin 0 -> 60 bytes ...bef0c09beab5c6d93b337c714e257_activity.pkl | Bin 0 -> 60 bytes ...620a2e0d877cbe6ac4ced65d8aa2a_activity.pkl | Bin 0 -> 60 bytes ...8c3cb86559acb6e915c15220764fe_activity.pkl | Bin 0 -> 60 bytes ...7f963002d12065a9e8b6f7954d93f_activity.pkl | Bin 0 -> 60 bytes ...60c9ebd81598afa3111b7f55206d9_activity.pkl | Bin 0 -> 60 bytes ...8d1f7a0104a5acb4d7010765d55c4_activity.pkl | Bin 0 -> 60 bytes ...7c485caeda77c40644fecc50af4a6_activity.pkl | Bin 0 -> 60 bytes ...39db6ec71abedcf168fb62cd31254_activity.pkl | Bin 0 -> 60 bytes ...814591aee35a8ae1b72dd59c9d5bf_activity.pkl | Bin 0 -> 60 bytes ...046327ecd54096695c61d154f7960_activity.pkl | Bin 0 -> 60 bytes ...0f24e8db54e6342e207b0c620ea20_activity.pkl | Bin 0 -> 60 bytes ...6d9d4c7cfe923536d7e718ea56f86_activity.pkl | Bin 0 -> 60 bytes ...96f8fcaa220cdfbb49afcaeb699b1_activity.pkl | Bin 0 -> 60 bytes ...48617ea6b9c2597877ec67bf537f1_activity.pkl | Bin 0 -> 60 bytes ...639ba7cfb1c3fc2a005f543e573f2_activity.pkl | Bin 0 -> 60 bytes ...83a719f7c82a1ef6e8fbcc0adbda9_activity.pkl | Bin 0 -> 60 bytes ...038eda1cc06d4b4bf810510ff2203_activity.pkl | Bin 0 -> 60 bytes ...0dd5999bbbf820a9c817000631d62_activity.pkl | Bin 0 -> 60 bytes ...510cbc90d7af56a066a3642c61f1e_activity.pkl | Bin 0 -> 60 bytes ...2eae5885b24cf768387b0f387c572_activity.pkl | Bin 0 -> 60 bytes ...2e6070ed9beb31d95ad64aca3e621_activity.pkl | Bin 0 -> 60 bytes ...df0123f358ac840e0604c733eca9c_activity.pkl | Bin 0 -> 60 bytes ...a9b7cbb3602b57551f5c9b7a0cd3e_activity.pkl | Bin 0 -> 60 bytes ...0e76a9120c4bfc56a503b94d37dbc_activity.pkl | Bin 0 -> 60 bytes ...1ccd8ddf787f78f97cb176a4e2131_activity.pkl | Bin 0 -> 60 bytes ...e08e9787653b41ddc98a16522d7a6_activity.pkl | Bin 0 -> 60 bytes ...39bd89683b027466c4affac1ef66e_activity.pkl | Bin 0 -> 60 bytes ...8fa31be94c91e66e6c8a7c43d2023_activity.pkl | Bin 0 -> 60 bytes ...39dbcbc2ddae043b33cdab288b8e1_activity.pkl | Bin 0 -> 60 bytes ...23f00933bb87cd810fd9f0e8a7d33_activity.pkl | Bin 0 -> 60 bytes ...d0711f4898c1a658817ec259e55be_activity.pkl | Bin 0 -> 60 bytes ...e016262044ac582d1d4d42a796a1b_activity.pkl | Bin 0 -> 60 bytes ...391404c086e2d5967df629efbc2db_activity.pkl | Bin 0 -> 60 bytes ...98848cfc23e5eb13d083ab3df9f64_activity.pkl | Bin 0 -> 60 bytes ...dfe1d79289e0e67a37a3d84ffcce1_activity.pkl | Bin 0 -> 60 bytes ...9e79a7e92578d7c20e72474f11702_activity.pkl | Bin 0 -> 60 bytes ...7f8e9dfa30d8a3598bca181ea833c_activity.pkl | Bin 0 -> 60 bytes ...bdf579a9b62c43a9a0abd53c8af32_activity.pkl | Bin 0 -> 60 bytes ...7a071cc8b906a54569fe9b5bb466e_activity.pkl | Bin 0 -> 60 bytes ...b903f3e002d55106c0247f784b77e_activity.pkl | Bin 0 -> 60 bytes ...9275561984505809570c5d1c9edfa_activity.pkl | Bin 0 -> 60 bytes ...14aeef7fd9246df17ac616ec30b62_activity.pkl | Bin 0 -> 60 bytes ...e6be9806b1f95f33d5dcdfa518ed4_activity.pkl | Bin 0 -> 60 bytes ...7f2efa3716d4d2d0972be7321be0d_activity.pkl | Bin 0 -> 60 bytes ...51e39bf54d68936dd87a2bf074720_activity.pkl | Bin 0 -> 60 bytes ...c0da77e78cd6f5c0a5f3fb73aa8c6_activity.pkl | Bin 0 -> 60 bytes ...b5191358bb0e60883bd74d24aaaad_activity.pkl | Bin 0 -> 60 bytes ...5139ea8a1d63ba089f03ec0327b68_activity.pkl | Bin 0 -> 60 bytes ...2979b8d1f529ba848dcde882a0b98_activity.pkl | Bin 0 -> 60 bytes ...8379e53a03fe978e3b3efc8215366_activity.pkl | Bin 0 -> 60 bytes ...3b4b5e30ffcf77bf905d1ce8ab37c_activity.pkl | Bin 0 -> 60 bytes ...0cb9d96040c1cfb80817f0d44c1d1_activity.pkl | Bin 0 -> 60 bytes ...3932e1fe6d64747ca2792b7f448b8_activity.pkl | Bin 0 -> 60 bytes ...96d5aa8fbb1b7b8e383dd3a64b829_activity.pkl | Bin 0 -> 60 bytes ...684f45cba8ef8c377f660b4ffbead_activity.pkl | Bin 0 -> 60 bytes ...c408205306ed778b3705b9f02f266_activity.pkl | Bin 0 -> 60 bytes ...d68cdde48682e527ad4367e04b8cc_activity.pkl | Bin 0 -> 60 bytes ...bb9fe8f77ebeaaa41659fabd4c0c0_activity.pkl | Bin 0 -> 60 bytes ...7ee690f9de02c13d516c0b52937d0_activity.pkl | Bin 0 -> 60 bytes ...b1bd405f26b124013eb0ece3ebfa0_activity.pkl | Bin 0 -> 60 bytes ...4a2a147bcb2083c42ed7be3d44e8e_activity.pkl | Bin 0 -> 60 bytes ...f4b88a86f9f9dc1fb37c469c746f0_activity.pkl | Bin 0 -> 60 bytes ...4e015078036a2cf56e3cd784d21fa_activity.pkl | Bin 0 -> 60 bytes ...2cd65f1411ce7b5e07dfef00d6ab5_activity.pkl | Bin 0 -> 60 bytes ...ca5554a4ed715ef7e9a5633992456_activity.pkl | Bin 0 -> 60 bytes ...9cdc7e1d29eb0ae19ed95b0635ae6_activity.pkl | Bin 0 -> 60 bytes ...60bc5306e38e3bec64d03707fe952_activity.pkl | Bin 0 -> 60 bytes ...89a64eda029e62044051602136bb3_activity.pkl | Bin 0 -> 60 bytes ...bac6279ef4c85e442e666e01c5f73_activity.pkl | Bin 0 -> 60 bytes ...fc9a75f4341c1e7acb75964b06836_activity.pkl | Bin 0 -> 60 bytes ...9a782d364253c10c28e1e1b7cb451_activity.pkl | Bin 0 -> 60 bytes ...ab5d4379a15ade7ed0c72f2dd755a_activity.pkl | Bin 0 -> 60 bytes ...86203519c648dbbbdd23a2bbb30f4_activity.pkl | Bin 0 -> 60 bytes ...39d2413a1384ce1ab4468f86dd065_activity.pkl | Bin 0 -> 60 bytes ...bed1b3c346f48df2bf0f5fbe6f8b4_activity.pkl | Bin 0 -> 60 bytes ...d1053ff92566aaa057f9bbaa3628a_activity.pkl | Bin 0 -> 60 bytes ...0497065efc000f2e67ff9aa35fa2a_activity.pkl | Bin 0 -> 60 bytes ...1462aac4de7e02906bc1286e1018f_activity.pkl | Bin 0 -> 60 bytes ...d452733431db91020ad3d7c506db3_activity.pkl | Bin 0 -> 60 bytes ...0a8f02aed58368aa153e9f7bf61ca_activity.pkl | Bin 0 -> 60 bytes ...0cb21f0c886b19c73bfaf2559e24f_activity.pkl | Bin 0 -> 60 bytes ...37c835776a31771761f360e11315b_activity.pkl | Bin 0 -> 60 bytes ...12599ae8256a601e422d23d93f0e9_activity.pkl | Bin 0 -> 60 bytes ...1bda89cb826ce280e62418884a297_activity.pkl | Bin 0 -> 60 bytes ...6ede3856475211e8faf8045bb5d6d_activity.pkl | Bin 0 -> 60 bytes ...3a0b8c1335945ee64c3e6e2da367f_activity.pkl | Bin 0 -> 60 bytes ...a03526841232d5e13eab403edeeca_activity.pkl | Bin 0 -> 60 bytes ...c55a76103532664729522723d8575_activity.pkl | Bin 0 -> 60 bytes ...6aea21f8881e6431816ec3807fea7_activity.pkl | Bin 0 -> 60 bytes ...e1088de82a5e860caf8dfcb8d4df9_activity.pkl | Bin 0 -> 60 bytes ...82befcd8bd399eb705f34314c3908_activity.pkl | Bin 0 -> 60 bytes ...801c7b12c0ad00bcb126fc9fe1bc6_activity.pkl | Bin 0 -> 60 bytes ...d23de06529ae6acc614969264ccee_activity.pkl | Bin 0 -> 60 bytes ...c056078d935753077da190dad8d53_activity.pkl | Bin 0 -> 60 bytes ...b16e61f1f4f6453f646fdc377d0b5_activity.pkl | Bin 0 -> 60 bytes ...9701f74e5a6450020f28840f5decb_activity.pkl | Bin 0 -> 60 bytes ...fa817bab14b69b0f2a1a43fb93240_activity.pkl | Bin 0 -> 60 bytes ...73e0937315bea5d30006f3bb28839_activity.pkl | Bin 0 -> 60 bytes ...8ddddfd5d89145d3dc33cb13acde2_activity.pkl | Bin 0 -> 60 bytes ...8e22fe18f5521099d271a19759af7_activity.pkl | Bin 0 -> 60 bytes ...fd69e97221d98355d5ebe5ac699bb_activity.pkl | Bin 0 -> 60 bytes ...064aec8428307d7c07cc0f885011a_activity.pkl | Bin 0 -> 60 bytes ...acb4a5abf564ebdcc798c55c12b7c_activity.pkl | Bin 0 -> 60 bytes ...8cfc2625326eb0ca4dacc984bbf15_activity.pkl | Bin 0 -> 60 bytes ...2d3d0ad81548ebbd4579fd801821a_activity.pkl | Bin 0 -> 60 bytes ...3c8d2ac69b072f646f9d79f278d4b_activity.pkl | Bin 0 -> 60 bytes ...dbd047e4b7d0a3025a5873d29cffa_activity.pkl | Bin 0 -> 60 bytes ...6e90b415babbc4639a00a5e2fdf75_activity.pkl | Bin 0 -> 60 bytes ...7a1c284eef9ec86240585189754f1_activity.pkl | Bin 0 -> 60 bytes ...82f756e0da9549910807dd2c0d26e_activity.pkl | Bin 0 -> 60 bytes ...b2b45e148b9bb94921fb99a132474_activity.pkl | Bin 0 -> 60 bytes ...9e5588bdd9d63b567c8d3098872fc_activity.pkl | Bin 0 -> 60 bytes ...6366ec976fc01c19f960a807c62d0_activity.pkl | Bin 0 -> 60 bytes ...38cd649270247fadca9d7a724c7da_activity.pkl | Bin 0 -> 60 bytes ...e9db478a6034f13e7711760487128_activity.pkl | Bin 0 -> 60 bytes ...1e2c75ae6a1e3043fbb19bd441c47_activity.pkl | Bin 0 -> 60 bytes ...96820ad0c4124162663ac7210228a_activity.pkl | Bin 0 -> 60 bytes ...1482b6d7c2582f335cdcaa120601c_activity.pkl | Bin 0 -> 60 bytes ...674517b78563a1250350c1c9a6217_activity.pkl | Bin 0 -> 60 bytes ...bde7174f7ccf080b4ef825cd843ff_activity.pkl | Bin 0 -> 60 bytes ...bed3566f93b7d02dd75b24a624249_activity.pkl | Bin 0 -> 60 bytes ...6713f0cab42e9e55b359a44c4679a_activity.pkl | Bin 0 -> 60 bytes ...43ebaef2fbcb515fa2b71266c63ee_activity.pkl | Bin 0 -> 60 bytes ...43683ddd4af2da19ee19bdcf592e0_activity.pkl | Bin 0 -> 60 bytes ...79be3fca6dbd109e34ca6ad2b006a_activity.pkl | Bin 0 -> 60 bytes ...b58cc07fb879cd6f9fb8f2102887d_activity.pkl | Bin 0 -> 60 bytes ...931e1cc7eac80a872ff9f0c5a8990_activity.pkl | Bin 0 -> 60 bytes ...54fc31f2a61f96edddfd1140b5505_activity.pkl | Bin 0 -> 60 bytes ...77ca849ab7815be6204286c943816_activity.pkl | Bin 0 -> 60 bytes ...08c1d23273f0980522101456ab214_activity.pkl | Bin 0 -> 60 bytes ...eb2f47c603679126830a21ece0084_activity.pkl | Bin 0 -> 60 bytes ...759fbc10936314002f830f10f0026_activity.pkl | Bin 0 -> 60 bytes ...6af15257418b2bfbdb36b1e14f253_activity.pkl | Bin 0 -> 60 bytes ...7d6a73a19486082b59380b405a3f2_activity.pkl | Bin 0 -> 60 bytes ...bee0c4972a298cca8f545326edb84_activity.pkl | Bin 0 -> 60 bytes ...28787a815eda9c3b3dbda8c558f46_activity.pkl | Bin 0 -> 60 bytes ...fdb2153b4f752b23ec3eb40165bfc_activity.pkl | Bin 0 -> 60 bytes ...4d168589cba62427e6a128243ea09_activity.pkl | Bin 0 -> 60 bytes ...f31895f8394500252a128e4190061_activity.pkl | Bin 0 -> 60 bytes ...bc99399d08f5820222508ca4d7ae6_activity.pkl | Bin 0 -> 60 bytes ...c6c0edeb777b1b0dee4db96b9b32e_activity.pkl | Bin 0 -> 60 bytes ...527e83b2cbe105c85ad5d03d64854_activity.pkl | Bin 0 -> 60 bytes ...767144e95855a2333c0257a6119fc_activity.pkl | Bin 0 -> 60 bytes ...9f014af2c381a3fc5b09f9fdeb7b5_activity.pkl | Bin 0 -> 60 bytes ...31686fcbf775c2fe0592fe1c39db0_activity.pkl | Bin 0 -> 60 bytes ...844d28ae98062fe8c32f89dc6e3ca_activity.pkl | Bin 0 -> 60 bytes ...6a03d80217ea62fc5d4673e913215_activity.pkl | Bin 0 -> 60 bytes ...b72bc2c8e19ee4147dc2abc4e2ec7_activity.pkl | Bin 0 -> 60 bytes ...6d970ea9935a8f6fdd983bab60b34_activity.pkl | Bin 0 -> 60 bytes ...9a24fee755ccd783f54d3088af205_activity.pkl | Bin 0 -> 60 bytes ...f8de1f01377174872a1cb7a61b5c0_activity.pkl | Bin 0 -> 60 bytes ...24a33491db11da050b67537fb6187_activity.pkl | Bin 0 -> 60 bytes ...427dcdf3e8aecc5f6757d9038cc69_activity.pkl | Bin 0 -> 60 bytes ...730d2789bf36664076806a67356f0_activity.pkl | Bin 0 -> 60 bytes backend/logs/admin/admin.log | 138 ++ backend/logs/admin_api/admin_api.log | 38 + backend/logs/app/app.log | 1374 +++++++++++++++++ backend/logs/calendar/calendar.log | 4 + .../logs/data_management/data_management.log | 22 + .../drucker_steuerung/drucker_steuerung.log | 11 + .../energy_monitoring/energy_monitoring.log | 15 + backend/logs/guest/guest.log | 1 + .../hardware_integration.log | 92 ++ .../job_queue_system/job_queue_system.log | 41 + backend/logs/jobs/jobs.log | 6 + backend/logs/models/models.log | 2 + .../monitoring_analytics.log | 22 + backend/logs/permissions/permissions.log | 11 + backend/logs/scheduler/scheduler.log | 31 + .../logs/security_suite/security_suite.log | 33 + backend/logs/startup/startup.log | 77 + .../utilities_collection.log | 24 + backend/static/css/dark-light-unified.css | 83 +- backend/static/css/output.css | 2 +- backend/static/js/admin-unified.js | 134 +- backend/templates/admin.html | 12 +- .../admin_printer_configuration.html | 223 +++ backend/templates/admin_tapo_monitoring.html | 2 +- backend/templates/energy_dashboard.html | 171 +- 754 files changed, 3013 insertions(+), 174 deletions(-) create mode 100644 backend/database/myp.db.backup_20250620_004637 create mode 100644 backend/instance/sessions/01c627f6771cc3621bb4b2b014bf19b8_activity.pkl create mode 100644 backend/instance/sessions/02971768c32367a2421015b4535c3671_activity.pkl create mode 100644 backend/instance/sessions/03bb55a11dffacb417ed88ff8b9b5d42_activity.pkl create mode 100644 backend/instance/sessions/041abe3be7e103f8256790184044fb55_activity.pkl create mode 100644 backend/instance/sessions/04306705be071f514f3fcb03753e74c1_activity.pkl create mode 100644 backend/instance/sessions/04c85935e8278383feaa0acba926edd6_activity.pkl create mode 100644 backend/instance/sessions/05d1fbd2005493f27d8a20ddf2cfeac4_activity.pkl create mode 100644 backend/instance/sessions/05f0bb5a8b642d8c399827e31f1f6cf3_activity.pkl create mode 100644 backend/instance/sessions/06027c6a6f018b5b61e7606eb7bd98f9_activity.pkl create mode 100644 backend/instance/sessions/06b46d4d69323b90aab57df9e17f0f23_activity.pkl create mode 100644 backend/instance/sessions/0821876c13017b0e6345b9be5bf30352_activity.pkl create mode 100644 backend/instance/sessions/08e0c4deae287073c8efea60996f39ab_activity.pkl create mode 100644 backend/instance/sessions/0912c8635ed4c197987cc2a075af68b4_activity.pkl create mode 100644 backend/instance/sessions/098600e89958c23e4635fae2ec845b6b_activity.pkl create mode 100644 backend/instance/sessions/09a79e493a882363adf52524479522a6_activity.pkl create mode 100644 backend/instance/sessions/09c18f8f598a7d3bbb4fc0e0f1e01580_activity.pkl create mode 100644 backend/instance/sessions/0a03ae7c009d8989e17571d00f02749e_activity.pkl create mode 100644 backend/instance/sessions/0ad572a0ab358b5ee67df0b94642f524_activity.pkl create mode 100644 backend/instance/sessions/0ad71a2443c7305c3669c6c564e36055_activity.pkl create mode 100644 backend/instance/sessions/0b436f880588c84f7986c36420ec25fb_activity.pkl create mode 100644 backend/instance/sessions/0b4967b6d7b4f243ba90fd34ca5fb546_activity.pkl create mode 100644 backend/instance/sessions/0b8b23f86f21857a2b51d6d9783125a9_activity.pkl create mode 100644 backend/instance/sessions/0babe4528f343feb0d941d8b764bdcee_activity.pkl create mode 100644 backend/instance/sessions/0c08c3f62a0aed20f49173b7ff25dfc8_activity.pkl create mode 100644 backend/instance/sessions/0c5e95ba397ea636de75661e4b1693a5_activity.pkl create mode 100644 backend/instance/sessions/0d8246473a61b6486553cd27526499ab_activity.pkl create mode 100644 backend/instance/sessions/0e0adc3b800a3cd4d1ddf76218a96f98_activity.pkl create mode 100644 backend/instance/sessions/0e22859a89aa146e70bac6f31a873ac1_activity.pkl create mode 100644 backend/instance/sessions/0e76d5558de7d5c8a065520e9d9d1ede_activity.pkl create mode 100644 backend/instance/sessions/0f1b18b2d721f2afabf1d7ea323683db_activity.pkl create mode 100644 backend/instance/sessions/0f9792816f1433b3b1a25813ceaee7f9_activity.pkl create mode 100644 backend/instance/sessions/0fcc41022cb25c65136a10b048a011e8_activity.pkl create mode 100644 backend/instance/sessions/0fce43372e0cff8eab5b6d143423be70_activity.pkl create mode 100644 backend/instance/sessions/0fd7aaa1e20eb19de8b5c3336945111b_activity.pkl create mode 100644 backend/instance/sessions/0fdc05cd21497d757bda8eeb80faa45f_activity.pkl create mode 100644 backend/instance/sessions/10001ec16b65fdb56dd9cd0d94434747_activity.pkl create mode 100644 backend/instance/sessions/109e81c71622f2b2d6eccfc2b8112ac2_activity.pkl create mode 100644 backend/instance/sessions/113d8e76858d876e60670127a0cbe6ae_activity.pkl create mode 100644 backend/instance/sessions/116cc33afa2e03043fad320270b1c206_activity.pkl create mode 100644 backend/instance/sessions/11a6790d1ed0a90de2b2444f6a410995_activity.pkl create mode 100644 backend/instance/sessions/11f0e718481f25421b918759d955260f_activity.pkl create mode 100644 backend/instance/sessions/123000e4b3a3b026c940abc8c006f98c_activity.pkl create mode 100644 backend/instance/sessions/1297687541e0e8024c8c238f19467d25_activity.pkl create mode 100644 backend/instance/sessions/12ce7e3ed820be55edb9fe9b2b7a7448_activity.pkl create mode 100644 backend/instance/sessions/1349ea057aa8de5d202e402ec9c515f0_activity.pkl create mode 100644 backend/instance/sessions/1350b596d46a3fd58c72f526a4918852_activity.pkl create mode 100644 backend/instance/sessions/13c2a5864d6282ead2e2486f98b588a2_activity.pkl create mode 100644 backend/instance/sessions/13d3d807c78c3f07900ca226b5464a5c_activity.pkl create mode 100644 backend/instance/sessions/13d41094780b4688cd38a6dba2951998_activity.pkl create mode 100644 backend/instance/sessions/13ee4053cada8b5d69ce7e36b47cf454_activity.pkl create mode 100644 backend/instance/sessions/144f02a7f41018dfe8c429c46e47d349_activity.pkl create mode 100644 backend/instance/sessions/158f91cc8267b240ddce8900a679aec8_activity.pkl create mode 100644 backend/instance/sessions/15b8611cee0c69b8ad05fade85121201_activity.pkl create mode 100644 backend/instance/sessions/15d0979bbce9cdf1b7ccfc5da10c11c7_activity.pkl create mode 100644 backend/instance/sessions/15ec895ee9521a7674adb92e155142c2_activity.pkl create mode 100644 backend/instance/sessions/15fbf37bf255403c28df3352cc2cb0af_activity.pkl create mode 100644 backend/instance/sessions/162fb6cf46143cd329ca4c751ab121d4_activity.pkl create mode 100644 backend/instance/sessions/169424bf4cf5abd73af1e81fbc793847_activity.pkl create mode 100644 backend/instance/sessions/1697b55797cc0e8aaa77e42fa7c871b1_activity.pkl create mode 100644 backend/instance/sessions/17e81fd7ee5c6ef81325e938f1d769bf_activity.pkl create mode 100644 backend/instance/sessions/180ca4de94cddb966e47763462afc0a7_activity.pkl create mode 100644 backend/instance/sessions/184620701fcb29ecc87295cc6edb97d0_activity.pkl create mode 100644 backend/instance/sessions/191c92b1a648daf6a2c45a65c97b6756_activity.pkl create mode 100644 backend/instance/sessions/19bfb214f7775be31637826891574709_activity.pkl create mode 100644 backend/instance/sessions/19c2bc9b1d681e6e5abcb87ffdebbe20_activity.pkl create mode 100644 backend/instance/sessions/19f070b81dbeb9f70c063372dd5dcc0d_activity.pkl create mode 100644 backend/instance/sessions/1a37f6577c65cd066cb141c3fd382919_activity.pkl create mode 100644 backend/instance/sessions/1a3880ff909f82078deeab83fd740d74_activity.pkl create mode 100644 backend/instance/sessions/1a7de5f3556aead6e6d8f635d11a6d10_activity.pkl create mode 100644 backend/instance/sessions/1b13530727b4e943c049175233a913a4_activity.pkl create mode 100644 backend/instance/sessions/1b35ebda2bcce4eaa9602a9b9346670b_activity.pkl create mode 100644 backend/instance/sessions/1b62fddca0b62f8e5a90e1052a002c0e_activity.pkl create mode 100644 backend/instance/sessions/1bc85c873a1c9bcc404b9b9a5c55311b_activity.pkl create mode 100644 backend/instance/sessions/1c20e4169656530b233cd305ed6c34a3_activity.pkl create mode 100644 backend/instance/sessions/1c8067636e42797fb685cc6676b4638b_activity.pkl create mode 100644 backend/instance/sessions/1d5b9db27488e02f25339993d986e88d_activity.pkl create mode 100644 backend/instance/sessions/1dfbe1be734b272d0d5875eb9b296154_activity.pkl create mode 100644 backend/instance/sessions/1e77d6c44ab8cef5642171ccbf8785d7_activity.pkl create mode 100644 backend/instance/sessions/1f1a353fb0cf014e44a69f2ffd4f3759_activity.pkl create mode 100644 backend/instance/sessions/1f36eff604a59b3af29e188d13580ff0_activity.pkl create mode 100644 backend/instance/sessions/1f9ad74ffaedb41643746ad69af26bcf_activity.pkl create mode 100644 backend/instance/sessions/2042ceaf37d7123199d6db749392c82d_activity.pkl create mode 100644 backend/instance/sessions/20aacc6dd7d7827620e34996525fb74a_activity.pkl create mode 100644 backend/instance/sessions/2102f7dcb8ecc82c176d87b916dd564d_activity.pkl create mode 100644 backend/instance/sessions/22064a199dd3a06d7a4a1636cc96e65a_activity.pkl create mode 100644 backend/instance/sessions/22ac185cf0bdcbf9995cd6d0ecd07a46_activity.pkl create mode 100644 backend/instance/sessions/22bab770e3aa33c878f9c8e8a75b5b78_activity.pkl create mode 100644 backend/instance/sessions/2454e0527c10f3d314905ebe58f0d884_activity.pkl create mode 100644 backend/instance/sessions/24578477249b2d02dc26fa649798c08d_activity.pkl create mode 100644 backend/instance/sessions/24ccdf1df77a33b0bb046c4c770b603f_activity.pkl create mode 100644 backend/instance/sessions/25044f22e55dc36fd4348fdfad7b8dc8_activity.pkl create mode 100644 backend/instance/sessions/254351be306a1968d78abb0ab87b1d93_activity.pkl create mode 100644 backend/instance/sessions/255464f9757c45bbd60b89c938cb20a2_activity.pkl create mode 100644 backend/instance/sessions/25c0b46dd4d5b4e6562fe26ab63cebb7_activity.pkl create mode 100644 backend/instance/sessions/264dc08e9a8f95eab1593df6a3c02fba_activity.pkl create mode 100644 backend/instance/sessions/26a2b5d08d38bc28cb2361978c8e4aa9_activity.pkl create mode 100644 backend/instance/sessions/2761a2dbb1fa7401e1e85972a3fab026_activity.pkl create mode 100644 backend/instance/sessions/277bf0736af68a48eae908da1bf7b525_activity.pkl create mode 100644 backend/instance/sessions/2858ef1b28a3c05e4aec3c034df37673_activity.pkl create mode 100644 backend/instance/sessions/288742848ba02a723d3eff6e0b019c23_activity.pkl create mode 100644 backend/instance/sessions/2a521a1128f9e43c021582a4cf1ee334_activity.pkl create mode 100644 backend/instance/sessions/2a59c1e649583db3b7ceaa3d709550c9_activity.pkl create mode 100644 backend/instance/sessions/2ab8a5ce33e16e220f3dfb96fc4e9709_activity.pkl create mode 100644 backend/instance/sessions/2af9b22fb1771922c34f7a864fa2a199_activity.pkl create mode 100644 backend/instance/sessions/2b0836f7a235f65115ff1603a6df060e_activity.pkl create mode 100644 backend/instance/sessions/2b0ae4716c8da125d331eb4732184af7_activity.pkl create mode 100644 backend/instance/sessions/2b1d5d7b8b37f1d7870eae2027df2abe_activity.pkl create mode 100644 backend/instance/sessions/2b4459c18a5930fbbcad49ba38863494_activity.pkl create mode 100644 backend/instance/sessions/2b97ddd833c6edb4f97200a1e1da2448_activity.pkl create mode 100644 backend/instance/sessions/2ba4f02ad5028ce3bf848ae70ae2d4d2_activity.pkl create mode 100644 backend/instance/sessions/2bc0d8830a1c9580672c9108ce270e06_activity.pkl create mode 100644 backend/instance/sessions/2c6ffd2f79fcca4e95939786fd106b39_activity.pkl create mode 100644 backend/instance/sessions/2c733cb695b911c2bcd274352e990b6e_activity.pkl create mode 100644 backend/instance/sessions/2cbfbb9987ab559b571af7467da1e4ae_activity.pkl create mode 100644 backend/instance/sessions/2cf007fc6567101ff01893260d6fd8db_activity.pkl create mode 100644 backend/instance/sessions/2cf7018cf999b436eb1a2378922e398d_activity.pkl create mode 100644 backend/instance/sessions/2d4309910a05ae9b843458f296de0a66_activity.pkl create mode 100644 backend/instance/sessions/2db77c1e85929d4272d3a8d4e71f40d3_activity.pkl create mode 100644 backend/instance/sessions/2dc3f133aa53557832003ff9131ffd53_activity.pkl create mode 100644 backend/instance/sessions/2e358ec57d269588fa24ff069989307e_activity.pkl create mode 100644 backend/instance/sessions/2f71dfb380824d0b7f67c682c923c8e6_activity.pkl create mode 100644 backend/instance/sessions/2f9974f98270d852ec4f4137eab7d8c6_activity.pkl create mode 100644 backend/instance/sessions/2fc1e41cd54bb9b39ba30ec466dbfdf6_activity.pkl create mode 100644 backend/instance/sessions/2fe3e5434172eba8ef59c92f5fb4743a_activity.pkl create mode 100644 backend/instance/sessions/30257567d5e9e20c551f6e0bedc0a7e4_activity.pkl create mode 100644 backend/instance/sessions/303f5ea5210e7644b9cf23a72aeebfa6_activity.pkl create mode 100644 backend/instance/sessions/305405db9209782aa7994c6e476fdde2_activity.pkl create mode 100644 backend/instance/sessions/3055a94d5cc5363ad1559e5af852c869_activity.pkl create mode 100644 backend/instance/sessions/30ec5fc6c09ec89a521b8d82548bd0c7_activity.pkl create mode 100644 backend/instance/sessions/313408835a6d2e0faa8a4dc909db339f_activity.pkl create mode 100644 backend/instance/sessions/3136878811787949cebd33070aa6fad7_activity.pkl create mode 100644 backend/instance/sessions/31bb3e4d0f4113776f9cd50a98491fcb_activity.pkl create mode 100644 backend/instance/sessions/323254ff9efcef670a5e026bee84e36d_activity.pkl create mode 100644 backend/instance/sessions/3239513dd636d080b6554556422e49e2_activity.pkl create mode 100644 backend/instance/sessions/326cbba08fbc9091d7251857a6d9a0f8_activity.pkl create mode 100644 backend/instance/sessions/328387f0f21fc0028f17cf9c0757d5db_activity.pkl create mode 100644 backend/instance/sessions/32ae9110b1a6a2f0c96c6b10176d6afa_activity.pkl create mode 100644 backend/instance/sessions/32f1eb49602db69cb64a23339750273b_activity.pkl create mode 100644 backend/instance/sessions/33645b0de9c65ebabcbc8d0642d7c119_activity.pkl create mode 100644 backend/instance/sessions/33af07c0efdf1fdec01a093e13916791_activity.pkl create mode 100644 backend/instance/sessions/33afbc30b263aa9dfb1257ad6746b4eb_activity.pkl create mode 100644 backend/instance/sessions/33da73e4626922a32edb177ff158da44_activity.pkl create mode 100644 backend/instance/sessions/33ff706dc174cdb6e798ed66d2565bef_activity.pkl create mode 100644 backend/instance/sessions/34405b9ced0cbcb98e16627b60dcb138_activity.pkl create mode 100644 backend/instance/sessions/345377e3f1f364232d734542f0b6e575_activity.pkl create mode 100644 backend/instance/sessions/347af8fd77754d812dbef5565760ecce_activity.pkl create mode 100644 backend/instance/sessions/354bc09d3c0d9633868ab3bc74b02749_activity.pkl create mode 100644 backend/instance/sessions/3576873f9f9d1e1053e7d0d548dc6a7f_activity.pkl create mode 100644 backend/instance/sessions/35899c93b446e2770f0124287fb718cc_activity.pkl create mode 100644 backend/instance/sessions/35c5a47ca6232b0eca9b47824aab7183_activity.pkl create mode 100644 backend/instance/sessions/3663addd60112287137fa0a4ad0e964b_activity.pkl create mode 100644 backend/instance/sessions/36ac08944bc53ae5a7bc0228c7abda91_activity.pkl create mode 100644 backend/instance/sessions/36bc8e6767011cc59680b4fed485d298_activity.pkl create mode 100644 backend/instance/sessions/36e619567fa03d978150ab4bccd20b4e_activity.pkl create mode 100644 backend/instance/sessions/376c3d2369fdda747d9f931e1123f519_activity.pkl create mode 100644 backend/instance/sessions/381596d58b7e3efbb0869b5a28cf3daa_activity.pkl create mode 100644 backend/instance/sessions/3834e02273648a5cb52cef493bac9d5c_activity.pkl create mode 100644 backend/instance/sessions/38afbc41b987d92704ca0e36d51a5d4a_activity.pkl create mode 100644 backend/instance/sessions/38d14b9cf83a4926872b0fb635ce7354_activity.pkl create mode 100644 backend/instance/sessions/38dd67f3f1cd1edc859d982a5b403ef5_activity.pkl create mode 100644 backend/instance/sessions/38eeb6a3ccbf03cf012a375e178b1a8e_activity.pkl create mode 100644 backend/instance/sessions/38fbdf7ecd992db56823ee4687724a67_activity.pkl create mode 100644 backend/instance/sessions/39bbb79498c7df30c3fd38c210a67f45_activity.pkl create mode 100644 backend/instance/sessions/39d620c45f36fd0a3ee1d0e896959de3_activity.pkl create mode 100644 backend/instance/sessions/3a98ca177b5e4bf89d54580c039d4a4a_activity.pkl create mode 100644 backend/instance/sessions/3b8217c0d9776c9a4fc2e5925cea5e17_activity.pkl create mode 100644 backend/instance/sessions/3d2feb1bf1d281f66564b4b131b3b0cd_activity.pkl create mode 100644 backend/instance/sessions/3d7d6e260f8056511663b8dc7e156dfa_activity.pkl create mode 100644 backend/instance/sessions/3d89b7cb6dc845c8d48c66ffa9c71586_activity.pkl create mode 100644 backend/instance/sessions/3ec40e03d3a6fb4fa852ba38909cf495_activity.pkl create mode 100644 backend/instance/sessions/3f2181408636de36794cdc7d39454001_activity.pkl create mode 100644 backend/instance/sessions/3f2b3dd861f081e0269a537eed43fdae_activity.pkl create mode 100644 backend/instance/sessions/3f589ec064acf84e6ab253d4dbaab7eb_activity.pkl create mode 100644 backend/instance/sessions/3f6f59811966ed95c2e245cb84d0ede7_activity.pkl create mode 100644 backend/instance/sessions/3feb3444cb7e91bdc16c20e9e911cb10_activity.pkl create mode 100644 backend/instance/sessions/4005700b1656d789810c8aa663ef5081_activity.pkl create mode 100644 backend/instance/sessions/400dc9f671015bac2e3092090eda798e_activity.pkl create mode 100644 backend/instance/sessions/404d2174ac6ef0899aa885dcf5b728cd_activity.pkl create mode 100644 backend/instance/sessions/4070db0ba01de9a854e6461e78ebf827_activity.pkl create mode 100644 backend/instance/sessions/40b9aaede1cf919c1ac014e6b74fc379_activity.pkl create mode 100644 backend/instance/sessions/4123215cb5fbd9415d119e27710a875a_activity.pkl create mode 100644 backend/instance/sessions/41d59771e9c2d0308cb4a7e4e9904c35_activity.pkl create mode 100644 backend/instance/sessions/41e07d02fd82fd972cce190862d6289c_activity.pkl create mode 100644 backend/instance/sessions/41f66eea62217ef26a8086dd33652f5d_activity.pkl create mode 100644 backend/instance/sessions/41fcb7d6e4dacca72004d8e0e1b70c33_activity.pkl create mode 100644 backend/instance/sessions/4213d969989221a308aff9ea788654d8_activity.pkl create mode 100644 backend/instance/sessions/428040e7f6770c5b28f76ccb247ca8a7_activity.pkl create mode 100644 backend/instance/sessions/429e11742c9688ea6380c6ddf38717bc_activity.pkl create mode 100644 backend/instance/sessions/43038f710a667c5ba18908390b6cc2d1_activity.pkl create mode 100644 backend/instance/sessions/43527d19d012f71a7bc5210b6e5418e0_activity.pkl create mode 100644 backend/instance/sessions/44039a8ce147d753ede739623ef5363c_activity.pkl create mode 100644 backend/instance/sessions/4410d7d781ed65dcb2fc945bd623dac8_activity.pkl create mode 100644 backend/instance/sessions/44e0dc851b5cc546293dbfae3f589608_activity.pkl create mode 100644 backend/instance/sessions/450a9da6ecac27db24dc7d32a8f65983_activity.pkl create mode 100644 backend/instance/sessions/45447c28b0e6d821715b8ec2fd560388_activity.pkl create mode 100644 backend/instance/sessions/45c5463561f2208e17283b24c23e3074_activity.pkl create mode 100644 backend/instance/sessions/46e8d92ff8b700037c4f0f2d59081512_activity.pkl create mode 100644 backend/instance/sessions/4760fc74a14f8f1fa3af2efecfc6c9f0_activity.pkl create mode 100644 backend/instance/sessions/47f9effabfd498e02b8c0a850027279b_activity.pkl create mode 100644 backend/instance/sessions/483cd594d1f3e528ce2fa3470e655649_activity.pkl create mode 100644 backend/instance/sessions/4857b80a738c9c8f1010315b6d9f0570_activity.pkl create mode 100644 backend/instance/sessions/4865b9b593a95c3049f45ecb9dafd54e_activity.pkl create mode 100644 backend/instance/sessions/4868c1165d177bdb3f54124c40b430b2_activity.pkl create mode 100644 backend/instance/sessions/493af0337dddbfb71dd4a661db4f2840_activity.pkl create mode 100644 backend/instance/sessions/49de42a3886e53708bcd5cbcfb4ca9b8_activity.pkl create mode 100644 backend/instance/sessions/49ee2ac7a040e68f667cb374f0e0b8eb_activity.pkl create mode 100644 backend/instance/sessions/4a31ab8cdb4bed01a67b931d7ff744e9_activity.pkl create mode 100644 backend/instance/sessions/4a56ae444b6e5609af7c4e682a70b98b_activity.pkl create mode 100644 backend/instance/sessions/4b162eadae2811e91cf6e4f75aecaf7e_activity.pkl create mode 100644 backend/instance/sessions/4b83dcc19ab73cd23de22e6797d0f928_activity.pkl create mode 100644 backend/instance/sessions/4b94a8463d2ece3489327bb0dc38b1be_activity.pkl create mode 100644 backend/instance/sessions/4bdc4fdbcf8c18df7af86bb8e5c8e069_activity.pkl create mode 100644 backend/instance/sessions/4ca5425f3417733dd57981146b0bd9bc_activity.pkl create mode 100644 backend/instance/sessions/4cf294cb33aa6c2de01a5b250b890f78_activity.pkl create mode 100644 backend/instance/sessions/4d078052c13c8288665e67aa152f5d4b_activity.pkl create mode 100644 backend/instance/sessions/4d4f16c7b6f76ec15e42a1597e8180d4_activity.pkl create mode 100644 backend/instance/sessions/4df26f47b0e64091341e5d0c656df87d_activity.pkl create mode 100644 backend/instance/sessions/4e5f1d1aed666e9bf64002f4a431f96e_activity.pkl create mode 100644 backend/instance/sessions/4e900f2fc7d0f0589aae505625bcfe5e_activity.pkl create mode 100644 backend/instance/sessions/4eaea8e5f833be6f18b65b019be32810_activity.pkl create mode 100644 backend/instance/sessions/4ecfb38b50c7a29fe58b25dcba032166_activity.pkl create mode 100644 backend/instance/sessions/4efc5180915ee6660205c008c2d98367_activity.pkl create mode 100644 backend/instance/sessions/505aab1605d678c229af6d4d5247da83_activity.pkl create mode 100644 backend/instance/sessions/50729c3912f8f463c8c420fd1feff11d_activity.pkl create mode 100644 backend/instance/sessions/50f258203fa5e053277554dd1befb6d5_activity.pkl create mode 100644 backend/instance/sessions/516d22032cade96286723ff2e32ade19_activity.pkl create mode 100644 backend/instance/sessions/517ce66a97940f3e57707f9bd0603908_activity.pkl create mode 100644 backend/instance/sessions/51c4c41ad040b12b0854a5410cfa1f73_activity.pkl create mode 100644 backend/instance/sessions/51d77aad25e42ead670a5e58d6e2cfbb_activity.pkl create mode 100644 backend/instance/sessions/51e70782f57aee6998083f726e2b01c6_activity.pkl create mode 100644 backend/instance/sessions/5213826e174a0ac9e50f99ee29904d03_activity.pkl create mode 100644 backend/instance/sessions/5246be664ecb9e52cb03be49c69475fe_activity.pkl create mode 100644 backend/instance/sessions/52826aa6b33a325e6a1786ef4c098b75_activity.pkl create mode 100644 backend/instance/sessions/52d1a124fcedc1748b4b61726450bbfa_activity.pkl create mode 100644 backend/instance/sessions/530ea5ee86a94e0bd8e8c5a04f2a52ea_activity.pkl create mode 100644 backend/instance/sessions/532c309933543617750d9b64b27c9f4f_activity.pkl create mode 100644 backend/instance/sessions/535e38b7b6ea61cf32ab5365f5e8ae50_activity.pkl create mode 100644 backend/instance/sessions/539f640f072235bbbb9f07a2c2e604d3_activity.pkl create mode 100644 backend/instance/sessions/53c40876f6b04a4f4e0efe5545e44bf2_activity.pkl create mode 100644 backend/instance/sessions/53f5fd65c53a875ab9c66c29aaa645b7_activity.pkl create mode 100644 backend/instance/sessions/544718299f04a1c4eacdaf4dac230995_activity.pkl create mode 100644 backend/instance/sessions/54517314ba590d0b97f2103b8bfad8a6_activity.pkl create mode 100644 backend/instance/sessions/54615b66c4fe7df099b30bf51a9f5037_activity.pkl create mode 100644 backend/instance/sessions/5487ced8ffce164381d0530d770cab67_activity.pkl create mode 100644 backend/instance/sessions/54d2480dd39fdc07b1dcd5ac297f8988_activity.pkl create mode 100644 backend/instance/sessions/54e8f45d3582b5ba36da279c17e5d31b_activity.pkl create mode 100644 backend/instance/sessions/54f02c0cb66e5cc7e72194e1956e91ed_activity.pkl create mode 100644 backend/instance/sessions/55b0a7c1e08332dd42ea9c954f4a38e6_activity.pkl create mode 100644 backend/instance/sessions/56c9dc0998caea837b3e89879be28b48_activity.pkl create mode 100644 backend/instance/sessions/573931edf5c2b936faa09456baaa1e07_activity.pkl create mode 100644 backend/instance/sessions/577823ab4b9d1b1ae9825a62f149da6c_activity.pkl create mode 100644 backend/instance/sessions/579ea84f98b76bb401bb0a2dc0567d6e_activity.pkl create mode 100644 backend/instance/sessions/58458fe2fc753da7d8390a2da3528a89_activity.pkl create mode 100644 backend/instance/sessions/585b187de62f3e0bd2407fec898982d9_activity.pkl create mode 100644 backend/instance/sessions/59fb95073f733f05476a1839272550ad_activity.pkl create mode 100644 backend/instance/sessions/5a4f2ae1fb87a5d6aaeaf868ee436f4b_activity.pkl create mode 100644 backend/instance/sessions/5a66f7c3d4027ff4690474ed13c39021_activity.pkl create mode 100644 backend/instance/sessions/5a7fadf0c0e6c3547dbffdced2ae9f3f_activity.pkl create mode 100644 backend/instance/sessions/5ab8215cc0b5ba4fec2dd62f3773b8bb_activity.pkl create mode 100644 backend/instance/sessions/5b80850b18dd70471a276af6cd3bc7f5_activity.pkl create mode 100644 backend/instance/sessions/5b831812acdc98b75f5b60d33951e708_activity.pkl create mode 100644 backend/instance/sessions/5bc9073cc0b604de41b80f0fa6285f2d_activity.pkl create mode 100644 backend/instance/sessions/5bd3cda0299d8bd560dca8eb1adc4a3e_activity.pkl create mode 100644 backend/instance/sessions/5c1aaf420be4344b3693c4f91c8305f8_activity.pkl create mode 100644 backend/instance/sessions/5c804aa869871a7d80c8d5a690993d52_activity.pkl create mode 100644 backend/instance/sessions/5d35dc49b282abdf6b963ffa1d922ebd_activity.pkl create mode 100644 backend/instance/sessions/5dab4af9c6559a08445a784b762a0dd0_activity.pkl create mode 100644 backend/instance/sessions/5dd8b2ac9c471e68a1a439cd0f411879_activity.pkl create mode 100644 backend/instance/sessions/5de4eb9884039b2e715fe2e839698aa2_activity.pkl create mode 100644 backend/instance/sessions/5e16e836f4553febfccbc27ebd395dac_activity.pkl create mode 100644 backend/instance/sessions/5e59e96f71090b39c393c65dfcedbb51_activity.pkl create mode 100644 backend/instance/sessions/5e9470853356c69beec87a69db666da2_activity.pkl create mode 100644 backend/instance/sessions/5ec8d1c5a6bf6c09d57e0da8c3769416_activity.pkl create mode 100644 backend/instance/sessions/5f29f0762183207102fb860a6d8d99f5_activity.pkl create mode 100644 backend/instance/sessions/5f8fbb414d3e62212e8eda6b73edaa87_activity.pkl create mode 100644 backend/instance/sessions/5f91902d05fe12a82ecaf92a2783c04e_activity.pkl create mode 100644 backend/instance/sessions/5fa0a5534d442c69dede7241cdd59041_activity.pkl create mode 100644 backend/instance/sessions/5fe46f13259bec80649a6eeb9b63ad65_activity.pkl create mode 100644 backend/instance/sessions/5ff24f0d8a79b77fb26dcef543af0969_activity.pkl create mode 100644 backend/instance/sessions/6040c72f21910ef6acbfba5576256dee_activity.pkl create mode 100644 backend/instance/sessions/6074157d8fb5d8e9d96dd496e799547e_activity.pkl create mode 100644 backend/instance/sessions/6099e582de2bad9b8ab92f4a50fde152_activity.pkl create mode 100644 backend/instance/sessions/60a7caa86e52bf1bd16a6505d348a739_activity.pkl create mode 100644 backend/instance/sessions/61024a292412acbe1975a52c096dae82_activity.pkl create mode 100644 backend/instance/sessions/62ca20abcacccf98d99480e302fc4f32_activity.pkl create mode 100644 backend/instance/sessions/62f97c3b5e91ad7775f3d4a0882ee992_activity.pkl create mode 100644 backend/instance/sessions/63d81571cd539eeb2e956b8aa1b7f667_activity.pkl create mode 100644 backend/instance/sessions/63ee56d87c325a9718ece955274e294f_activity.pkl create mode 100644 backend/instance/sessions/647360060441a043b5059ef10e4a2ef8_activity.pkl create mode 100644 backend/instance/sessions/650cb5ec17493c701d1acda943aa1edc_activity.pkl create mode 100644 backend/instance/sessions/661983b47a791d07644cc6229596f1b9_activity.pkl create mode 100644 backend/instance/sessions/66434a17ed10b377b5f19ce3aa70d73e_activity.pkl create mode 100644 backend/instance/sessions/66464423c495fa81a8b88bb19e8fb96e_activity.pkl create mode 100644 backend/instance/sessions/669b95e4a52ac33a5a169ea5ae864f71_activity.pkl create mode 100644 backend/instance/sessions/66b91226bf88d86533d06d75ffab1e4d_activity.pkl create mode 100644 backend/instance/sessions/66cdf2e5ad75fe45c2dd50d02c50f713_activity.pkl create mode 100644 backend/instance/sessions/66f96991f70dc3870c1f5bf2d87eadb6_activity.pkl create mode 100644 backend/instance/sessions/670564e7baabb96798477ec4508f815b_activity.pkl create mode 100644 backend/instance/sessions/67136796e539281165516d2455c0cd9a_activity.pkl create mode 100644 backend/instance/sessions/6741fae62bf255a52bb08c41386fe1ac_activity.pkl create mode 100644 backend/instance/sessions/6803163332d2d3bd04fa22a4ace0294b_activity.pkl create mode 100644 backend/instance/sessions/680be33e8e5cd1eb25418c73ee3a8c8b_activity.pkl create mode 100644 backend/instance/sessions/68663928eb790e26e3219f5274b6a336_activity.pkl create mode 100644 backend/instance/sessions/6866d2cd1a6352e938d15bb3f1aa6cd1_activity.pkl create mode 100644 backend/instance/sessions/6881371d2428f8d4bbea220fee0576ae_activity.pkl create mode 100644 backend/instance/sessions/68b45a480bfa7ece66b1444d1934518d_activity.pkl create mode 100644 backend/instance/sessions/695b7d8295ed4267b716c7ba325fb654_activity.pkl create mode 100644 backend/instance/sessions/6967826753240b951176d96b58808dce_activity.pkl create mode 100644 backend/instance/sessions/69c7bbd9d8ed7886af88fd83eae4944d_activity.pkl create mode 100644 backend/instance/sessions/6a0ae6b3595daad6bd9825fd10b32db0_activity.pkl create mode 100644 backend/instance/sessions/6a44d3b1a4a7a3970be0ea0311114bfe_activity.pkl create mode 100644 backend/instance/sessions/6ac9727776e3d374a065b114b9baf05f_activity.pkl create mode 100644 backend/instance/sessions/6ae5e361dda6e1b7b8f956210514172b_activity.pkl create mode 100644 backend/instance/sessions/6af10f43fcba084d3bf6fc6fbbe74310_activity.pkl create mode 100644 backend/instance/sessions/6af12b7e187f31b1e3ed66516eadc60a_activity.pkl create mode 100644 backend/instance/sessions/6b215b3ac5860c3e683c5651fb4c2f8e_activity.pkl create mode 100644 backend/instance/sessions/6ba0c612d0f72d34443b3c7fd28e6ae5_activity.pkl create mode 100644 backend/instance/sessions/6bd158e2142ffe9a66bd13cc4835dcb8_activity.pkl create mode 100644 backend/instance/sessions/6c88299639f3f3f586119a9682e57a2e_activity.pkl create mode 100644 backend/instance/sessions/6c9e07b134721ba642cbd38cb98472e4_activity.pkl create mode 100644 backend/instance/sessions/6d10ca9fe828c6b924ac08b68ae22ed0_activity.pkl create mode 100644 backend/instance/sessions/6d9f3a838a982963656acd4b12b80284_activity.pkl create mode 100644 backend/instance/sessions/6dfc7168d17f540ca6cae760bb812bc6_activity.pkl create mode 100644 backend/instance/sessions/6e14ca605d3830297dcc586eac6bfd0c_activity.pkl create mode 100644 backend/instance/sessions/6ec0a68a949b94cae6f20e6d14ccc8e5_activity.pkl create mode 100644 backend/instance/sessions/6ee946f16167b7c86ab46d7483ef2701_activity.pkl create mode 100644 backend/instance/sessions/6f042ed19231e9e1c0f7919fe5dfdb9d_activity.pkl create mode 100644 backend/instance/sessions/6f267bd55c279c3ac63acf9c22a4bac4_activity.pkl create mode 100644 backend/instance/sessions/6f32837e5f3ca5000c4acd0021aa8e2e_activity.pkl create mode 100644 backend/instance/sessions/6f5d93d5fccbc9a306d612c8a41e3b8d_activity.pkl create mode 100644 backend/instance/sessions/709028f4a6a4117ba674f61ba40d8325_activity.pkl create mode 100644 backend/instance/sessions/7090722ed3cdf933ea3af9a5c0091106_activity.pkl create mode 100644 backend/instance/sessions/70c708797663412643b8655ae1909c0a_activity.pkl create mode 100644 backend/instance/sessions/71f06ba97527cf882e9103d06e3ed3e9_activity.pkl create mode 100644 backend/instance/sessions/73095bb11fdf7de5199f55fa90d3d570_activity.pkl create mode 100644 backend/instance/sessions/738f3a91b47d8c2b4d6297d7d6a8a641_activity.pkl create mode 100644 backend/instance/sessions/74e6519f4220b4b68222090c22618552_activity.pkl create mode 100644 backend/instance/sessions/7556e2c2c5194fc25526e4c15519d696_activity.pkl create mode 100644 backend/instance/sessions/755e3da4d120d679614809b03e2a3b42_activity.pkl create mode 100644 backend/instance/sessions/75986cb275045065445d0ded2158ad93_activity.pkl create mode 100644 backend/instance/sessions/75a9efccab2c448361634009c32ac374_activity.pkl create mode 100644 backend/instance/sessions/76395163a8bfb618d14fb7a886e0994e_activity.pkl create mode 100644 backend/instance/sessions/76663253346e7bb36aec7bc5263528be_activity.pkl create mode 100644 backend/instance/sessions/76cbfe8ce8599ea1f5be43055069c982_activity.pkl create mode 100644 backend/instance/sessions/76f36f32c2bbd84cf08ea9b8548313ee_activity.pkl create mode 100644 backend/instance/sessions/7820f188fa44a8150f0dd392934d58de_activity.pkl create mode 100644 backend/instance/sessions/78d833eae0ffd3eebdd388098b4566a4_activity.pkl create mode 100644 backend/instance/sessions/79928df6af5325366d806b4b61b339d2_activity.pkl create mode 100644 backend/instance/sessions/79b21c8de9a38274e576a81ed3f4cc65_activity.pkl create mode 100644 backend/instance/sessions/7a4f905fb337456a13ee418477d746d6_activity.pkl create mode 100644 backend/instance/sessions/7b1ece810977385ec9118768bdd2dca6_activity.pkl create mode 100644 backend/instance/sessions/7b96f548747892988caf9dc34076ad04_activity.pkl create mode 100644 backend/instance/sessions/7c141247f0336f40006bba4119189e4c_activity.pkl create mode 100644 backend/instance/sessions/7c625fdd6885ebba9133efe1984e86cf_activity.pkl create mode 100644 backend/instance/sessions/7cd63556013078d11af4486fca2a7ebc_activity.pkl create mode 100644 backend/instance/sessions/7ce38bfc08bd0c68391ea394d97b5144_activity.pkl create mode 100644 backend/instance/sessions/7ce4c6786459e0fe2ffbeb5718893bb1_activity.pkl create mode 100644 backend/instance/sessions/7d02f1ff3199f4e456f55c555185d86e_activity.pkl create mode 100644 backend/instance/sessions/7d79fe02206075a3858b2d1b6f3a7fe9_activity.pkl create mode 100644 backend/instance/sessions/7d889ef89df1d85f9b97862641845593_activity.pkl create mode 100644 backend/instance/sessions/7d9786f0284d08ebc115bb67c6b7d5f3_activity.pkl create mode 100644 backend/instance/sessions/7dc727b9d75d87ef3a243a3f61da9c98_activity.pkl create mode 100644 backend/instance/sessions/7e790513e064967a4970d24f7cf4f420_activity.pkl create mode 100644 backend/instance/sessions/7e908c84c09cdf3113f447e78d8dcd95_activity.pkl create mode 100644 backend/instance/sessions/7eb8eb32d72edba1fb8c8e39ee452808_activity.pkl create mode 100644 backend/instance/sessions/7ebed7144c88416aa94a5fe1294624c9_activity.pkl create mode 100644 backend/instance/sessions/7eccef35783d863aa3a90de85fd0b6ca_activity.pkl create mode 100644 backend/instance/sessions/811ddc30a059e48601d395dd842a09c1_activity.pkl create mode 100644 backend/instance/sessions/81bb8f4653dfc7c72823f1f96acba6b4_activity.pkl create mode 100644 backend/instance/sessions/81ea3dc90d5f018943e880acbf7dbffa_activity.pkl create mode 100644 backend/instance/sessions/81f19e189831e40cbf9ccb14628ce205_activity.pkl create mode 100644 backend/instance/sessions/8283f06ab3d99f974831bf1dc06ea907_activity.pkl create mode 100644 backend/instance/sessions/828f381b9174ec72c4ac862e72a8e9c0_activity.pkl create mode 100644 backend/instance/sessions/82f1e4e07dae0908af4b0d81c8ec34bf_activity.pkl create mode 100644 backend/instance/sessions/830c1cf5eb88681b98ae35539b368e6f_activity.pkl create mode 100644 backend/instance/sessions/83372e436bea92f2c685b75ca750125f_activity.pkl create mode 100644 backend/instance/sessions/833b6675a1c0c312026e34d7b7073cda_activity.pkl create mode 100644 backend/instance/sessions/84b95855e301538aac6f4b452d3ff30f_activity.pkl create mode 100644 backend/instance/sessions/8527d9ac43407e41970d367bb817dc7e_activity.pkl create mode 100644 backend/instance/sessions/855396774be7f3642d1e540980f80f95_activity.pkl create mode 100644 backend/instance/sessions/856a39e527355cb9663e45982ffa341b_activity.pkl create mode 100644 backend/instance/sessions/8691be4772035e9382614e6b173df0c2_activity.pkl create mode 100644 backend/instance/sessions/86c52fe7386326d111d37881d1a479f4_activity.pkl create mode 100644 backend/instance/sessions/87042c64ea5ed68fecf2499ab5e39448_activity.pkl create mode 100644 backend/instance/sessions/87496ae2c1e5204bb0b1884c75283a27_activity.pkl create mode 100644 backend/instance/sessions/87ad63738a7e75bcd241a4dc25cec44d_activity.pkl create mode 100644 backend/instance/sessions/87fffc075f2c11389778f7958d6d0b56_activity.pkl create mode 100644 backend/instance/sessions/8803b5318b0fef3895a4ca2d56faeaad_activity.pkl create mode 100644 backend/instance/sessions/88969caf03bf3329ecddc9699c454376_activity.pkl create mode 100644 backend/instance/sessions/88b6632a3432dd93c861d6f8df62bdee_activity.pkl create mode 100644 backend/instance/sessions/891389876b078eeff8848162143b0c42_activity.pkl create mode 100644 backend/instance/sessions/8937227dd6768bb2ae4f704647ff5fdb_activity.pkl create mode 100644 backend/instance/sessions/893c04ff1137bb8877a81ab702f8047b_activity.pkl create mode 100644 backend/instance/sessions/894ded645afe07b5009f4344a423b0a8_activity.pkl create mode 100644 backend/instance/sessions/8a6ca68465c301d0798d0cf77ebc2adb_activity.pkl create mode 100644 backend/instance/sessions/8a7aca6895be8c829cc5c76b56396dfa_activity.pkl create mode 100644 backend/instance/sessions/8b1b3636969153269fc8c70503883fe9_activity.pkl create mode 100644 backend/instance/sessions/8b4d26aba9112194d6a82c61bc2887f2_activity.pkl create mode 100644 backend/instance/sessions/8d03cf7e1a4389d9527bcda7a1f756fd_activity.pkl create mode 100644 backend/instance/sessions/8d6783567fea6ede588569b825e18b78_activity.pkl create mode 100644 backend/instance/sessions/8d9bafe9afc055b364b686f12d652c5f_activity.pkl create mode 100644 backend/instance/sessions/8da85c483a7f5cd5b6d1adabf3366285_activity.pkl create mode 100644 backend/instance/sessions/8db3c4f0d64586459477b95ca9cc9b73_activity.pkl create mode 100644 backend/instance/sessions/8dcbd3da7444c17ec44bdd96129d185b_activity.pkl create mode 100644 backend/instance/sessions/8ecc1d59d6eaf5d4f861a061365f0547_activity.pkl create mode 100644 backend/instance/sessions/8f285e52dd8f47f79a82cd53bb23cf3d_activity.pkl create mode 100644 backend/instance/sessions/8f71609f1f6722bd4e75b4b6a940cf43_activity.pkl create mode 100644 backend/instance/sessions/8fd6d0e9347f5a3ff2b3955d9d5c97db_activity.pkl create mode 100644 backend/instance/sessions/911e5eadd199a2d50428be84bd0b8908_activity.pkl create mode 100644 backend/instance/sessions/91769d3cbed8139d195383d2b7c32601_activity.pkl create mode 100644 backend/instance/sessions/925fe6f1014e7a0df7261dc12c2d142a_activity.pkl create mode 100644 backend/instance/sessions/931b26ebb7d148530190f568daee2c01_activity.pkl create mode 100644 backend/instance/sessions/9407bcf5d266c9c902e5a5a66544f93e_activity.pkl create mode 100644 backend/instance/sessions/9425b17bdd6c42778a11385cf344b79e_activity.pkl create mode 100644 backend/instance/sessions/94dab127d1620129ca289e77437d7d1d_activity.pkl create mode 100644 backend/instance/sessions/94f9052004a9459b9a410a9860aa79c3_activity.pkl create mode 100644 backend/instance/sessions/951b88d6cdf295dbf7b85e374cc6a18d_activity.pkl create mode 100644 backend/instance/sessions/958e721d518e770ffbcd938a77405577_activity.pkl create mode 100644 backend/instance/sessions/95d3a1147d27d35f0ccaf4da7fcb240e_activity.pkl create mode 100644 backend/instance/sessions/9600aa66cb2bb8f54b3f72c98c6ce0a5_activity.pkl create mode 100644 backend/instance/sessions/962e358894eae4050ee04eb6236d7be4_activity.pkl create mode 100644 backend/instance/sessions/96408365c3a73e32766cdadee6e83bb2_activity.pkl create mode 100644 backend/instance/sessions/9675ddeb9e22a1b1195fe302ca81381e_activity.pkl create mode 100644 backend/instance/sessions/96988474db44cccd2b5b179101921d53_activity.pkl create mode 100644 backend/instance/sessions/970cf18eb89afd97cc931575cc5ede59_activity.pkl create mode 100644 backend/instance/sessions/976063512326b3204780746e895a8c3b_activity.pkl create mode 100644 backend/instance/sessions/98172a38db719b0ea6da665c02667b99_activity.pkl create mode 100644 backend/instance/sessions/983666b78b69c6a943db8fa1b36c9691_activity.pkl create mode 100644 backend/instance/sessions/9871b99a3cae290503201702ffd7209a_activity.pkl create mode 100644 backend/instance/sessions/98e1c5488b89774a25ae1d70a8b7ea80_activity.pkl create mode 100644 backend/instance/sessions/9a032730b23849bdbf26ffc3911a3ac9_activity.pkl create mode 100644 backend/instance/sessions/9a586ead262d5b68398426b78d297556_activity.pkl create mode 100644 backend/instance/sessions/9ab7ed42773c8073f327b6dd6ed00202_activity.pkl create mode 100644 backend/instance/sessions/9b83850759c120bdcd5245e63c7e5a63_activity.pkl create mode 100644 backend/instance/sessions/9cb2fc8b769f302ec649a9ec6bb1b39e_activity.pkl create mode 100644 backend/instance/sessions/9ced41f21ebabdfe48fdbf2a78aecff4_activity.pkl create mode 100644 backend/instance/sessions/9cfb54451fd3f6eb804b556a8e20052e_activity.pkl create mode 100644 backend/instance/sessions/9d4011a6f40c958b11261558b000c124_activity.pkl create mode 100644 backend/instance/sessions/9d4a6002f967a32e95ce29d1c6e70c0a_activity.pkl create mode 100644 backend/instance/sessions/9d53af76f1f281bf209d370e29927766_activity.pkl create mode 100644 backend/instance/sessions/9e4fbd47a9d61878420c6f6579ba7023_activity.pkl create mode 100644 backend/instance/sessions/9f369124e4bb6fe354627929f31d4b75_activity.pkl create mode 100644 backend/instance/sessions/9f5c9c2274edad50bd86753e4b1ca676_activity.pkl create mode 100644 backend/instance/sessions/9fa3ff5ce7d10408c024bf13822d0132_activity.pkl create mode 100644 backend/instance/sessions/9fdc61ebc3fdbf51ec3bd88a61984385_activity.pkl create mode 100644 backend/instance/sessions/a11f6b406a64628ecda5c9ec8d11c554_activity.pkl create mode 100644 backend/instance/sessions/a12286c1a17cb0b74f403f0d87fc0bf3_activity.pkl create mode 100644 backend/instance/sessions/a14dabd99012127fd11707ca8761b90c_activity.pkl create mode 100644 backend/instance/sessions/a16a2279e66f8ba014e0ff2bde53f70f_activity.pkl create mode 100644 backend/instance/sessions/a206aced346c4bb5cab6920f6f9c425e_activity.pkl create mode 100644 backend/instance/sessions/a2514a4836f8e7021d67a8e3c02276b9_activity.pkl create mode 100644 backend/instance/sessions/a293711e1c8017e68725690a96c5e4a8_activity.pkl create mode 100644 backend/instance/sessions/a2a78e23d75fcff9facc1ac5e285bd65_activity.pkl create mode 100644 backend/instance/sessions/a2e51d38b6d30dbc8036f227259f9359_activity.pkl create mode 100644 backend/instance/sessions/a33aa95a062fa60634c2a3da72c7fb2a_activity.pkl create mode 100644 backend/instance/sessions/a33d3d1a0dd69c02c39cb1868458ced1_activity.pkl create mode 100644 backend/instance/sessions/a342a25f7a6b6852bd82984bacfbb977_activity.pkl create mode 100644 backend/instance/sessions/a36999ac413f30229b561e8ee1bf9dce_activity.pkl create mode 100644 backend/instance/sessions/a3e49a09d50d8f3124ca1a45a7744045_activity.pkl create mode 100644 backend/instance/sessions/a3efda489cdb15b3f80e8e1608ee801b_activity.pkl create mode 100644 backend/instance/sessions/a3f5ed3a26140254a4aa0ad95ea3029f_activity.pkl create mode 100644 backend/instance/sessions/a409cee9b882d64b7e94caa58ae79395_activity.pkl create mode 100644 backend/instance/sessions/a41c9a950667a98f13dcbf36105c5555_activity.pkl create mode 100644 backend/instance/sessions/a48b1bc68666689d14a72453808385af_activity.pkl create mode 100644 backend/instance/sessions/a4e6ef52a260673cd4fb765c8a03720c_activity.pkl create mode 100644 backend/instance/sessions/a5de6fb39c642a13b7517e4b8818c2e5_activity.pkl create mode 100644 backend/instance/sessions/a5faa1990a56c8921ecfb0fa38d7cec7_activity.pkl create mode 100644 backend/instance/sessions/a66702276a042641ac28d71563ea853d_activity.pkl create mode 100644 backend/instance/sessions/a6b7d23ce6e6589854d4f6512195c655_activity.pkl create mode 100644 backend/instance/sessions/a6d71fd1aceaa7d085b1215b78b877fa_activity.pkl create mode 100644 backend/instance/sessions/a750928353eb1dd64d0b41e2eea09c11_activity.pkl create mode 100644 backend/instance/sessions/a7661d4f970ab10d56cb46cc9974bdb4_activity.pkl create mode 100644 backend/instance/sessions/a7670c59c18813c9d8f008d660b94da1_activity.pkl create mode 100644 backend/instance/sessions/a7e743394eb9b255e845558230dc0b12_activity.pkl create mode 100644 backend/instance/sessions/a85775f68377446fb67758b123ad2e79_activity.pkl create mode 100644 backend/instance/sessions/a85a365a5f633ce7ba19af6329522ed9_activity.pkl create mode 100644 backend/instance/sessions/a86742bdf2f43d3a86fe26977456353d_activity.pkl create mode 100644 backend/instance/sessions/a917e60b344d71e039e839956bc93637_activity.pkl create mode 100644 backend/instance/sessions/a9253414b99c746995a7ac1d3706e055_activity.pkl create mode 100644 backend/instance/sessions/a97853426798213b72b478177e8d6e86_activity.pkl create mode 100644 backend/instance/sessions/a9a5b0c4ca5540028baceb6e94f2031b_activity.pkl create mode 100644 backend/instance/sessions/aaa47302ed780cbc572f25e0a7a20fe3_activity.pkl create mode 100644 backend/instance/sessions/aaa82c0fa45a5911d10b72bf05e41c27_activity.pkl create mode 100644 backend/instance/sessions/aab715a0e876d26d227c2aecaf3d89ce_activity.pkl create mode 100644 backend/instance/sessions/ab3a441417e685a512bfb6e1f91af659_activity.pkl create mode 100644 backend/instance/sessions/ab6cc263c5620e5a628f996a8949cbb4_activity.pkl create mode 100644 backend/instance/sessions/abe1be76534a8f86e8d3543a0b5f3e51_activity.pkl create mode 100644 backend/instance/sessions/ac1492eba7dff4722fffd9fd5930d306_activity.pkl create mode 100644 backend/instance/sessions/acb029e81bd4bead6f6e013d09fcfefe_activity.pkl create mode 100644 backend/instance/sessions/ad83f26f804723e82418bc03925ad974_activity.pkl create mode 100644 backend/instance/sessions/ad8badb31b899f1b585ec260be435ee9_activity.pkl create mode 100644 backend/instance/sessions/ad998c92ebc855ad606a04187f8030d1_activity.pkl create mode 100644 backend/instance/sessions/ae20f8d37949762e2b2760a61a0e34d0_activity.pkl create mode 100644 backend/instance/sessions/ae338d5022d6523f5113ce4960816ce8_activity.pkl create mode 100644 backend/instance/sessions/ae778910e4ec9d0ef0d6f2bd405be750_activity.pkl create mode 100644 backend/instance/sessions/aea0e364e50a01bed5c5b906226a3e70_activity.pkl create mode 100644 backend/instance/sessions/aec106b86fce9c25348455f8baa6f444_activity.pkl create mode 100644 backend/instance/sessions/aec6b83b2cf77da4d2a2ec4ef3df094c_activity.pkl create mode 100644 backend/instance/sessions/aed947b87ef34fceb94ff6b5c8b9f60b_activity.pkl create mode 100644 backend/instance/sessions/b0799530d81540fac3ddd1fd33fc4325_activity.pkl create mode 100644 backend/instance/sessions/b11ef13a4fb5298b8bd40220ac20a5d4_activity.pkl create mode 100644 backend/instance/sessions/b13fd1622aecd5f810203ce7215fbd5b_activity.pkl create mode 100644 backend/instance/sessions/b172a6bd8e3e3bcfe2f494dc1d2f6d82_activity.pkl create mode 100644 backend/instance/sessions/b18a3cfc147ba59eef0de8d5ea01b735_activity.pkl create mode 100644 backend/instance/sessions/b1a6f95b34038c3b181e981ca9c26b0d_activity.pkl create mode 100644 backend/instance/sessions/b20b8db9fd8031038405c04dee83c339_activity.pkl create mode 100644 backend/instance/sessions/b29545a15c2746bf15fbe54e2f212a4c_activity.pkl create mode 100644 backend/instance/sessions/b2a9e125f4ecc10274a3c42e3acf68de_activity.pkl create mode 100644 backend/instance/sessions/b2d4b8ee40f08edfcc68f693c6646a8d_activity.pkl create mode 100644 backend/instance/sessions/b30fc0ec0a7c28c6f2be3dc44154dc20_activity.pkl create mode 100644 backend/instance/sessions/b379e84eff81514f79e75e0c9cc631fb_activity.pkl create mode 100644 backend/instance/sessions/b48cc7c7cb73c1bb9f6421c085bb1849_activity.pkl create mode 100644 backend/instance/sessions/b6b44a668a98c03f18aa149f3c7b3fe4_activity.pkl create mode 100644 backend/instance/sessions/b6f2eeb3da503445a561fede0d518751_activity.pkl create mode 100644 backend/instance/sessions/b7a5580395679fc6c326553f68dcef23_activity.pkl create mode 100644 backend/instance/sessions/b7b729144edf31522a981632f7ae0624_activity.pkl create mode 100644 backend/instance/sessions/b7fe6acd163a20d2315f66ed6bc8629b_activity.pkl create mode 100644 backend/instance/sessions/b83bf7bf925a87eab969c1ee23aeff5c_activity.pkl create mode 100644 backend/instance/sessions/b84e0f76adc76230963e246fff3482f3_activity.pkl create mode 100644 backend/instance/sessions/b883cbc7160fcb93d41a1392c404fa70_activity.pkl create mode 100644 backend/instance/sessions/b8b61a032e9bb2eeef028d328f422f7e_activity.pkl create mode 100644 backend/instance/sessions/b949acd976cfa67dc63bb40452acf0a7_activity.pkl create mode 100644 backend/instance/sessions/b988ff8cb87d39e806f8c1cf1d6562bf_activity.pkl create mode 100644 backend/instance/sessions/ba3cb568bae0f861476467f800c3bdb6_activity.pkl create mode 100644 backend/instance/sessions/ba5ca8d695aab3ac0cd9366e23ecbf30_activity.pkl create mode 100644 backend/instance/sessions/ba70176f6e1e02d2f397eb93609512d0_activity.pkl create mode 100644 backend/instance/sessions/bb0c9c9cb6bd6d9c00dbf962f0952b59_activity.pkl create mode 100644 backend/instance/sessions/bb3d17c64597de7446ba0f812d4b00a6_activity.pkl create mode 100644 backend/instance/sessions/bbb4a8cfc22bb2512306b4589113bd11_activity.pkl create mode 100644 backend/instance/sessions/bc8808cc33472fe09716904348530b22_activity.pkl create mode 100644 backend/instance/sessions/bd14a0818f2203818affdaf727c56ddd_activity.pkl create mode 100644 backend/instance/sessions/bd37c165e101465101ef778feb86339b_activity.pkl create mode 100644 backend/instance/sessions/bdaf0a5c0ece3805eb8322815e6b15f3_activity.pkl create mode 100644 backend/instance/sessions/be3204127acac7ddba79ed91b6e0e1d5_activity.pkl create mode 100644 backend/instance/sessions/be4c1dd7d8dddce111b0eda528cc31e1_activity.pkl create mode 100644 backend/instance/sessions/bebdebec772e9bbcffaadc3defefe12c_activity.pkl create mode 100644 backend/instance/sessions/bf23467b1df2277ebd37111b5120cf7a_activity.pkl create mode 100644 backend/instance/sessions/c023004b795e4e635684c6140d82cba9_activity.pkl create mode 100644 backend/instance/sessions/c06486a0cc74fff7c93348271ef6b8b4_activity.pkl create mode 100644 backend/instance/sessions/c07b6e3973a670ed29a3e4f27bac22ff_activity.pkl create mode 100644 backend/instance/sessions/c1521350dd82b408cef59c9904c71c54_activity.pkl create mode 100644 backend/instance/sessions/c167cc958ff31b8e11d54b4abd333dd4_activity.pkl create mode 100644 backend/instance/sessions/c215d5d52f417aadd203ac275adf8679_activity.pkl create mode 100644 backend/instance/sessions/c2977a7f484069a36267c78aabecd130_activity.pkl create mode 100644 backend/instance/sessions/c2ad180532ac05a5e8aa1194832a1f60_activity.pkl create mode 100644 backend/instance/sessions/c3066cb0651d985e75348713f63c80d7_activity.pkl create mode 100644 backend/instance/sessions/c319ea6b48386ee1697dbabebaf2f7a3_activity.pkl create mode 100644 backend/instance/sessions/c35f2a1b37a18c97cf1cf1f0ad215094_activity.pkl create mode 100644 backend/instance/sessions/c3815080c662cafe06ff08d46abf6fbb_activity.pkl create mode 100644 backend/instance/sessions/c3b4b46d479e29d58fae0c6a7aa8639d_activity.pkl create mode 100644 backend/instance/sessions/c3b63a3358b7e503b4f370478d7b88ac_activity.pkl create mode 100644 backend/instance/sessions/c3ba313ec07f779bc86dbbacf52ab7a5_activity.pkl create mode 100644 backend/instance/sessions/c3d6fd383e35688eacd97c2f80f6a5ac_activity.pkl create mode 100644 backend/instance/sessions/c453ae61a60d58e34b0adef59415f498_activity.pkl create mode 100644 backend/instance/sessions/c45ee805ddde254e16a8e745782700cc_activity.pkl create mode 100644 backend/instance/sessions/c62eaaf6038c01b7defe237d8d71e713_activity.pkl create mode 100644 backend/instance/sessions/c65525c472e4ab04bef49f5f3de5a794_activity.pkl create mode 100644 backend/instance/sessions/c66a4b8a33039203a194d8cc921dbd65_activity.pkl create mode 100644 backend/instance/sessions/c689600d1bb0f9789e166ac367e1911c_activity.pkl create mode 100644 backend/instance/sessions/c6b1b3f1d889e862a0bd01c257d64e2c_activity.pkl create mode 100644 backend/instance/sessions/c826951d27cb9f22ac90b6166e6ced1b_activity.pkl create mode 100644 backend/instance/sessions/c880df22d6a6b9f8f03e79f1f5f65519_activity.pkl create mode 100644 backend/instance/sessions/c897828d8595d7a65ee17cfaf8621727_activity.pkl create mode 100644 backend/instance/sessions/c901829406db2d4c0f58454c2a512272_activity.pkl create mode 100644 backend/instance/sessions/c90d5e7d4c675971b18f7048d385f22d_activity.pkl create mode 100644 backend/instance/sessions/c9a8efcb45694edecfc2c2a9d8f901a7_activity.pkl create mode 100644 backend/instance/sessions/c9ff99cfbbf43717a5a5c6a41bfe9528_activity.pkl create mode 100644 backend/instance/sessions/ca08eaf8a848261624d4e263ff47c7e6_activity.pkl create mode 100644 backend/instance/sessions/cbc8dc98ceeb8b8e07546ddfea7fcd35_activity.pkl create mode 100644 backend/instance/sessions/cc4bef0c09beab5c6d93b337c714e257_activity.pkl create mode 100644 backend/instance/sessions/cc5620a2e0d877cbe6ac4ced65d8aa2a_activity.pkl create mode 100644 backend/instance/sessions/cca8c3cb86559acb6e915c15220764fe_activity.pkl create mode 100644 backend/instance/sessions/cd27f963002d12065a9e8b6f7954d93f_activity.pkl create mode 100644 backend/instance/sessions/cd360c9ebd81598afa3111b7f55206d9_activity.pkl create mode 100644 backend/instance/sessions/cd48d1f7a0104a5acb4d7010765d55c4_activity.pkl create mode 100644 backend/instance/sessions/cd97c485caeda77c40644fecc50af4a6_activity.pkl create mode 100644 backend/instance/sessions/cdb39db6ec71abedcf168fb62cd31254_activity.pkl create mode 100644 backend/instance/sessions/cdd814591aee35a8ae1b72dd59c9d5bf_activity.pkl create mode 100644 backend/instance/sessions/ce9046327ecd54096695c61d154f7960_activity.pkl create mode 100644 backend/instance/sessions/cf20f24e8db54e6342e207b0c620ea20_activity.pkl create mode 100644 backend/instance/sessions/cfc6d9d4c7cfe923536d7e718ea56f86_activity.pkl create mode 100644 backend/instance/sessions/d0196f8fcaa220cdfbb49afcaeb699b1_activity.pkl create mode 100644 backend/instance/sessions/d0c48617ea6b9c2597877ec67bf537f1_activity.pkl create mode 100644 backend/instance/sessions/d18639ba7cfb1c3fc2a005f543e573f2_activity.pkl create mode 100644 backend/instance/sessions/d2583a719f7c82a1ef6e8fbcc0adbda9_activity.pkl create mode 100644 backend/instance/sessions/d39038eda1cc06d4b4bf810510ff2203_activity.pkl create mode 100644 backend/instance/sessions/d3b0dd5999bbbf820a9c817000631d62_activity.pkl create mode 100644 backend/instance/sessions/d49510cbc90d7af56a066a3642c61f1e_activity.pkl create mode 100644 backend/instance/sessions/d532eae5885b24cf768387b0f387c572_activity.pkl create mode 100644 backend/instance/sessions/d562e6070ed9beb31d95ad64aca3e621_activity.pkl create mode 100644 backend/instance/sessions/d60df0123f358ac840e0604c733eca9c_activity.pkl create mode 100644 backend/instance/sessions/d66a9b7cbb3602b57551f5c9b7a0cd3e_activity.pkl create mode 100644 backend/instance/sessions/d760e76a9120c4bfc56a503b94d37dbc_activity.pkl create mode 100644 backend/instance/sessions/d771ccd8ddf787f78f97cb176a4e2131_activity.pkl create mode 100644 backend/instance/sessions/d7ce08e9787653b41ddc98a16522d7a6_activity.pkl create mode 100644 backend/instance/sessions/d7d39bd89683b027466c4affac1ef66e_activity.pkl create mode 100644 backend/instance/sessions/d7d8fa31be94c91e66e6c8a7c43d2023_activity.pkl create mode 100644 backend/instance/sessions/d7e39dbcbc2ddae043b33cdab288b8e1_activity.pkl create mode 100644 backend/instance/sessions/d7f23f00933bb87cd810fd9f0e8a7d33_activity.pkl create mode 100644 backend/instance/sessions/d7fd0711f4898c1a658817ec259e55be_activity.pkl create mode 100644 backend/instance/sessions/d85e016262044ac582d1d4d42a796a1b_activity.pkl create mode 100644 backend/instance/sessions/d86391404c086e2d5967df629efbc2db_activity.pkl create mode 100644 backend/instance/sessions/d9198848cfc23e5eb13d083ab3df9f64_activity.pkl create mode 100644 backend/instance/sessions/d9bdfe1d79289e0e67a37a3d84ffcce1_activity.pkl create mode 100644 backend/instance/sessions/da29e79a7e92578d7c20e72474f11702_activity.pkl create mode 100644 backend/instance/sessions/daa7f8e9dfa30d8a3598bca181ea833c_activity.pkl create mode 100644 backend/instance/sessions/db0bdf579a9b62c43a9a0abd53c8af32_activity.pkl create mode 100644 backend/instance/sessions/db47a071cc8b906a54569fe9b5bb466e_activity.pkl create mode 100644 backend/instance/sessions/db6b903f3e002d55106c0247f784b77e_activity.pkl create mode 100644 backend/instance/sessions/dba9275561984505809570c5d1c9edfa_activity.pkl create mode 100644 backend/instance/sessions/ddc14aeef7fd9246df17ac616ec30b62_activity.pkl create mode 100644 backend/instance/sessions/de2e6be9806b1f95f33d5dcdfa518ed4_activity.pkl create mode 100644 backend/instance/sessions/dee7f2efa3716d4d2d0972be7321be0d_activity.pkl create mode 100644 backend/instance/sessions/df351e39bf54d68936dd87a2bf074720_activity.pkl create mode 100644 backend/instance/sessions/df3c0da77e78cd6f5c0a5f3fb73aa8c6_activity.pkl create mode 100644 backend/instance/sessions/df4b5191358bb0e60883bd74d24aaaad_activity.pkl create mode 100644 backend/instance/sessions/df75139ea8a1d63ba089f03ec0327b68_activity.pkl create mode 100644 backend/instance/sessions/e0a2979b8d1f529ba848dcde882a0b98_activity.pkl create mode 100644 backend/instance/sessions/e0f8379e53a03fe978e3b3efc8215366_activity.pkl create mode 100644 backend/instance/sessions/e143b4b5e30ffcf77bf905d1ce8ab37c_activity.pkl create mode 100644 backend/instance/sessions/e1c0cb9d96040c1cfb80817f0d44c1d1_activity.pkl create mode 100644 backend/instance/sessions/e1d3932e1fe6d64747ca2792b7f448b8_activity.pkl create mode 100644 backend/instance/sessions/e1e96d5aa8fbb1b7b8e383dd3a64b829_activity.pkl create mode 100644 backend/instance/sessions/e20684f45cba8ef8c377f660b4ffbead_activity.pkl create mode 100644 backend/instance/sessions/e22c408205306ed778b3705b9f02f266_activity.pkl create mode 100644 backend/instance/sessions/e22d68cdde48682e527ad4367e04b8cc_activity.pkl create mode 100644 backend/instance/sessions/e2fbb9fe8f77ebeaaa41659fabd4c0c0_activity.pkl create mode 100644 backend/instance/sessions/e317ee690f9de02c13d516c0b52937d0_activity.pkl create mode 100644 backend/instance/sessions/e31b1bd405f26b124013eb0ece3ebfa0_activity.pkl create mode 100644 backend/instance/sessions/e354a2a147bcb2083c42ed7be3d44e8e_activity.pkl create mode 100644 backend/instance/sessions/e35f4b88a86f9f9dc1fb37c469c746f0_activity.pkl create mode 100644 backend/instance/sessions/e3d4e015078036a2cf56e3cd784d21fa_activity.pkl create mode 100644 backend/instance/sessions/e3e2cd65f1411ce7b5e07dfef00d6ab5_activity.pkl create mode 100644 backend/instance/sessions/e40ca5554a4ed715ef7e9a5633992456_activity.pkl create mode 100644 backend/instance/sessions/e559cdc7e1d29eb0ae19ed95b0635ae6_activity.pkl create mode 100644 backend/instance/sessions/e5b60bc5306e38e3bec64d03707fe952_activity.pkl create mode 100644 backend/instance/sessions/e5d89a64eda029e62044051602136bb3_activity.pkl create mode 100644 backend/instance/sessions/e60bac6279ef4c85e442e666e01c5f73_activity.pkl create mode 100644 backend/instance/sessions/e62fc9a75f4341c1e7acb75964b06836_activity.pkl create mode 100644 backend/instance/sessions/e669a782d364253c10c28e1e1b7cb451_activity.pkl create mode 100644 backend/instance/sessions/e72ab5d4379a15ade7ed0c72f2dd755a_activity.pkl create mode 100644 backend/instance/sessions/e7386203519c648dbbbdd23a2bbb30f4_activity.pkl create mode 100644 backend/instance/sessions/e8039d2413a1384ce1ab4468f86dd065_activity.pkl create mode 100644 backend/instance/sessions/e85bed1b3c346f48df2bf0f5fbe6f8b4_activity.pkl create mode 100644 backend/instance/sessions/e8bd1053ff92566aaa057f9bbaa3628a_activity.pkl create mode 100644 backend/instance/sessions/e8d0497065efc000f2e67ff9aa35fa2a_activity.pkl create mode 100644 backend/instance/sessions/ea11462aac4de7e02906bc1286e1018f_activity.pkl create mode 100644 backend/instance/sessions/eabd452733431db91020ad3d7c506db3_activity.pkl create mode 100644 backend/instance/sessions/eaf0a8f02aed58368aa153e9f7bf61ca_activity.pkl create mode 100644 backend/instance/sessions/eb20cb21f0c886b19c73bfaf2559e24f_activity.pkl create mode 100644 backend/instance/sessions/eb337c835776a31771761f360e11315b_activity.pkl create mode 100644 backend/instance/sessions/eb412599ae8256a601e422d23d93f0e9_activity.pkl create mode 100644 backend/instance/sessions/eb91bda89cb826ce280e62418884a297_activity.pkl create mode 100644 backend/instance/sessions/ec96ede3856475211e8faf8045bb5d6d_activity.pkl create mode 100644 backend/instance/sessions/ece3a0b8c1335945ee64c3e6e2da367f_activity.pkl create mode 100644 backend/instance/sessions/ecea03526841232d5e13eab403edeeca_activity.pkl create mode 100644 backend/instance/sessions/ecec55a76103532664729522723d8575_activity.pkl create mode 100644 backend/instance/sessions/edf6aea21f8881e6431816ec3807fea7_activity.pkl create mode 100644 backend/instance/sessions/edfe1088de82a5e860caf8dfcb8d4df9_activity.pkl create mode 100644 backend/instance/sessions/ee982befcd8bd399eb705f34314c3908_activity.pkl create mode 100644 backend/instance/sessions/eee801c7b12c0ad00bcb126fc9fe1bc6_activity.pkl create mode 100644 backend/instance/sessions/ef0d23de06529ae6acc614969264ccee_activity.pkl create mode 100644 backend/instance/sessions/efbc056078d935753077da190dad8d53_activity.pkl create mode 100644 backend/instance/sessions/f00b16e61f1f4f6453f646fdc377d0b5_activity.pkl create mode 100644 backend/instance/sessions/f049701f74e5a6450020f28840f5decb_activity.pkl create mode 100644 backend/instance/sessions/f04fa817bab14b69b0f2a1a43fb93240_activity.pkl create mode 100644 backend/instance/sessions/f0673e0937315bea5d30006f3bb28839_activity.pkl create mode 100644 backend/instance/sessions/f068ddddfd5d89145d3dc33cb13acde2_activity.pkl create mode 100644 backend/instance/sessions/f098e22fe18f5521099d271a19759af7_activity.pkl create mode 100644 backend/instance/sessions/f0bfd69e97221d98355d5ebe5ac699bb_activity.pkl create mode 100644 backend/instance/sessions/f18064aec8428307d7c07cc0f885011a_activity.pkl create mode 100644 backend/instance/sessions/f18acb4a5abf564ebdcc798c55c12b7c_activity.pkl create mode 100644 backend/instance/sessions/f1b8cfc2625326eb0ca4dacc984bbf15_activity.pkl create mode 100644 backend/instance/sessions/f1d2d3d0ad81548ebbd4579fd801821a_activity.pkl create mode 100644 backend/instance/sessions/f1d3c8d2ac69b072f646f9d79f278d4b_activity.pkl create mode 100644 backend/instance/sessions/f21dbd047e4b7d0a3025a5873d29cffa_activity.pkl create mode 100644 backend/instance/sessions/f226e90b415babbc4639a00a5e2fdf75_activity.pkl create mode 100644 backend/instance/sessions/f247a1c284eef9ec86240585189754f1_activity.pkl create mode 100644 backend/instance/sessions/f2582f756e0da9549910807dd2c0d26e_activity.pkl create mode 100644 backend/instance/sessions/f2db2b45e148b9bb94921fb99a132474_activity.pkl create mode 100644 backend/instance/sessions/f3c9e5588bdd9d63b567c8d3098872fc_activity.pkl create mode 100644 backend/instance/sessions/f4d6366ec976fc01c19f960a807c62d0_activity.pkl create mode 100644 backend/instance/sessions/f4f38cd649270247fadca9d7a724c7da_activity.pkl create mode 100644 backend/instance/sessions/f51e9db478a6034f13e7711760487128_activity.pkl create mode 100644 backend/instance/sessions/f531e2c75ae6a1e3043fbb19bd441c47_activity.pkl create mode 100644 backend/instance/sessions/f5a96820ad0c4124162663ac7210228a_activity.pkl create mode 100644 backend/instance/sessions/f5b1482b6d7c2582f335cdcaa120601c_activity.pkl create mode 100644 backend/instance/sessions/f63674517b78563a1250350c1c9a6217_activity.pkl create mode 100644 backend/instance/sessions/f63bde7174f7ccf080b4ef825cd843ff_activity.pkl create mode 100644 backend/instance/sessions/f68bed3566f93b7d02dd75b24a624249_activity.pkl create mode 100644 backend/instance/sessions/f746713f0cab42e9e55b359a44c4679a_activity.pkl create mode 100644 backend/instance/sessions/f7543ebaef2fbcb515fa2b71266c63ee_activity.pkl create mode 100644 backend/instance/sessions/f7743683ddd4af2da19ee19bdcf592e0_activity.pkl create mode 100644 backend/instance/sessions/f7779be3fca6dbd109e34ca6ad2b006a_activity.pkl create mode 100644 backend/instance/sessions/f7fb58cc07fb879cd6f9fb8f2102887d_activity.pkl create mode 100644 backend/instance/sessions/f8e931e1cc7eac80a872ff9f0c5a8990_activity.pkl create mode 100644 backend/instance/sessions/f9c54fc31f2a61f96edddfd1140b5505_activity.pkl create mode 100644 backend/instance/sessions/f9d77ca849ab7815be6204286c943816_activity.pkl create mode 100644 backend/instance/sessions/fa108c1d23273f0980522101456ab214_activity.pkl create mode 100644 backend/instance/sessions/fa5eb2f47c603679126830a21ece0084_activity.pkl create mode 100644 backend/instance/sessions/fa7759fbc10936314002f830f10f0026_activity.pkl create mode 100644 backend/instance/sessions/fa96af15257418b2bfbdb36b1e14f253_activity.pkl create mode 100644 backend/instance/sessions/fa97d6a73a19486082b59380b405a3f2_activity.pkl create mode 100644 backend/instance/sessions/faabee0c4972a298cca8f545326edb84_activity.pkl create mode 100644 backend/instance/sessions/fae28787a815eda9c3b3dbda8c558f46_activity.pkl create mode 100644 backend/instance/sessions/fb2fdb2153b4f752b23ec3eb40165bfc_activity.pkl create mode 100644 backend/instance/sessions/fba4d168589cba62427e6a128243ea09_activity.pkl create mode 100644 backend/instance/sessions/fbff31895f8394500252a128e4190061_activity.pkl create mode 100644 backend/instance/sessions/fc1bc99399d08f5820222508ca4d7ae6_activity.pkl create mode 100644 backend/instance/sessions/fc6c6c0edeb777b1b0dee4db96b9b32e_activity.pkl create mode 100644 backend/instance/sessions/fcc527e83b2cbe105c85ad5d03d64854_activity.pkl create mode 100644 backend/instance/sessions/fcf767144e95855a2333c0257a6119fc_activity.pkl create mode 100644 backend/instance/sessions/fd19f014af2c381a3fc5b09f9fdeb7b5_activity.pkl create mode 100644 backend/instance/sessions/fd731686fcbf775c2fe0592fe1c39db0_activity.pkl create mode 100644 backend/instance/sessions/fd7844d28ae98062fe8c32f89dc6e3ca_activity.pkl create mode 100644 backend/instance/sessions/fd96a03d80217ea62fc5d4673e913215_activity.pkl create mode 100644 backend/instance/sessions/fdeb72bc2c8e19ee4147dc2abc4e2ec7_activity.pkl create mode 100644 backend/instance/sessions/fe06d970ea9935a8f6fdd983bab60b34_activity.pkl create mode 100644 backend/instance/sessions/fe09a24fee755ccd783f54d3088af205_activity.pkl create mode 100644 backend/instance/sessions/fe6f8de1f01377174872a1cb7a61b5c0_activity.pkl create mode 100644 backend/instance/sessions/fee24a33491db11da050b67537fb6187_activity.pkl create mode 100644 backend/instance/sessions/fee427dcdf3e8aecc5f6757d9038cc69_activity.pkl create mode 100644 backend/instance/sessions/ff9730d2789bf36664076806a67356f0_activity.pkl create mode 100644 backend/templates/admin_printer_configuration.html diff --git a/backend/__pycache__/app.cpython-311.pyc b/backend/__pycache__/app.cpython-311.pyc index f278478f5f5e50ce8781ef236e84036c2dfe4573..54c45c3e0c7eba77b056e873f99e81eea98980dc 100644 GIT binary patch delta 22989 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 delta 26395 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 Python strftime Mapping + format_mapping = { + 'DD.MM.YYYY': '%d.%m.%Y', + 'DD/MM/YYYY': '%d/%m/%Y', + 'YYYY-MM-DD': '%Y-%m-%d', + 'HH:mm': '%H:%M', + 'HH:mm:ss': '%H:%M:%S', + 'DD.MM.YYYY HH:mm': '%d.%m.%Y %H:%M' + } + + # Direkte Ersetzung wenn bekanntes Format + if format_str in format_mapping: + return self.dt.strftime(format_mapping[format_str]) + + # Fallback: Standard deutsche Formatierung + return self.dt.strftime('%d.%m.%Y') + + return MomentLike() + + return {'moment': moment} + @app.template_filter('format_datetime') def format_datetime_filter(value, format='%d.%m.%Y %H:%M'): """Template-Filter für Datums-Formatierung""" diff --git a/backend/backend/database/myp.db b/backend/backend/database/myp.db index 273d646aa64fa78604e2be728cf79a687600ebd5..7ecd28080426c1c4c5da82b9e5c91b8772389f53 100644 GIT binary patch delta 2172 zcmah~TWlLe6y1&OBu*SpLQC4TC0X2*KC_Q^>) zAE{8X&=13 z`kuLW&N*{;cKWVs`u)l)TPkTtQB>0`^Ku0Z3$MBBYh2{N*B*-F^)ui-#_4f-LKN8M z_1Cp~LItDUQ)8r@TPcJL7cv!g#}ubVQ;GBe?Yx@GCN(yaNpY>*NGsx6Bd_2yqw&5- zG9q>3@y_Fs!(y^mi}p)sJkl+kJU0-{q$K$y&h??SX|4XM7HDb zAnrcm&&zDCdol{8vttL9p`pGQuXV;RoXquhWxCFcXUti@;za>yeOVET3WVk@|2~fs z%v0bC@GY1J_lpg17Bn?F5WQZSv(Yhk1<)JKyP-|y{q`1;Sfs!s@D2D06iMQT|Cd<2 z8+ymHx5NOmGL*2Otd+e65uj{z@@;;BR|pN_Gyyf%>w>)N<=z3407gu;oaFTkLE zj4!RGG;-@(SJp>BEu|)sPepZ2oyepu*z99{<}ll^{F}0pqj_D;B{JzSd3?wu(ONC5 zC(=1h4==CUrRO7OG@U_KLWC5|Y0IR1m_dXIG;(BN+}QcZ>IyI}T8)U&y{ z&Wd`kQ{L+Z<4dpa4T)}{{C-2CsgA8~!$q|a+->D_*h3TbUlUf$ciBN_;)SVdQ{U`KL)Cj~#sLnuK#+ zBeTxK4c;XR{0hDXSHat01iT0uy-Nk-7w^>&-RQurRdekjnyEl|Zhwg0LE|~Kba^X8 zk8EzFoo!S@HkprwOS>9QW?~b(^wCk8sj_yVnaY|~H+D9<=3U#IbIxZRGmh$tOY{;w zN&QJ>XN`RhqoUbFH}`n36yPB%%NQcToWB#KpEDocX*F*wR9X-xvl1smSvG&W8Kk$F z`)}D9oXBDsavU8Esl+L?DTk2wO$888wy|k+8suSQI$PX7p@{ z5ef5zC@+i9X0&mcQ7u`T9M6Oh;>=SE!3uiAGGwMtRTqaAK6W?PxjQIu(fi1&*Zp1> z_x$V`uKl5Qu;xZhulu^YqhPeSiHUoOl3k^P4GAm{u_QoS%O0X-8Q@tCVyJMon%!kJ z&Tj4iK1mdWEBzf|(exXdfTn>^WA8{DUw$D3k zp9L5|vh{A16l`;AwSBh2A}a_APwcmLe*22g7DV<^AbW#tUOwArD@^uL=Aj_lte&@g tuC>CD<#|QMrhk!i?Xs61f+YOS8*S%^f^K>ytC`xm39dprOD delta 536 zcmZozz}E19b%GQd!#V~A2Jwjsc1#TGHYRWiOmvajtYA>fKS_awi<#G+fnSDCpVxk4 zqap8RdtEsulU&P8OS9le{rns+~;w)od zf8U(^#7ZaU?8y`LE%^+rj7_afEcDEbO^l3;C*RQ5;bP|B!N9+R|2+TG&58-D_?g6* zr%&K#6q)?MUwraYdwHPzDF*)U{HORI0_FF>teD5;WDO%mZoNn{H$OZhgf7815*=|Mt&Bs z%q3(Q6AKGNpdMzhOiEl9!bc`%X66=?@5Hqr37Hrh8EnprpXLDc#cKxspZuTrUvCy{ zxXVBJ^?J$0EDZ|G!fdM3*$WueH#UA}Wo~2?o?c(is672b86(^Fz%s_ooSRu1{>V>C z07e6UF9ZL5{$Bp=n;Qk{`M3A-GgcS~@iQ>+zvMs6Kb^muKbhZ_Uz~qq<4eBj|NR)n zn2l7}r`!26Dli!uO}FxARAn@po&cfR{27zPMHyLi8TbowO4H+uOA<>;i{o?h(~HfP I1u!ZA066`d+yDRo diff --git a/backend/blueprints/__pycache__/admin_unified.cpython-311.pyc b/backend/blueprints/__pycache__/admin_unified.cpython-311.pyc index bf30f5603f261202a23ca455249fb206dca0c4f1..45252a48a702718a93f943dc979940f47b4674c8 100644 GIT binary patch delta 29113 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 delta 16011 zcmbt*3w%>W_J3xQ+_X*Gr1X(CeWh(mDHLcy#FqD~yekMQDp=AaZ3CsPlN4xasfe!l zg2Git))x;&@yS|uv%9VetLv($wAfYtQPwB^*WDG0u7W7~Kj+-gl!Cwi{y+bI;M=)p z&YU@O=FFKhb8r9kWZW&c#Ku1s7Z;<0pJ2!0+Lr=b<5T&EgMKrlhs*k#S-inJ#FL>m z@@#dq-mVtkW- zCgxv2A53jtFxX}AQBBGaqL_^K#KH@>hf>`ls2g@cU6FdDu{3e`1@sZvhFzw1Dd}va zx z7nvODU*NeET6UPmsJ1A(eq6Zj6x8{mGStygm#QxSy)-QE{wRkU7j4&14)c8l&z0~z zHT*m&+M)gio~MVOx5BeN#;z~dp4m*&;>s918-`k`V`3cYV^BXk%zrC9e-E|!r1M&gj+147HX`WEhd>);xnsIJ9t{+ zRTo(OYT_OnXJ<=@`x<(_EzYjLHZ1QtYQKtVAAm9Z~9t zvWh56$rI|sy*3bS8POWUv>TA7rYG3-B24iUS0&jaaDhFV)Ex<>`qg3HHPkv`kX^qv zOlhXpRn$jIn6^&s7*wjhoS4d5vDW1A@I|`9w$5EiTk=_pI;!j?Ce)K<1uW2+HqOLH zMUQM0zWRVy_}%B$DgGV=|Ml?yn<|q|Cw0*}5A*Ok-740mQy1*X*0WZoelpf3_ig89 zb^c9d>h|qUb@E7y`tTX2jdNYAZV$A668>vHZTeQd{A4K0Z#UHF+Ke97rnK_ux(>Fi zqs`Q6T0t=eS)ptWx5093zj9o^a(utCrC-_Fubj}Yteh(k1)(@N`tj&J2A>X)d5jNO z+M>==#2|Ye%r-&s>Gp6K3jEi8R_lapHF%V?a|G10PyYzDExI*IW%t`yGzm&HdGzNC zY7JLJc?=h=PHd*C zFjOx1H%m(Duk=b9Twthr;8#iNp$F3BrEhSD{Oxj{tad$N$&P7_X^ry4kB0%b#(3CD z1CAUh7NQts*Flydi@)WGMt0}6uwxwhn%mDwu<}5uT>b}cH?+m}Y0_6~(Z}@>QN43Y zs8Op2$$h0f{+t*Ki&yte8vnW;S0>Pc#i zy|nq!qO;F#qSo;5Dv9X=bDT8(f8d=2#ijlP$Kl54zyN)PgTMWsLBZSsny`kL~P zsi}TteZ!jiLW`QyG9=m5Sl3ij>1z}-pjk+9xdXn{UbVJmO1q`j<*(G9D_1mB`9lf) z9xB}pP4$6Le53cp?0^d;`) zd-Y-rQZEGvMf=_A&n;028m92b>K$iznWH7f5oRiKoH02xAz}iGzYd^KFVMzR7L%dWRH%Mb z?}(2`EOVU6RdYtCs4uUJHHsWyQ4g-mcCNuzi3n2>FhB?|LN!7SLZzD8nz7P}#U%*M z2rUTf5Lyv%21FaedVr7~CNQKlHG0sF7+b`2B*%mYUFq|Pa->c}s^V&F^wxU>1}aet zAWuF5%WQo^YJ6dWAO+`Q)phFOR_F8tZ@mBuc|Cm=48?{`s?Dn@+({_*TyLO-D->P3 z23(0|dZVn!;5PMNqs{W|LoB^8;oMwQHmvrF)jsbU@c?vq1pfQS!pgW&*BiBn8Lwk% zdt2t@$t*f$$F(2Za^ANU9JUoaZR)la_t=Wxx0N2YmA+WeQ#SAYvW17s7Iv2{>M2{) zZCl)9Tl~Il$zj`)Zrimzwri!;#GKi^iY_OwD>m~;dd8-CAE)Q_>W0RRJ&Dj^`q-YM zu6TY#u5(zA^Rkcgh8!7Ea>P0KNI}t&!lAu6364R%I)IMY-XZcD6I;=KB!9$X%XTf> zH?BK>QcwP*-e_ZCO0N#!q|TUZ`ws#<0>tZ5b7b4LwjIm%&FHq3_1MaKbu4-4kyPj7 ztUI;vzF5#If8_hlOAb3P`R$@^XK9bK^nK^#!_LV^lWcca?5KHU#o?r4EYFb@+bX*9 zX5znV@@94?&FV>-b<(KMAM_s`z$rzSn7S>0Yr)+Gy(V2kZf}fkOgZa_?aD0fww4?j zHEqA^@Ti&iJfhn=@?&ex`_>_ctwSEq=(b+kW4*M?dMOlo6}5YJcJ$Fq$BxwP%N|&! zKJ(Vf_BMw0@6|={B$fZukJ7*P!t&|Ur!ORiDdk+3QE()y=!o5UBz^Fa>|woTB_XC) z2e8TbtyLG@p8S4P+Tp0QUY#y|I)8C|&$tCzQNymqRp&j{xAcG1$|rTY=o$P!gg}Av zQA^f+t^3AwO$cSOSn9f>>P{asC-v&|;CX!r59)%``Rd8HQ``CLEnSvt zyDiuDSg!4g8u$;!dAiqxjiKPjm3C9o{5ajcb8T}=^#_N?Liu2+VeSOe!3laOzolbP zev3^p!^7KgF%={9Z`-ECRut;r$z$;FPN5O7C9W?y8rk{UiUvda8Jo+q%2z+)f;Ci_ zBwu#JI=<`OH1*-pMe2egqk8>LMcvs@WG#WH>3qzVm3qGG-o+qtrnC-D`u@ zl{cgeDeX=z>q#x^wv6ksjO&UT`0v~x$9L|%p*X5ttcGEpNeM?vM}0VyRyWl{ETy0) z9s-Vva0JCTd;nOYJDz~`PGFx6X$dw;bP%-7gh|2xeGlw$wl9)x=levNQHfEwSnH2F~|RNw@C4e2gU&}?QL520@vo30*h zON*P*?U>r*nA&Zd)?=I2sbBvsKX2yr8^-dMVm^Mg!%b@QFJXOM9pfFDx^heM1&LZ@1@rO4V1x{K%WxftPbb@!IJ zY_ED^OIqS%NWhK0T;K$SctgFK(Q#EwNbz{Q;5z z&Z*h|v$aEgd%gPDOq*J?%a;5B=#~I(<6jo`?>XlT*|cl&MSc9kUCYn+@w37I-h}EC zk6xo5`~8#3QRvsjJMaC&3=_Lu{cyjJ{kF6Gz&K{cGohFa&{BdKTIa4m8(8vZNc|J3o8n3ll#9socSvl<$D_2Jc+-*6RxYUZ-ZhyPN%0J@D>r z%8yX-58k<;=T?OuMBYp_^MjaeAIy(Ah@ueUIc+&TW}5aRH$PXTqr%mVe9W6tzY zoOi9yAMn-JR5tm&A{15cT|*@iqyGI^nUV?3M(8`UzGya$88A@tP7J`I7&n&}Rn0k`J)5+TLS-&yw}`lCpTD8HL9B8Ggafs{z@qBgWj1xk@mQFQr;nE? zdB~*i{QS5@8Ji8|io)n$?%@Jq&=#g==(iPS3(CQnXepGIG?rza>aA}Iw7|in%pv2_ zn8V&j5LVzVOc5p=O#+nFmzLOz`vwRT>xGOvAjBY)39AiG25^20#b_r3PbG{kg{dEX zJ3QBh9F*n@WU~^7tE$dhS?%-IdHfDo|D32AJX@T#=?y}|PJa)PHB`lKzOqT!1V^`w> zn&M;-X63z3HiX})ll$Sf^A{IV#2(}ei84E%85J@{s~nooDhmgUj#dthZVu{6ApwUd z?vc;svsua#pw=6HH<(R`zA|DHN)ss@(2H6ItKDCv;IlPX3yNt2 zorVG(xa=BMFHCB3jLY&dbPuy%0YYOIgn28x*0KSaia4(aCSiJnp z8a6`kHx9*B-2R>75H zRWlA@Of$>J@Uj$sL$tZ6nU!a6#(oP>ZF~=-h4X#^22b|ph*PvmOA8yy_RF#sR-R7L zmF^R859)Wnn#1HLX)MW3Gf#mBmG2jL_RBX~!1-TA>Kyr93!AFE2jwS?!HMhGpDZjO zf4H6b`G-t4-oacv#N@kou!r~uO#1I+xAXtS-iB#J?>(s%tukq-w|$>uFY&T zyG7o!nT?D86_8*{K7uvS=I@)?di0g+x3J~#+6;)a>)6ErBg{lgNUTSP5nB+*o$kZZ zgYxtimc_wkQae~l#tx)KHk*hCMT;is?O+amoXJ}|SdrmN;8byA?do8O##8W=9Q;QI zyCQYMChYJG3c4AA)aK%8EZ>IkBS6T~*c_;BsE4@>c-?SF5Z`0f4@|Dv3-3B^k&o?V z<5;u&Y%lvH?t2jE)7@2|gE+h{*!=`+Vf;rX=Rd_#(Ev41v8C-117u&+0FhyLU`JaK zevLq@{6Q#%6yaTkSI@ZQLq@R*mkQbAYaCD^0wy7X>=v=n8Khb7M_CUc&`xKRS3J!I zvmDv{G@FwAB+{QkAS*nBrDx@#r`dddTqm=hVG~n>Knt1OO##TgD(S-hkH}?|foIrU z#Q`gCvl9HvGi+?atiNK1H(_lHKm{GLn(Dlw6iJjOW16f}IE03Ny=MWcM^ZI%LQCs@+tZh#kB^#O6KeC2IcmW`Wjh{cFjsBDP| zc-IC-HrBb|i0FjA#IIz=JFwlXm1XZRmo{W)zeH`TeEJ=hn*EDIrqK?UpTEPLQ?*f| zU2xE$C`jd2yXxT8*-4~D;V>hvqauyWL|#a?Dw1;!u^ffsOs>2E-i%yEvojnO9S0Cn z8kz!)O#v|hDMJuOBiV>4yI-4$0;CqnR}Zl<%5*5NHU)n^#QqqgFzoR~`ErQe#@giU z4RO3K4EvZ0BG^m+anuRbMVGhDvg!u>+2$7L3gvU^PL!c2( zXdZaYMz+3N{swyBM|JXx57`yUHNf*XQ*h!@cD>0&8Mv4ycYn@`7`(atoK1keDE=7B z>6c{Bmu1J;3efb?W6Z()@-?VVp}1{8!;%izGv>!G7-g0MWB?R3fo8a8!~9bMr2Uhr)c6MrgdYp$cSh=qH|;cN~Tn%gr;Oba$*u5 zY)P&|j{Gi7?mEHJl@&lJi3+}Qg6U0ja2i{Z=6Zegj+yX!*W+;2*LZ8Z zRd7*1&@eE{3hfPREsDg9AQUCME4=Q2*CTw=dJ0}!P&mm&Jza9?sc`ZJM?%*r=B(6q zsMP*T3pxM4twz2Gb8bD&@=_u;&|DOI@N)IX>Qw1E&Fso5P=0AtaKmYKyUB6UG19az zqcPqyjBhiMM8@uUmCpcIiedaHYmxt8{B;g#$a9=u5)%)$SX{^t3pPfzrG=G(dDi8LD0qM z4_AJEw{{sa7~4SR7I4+U>v{;naAy?R2WW^ik{sLz=Gd-A_V|Er6{dM`&sh(5f8rL+ zSD%mP8Oj!5cquCQUOb;|P`1Lumr=p|L=G1qo1{$RlM6n^>0JO7;vNLt79mTJSVn5d zP%XS(I2!(x#_O^}dUs_Mogx=i@J@?)o$dnIKhlNCEpgLTJx@x>)ClYrdkn#`8vJBp+JPU+xqk{V~ zc#J8T_NrVQRlhw`9?IkE*>+jsm?0`8YOgk;W1}&irST^a_HMb4wt3z#cTwC(&qRh6})xWgPtYo3+rC|+hJ zucrMxM;;l)olKQyNAXleQ&*;s=IKuI3);P3z`lk6grXo>fm0aVLwSLG$+`SnqMfk8lE`HlSbcz!kiK3aY=o)3$A8L4{hEb5ZOCh+i8 zR1CCiDW>f0%@S^w8z=BlIq#r2vV&cVyaVkZ-aC#c)aW{pCE1&6BAM`0Z0E=QGl$L@lPgYWgV$ccG>(P*BToaK1wd&Wg_i$194! zYjAA6Tz2C-~J6EBu;w7~KtZ4MMDu)34xjl^Af$vY6mKSMc9i+CM^(mmmZYevg1_ zOI!i)r3p)4q7pbq@V$T*1Mxx^Zt?Kj0ROqTNG~@?S{b^L65)(U1~f}3B+?n+-bOUyDW0%)q2L}AQOADf~BU;`33Je+^H!sWhJMtQ|C7Oc`auFsW zSmhtx@WE=E47qu(Gm^&PYaEe+K-Nyi5*cu_bihZW^FBku9SGwP=zi*tSb6~=9&8qh zLWNL!VZlceJ&uKsoA62dn5?#;Nr(h_&;zS4709>81QWgd_SmSkAO%KOCm+3m=cSJ8u;>w}W4-IPX1r`~GRkTQx&)epKN+Ie5_AmXJ&}_ivlWgUK&0WAD5SE*Rueb8gSO#79&=t_PSa%8mZ3&@btNiPFo^S3( z62fY;Jhh(pWPgK%{~&yaa2nxzgjr~f+47(5(9>ZgAZ#!P({JQSj7^fo8~7-t0+=?N zgS8v@>oJg!mD~w8V{P)fJ9&2wj*QlYcpe(I#N=NALxH1xbH2C=MPDuF-^J6DX+(4# zm5U8%t6U=6?gA^SGI$psIq?x_9*WlzhRX1^4r?pYkT#i{kt@2^S5pf|QI`i8u$`!s z&dvNr{;^K(+017Q`xyJ6iOWPCvH(IBe92Sg@_Q>a#}e6CwNa*Q;WwpI5RLZ=(I7B$ zpaIbOX&Fh^#&2xl3(FT{gDU~fTV`5t92dP4f$H!}g&euOgJ&+GFivBehE-^k zkfF{8-+xk!t3je4fhQj2yqA}nEYD@&u2FILkBO-iSSi|0)1zA z8m8C_-mKykv)IaWl$F46pEdH& z+p8jrjS_?oi)y??e|y58xx-8ifp)1d9imEcS3) zmR0P;8dM`>>8D-23z&Ax2Os6xBc4Exi{31uJd;bfi93jFk1};!XReIh1D`?%K+U|M za}RHhjs6@eDHh2+&+(>nL(S>r*+nO?9VIz5&lGFuBwC9O5QUHf0KWb;lXacEL}>xR z?%3e&PJXM|P{@Qsj(C}mHvJ5OVBTcy%lsANYT#*+#rt_WTO;S~=abI$xphA;m^Gj~ zx=F*UuYQ-71MH4Q4JrOwOv>Q`Z&d)Z{cZOi-~}nI(3O~ndXk6~l(Sy1vYJG>-~dlh zHbDIYvB8=Hd`(;u1Sv`jD2Q#sMzDePzQgmE=cAZQkwW|C?Koz0bj$#$1K$SzZ|Xi^9cisLSmLcOcNt zM>p1Y%D)|gUFRmLbny{JaUV#NQ@i+eMsXJugL}H*i;;HJPi#Un&`2m*nT9l)QF_I6 zGl&f(!gsyym6dSI1RrCa`&yUMB6?9ocA_Mw92+k|Xhvv300H5c5}8c&6EWL}xI?BN z=A{!iqx#sH7=o|`K}A5#MF*C)B48R7itaO@mayF+?>x+xD%*kKgV^Bl!+dqTiGuj2 zT(10tj~Mh4I0ao#fOBfQl6>+LKCxgUio6Q}gJOl)3DSXu21L<-6x}4PpK|96qEeO^ zsiINe0scO%1sN z&EDOhb;ulk-GVNw*%_$esU#oE!N*7hz>KWWs$DjPtq=8)Ii;0H>c@pYEW%^JP&gIS z%+ieo83yNAkm1mTA*1%$zlEujJ2PedPjHIq{hSX{c7r-g;(}4f`0k`DaV8g+(_F#? zMka_HNt;~UUcriFSuAT8_#46fA>*Bh1Y)L0k4da}_}()-IqPApp+;+gSf~%hLJm|9 zS6sf;zCg1adWILVR(bUqo@M^A#aD`bljcsy@j90z8g$vl xce4pSYywG}2TZ*>#C}RlgxX#MRW0Q*d#2tNJULrmYqsi!u(>c+MEa`z{{XDRpH2V( diff --git a/backend/blueprints/admin_unified.py b/backend/blueprints/admin_unified.py index 79e8d11d7..746717734 100644 --- a/backend/blueprints/admin_unified.py +++ b/backend/blueprints/admin_unified.py @@ -213,94 +213,178 @@ def edit_user_page(user_id): flash("Fehler beim Laden der Benutzerdaten", "error") return redirect(url_for('admin.users_overview')) -@admin_blueprint.route("/printers") +@admin_blueprint.route("/users/create", methods=["POST"]) @admin_required -def printers_overview(): - """Druckerübersicht für Administratoren mit Hardware-Integration""" +def create_user(): + """Erstellt einen neuen Benutzer""" try: - from utils.hardware_integration import get_drucker_steuerung + # Form-Daten aus POST-Request + username = request.form.get('username', '').strip() + email = request.form.get('email', '').strip() + name = request.form.get('name', '').strip() + password = request.form.get('password', '') + role = request.form.get('role', 'user') + department = request.form.get('department', '').strip() + position = request.form.get('position', '').strip() + phone = request.form.get('phone', '').strip() + active = request.form.get('active') == 'on' + + # Validierung + if not username or not email or not password: + flash("Benutzername, E-Mail und Passwort sind erforderlich", "error") + return redirect(url_for('admin.add_user_page')) with get_cached_session() as db_session: - # Alle Drucker laden (nicht nur TBA Marienfelde) - printers = db_session.query(Printer).order_by(Printer.created_at.desc()).all() + # Prüfen ob Benutzer bereits existiert + existing_user = db_session.query(User).filter( + (User.username == username) | (User.email == email) + ).first() - # Hardware-Steuerung für Echtzeit-Status - drucker_steuerung = get_drucker_steuerung() - status_data = drucker_steuerung.template_daten_sammeln() + if existing_user: + flash("Benutzer mit diesem Namen oder E-Mail existiert bereits", "error") + return redirect(url_for('admin.add_user_page')) - # Erweiterte Drucker-Informationen mit Hardware-Status - enriched_printers = [] - online_count = 0 + # Neuen Benutzer erstellen + new_user = User( + username=username, + email=email, + name=name if name else None, + role=role, + department=department if department else None, + position=position if position else None, + phone=phone if phone else None, + active=active, + created_at=datetime.now(), + updated_at=datetime.now() + ) - for printer in printers: - printer_data = { - 'id': printer.id, - 'name': printer.name, - 'model': printer.model, - 'location': printer.location, - 'ip_address': printer.ip_address, - 'plug_ip': printer.plug_ip, - 'status': printer.status, - 'active': printer.active, - 'created_at': printer.created_at, - 'last_checked': printer.last_checked, - # Hardware-Status hinzufügen - 'plug_online': False, - 'plug_power_state': 'unknown', - 'energy_usage': {}, - 'has_active_jobs': False, - 'active_jobs_count': 0 - } - - # Hardware-Status aus Steuerung hinzufügen - if printer.id in status_data.get('drucker_status', {}): - hw_status = status_data['drucker_status'][printer.id] - printer_data.update({ - 'plug_online': hw_status.get('plug_online', False), - 'plug_power_state': hw_status.get('plug_state', 'unknown'), - 'energy_usage': hw_status.get('energy_usage', {}), - 'last_seen': hw_status.get('last_seen') - }) - - if hw_status.get('plug_online', False): - online_count += 1 - - # Aktive Jobs für diesen Drucker zählen - active_jobs_count = db_session.query(Job).filter( - Job.printer_id == printer.id, - Job.status.in_(['pending', 'printing', 'scheduled']) - ).count() - - printer_data['active_jobs_count'] = active_jobs_count - printer_data['has_active_jobs'] = active_jobs_count > 0 - - enriched_printers.append(printer_data) + # Passwort hashen + new_user.set_password(password) - # Grundlegende Statistiken sammeln - total_users = db_session.query(User).count() - total_printers = len(printers) - total_jobs = db_session.query(Job).count() + db_session.add(new_user) + db_session.commit() - # Aktive Jobs zählen - active_jobs = db_session.query(Job).filter( - Job.status.in_(['pending', 'printing', 'paused']) - ).count() - - stats = { - 'total_users': total_users, - 'total_printers': total_printers, - 'total_jobs': total_jobs, - 'active_jobs': active_jobs, - 'online_printers': online_count - } - - admin_logger.info(f"Druckerübersicht geladen von {current_user.username}: {total_printers} Drucker, {online_count} online") - return render_template('admin.html', stats=stats, printers=enriched_printers, active_tab='printers') + admin_logger.info(f"Neuer Benutzer '{username}' erstellt von {current_user.username}") + flash(f"Benutzer '{username}' erfolgreich erstellt", "success") + + return redirect(url_for('admin.users_overview')) except Exception as e: - admin_logger.error(f"Fehler beim Laden der Druckerübersicht: {str(e)}") - flash("Fehler beim Laden der Druckerdaten", "error") - return render_template('admin.html', stats={}, printers=[], active_tab='printers') + admin_logger.error(f"Fehler beim Erstellen des Benutzers: {str(e)}") + flash("Fehler beim Erstellen des Benutzers", "error") + return redirect(url_for('admin.add_user_page')) + +@admin_blueprint.route("/users//update", methods=["POST"]) +@admin_required +def update_user(user_id): + """Aktualisiert einen vorhandenen Benutzer""" + try: + with get_cached_session() as db_session: + user = db_session.query(User).filter(User.id == user_id).first() + + if not user: + flash("Benutzer nicht gefunden", "error") + return redirect(url_for('admin.users_overview')) + + # Aktualisierung verhindern wenn es der einzige Admin ist + if user.is_admin and request.form.get('role') != 'admin': + admin_count = db_session.query(User).filter(User.role == 'admin').count() + if admin_count <= 1: + flash("Kann den letzten Administrator nicht degradieren", "error") + return redirect(url_for('admin.edit_user_page', user_id=user_id)) + + # Form-Daten abrufen + username = request.form.get('username', '').strip() + email = request.form.get('email', '').strip() + name = request.form.get('name', '').strip() + role = request.form.get('role', 'user') + department = request.form.get('department', '').strip() + position = request.form.get('position', '').strip() + phone = request.form.get('phone', '').strip() + active = request.form.get('active') == 'on' + new_password = request.form.get('new_password', '').strip() + + # Validierung + if not username or not email: + flash("Benutzername und E-Mail sind erforderlich", "error") + return redirect(url_for('admin.edit_user_page', user_id=user_id)) + + # Prüfen ob Username/Email bereits von anderem Benutzer verwendet + existing_user = db_session.query(User).filter( + User.id != user_id, + (User.username == username) | (User.email == email) + ).first() + + if existing_user: + flash("Benutzername oder E-Mail bereits von anderem Benutzer verwendet", "error") + return redirect(url_for('admin.edit_user_page', user_id=user_id)) + + # Benutzer-Daten aktualisieren + user.username = username + user.email = email + user.name = name if name else None + user.role = role + user.department = department if department else None + user.position = position if position else None + user.phone = phone if phone else None + user.active = active + user.updated_at = datetime.now() + + # Passwort aktualisieren falls angegeben + if new_password: + user.set_password(new_password) + + db_session.commit() + + admin_logger.info(f"Benutzer '{username}' (ID: {user_id}) aktualisiert von {current_user.username}") + flash(f"Benutzer '{username}' erfolgreich aktualisiert", "success") + + return redirect(url_for('admin.users_overview')) + + except Exception as e: + admin_logger.error(f"Fehler beim Aktualisieren des Benutzers: {str(e)}") + flash("Fehler beim Aktualisieren des Benutzers", "error") + return redirect(url_for('admin.edit_user_page', user_id=user_id)) + +@admin_blueprint.route("/users//delete", methods=["POST"]) +@admin_required +def delete_user(user_id): + """Löscht einen Benutzer""" + try: + with get_cached_session() as db_session: + user = db_session.query(User).filter(User.id == user_id).first() + + if not user: + flash("Benutzer nicht gefunden", "error") + return redirect(url_for('admin.users_overview')) + + # Sich selbst löschen verhindern + if user.id == current_user.id: + flash("Sie können sich nicht selbst löschen", "error") + return redirect(url_for('admin.users_overview')) + + # Letzten Admin löschen verhindern + if user.is_admin: + admin_count = db_session.query(User).filter(User.role == 'admin').count() + if admin_count <= 1: + flash("Kann den letzten Administrator nicht löschen", "error") + return redirect(url_for('admin.users_overview')) + + username = user.username + + # Benutzer löschen + db_session.delete(user) + db_session.commit() + + admin_logger.info(f"Benutzer '{username}' (ID: {user_id}) gelöscht von {current_user.username}") + flash(f"Benutzer '{username}' erfolgreich gelöscht", "success") + + return redirect(url_for('admin.users_overview')) + + except Exception as e: + admin_logger.error(f"Fehler beim Löschen des Benutzers: {str(e)}") + flash("Fehler beim Löschen des Benutzers", "error") + return redirect(url_for('admin.users_overview')) @admin_blueprint.route("/printers/add") @admin_required @@ -329,7 +413,7 @@ def add_printer_page(): except Exception as e: admin_logger.error(f"Fehler beim Laden der Drucker-Hinzufügen-Seite: {str(e)}") flash("Fehler beim Laden der Seite", "error") - return redirect(url_for('admin.printers_overview')) + return redirect(url_for('admin.admin_dashboard')) @admin_blueprint.route("/printers//edit") @admin_required @@ -343,7 +427,7 @@ def edit_printer_page(printer_id): if not printer: flash("Drucker nicht gefunden", "error") - return redirect(url_for('admin.printers_overview')) + return redirect(url_for('admin.admin_dashboard')) # Hardware-Status für diesen Drucker abrufen drucker_steuerung = get_drucker_steuerung() @@ -408,7 +492,7 @@ def edit_printer_page(printer_id): except Exception as e: admin_logger.error(f"Fehler beim Laden der Drucker-Bearbeitung: {str(e)}") flash("Fehler beim Laden der Druckerdaten", "error") - return redirect(url_for('admin.printers_overview')) + return redirect(url_for('admin.admin_dashboard')) @admin_blueprint.route("/printers//manage") @admin_required @@ -422,7 +506,7 @@ def manage_printer_page(printer_id): if not printer: flash("Drucker nicht gefunden", "error") - return redirect(url_for('admin.printers_overview')) + return redirect(url_for('admin.admin_dashboard')) # Hardware-Steuerung für Echtzeit-Daten drucker_steuerung = get_drucker_steuerung() @@ -524,7 +608,7 @@ def manage_printer_page(printer_id): except Exception as e: admin_logger.error(f"Fehler beim Laden der Drucker-Verwaltung: {str(e)}") flash("Fehler beim Laden der Drucker-Verwaltung", "error") - return redirect(url_for('admin.printers_overview')) + return redirect(url_for('admin.admin_dashboard')) @admin_blueprint.route("/printers//settings") @admin_required @@ -538,7 +622,7 @@ def printer_settings_page(printer_id): if not printer: flash("Drucker nicht gefunden", "error") - return redirect(url_for('admin.printers_overview')) + return redirect(url_for('admin.admin_dashboard')) # Hardware-Status für erweiterte Einstellungen drucker_steuerung = get_drucker_steuerung() @@ -604,7 +688,137 @@ def printer_settings_page(printer_id): except Exception as e: admin_logger.error(f"Fehler beim Laden der Drucker-Einstellungen: {str(e)}") flash("Fehler beim Laden der Drucker-Einstellungen", "error") - return redirect(url_for('admin.printers_overview')) + return redirect(url_for('admin.admin_dashboard')) + +@admin_blueprint.route("/printers//configure") +@admin_required +def printer_configuration_page(printer_id): + """Erweiterte Drucker-Konfigurationsseite - entspricht showPrinterConfiguration() JavaScript-Funktion""" + try: + from utils.hardware_integration import get_drucker_steuerung + + with get_cached_session() as db_session: + printer = db_session.query(Printer).filter(Printer.id == printer_id).first() + + if not printer: + flash("Drucker nicht gefunden", "error") + return redirect(url_for('admin.admin_dashboard')) + + # Hardware-Status für erweiterte Konfiguration + drucker_steuerung = get_drucker_steuerung() + status_data = drucker_steuerung.template_daten_sammeln() + + # Umfassende Konfigurationsdaten sammeln + config_data = { + # Grunddaten des Druckers + 'printer': { + 'id': printer.id, + 'name': printer.name, + 'model': printer.model, + 'location': printer.location, + 'ip_address': printer.ip_address, + 'plug_ip': printer.plug_ip, + 'status': printer.status, + 'active': printer.active, + 'created_at': printer.created_at, + 'updated_at': printer.updated_at, + 'last_checked': printer.last_checked, + 'description': getattr(printer, 'description', ''), + }, + + # Hardware-Status und Energiemonitoring + 'hardware_status': status_data.get('drucker_status', {}).get(printer.id, {}), + + # Konfigurationskategorien + 'config_categories': { + 'basic': { + 'name': 'Grundeinstellungen', + 'description': 'Name, Modell, Standort', + 'icon': 'cog' + }, + 'network': { + 'name': 'Netzwerk-Konfiguration', + 'description': 'IP-Adressen, Verbindungseinstellungen', + 'icon': 'wifi' + }, + 'hardware': { + 'name': 'Hardware-Integration', + 'description': 'Smart-Plug, Sensoren, Monitoring', + 'icon': 'cpu' + }, + 'automation': { + 'name': 'Automatisierung', + 'description': 'Auto-Power, Zeitpläne, Benachrichtigungen', + 'icon': 'zap' + }, + 'maintenance': { + 'name': 'Wartung & Diagnostik', + 'description': 'Kalibrierung, Tests, Logs', + 'icon': 'tool' + }, + 'advanced': { + 'name': 'Erweiterte Optionen', + 'description': 'Experten-Einstellungen, Debug-Modi', + 'icon': 'settings' + } + }, + + # Live-Verbindungsstatus + 'connectivity': { + 'printer_reachable': False, + 'plug_reachable': False, + 'last_ping': None, + 'response_time': None + }, + + # Energieverbrauchshistorie + 'energy_history': [], + + # Verfügbare Aktionen + 'available_actions': [ + 'test_connection', + 'reset_settings', + 'calibrate', + 'factory_reset', + 'export_config', + 'import_config' + ] + } + + # Live-Konnektivitätstests + try: + if printer.plug_ip: + reachable, plug_status = drucker_steuerung.check_outlet_status(printer.plug_ip, printer_id=printer.id) + config_data['connectivity']['plug_reachable'] = reachable + config_data['connectivity']['plug_status'] = plug_status + except Exception as connectivity_error: + admin_logger.warning(f"Konnektivitätstest für Drucker {printer.id} fehlgeschlagen: {str(connectivity_error)}") + + # Grundlegende Statistiken für das Template + total_users = db_session.query(User).count() + total_printers = db_session.query(Printer).count() + total_jobs = db_session.query(Job).count() + active_jobs = db_session.query(Job).filter( + Job.status.in_(['pending', 'printing', 'paused']) + ).count() + + stats = { + 'total_users': total_users, + 'total_printers': total_printers, + 'total_jobs': total_jobs, + 'active_jobs': active_jobs + } + + admin_logger.info(f"Drucker-Konfiguration für '{printer.name}' aufgerufen von {current_user.username}") + return render_template('admin_printer_configuration.html', + config_data=config_data, + stats=stats, + active_tab='printers') + + except Exception as e: + admin_logger.error(f"Fehler beim Laden der Drucker-Konfiguration: {str(e)}") + flash("Fehler beim Laden der Drucker-Konfiguration", "error") + return redirect(url_for('admin.admin_dashboard')) @admin_blueprint.route("/guest-requests") @admin_required @@ -3839,3 +4053,202 @@ def get_users_api(): admin_api_logger.error(f"Fehler beim Abrufen der Benutzer: {str(e)}") return jsonify({"error": "Fehler beim Abrufen der Benutzer"}), 500 +# ===== SYSTEM ERROR RECOVERY ENDPOINTS ===== + +@admin_api_blueprint.route('/error-recovery/status', methods=['GET']) +@admin_required +def error_recovery_status(): + """ + Gibt den Status des Error-Recovery-Systems zurück. + + Returns: + JSON: Error-Recovery-Status und verfügbare Aktionen + """ + try: + admin_api_logger.debug(f"Error-Recovery-Status angefordert von {current_user.username}") + + # Sammle System-Gesundheitsdaten + with get_cached_session() as db_session: + # Aktuelle Datenbankverbindung testen + try: + db_session.execute(text("SELECT 1")) + db_health = True + except Exception: + db_health = False + + # Anzahl laufender Jobs prüfen + try: + running_jobs = db_session.query(Job).filter( + Job.status.in_(['printing', 'pending', 'paused']) + ).count() + except Exception: + running_jobs = 0 + + # Anzahl Drucker mit Problemen + try: + offline_printers = db_session.query(Printer).filter( + Printer.status.in_(['offline', 'error', 'unknown']) + ).count() + except Exception: + offline_printers = 0 + + # Verfügbare Recovery-Aktionen bestimmen + available_actions = [] + + if not db_health: + available_actions.extend(['restart_db', 'repair_db']) + + if running_jobs == 0: + available_actions.append('restart_services') + + if offline_printers > 0: + available_actions.append('reconnect_printers') + + # Immer verfügbar + available_actions.extend(['clear_cache', 'check_logs', 'system_health']) + + recovery_status = { + 'system_healthy': db_health and running_jobs == 0 and offline_printers == 0, + 'database_status': 'healthy' if db_health else 'error', + 'running_jobs': running_jobs, + 'offline_printers': offline_printers, + 'available_actions': available_actions, + 'last_check': datetime.now().isoformat() + } + + return jsonify({ + 'success': True, + 'recovery_status': recovery_status + }) + + except Exception as e: + admin_api_logger.error(f"Fehler beim Abrufen des Error-Recovery-Status: {str(e)}") + return jsonify({ + 'success': False, + 'error': f'Fehler beim Abrufen des Status: {str(e)}' + }), 500 + +@admin_api_blueprint.route('/error-recovery/toggle', methods=['POST']) +@admin_required +def error_recovery_toggle(): + """ + Schaltet Error-Recovery-Funktionen um oder führt Recovery-Aktionen durch. + + Request JSON: + action (str): Die auszuführende Aktion ('restart_db', 'clear_cache', etc.) + + Returns: + JSON: Erfolgsstatus und Details der durchgeführten Aktion + """ + try: + data = request.get_json() + action = data.get('action') + + if not action: + return jsonify({ + 'success': False, + 'error': 'Keine Aktion angegeben' + }), 400 + + admin_api_logger.info(f"Error-Recovery-Aktion '{action}' angefordert von {current_user.username}") + + result = { + 'action': action, + 'performed_by': current_user.username, + 'timestamp': datetime.now().isoformat(), + 'details': {} + } + + # Führe angeforderte Aktion durch + if action == 'clear_cache': + # Cache leeren + try: + from utils.utilities_collection import clear_cache + clear_cache() + result['details']['cache_cleared'] = True + result['message'] = 'Cache erfolgreich geleert' + except Exception as e: + result['details']['cache_error'] = str(e) + result['message'] = f'Fehler beim Cache-Leeren: {str(e)}' + + elif action == 'restart_db': + # Datenbank-Verbindungen neu starten + try: + from models import engine + engine.dispose() # Alle Verbindungen schließen + result['details']['db_connections_reset'] = True + result['message'] = 'Datenbankverbindungen erfolgreich neu gestartet' + except Exception as e: + result['details']['db_error'] = str(e) + result['message'] = f'Fehler beim DB-Neustart: {str(e)}' + + elif action == 'reconnect_printers': + # Drucker-Verbindungen neu aufbauen + try: + with get_cached_session() as db_session: + offline_printers = db_session.query(Printer).filter( + Printer.status.in_(['offline', 'error', 'unknown']) + ).all() + + reconnected = 0 + for printer in offline_printers: + try: + # Einfache Reconnect-Logic + printer.status = 'idle' + printer.last_checked = datetime.now() + reconnected += 1 + except Exception: + pass + + db_session.commit() + result['details']['printers_reconnected'] = reconnected + result['message'] = f'{reconnected} Drucker erfolgreich reconnected' + except Exception as e: + result['details']['reconnect_error'] = str(e) + result['message'] = f'Fehler beim Drucker-Reconnect: {str(e)}' + + elif action == 'system_health': + # System-Health-Check durchführen + try: + health_check = { + 'memory_usage': 'OK', + 'disk_space': 'OK', + 'database_size': 'OK', + 'service_status': 'OK' + } + + # Einfache Checks + try: + import psutil + memory_percent = psutil.virtual_memory().percent + health_check['memory_usage'] = f'{memory_percent:.1f}%' + + disk_percent = psutil.disk_usage('/').percent + health_check['disk_space'] = f'{disk_percent:.1f}%' + except ImportError: + health_check['system_monitoring'] = 'psutil nicht verfügbar' + + result['details']['health_check'] = health_check + result['message'] = 'System-Health-Check durchgeführt' + except Exception as e: + result['details']['health_error'] = str(e) + result['message'] = f'Fehler beim Health-Check: {str(e)}' + + else: + return jsonify({ + 'success': False, + 'error': f'Unbekannte Aktion: {action}' + }), 400 + + return jsonify({ + 'success': True, + 'result': result + }) + + except Exception as e: + admin_api_logger.error(f"Fehler bei Error-Recovery-Toggle: {str(e)}") + return jsonify({ + 'success': False, + 'error': f'Systemfehler: {str(e)}' + }), 500 + diff --git a/backend/database/myp.db.backup_20250620_004637 b/backend/database/myp.db.backup_20250620_004637 new file mode 100644 index 0000000000000000000000000000000000000000..778c0aa17c7c729cfcb2f7779100f7b7daf7dc20 GIT binary patch literal 245760 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

-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 Mh1ibc0ROV literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/01c627f6771cc3621bb4b2b014bf19b8_activity.pkl b/backend/instance/sessions/01c627f6771cc3621bb4b2b014bf19b8_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..852cae72a3b5fe94c6e108cc089f66025b356f6a GIT binary patch literal 60 zcmZo*nQF)Y0kuc>zNuF LTbdY7Db@o3@iq`C literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/02971768c32367a2421015b4535c3671_activity.pkl b/backend/instance/sessions/02971768c32367a2421015b4535c3671_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..4890ee51bfce50d3e4204d2a2f36a1e18b9bb6f9 GIT binary patch literal 60 zcmZo*nQF)Y0ku6x3E LTNs&6Db@o3@%0cq literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/03bb55a11dffacb417ed88ff8b9b5d42_activity.pkl b/backend/instance/sessions/03bb55a11dffacb417ed88ff8b9b5d42_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..16eea7a03d271a1eadd75c022d55211eb0354df3 GIT binary patch literal 60 zcmZo*nQF)Y0kulqpv Lm>C&NDb@o3@h}h~ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/04306705be071f514f3fcb03753e74c1_activity.pkl b/backend/instance/sessions/04306705be071f514f3fcb03753e74c1_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..2f7f7c423560f0368783b39e099f7285578cdf69 GIT binary patch literal 60 zcmZo*nQF)Y0kuX{i@ L8XK8SDb@o3@stoT literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/05d1fbd2005493f27d8a20ddf2cfeac4_activity.pkl b/backend/instance/sessions/05d1fbd2005493f27d8a20ddf2cfeac4_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..10e4e82b760399b0ef74d73b8199ff2a47c1bd05 GIT binary patch literal 60 zcmZo*nQF)Y0ku Lni?2RDb@o3@oNw( literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/05f0bb5a8b642d8c399827e31f1f6cf3_activity.pkl b/backend/instance/sessions/05f0bb5a8b642d8c399827e31f1f6cf3_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..e59d366e1dd8222593dae57d61ef7d8c6066b9cf GIT binary patch literal 60 zcmZo*nQF)Y0kuKU1s LnwpwVDb@o3@j4JL literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/06027c6a6f018b5b61e7606eb7bd98f9_activity.pkl b/backend/instance/sessions/06027c6a6f018b5b61e7606eb7bd98f9_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..e365c2f965bc881760d0d172c78a09922ae67ed9 GIT binary patch literal 60 zcmZo*nQF)Y0kuY17u K07a)1>j41qs}L^$ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/0821876c13017b0e6345b9be5bf30352_activity.pkl b/backend/instance/sessions/0821876c13017b0e6345b9be5bf30352_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..7fa8d70dde9422f4901f60345f0fb66e9897d669 GIT binary patch literal 60 zcmZo*nQF)Y0kuzSJv L8d;i6Db@o3@rw{L literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/0912c8635ed4c197987cc2a075af68b4_activity.pkl b/backend/instance/sessions/0912c8635ed4c197987cc2a075af68b4_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..afa2e1130f6660bc44df649d1c67b7669d8a55e9 GIT binary patch literal 60 zcmZo*nQF)Y0kuY19G L8Cw`lDb@o3@w*T= literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/09a79e493a882363adf52524479522a6_activity.pkl b/backend/instance/sessions/09a79e493a882363adf52524479522a6_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..f46ab0c288c16d2127dda54cc1bfcc1f97b2ded2 GIT binary patch literal 60 zcmZo*nQF)Y0kuGz=ouLr LnwXhRDb@o3@tP1Y literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/09c18f8f598a7d3bbb4fc0e0f1e01580_activity.pkl b/backend/instance/sessions/09c18f8f598a7d3bbb4fc0e0f1e01580_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..2fddb3dcc8428b3eaf9695543431222c9cca2f63 GIT binary patch literal 60 zcmZo*nQF)Y0kuKPfC L8CY0ODb@o3@hT84 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/0b436f880588c84f7986c36420ec25fb_activity.pkl b/backend/instance/sessions/0b436f880588c84f7986c36420ec25fb_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..c129ef0fb2cc44d720a334a320dca4da1711af88 GIT binary patch literal 60 zcmZo*nQF)Y0kuY14v L8JSy7Db@o3@v0Cv literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/0b4967b6d7b4f243ba90fd34ca5fb546_activity.pkl b/backend/instance/sessions/0b4967b6d7b4f243ba90fd34ca5fb546_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..1cd2e6f718858b3a1baca0d53bf613f03604bb0a GIT binary patch literal 60 zcmZo*nQF)Y0kuKR!Y Lni(5TDb@o3@v{&z literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/0babe4528f343feb0d941d8b764bdcee_activity.pkl b/backend/instance/sessions/0babe4528f343feb0d941d8b764bdcee_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..bd6383fbfec39abcfc8ec10405b80ce48541b280 GIT binary patch literal 60 zcmZo*nQF)Y0kuY1CF L8X6c+Db@o3@o^9< literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/0c5e95ba397ea636de75661e4b1693a5_activity.pkl b/backend/instance/sessions/0c5e95ba397ea636de75661e4b1693a5_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..cd6b781fcb0164a462976dc7e3fc0fa4eb3d8f10 GIT binary patch literal 60 zcmZo*nQF)Y0kuKRxX LnHm~QDb@o3@n{e! literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/0d8246473a61b6486553cd27526499ab_activity.pkl b/backend/instance/sessions/0d8246473a61b6486553cd27526499ab_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..4e32d7a90c79c6e5aaa8a5f796a837f8fb192554 GIT binary patch literal 60 zcmZo*nQF)Y0ku612Db@o3@o^9_ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/0e0adc3b800a3cd4d1ddf76218a96f98_activity.pkl b/backend/instance/sessions/0e0adc3b800a3cd4d1ddf76218a96f98_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..47b01d67845105af0307b76cc92d17e5b5b78a91 GIT binary patch literal 60 zcmZo*nQF)Y0kuzNxF L8<|^7Db@o3@p}+5 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/0e22859a89aa146e70bac6f31a873ac1_activity.pkl b/backend/instance/sessions/0e22859a89aa146e70bac6f31a873ac1_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..fca9f137e9d76d78df9e53f5c31bf251d9808df0 GIT binary patch literal 60 zcmZo*nQF)Y0kuKPha LSehD5Db@o3@s|)Y literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/0e76d5558de7d5c8a065520e9d9d1ede_activity.pkl b/backend/instance/sessions/0e76d5558de7d5c8a065520e9d9d1ede_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..2ebe4d4eefaa7abb936eb7d02f06815a1eb15c67 GIT binary patch literal 60 zcmZo*nQF)Y0ku5HtV) literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/0f9792816f1433b3b1a25813ceaee7f9_activity.pkl b/backend/instance/sessions/0f9792816f1433b3b1a25813ceaee7f9_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..603a0cfef54102a651620af0b51f4d855f5fbac1 GIT binary patch literal 60 zcmZo*nQF)Y0kuzSKc L7+V-kDb@o3@%Ios literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/0fcc41022cb25c65136a10b048a011e8_activity.pkl b/backend/instance/sessions/0fcc41022cb25c65136a10b048a011e8_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..95169043e3c330e28d2b5d7be9b293a238c7b61a GIT binary patch literal 60 zcmZo*nQF)Y0kuzNrD L8k?I=Db@o3@mLTo literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/10001ec16b65fdb56dd9cd0d94434747_activity.pkl b/backend/instance/sessions/10001ec16b65fdb56dd9cd0d94434747_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..1c7a024a6932dc9d6c83b1545d90546b0a2f2d19 GIT binary patch literal 60 zcmZo*nQF)Y0kuzNx{ Ln3)<+Db@o3@xl-{ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/109e81c71622f2b2d6eccfc2b8112ac2_activity.pkl b/backend/instance/sessions/109e81c71622f2b2d6eccfc2b8112ac2_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..0fe0516a1ceaf137b04129eb16ce7f1f02a5063e GIT binary patch literal 60 zcmZo*nQF)Y0ku6sds L85x^SDb@o3@qrL7 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/113d8e76858d876e60670127a0cbe6ae_activity.pkl b/backend/instance/sessions/113d8e76858d876e60670127a0cbe6ae_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..39858a57dc99f882759d7cb0f3bf30ba6b339337 GIT binary patch literal 60 zcmZo*nQF)Y0kuRFgr Lni?5TDb@o3@u(0q literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/116cc33afa2e03043fad320270b1c206_activity.pkl b/backend/instance/sessions/116cc33afa2e03043fad320270b1c206_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..aae4198ec10d3637967e61317a43569627679772 GIT binary patch literal 60 zcmZo*nQF)Y0ku L8ylESDb@o3@kkIY literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/123000e4b3a3b026c940abc8c006f98c_activity.pkl b/backend/instance/sessions/123000e4b3a3b026c940abc8c006f98c_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..6edae00c5c230896a61260952847dbc522d34738 GIT binary patch literal 60 zcmZo*nQF)Y0kuX}-Y Ln;V)=Db@o3@yif7 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/1297687541e0e8024c8c238f19467d25_activity.pkl b/backend/instance/sessions/1297687541e0e8024c8c238f19467d25_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..01156a9da7c5e7763b9b6ab2c7e2d3194215fda6 GIT binary patch literal 60 zcmZo*nQF)Y0ku Jp~;kDJpl2L5HJ7$ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/1350b596d46a3fd58c72f526a4918852_activity.pkl b/backend/instance/sessions/1350b596d46a3fd58c72f526a4918852_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..cb74023d77a5495af95622d71866bbbd5cadb56f GIT binary patch literal 60 zcmZo*nQF)Y0kuX{iD LTUwY+Db@o3@yZZ7 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/13d3d807c78c3f07900ca226b5464a5c_activity.pkl b/backend/instance/sessions/13d3d807c78c3f07900ca226b5464a5c_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..65965356ab3132964c3db455fb535c51f98fd8ee GIT binary patch literal 60 zcmZo*nQF)Y0ku6x2b L8kiYODb@o3@!JqK literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/13ee4053cada8b5d69ce7e36b47cf454_activity.pkl b/backend/instance/sessions/13ee4053cada8b5d69ce7e36b47cf454_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..a9dda1a393a76e741cb1edc615293bc26a406910 GIT binary patch literal 60 zcmZo*nQF)Y0kulv6@ Lm|2)kDb@o3@#qjd literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/158f91cc8267b240ddce8900a679aec8_activity.pkl b/backend/instance/sessions/158f91cc8267b240ddce8900a679aec8_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..66893b426eab701374c8cee599daee0ed336359a GIT binary patch literal 60 zcmZo*nQF)Y0kuRDJ? LT9{c*Db@o3@3&ODb@o3@c9Db@o3@*@yI literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/15fbf37bf255403c28df3352cc2cb0af_activity.pkl b/backend/instance/sessions/15fbf37bf255403c28df3352cc2cb0af_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..76350a4999a0811a77e8a6bbecc9e0a44af7bb65 GIT binary patch literal 60 zcmZo*nQF)Y0kuY11u LS(sQ(Db@o3@rn>N literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/169424bf4cf5abd73af1e81fbc793847_activity.pkl b/backend/instance/sessions/169424bf4cf5abd73af1e81fbc793847_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..cc20d609e8680eb20494698f1673e1437e3f5014 GIT binary patch literal 60 zcmZo*nQF)Y0kuseSB L7#bT*Db@o3@#PRS literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/17e81fd7ee5c6ef81325e938f1d769bf_activity.pkl b/backend/instance/sessions/17e81fd7ee5c6ef81325e938f1d769bf_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..3894b704c572400b308e5138bfb742e4158c2e3d GIT binary patch literal 60 zcmZo*nQF)Y0kuX{gt Lo0yqQDb@o3@of+< literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/191c92b1a648daf6a2c45a65c97b6756_activity.pkl b/backend/instance/sessions/191c92b1a648daf6a2c45a65c97b6756_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..ffe206a04b06862103b329dcd5f916ff4f32299c GIT binary patch literal 60 zcmZo*nQF)Y0ku6uxW Lm|B`mDb@o3@kS6b literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/19bfb214f7775be31637826891574709_activity.pkl b/backend/instance/sessions/19bfb214f7775be31637826891574709_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..0dbf5f25265ea5edc4e3deab9ba7653fcf597ab0 GIT binary patch literal 60 zcmZo*nQF)Y0kuX{fB L8W~wmDb@o3@jnnL literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/19c2bc9b1d681e6e5abcb87ffdebbe20_activity.pkl b/backend/instance/sessions/19c2bc9b1d681e6e5abcb87ffdebbe20_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..126c9921c27b992d06e718b3a6d8f2b71b3cae0c GIT binary patch literal 60 zcmZo*nQF)Y0ku6x0D L7#f>RDb@o3@s$uU literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/1a37f6577c65cd066cb141c3fd382919_activity.pkl b/backend/instance/sessions/1a37f6577c65cd066cb141c3fd382919_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..933fb3c148cab35ae475984d19eff19d1416803e GIT binary patch literal 60 zcmZo*nQF)Y0kuX{fB Lo12+UDb@o3@x%}~ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/1a3880ff909f82078deeab83fd740d74_activity.pkl b/backend/instance/sessions/1a3880ff909f82078deeab83fd740d74_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..17f903de1fc2e173930317b6ffda7d253f2c224a GIT binary patch literal 60 zcmZo*nQF)Y0kuzNrF L8Jn6;Db@o3@t_bg literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/1b35ebda2bcce4eaa9602a9b9346670b_activity.pkl b/backend/instance/sessions/1b35ebda2bcce4eaa9602a9b9346670b_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..3c9044417c150c8523614cafb8185f23fe37d87f GIT binary patch literal 60 zcmZo*nQF)Y0ku612Db@o3@rMvG literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/1c20e4169656530b233cd305ed6c34a3_activity.pkl b/backend/instance/sessions/1c20e4169656530b233cd305ed6c34a3_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..b29a217a6f81ade3c1015d2ff95b5f9c4004d625 GIT binary patch literal 60 zcmZo*nQF)Y0kub=$V^Z LSQr^iDb@o3@oEq- literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/1c8067636e42797fb685cc6676b4638b_activity.pkl b/backend/instance/sessions/1c8067636e42797fb685cc6676b4638b_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..1a5e8d8a64cad8363344bfc5555193a7ee5a9f8c GIT binary patch literal 60 zcmZo*nQF)Y0kul literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/1d5b9db27488e02f25339993d986e88d_activity.pkl b/backend/instance/sessions/1d5b9db27488e02f25339993d986e88d_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..310c1dda1eec982ad5ef830a5df56402cb20ce03 GIT binary patch literal 60 zcmZo*nQF)Y0kuKU0> L7?>GNDb@o3@gfi? literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/1dfbe1be734b272d0d5875eb9b296154_activity.pkl b/backend/instance/sessions/1dfbe1be734b272d0d5875eb9b296154_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..b3e547b2f8e064d0080945860151f969a819d5d7 GIT binary patch literal 60 zcmZo*nQF)Y0kulv9? Lm>U{RDb@o3@v0Cq literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/1e77d6c44ab8cef5642171ccbf8785d7_activity.pkl b/backend/instance/sessions/1e77d6c44ab8cef5642171ccbf8785d7_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..b37fc2cad13a790f5dfbacc79a946b79bdfdfb0b GIT binary patch literal 60 zcmZo*nQF)Y0kuX}KPcA LS(+G6Db@o3@thDc literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/1f36eff604a59b3af29e188d13580ff0_activity.pkl b/backend/instance/sessions/1f36eff604a59b3af29e188d13580ff0_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..3ee80733784b93ca00c3ba9325cd07bf68673b9e GIT binary patch literal 60 zcmZo*nQF)Y0kulvDx Lni?8TDb@o3@stoQ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/1f9ad74ffaedb41643746ad69af26bcf_activity.pkl b/backend/instance/sessions/1f9ad74ffaedb41643746ad69af26bcf_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..a79eb93c5e7bf0b274a463c6ba13cdfc37dd71e9 GIT binary patch literal 60 zcmZo*nQF)Y0kuKT|B LnHyV9Db@o3@rn>L literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/2042ceaf37d7123199d6db749392c82d_activity.pkl b/backend/instance/sessions/2042ceaf37d7123199d6db749392c82d_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..58d748a4ca3cb1c8a84325cc0015a325d0eec1a7 GIT binary patch literal 60 zcmZo*nQF)Y0kuKR#B Lni!Z*Db@o3@tqJf literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/22bab770e3aa33c878f9c8e8a75b5b78_activity.pkl b/backend/instance/sessions/22bab770e3aa33c878f9c8e8a75b5b78_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..b2c2d1dc482c5db0d7823369ab95adb013c9c72e GIT binary patch literal 60 zcmZo*nQF)Y0kuX{ju L7#SK&Db@o3@lFsV literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/2454e0527c10f3d314905ebe58f0d884_activity.pkl b/backend/instance/sessions/2454e0527c10f3d314905ebe58f0d884_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..df0a29b6f70ea0915667b1888973966fc3f80a53 GIT binary patch literal 60 zcmZo*nQF)Y0kuG#>KT}t L7@8PNDb@o3@uUzf literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/24ccdf1df77a33b0bb046c4c770b603f_activity.pkl b/backend/instance/sessions/24ccdf1df77a33b0bb046c4c770b603f_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..06747e5f46908a91a2bdd2c6f8e7edc4d59d3c0c GIT binary patch literal 60 zcmZo*nQF)Y0ku L8XFr;Db@o3@+=TP literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/25044f22e55dc36fd4348fdfad7b8dc8_activity.pkl b/backend/instance/sessions/25044f22e55dc36fd4348fdfad7b8dc8_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..4615625ced5669fd172d57c157f2aa1095213a6d GIT binary patch literal 60 zcmZo*nQF)Y0kuKR&E Lm>XJ5Db@o3@y8H4 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/255464f9757c45bbd60b89c938cb20a2_activity.pkl b/backend/instance/sessions/255464f9757c45bbd60b89c938cb20a2_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..d8d857536772d41332e15bfcdf1a50977d7af4d5 GIT binary patch literal 60 zcmZo*nQF)Y0kuX{oG Lnj2V5Db@o3@cIxY literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/25c0b46dd4d5b4e6562fe26ab63cebb7_activity.pkl b/backend/instance/sessions/25c0b46dd4d5b4e6562fe26ab63cebb7_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..843a02a2d317d7754541f7d5c50a8782c4272977 GIT binary patch literal 60 zcmZo*nQF)Y0kuRA|? Ln3@_-Db@o3@rn>I literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/2761a2dbb1fa7401e1e85972a3fab026_activity.pkl b/backend/instance/sessions/2761a2dbb1fa7401e1e85972a3fab026_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..24c1742adb6ea50b79dfe98a1c1364edd4b193b1 GIT binary patch literal 60 zcmZo*nQF)Y0kuY11s L7+F|MDb@o3@n8@y literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/277bf0736af68a48eae908da1bf7b525_activity.pkl b/backend/instance/sessions/277bf0736af68a48eae908da1bf7b525_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..fe27341d75db59046a1dd74b5273acd552c804d5 GIT binary patch literal 60 zcmZo*nQF)Y0kuC#NDb@o3@wE^% literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/2858ef1b28a3c05e4aec3c034df37673_activity.pkl b/backend/instance/sessions/2858ef1b28a3c05e4aec3c034df37673_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..e6104e8c756ff358b05b176810f03d5dd0314173 GIT binary patch literal 60 zcmZo*nQF)Y0kuzNvx Ln^>4nDb@o3@!AkP literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/288742848ba02a723d3eff6e0b019c23_activity.pkl b/backend/instance/sessions/288742848ba02a723d3eff6e0b019c23_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..f690c687a46548ac81d768914ddfa44e4632b7ac GIT binary patch literal 60 zcmZo*nQF)Y0kulv6E L7+P9RDb@o3@wX5* literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/2a521a1128f9e43c021582a4cf1ee334_activity.pkl b/backend/instance/sessions/2a521a1128f9e43c021582a4cf1ee334_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..d8a7c510b5f2fe6bb0af9bbdfb392e37c90f1797 GIT binary patch literal 60 zcmZo*nQF)Y0kuKPjw Lni^V6Db@o3@t6=X literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/2a59c1e649583db3b7ceaa3d709550c9_activity.pkl b/backend/instance/sessions/2a59c1e649583db3b7ceaa3d709550c9_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..40d42303bd6027161347c0a85c129762882bed35 GIT binary patch literal 60 zcmZo*nQF)Y0kuKU6^ L7@HbRDb@o3@oo?< literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/2ab8a5ce33e16e220f3dfb96fc4e9709_activity.pkl b/backend/instance/sessions/2ab8a5ce33e16e220f3dfb96fc4e9709_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..1d299284c289b8ea8d465d41cb3636441fc0b48c GIT binary patch literal 60 zcmZo*nQF)Y0kuzPRFna L7?>GNDb@o3@eL3r literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/2b0836f7a235f65115ff1603a6df060e_activity.pkl b/backend/instance/sessions/2b0836f7a235f65115ff1603a6df060e_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..5ff1fd4284066bf91662ad060adf7b6edf92397c GIT binary patch literal 60 zcmZo*nQF)Y0kuzNx^ Lnj0BTDb@o3@rDpE literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/2b1d5d7b8b37f1d7870eae2027df2abe_activity.pkl b/backend/instance/sessions/2b1d5d7b8b37f1d7870eae2027df2abe_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..922497a91a67a66004f146538097580188ae32cd GIT binary patch literal 60 zcmZo*nQF)Y0kuKR!Y LnOhi7Db@o3@k9_W literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/2b4459c18a5930fbbcad49ba38863494_activity.pkl b/backend/instance/sessions/2b4459c18a5930fbbcad49ba38863494_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..10535cfc903f04fb20a36d11b59f5c66c5d1611e GIT binary patch literal 60 zcmZo*nQF)Y0kuKPiC Ln;KY5Db@o3@d^+n literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/2b97ddd833c6edb4f97200a1e1da2448_activity.pkl b/backend/instance/sessions/2b97ddd833c6edb4f97200a1e1da2448_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..c9f4e69bb210033d1683515d8c66ae8e7b44e4cd GIT binary patch literal 60 zcmZo*nQF)Y0kuX}%Y L8CV)jDb@o3@r@8M literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/2bc0d8830a1c9580672c9108ce270e06_activity.pkl b/backend/instance/sessions/2bc0d8830a1c9580672c9108ce270e06_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..267233fce439e76a6c60e8f9feaf5df6ff4cdac6 GIT binary patch literal 60 zcmZo*nQF)Y0ku L7?~SPDb@o3@jDPF literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/2c6ffd2f79fcca4e95939786fd106b39_activity.pkl b/backend/instance/sessions/2c6ffd2f79fcca4e95939786fd106b39_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..80aee382788d2f6af9b6c4f71b8d6d27b9ae7f24 GIT binary patch literal 60 zcmZo*nQF)Y0kuzSDv LSeO`0Db@o3@u(0n literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/2c733cb695b911c2bcd274352e990b6e_activity.pkl b/backend/instance/sessions/2c733cb695b911c2bcd274352e990b6e_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..52f0e3f808e22d68b34de6e5a7ad6e3daba77449 GIT binary patch literal 60 zcmZo*nQF)Y0kuzSJx L7@J#8Db@o3@uLtn literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/2cbfbb9987ab559b571af7467da1e4ae_activity.pkl b/backend/instance/sessions/2cbfbb9987ab559b571af7467da1e4ae_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..ee93fc2e8c8a6f30e15de90a34ec31d346dc601c GIT binary patch literal 60 zcmZo*nQF)Y0ku6sWA J0@0LWJpl1s5GMct literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/2cf007fc6567101ff01893260d6fd8db_activity.pkl b/backend/instance/sessions/2cf007fc6567101ff01893260d6fd8db_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..b42248a35e4ce4a6bc5523999fea8b90d530cb85 GIT binary patch literal 60 zcmZo*nQF)Y0kuzP@Y LSelqlDb@o3@oo?^ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/2db77c1e85929d4272d3a8d4e71f40d3_activity.pkl b/backend/instance/sessions/2db77c1e85929d4272d3a8d4e71f40d3_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..a177864cd67de5940ea084f11e1dae2c15ae0ccb GIT binary patch literal 60 zcmZo*nQF)Y0ku6sdu LSy&oPDb@o3@xKr_ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/2dc3f133aa53557832003ff9131ffd53_activity.pkl b/backend/instance/sessions/2dc3f133aa53557832003ff9131ffd53_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..9cf6df920cf0bb493bc69c47123c3956c13f1aa1 GIT binary patch literal 60 zcmZo*nQF)Y0ku6sXq LTUZ!PDb@o3@p}+4 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/2f71dfb380824d0b7f67c682c923c8e6_activity.pkl b/backend/instance/sessions/2f71dfb380824d0b7f67c682c923c8e6_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..8688b37ab0ba07506ffae5153abb17211a520b3e GIT binary patch literal 60 zcmZo*nQF)Y0kuZi;Db@o3@mvrs literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/2f9974f98270d852ec4f4137eab7d8c6_activity.pkl b/backend/instance/sessions/2f9974f98270d852ec4f4137eab7d8c6_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..ab96c24aaa670274a1c9b2353d461d1903b45a53 GIT binary patch literal 60 zcmZo*nQF)Y0kuX L7?>DNDb@o3@t+Vd literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/323254ff9efcef670a5e026bee84e36d_activity.pkl b/backend/instance/sessions/323254ff9efcef670a5e026bee84e36d_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..cd015f3a79c74b6ae276c8037853621401d04bc3 GIT binary patch literal 60 zcmZo*nQF)Y0kuKR#B L7#NyPDb@o3@p}+1 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/3239513dd636d080b6554556422e49e2_activity.pkl b/backend/instance/sessions/3239513dd636d080b6554556422e49e2_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..bad7affd1c80c9234f1e1073e9b3aa3594e7ed29 GIT binary patch literal 60 zcmZo*nQF)Y0kuKU6D Lni?2SDb@o3@ly~d literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/33645b0de9c65ebabcbc8d0642d7c119_activity.pkl b/backend/instance/sessions/33645b0de9c65ebabcbc8d0642d7c119_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..42618378bcbeed6b06df1e517abe27c787b02b40 GIT binary patch literal 60 zcmZo*nQF)Y0kulvAv L8k$*7Db@o3@s6x1v LSQwd1Db@o3@wgB( literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/33da73e4626922a32edb177ff158da44_activity.pkl b/backend/instance/sessions/33da73e4626922a32edb177ff158da44_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..1c6ca2b91b1fbb9b417b9190d7a6233459c7c978 GIT binary patch literal 60 zcmZo*nQF)Y0ku6sWB LnVDHmDb@o3@tY7e literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/33ff706dc174cdb6e798ed66d2565bef_activity.pkl b/backend/instance/sessions/33ff706dc174cdb6e798ed66d2565bef_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..33e52a35569fed2a73fb08efcf4e0efc7949c13c GIT binary patch literal 60 zcmZo*nQF)Y0kuzSFG LSsGeQDb@o3@yrlA literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/34405b9ced0cbcb98e16627b60dcb138_activity.pkl b/backend/instance/sessions/34405b9ced0cbcb98e16627b60dcb138_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..ceb72ed3390dcfc6da1ba5e204402a29f8106dbb GIT binary patch literal 60 zcmZo*nQF)Y0kuRA{Y LS(utnDb@o3@z)SL literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/347af8fd77754d812dbef5565760ecce_activity.pkl b/backend/instance/sessions/347af8fd77754d812dbef5565760ecce_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..d6c14383a172e1f58829f46f3466718e69334a66 GIT binary patch literal 60 zcmZo*nQF)Y0kuGz=owm? L8=09*Db@o3@#_#e literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/354bc09d3c0d9633868ab3bc74b02749_activity.pkl b/backend/instance/sessions/354bc09d3c0d9633868ab3bc74b02749_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..e1d7b272b510b97f748a7ecb5fe8c8f980745550 GIT binary patch literal 60 zcmZo*nQF)Y0kuKPjt L8e14nDb@o3@ZJz0 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/3576873f9f9d1e1053e7d0d548dc6a7f_activity.pkl b/backend/instance/sessions/3576873f9f9d1e1053e7d0d548dc6a7f_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..097e37c1ea89d0aa8e7b9892c368d5b7d5d61365 GIT binary patch literal 60 zcmZo*nQF)Y0ku6uv? L8kibRDb@o3@r)2H literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/3663addd60112287137fa0a4ad0e964b_activity.pkl b/backend/instance/sessions/3663addd60112287137fa0a4ad0e964b_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..65d890128eba9bf70a5cc2396b90ddff8f67bfc0 GIT binary patch literal 60 zcmZo*nQF)Y0ku6uwt L7@HYRDb@o3@$nEk literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/36ac08944bc53ae5a7bc0228c7abda91_activity.pkl b/backend/instance/sessions/36ac08944bc53ae5a7bc0228c7abda91_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..d91b02c01d4a0a16128a02a1106488543c22a459 GIT binary patch literal 60 zcmZo*nQF)Y0kuY16E Lm>L^QDb@o3@sSWO literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/36bc8e6767011cc59680b4fed485d298_activity.pkl b/backend/instance/sessions/36bc8e6767011cc59680b4fed485d298_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..613d8ef1fbe7b4effb494bfbe2af803fe68d4dbf GIT binary patch literal 60 zcmZo*nQF)Y0ku6x1u L7+D%kDb@o3@n;Y% literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/376c3d2369fdda747d9f931e1123f519_activity.pkl b/backend/instance/sessions/376c3d2369fdda747d9f931e1123f519_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..418d358a7008a3f30eff166ce0301ebbf430dadf GIT binary patch literal 60 zcmZo*nQF)Y0kuzNx^ L8W>tkDb@o3@sSWQ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/381596d58b7e3efbb0869b5a28cf3daa_activity.pkl b/backend/instance/sessions/381596d58b7e3efbb0869b5a28cf3daa_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..c39fd4b13f63f4686b66a4ca3c3bda15e54874a5 GIT binary patch literal 60 zcmZo*nQF)Y0ku5H$b* literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/3834e02273648a5cb52cef493bac9d5c_activity.pkl b/backend/instance/sessions/3834e02273648a5cb52cef493bac9d5c_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..8f930f1fc5a5947acb02fb48411969f76f9c47b7 GIT binary patch literal 60 zcmZo*nQF)Y0kuKR*F Lni?8TDb@o3@skiS literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/38afbc41b987d92704ca0e36d51a5d4a_activity.pkl b/backend/instance/sessions/38afbc41b987d92704ca0e36d51a5d4a_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..09283d13eb598785ed9ef7876d28523c40b84ccb GIT binary patch literal 60 zcmZo*nQF)Y0kuscC^ LSsI&9Db@o3@x>52 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/38dd67f3f1cd1edc859d982a5b403ef5_activity.pkl b/backend/instance/sessions/38dd67f3f1cd1edc859d982a5b403ef5_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..1ca622a774f3556b4d55dbfad61e74007f672717 GIT binary patch literal 60 zcmZo*nQF)Y0ku6uy@ LTNqeQDb@o3@y!rA literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/38eeb6a3ccbf03cf012a375e178b1a8e_activity.pkl b/backend/instance/sessions/38eeb6a3ccbf03cf012a375e178b1a8e_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..049e3f2540330253fabd8b12e7fcbb47b10dc9e6 GIT binary patch literal 60 zcmZo*nQF)Y0kuzSJy Ln^+i3Db@o3@!AkK literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/38fbdf7ecd992db56823ee4687724a67_activity.pkl b/backend/instance/sessions/38fbdf7ecd992db56823ee4687724a67_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..8e80d74e364c39276e2149bb1d0859e60618b495 GIT binary patch literal 60 zcmZo*nQF)Y0kuKR&^ LTAEu-Db@o3@(2(^ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/39bbb79498c7df30c3fd38c210a67f45_activity.pkl b/backend/instance/sessions/39bbb79498c7df30c3fd38c210a67f45_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..ebba6ef8a959dc549157a7b81c3b2e59b065aee9 GIT binary patch literal 60 zcmZo*nQF)Y0kuGz=$ROq L8JL?*Db@o3@yHN1 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/39d620c45f36fd0a3ee1d0e896959de3_activity.pkl b/backend/instance/sessions/39d620c45f36fd0a3ee1d0e896959de3_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..6dd0cc86e7fb8a153a846707888f5eecafe9eea1 GIT binary patch literal 60 zcmZo*nQF)Y0kulv9_ Lm>QW+Db@o3@wX5+ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/3a98ca177b5e4bf89d54580c039d4a4a_activity.pkl b/backend/instance/sessions/3a98ca177b5e4bf89d54580c039d4a4a_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..cafedde20f056e19d7a9562d367b0b4aaccacb7e GIT binary patch literal 60 zcmZo*nQF)Y0kuzSGv LT3DJ+Db@o3@!AkP literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/3b8217c0d9776c9a4fc2e5925cea5e17_activity.pkl b/backend/instance/sessions/3b8217c0d9776c9a4fc2e5925cea5e17_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..84834ba8218a82ce2d2552a5e4401fc8137e9b46 GIT binary patch literal 60 zcmZo*nQF)Y0kuzSHb LSQr>hDb@o3@yif4 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/3d2feb1bf1d281f66564b4b131b3b0cd_activity.pkl b/backend/instance/sessions/3d2feb1bf1d281f66564b4b131b3b0cd_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..6205ea7904dd647585d516841f462d895dd181dd GIT binary patch literal 60 zcmZo*nQF)Y0kulqqZ L7#o;PDb@o3@edFt literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/3f2181408636de36794cdc7d39454001_activity.pkl b/backend/instance/sessions/3f2181408636de36794cdc7d39454001_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..fe8e22fc14ee97eea1427f89afc082e2a3b3ff54 GIT binary patch literal 60 zcmZo*nQF)Y0kuzNvu L8(NxADb@o3@v{&& literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/3f2b3dd861f081e0269a537eed43fdae_activity.pkl b/backend/instance/sessions/3f2b3dd861f081e0269a537eed43fdae_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..d0e310adf95721cc3bcf53de0f5767fda8cf22b6 GIT binary patch literal 60 zcmZo*nQF)Y0kuF|>seS@ LnphZ3Db@o3@(&O| literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/3f589ec064acf84e6ab253d4dbaab7eb_activity.pkl b/backend/instance/sessions/3f589ec064acf84e6ab253d4dbaab7eb_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..16c5cf7677d717a502d38d801812ee5c43da9012 GIT binary patch literal 60 zcmZo*nQF)Y0kuRA|= LnwpzTDb@o3@s|)Y literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/400dc9f671015bac2e3092090eda798e_activity.pkl b/backend/instance/sessions/400dc9f671015bac2e3092090eda798e_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..864c5450c4307ea0dafc895812edf8e1c3bbecbc GIT binary patch literal 60 zcmZo*nQF)Y0kulv6C LSXi1(Db@o3@y!r9 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/404d2174ac6ef0899aa885dcf5b728cd_activity.pkl b/backend/instance/sessions/404d2174ac6ef0899aa885dcf5b728cd_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..030330029f995c0199cead158b2150b5986f9ff4 GIT binary patch literal 60 zcmZo*nQF)Y0ku LnwXnTDb@o3@w*T= literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/4070db0ba01de9a854e6461e78ebf827_activity.pkl b/backend/instance/sessions/4070db0ba01de9a854e6461e78ebf827_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..e9c3e6d2d122c7c4df672b7a35b67c8456032103 GIT binary patch literal 60 zcmZo*nQF)Y0kuRDQv LSelqkDb@o3@*5CB literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/4123215cb5fbd9415d119e27710a875a_activity.pkl b/backend/instance/sessions/4123215cb5fbd9415d119e27710a875a_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..ad1d618077a38bc94606503ce1f7a710c0e618d8 GIT binary patch literal 60 zcmZo*nQF)Y0kulv7v L8yT2QDb@o3@qQ34 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/41d59771e9c2d0308cb4a7e4e9904c35_activity.pkl b/backend/instance/sessions/41d59771e9c2d0308cb4a7e4e9904c35_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..e09d0772eb0a50cf9a1d3ded922162025edf7bb0 GIT binary patch literal 60 zcmZo*nQF)Y0kuKR#> LnV1+)Db@o3@r)2L literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/41f66eea62217ef26a8086dd33652f5d_activity.pkl b/backend/instance/sessions/41f66eea62217ef26a8086dd33652f5d_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..a3a7221750eade30a97d1f0949679974d0a7bfd4 GIT binary patch literal 60 zcmZo*nQF)Y0ku6w{Y L7+V-jDb@o3@xKr@ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/41fcb7d6e4dacca72004d8e0e1b70c33_activity.pkl b/backend/instance/sessions/41fcb7d6e4dacca72004d8e0e1b70c33_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..97d5ff80314edf6cf45fee6018e018d5918ccef3 GIT binary patch literal 60 zcmZo*nQF)Y0kuY14s Lnwy(XDb@o3@qQ39 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/4213d969989221a308aff9ea788654d8_activity.pkl b/backend/instance/sessions/4213d969989221a308aff9ea788654d8_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..e5466d1e7a95a3d62b95afa74b9aa13bb7e46401 GIT binary patch literal 60 zcmZo*nQF)Y0kuzSJv LS(uqlDb@o3@v{&& literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/428040e7f6770c5b28f76ccb247ca8a7_activity.pkl b/backend/instance/sessions/428040e7f6770c5b28f76ccb247ca8a7_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..b3e02033b21c9a344536dc2f0f4b98009ab02944 GIT binary patch literal 60 zcmZo*nQF)Y0kuzNyx LnVFkSDb@o3@rn>N literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/429e11742c9688ea6380c6ddf38717bc_activity.pkl b/backend/instance/sessions/429e11742c9688ea6380c6ddf38717bc_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..a57c04984f168689e10ae8e5a2f3a4d319d95747 GIT binary patch literal 60 zcmZo*nQF)Y0kuKPdt Lo0^zUDb@o3@tF`Z literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/43038f710a667c5ba18908390b6cc2d1_activity.pkl b/backend/instance/sessions/43038f710a667c5ba18908390b6cc2d1_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..18c1684a4794e094adc2b7042f116bb409c41b42 GIT binary patch literal 60 zcmZo*nQF)Y0kuRDP^ LT3DJ*Db@o3@=*{> literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/43527d19d012f71a7bc5210b6e5418e0_activity.pkl b/backend/instance/sessions/43527d19d012f71a7bc5210b6e5418e0_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..5a0d52950ea3cfe918855d6b0f6918a814e4254c GIT binary patch literal 60 zcmZo*nQF)Y0kuKU1t L7+D%jDb@o3@hK1~ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/44039a8ce147d753ede739623ef5363c_activity.pkl b/backend/instance/sessions/44039a8ce147d753ede739623ef5363c_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..619af92782364f0e097a609ef6c193d0211636f9 GIT binary patch literal 60 zcmZo*nQF)Y0kuHe>sgu` L8ygu-Db@o3@#YXV literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/44e0dc851b5cc546293dbfae3f589608_activity.pkl b/backend/instance/sessions/44e0dc851b5cc546293dbfae3f589608_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..53e5e3dc45772e741ffe26e9ac9aa801ea672807 GIT binary patch literal 60 zcmZo*nQF)Y0kulv6C Lm>C&NDb@o3@v0Cl literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/450a9da6ecac27db24dc7d32a8f65983_activity.pkl b/backend/instance/sessions/450a9da6ecac27db24dc7d32a8f65983_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..841ffdee6606558bd171dfbc6b52aef5796489c7 GIT binary patch literal 60 zcmZo*nQF)Y0kusc6> Lni`u-Db@o3@qrL8 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/45447c28b0e6d821715b8ec2fd560388_activity.pkl b/backend/instance/sessions/45447c28b0e6d821715b8ec2fd560388_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..428a4f9297390c371b24949558005f08b818d5f8 GIT binary patch literal 60 zcmZo*nQF)Y0kuGz=owm= LSQ?s4Db@o3@!t?Q literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/46e8d92ff8b700037c4f0f2d59081512_activity.pkl b/backend/instance/sessions/46e8d92ff8b700037c4f0f2d59081512_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..e803d8094c9ae12d3cf995498a7ba0d32af0a3f8 GIT binary patch literal 60 zcmZo*nQF)Y0kub=$Tm< LnH!r=Db@o3@nR4$ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/47f9effabfd498e02b8c0a850027279b_activity.pkl b/backend/instance/sessions/47f9effabfd498e02b8c0a850027279b_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..0ac430b7d45a7b0afec961f6aa55128d420f604a GIT binary patch literal 60 zcmZo*nQF)Y0ku6w{W LSQ=SODb@o3@z@YN literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/4857b80a738c9c8f1010315b6d9f0570_activity.pkl b/backend/instance/sessions/4857b80a738c9c8f1010315b6d9f0570_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..9cd3dd9af0a15a23b3b1caed9beb1ba8d2d03a9c GIT binary patch literal 60 zcmZo*nQF)Y0kuzNxF L85$W(Db@o3@lX&Y literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/4868c1165d177bdb3f54124c40b430b2_activity.pkl b/backend/instance/sessions/4868c1165d177bdb3f54124c40b430b2_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..a0a2b1ca940049381ef5861d89900acdb40a492a GIT binary patch literal 60 zcmZo*nQF)Y0kuRFl@ LSsI&9Db@o3@$?Wq literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/493af0337dddbfb71dd4a661db4f2840_activity.pkl b/backend/instance/sessions/493af0337dddbfb71dd4a661db4f2840_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..1a847fd06bde88fe5abbd666301c176589c9cd89 GIT binary patch literal 60 zcmZo*nQF)Y0kuzSLH L7+RW5Db@o3@wgB- literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/49de42a3886e53708bcd5cbcfb4ca9b8_activity.pkl b/backend/instance/sessions/49de42a3886e53708bcd5cbcfb4ca9b8_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..c5121a46a32e39fa7a17c28d61ed0eea9803db9c GIT binary patch literal 60 zcmZo*nQF)Y0kuX{lF LnwnWmDb@o3@y8H2 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/49ee2ac7a040e68f667cb374f0e0b8eb_activity.pkl b/backend/instance/sessions/49ee2ac7a040e68f667cb374f0e0b8eb_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..4c95c0cfe4cfc226559fdc53d40fabc951a044d6 GIT binary patch literal 60 zcmZo*nQF)Y0kuls*> LSQwg5Db@o3@tzPg literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/4b162eadae2811e91cf6e4f75aecaf7e_activity.pkl b/backend/instance/sessions/4b162eadae2811e91cf6e4f75aecaf7e_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..596570eca329a036532934fe401e4376d28956b3 GIT binary patch literal 60 zcmZo*nQF)Y0kuX}=Z LnVOkQDb@o3@rn>M literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/4b83dcc19ab73cd23de22e6797d0f928_activity.pkl b/backend/instance/sessions/4b83dcc19ab73cd23de22e6797d0f928_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..fc38e816e4cd18e5d2c324491d5602901e63e2d2 GIT binary patch literal 60 zcmZo*nQF)Y0kuI literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/4b94a8463d2ece3489327bb0dc38b1be_activity.pkl b/backend/instance/sessions/4b94a8463d2ece3489327bb0dc38b1be_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..90c1244130bb6a48d80824fd74510ca37b3297eb GIT binary patch literal 60 zcmZo*nQF)Y0kuzNsw L8X8$lDb@o3@sAKO literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/4bdc4fdbcf8c18df7af86bb8e5c8e069_activity.pkl b/backend/instance/sessions/4bdc4fdbcf8c18df7af86bb8e5c8e069_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..80593cb349aceff70bbef1a47a9c8402cd966b34 GIT binary patch literal 60 zcmZo*nQF)Y0kuHQ*Db@o3@stoV literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/4ca5425f3417733dd57981146b0bd9bc_activity.pkl b/backend/instance/sessions/4ca5425f3417733dd57981146b0bd9bc_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..00974a0eb9360e3c70921b1023ef93b8495ed0dc GIT binary patch literal 60 zcmZo*nQF)Y0kuX{oG LSehD4Db@o3@c0lU literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/4cf294cb33aa6c2de01a5b250b890f78_activity.pkl b/backend/instance/sessions/4cf294cb33aa6c2de01a5b250b890f78_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..8c6084502d9adcc45153ab44f195c146c3e9e150 GIT binary patch literal 60 zcmZo*nQF)Y0kuY19E LS(+J4Db@o3@(U0> literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/4d078052c13c8288665e67aa152f5d4b_activity.pkl b/backend/instance/sessions/4d078052c13c8288665e67aa152f5d4b_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..50b07314307ee24e23bbd2ba01892b10021bd47c GIT binary patch literal 60 zcmZo*nQF)Y0kuRFl^ LTbLV6Db@o3@iP!C literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/4d4f16c7b6f76ec15e42a1597e8180d4_activity.pkl b/backend/instance/sessions/4d4f16c7b6f76ec15e42a1597e8180d4_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..77653ca1d3d4171c0bb9febf63202b9692ddef8e GIT binary patch literal 60 zcmZo*nQF)Y0kuX{jt LTbi3qDb@o3@;eYk literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/4df26f47b0e64091341e5d0c656df87d_activity.pkl b/backend/instance/sessions/4df26f47b0e64091341e5d0c656df87d_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..6f1f85bceac2a4993527a1591a1adda6054f536c GIT binary patch literal 60 zcmZo*nQF)Y0kuX{jv LSsEHmDb@o3@(vI? literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/4e5f1d1aed666e9bf64002f4a431f96e_activity.pkl b/backend/instance/sessions/4e5f1d1aed666e9bf64002f4a431f96e_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..7067e72bfd90b11b0a3551d84ad83f41be631b8f GIT binary patch literal 60 zcmZo*nQF)Y0kuscC_ L7+G3ODb@o3@y8H4 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/4ecfb38b50c7a29fe58b25dcba032166_activity.pkl b/backend/instance/sessions/4ecfb38b50c7a29fe58b25dcba032166_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..147a8936f8e594a39ee6b27cbdd5cf4314f4fa63 GIT binary patch literal 60 zcmZo*nQF)Y0ku6sfC LSXvrRDb@o3@b?fV literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/4efc5180915ee6660205c008c2d98367_activity.pkl b/backend/instance/sessions/4efc5180915ee6660205c008c2d98367_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..3c53b1ad00938c37a882e9bf05b6bc0681b35093 GIT binary patch literal 60 zcmZo*nQF)Y0kuRFmv Lnj4u-Db@o3@#qjd literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/50729c3912f8f463c8c420fd1feff11d_activity.pkl b/backend/instance/sessions/50729c3912f8f463c8c420fd1feff11d_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..d3621f063acdbb9533ccb81eb9c50b098dfff8ad GIT binary patch literal 60 zcmZo*nQF)Y0kulv9E L7+V-mDb@o3@re*G literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/50f258203fa5e053277554dd1befb6d5_activity.pkl b/backend/instance/sessions/50f258203fa5e053277554dd1befb6d5_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..853898555c3458dc0d9ccb2cbce3a413d1de1988 GIT binary patch literal 60 zcmZo*nQF)Y0kuKU1u LS(qD6Db@o3@zxMI literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/517ce66a97940f3e57707f9bd0603908_activity.pkl b/backend/instance/sessions/517ce66a97940f3e57707f9bd0603908_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..0bbaa7acd8613ce600e28cbac2a4b861c148d5a2 GIT binary patch literal 60 zcmZo*nQF)Y0kuX{mu LTNoNmDb@o3@!JqK literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/51c4c41ad040b12b0854a5410cfa1f73_activity.pkl b/backend/instance/sessions/51c4c41ad040b12b0854a5410cfa1f73_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..e20d34ba99eb654291c6f8493b4dfbb31fffa1d4 GIT binary patch literal 60 zcmZo*nQF)Y0ku6x1u LSy&oQDb@o3@#PRY literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/51e70782f57aee6998083f726e2b01c6_activity.pkl b/backend/instance/sessions/51e70782f57aee6998083f726e2b01c6_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..3903792b54814866058b85ce61a31712364a059d GIT binary patch literal 60 zcmZo*nQF)Y0kuKPlG L7+4xjDb@o3@t+Ve literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/530ea5ee86a94e0bd8e8c5a04f2a52ea_activity.pkl b/backend/instance/sessions/530ea5ee86a94e0bd8e8c5a04f2a52ea_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..90a058d267b6353216352753492f587235f2b27a GIT binary patch literal 60 zcmZo*nQF)Y0ku6sZ? Ln46hSDb@o3@re*L literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/532c309933543617750d9b64b27c9f4f_activity.pkl b/backend/instance/sessions/532c309933543617750d9b64b27c9f4f_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..6400977f13e3541ac4893a50ebcaf0d08c35eebf GIT binary patch literal 60 zcmZo*nQF)Y0kuY12Y LS{PbPDb@o3@t6=c literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/535e38b7b6ea61cf32ab5365f5e8ae50_activity.pkl b/backend/instance/sessions/535e38b7b6ea61cf32ab5365f5e8ae50_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..b7a848d0b124d7ba550952e81ea3817685f70100 GIT binary patch literal 60 zcmZo*nQF)Y0kuY11t LnVOqUDb@o3@!t?R literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/539f640f072235bbbb9f07a2c2e604d3_activity.pkl b/backend/instance/sessions/539f640f072235bbbb9f07a2c2e604d3_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..c7e222e4a6a71b6495f19468ac035a7af5b81a08 GIT binary patch literal 60 zcmZo*nQF)Y0kuc>zSGx LnHgA4Db@o3@mUZr literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/53f5fd65c53a875ab9c66c29aaa645b7_activity.pkl b/backend/instance/sessions/53f5fd65c53a875ab9c66c29aaa645b7_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..9eb0a112afdf68c9202cc13632a17ec864ef2366 GIT binary patch literal 60 zcmZo*nQF)Y0ku6sXr LS(=(pDb@o3@x%~1 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/544718299f04a1c4eacdaf4dac230995_activity.pkl b/backend/instance/sessions/544718299f04a1c4eacdaf4dac230995_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..8f017a1b12577efd04598b236cc7e5ba8198c80d GIT binary patch literal 60 zcmZo*nQF)Y0kuzSJy LnHrf)Db@o3@t_bg literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/54517314ba590d0b97f2103b8bfad8a6_activity.pkl b/backend/instance/sessions/54517314ba590d0b97f2103b8bfad8a6_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..abe2b6390cf318404c5711e5936d10b4feb19897 GIT binary patch literal 60 zcmZo*nQF)Y0kuY17w LSr}SQDb@o3@wN~+ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/5487ced8ffce164381d0530d770cab67_activity.pkl b/backend/instance/sessions/5487ced8ffce164381d0530d770cab67_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..129310bb7ed8ea3ddc1c5fb3694f7c30e5c443d0 GIT binary patch literal 60 zcmZo*nQF)Y0kuRB3@ L8(SDpDb@o3@skiU literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/54e8f45d3582b5ba36da279c17e5d31b_activity.pkl b/backend/instance/sessions/54e8f45d3582b5ba36da279c17e5d31b_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..92f76de796b4700864d10b3fae9d72cca5527272 GIT binary patch literal 60 zcmZo*nQF)Y0kuX{o^ L7?_(*Db@o3@emLx literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/577823ab4b9d1b1ae9825a62f149da6c_activity.pkl b/backend/instance/sessions/577823ab4b9d1b1ae9825a62f149da6c_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..12979e15aa63fa4be9784f5d06284a90aad65fd2 GIT binary patch literal 60 zcmZo*nQF)Y0kuX{gr L8k?9-Db@o3@e>dw literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/579ea84f98b76bb401bb0a2dc0567d6e_activity.pkl b/backend/instance/sessions/579ea84f98b76bb401bb0a2dc0567d6e_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..05cfafdad44030a68ae09b5987886ed543c474e5 GIT binary patch literal 60 zcmZo*nQF)Y0kuKU6_ LT9}wmDb@o3@n8@% literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/58458fe2fc753da7d8390a2da3528a89_activity.pkl b/backend/instance/sessions/58458fe2fc753da7d8390a2da3528a89_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..c4714ce37d528c218b3181ced6d2d4dc505d8cf7 GIT binary patch literal 60 zcmZo*nQF)Y0kusc6> LS(utnDb@o3@vsm$ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/585b187de62f3e0bd2407fec898982d9_activity.pkl b/backend/instance/sessions/585b187de62f3e0bd2407fec898982d9_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..73898100a4754d9680c33c65e6f59a950378ce65 GIT binary patch literal 60 zcmZo*nQF)Y0kuQZ+Db@o3@q-XD literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/5a4f2ae1fb87a5d6aaeaf868ee436f4b_activity.pkl b/backend/instance/sessions/5a4f2ae1fb87a5d6aaeaf868ee436f4b_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..7d0bdab8a33649d6145e0489b8ffb0fe49bc65fc GIT binary patch literal 60 zcmZo*nQF)Y0kuC;PDb@o3@wN~% literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/5a7fadf0c0e6c3547dbffdced2ae9f3f_activity.pkl b/backend/instance/sessions/5a7fadf0c0e6c3547dbffdced2ae9f3f_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..44330a0907010f16c2df31dc14519af53e626289 GIT binary patch literal 60 zcmZo*nQF)Y0kuzSJx L8yHwlDb@o3@sbcQ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/5ab8215cc0b5ba4fec2dd62f3773b8bb_activity.pkl b/backend/instance/sessions/5ab8215cc0b5ba4fec2dd62f3773b8bb_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..e0e6bd9cc7f18013e310c6e9b4264868a4ef55cc GIT binary patch literal 60 zcmZo*nQF)Y0kuRA|? LnVVZoDb@o3@xl;0 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/5b80850b18dd70471a276af6cd3bc7f5_activity.pkl b/backend/instance/sessions/5b80850b18dd70471a276af6cd3bc7f5_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..0c4c21808e942ea81fa3e2cb0582c8ca5ce0857a GIT binary patch literal 60 zcmZo*nQF)Y0kuKPeX L8k?I=Db@o3@jMVL literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/5b831812acdc98b75f5b60d33951e708_activity.pkl b/backend/instance/sessions/5b831812acdc98b75f5b60d33951e708_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..a24a67031d97202dbd7a7501cc4c097ac5cf4ced GIT binary patch literal 60 zcmZo*nQF)Y0kuF~=vkN; L7#W#ODb@o3@p%v| literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/5bc9073cc0b604de41b80f0fa6285f2d_activity.pkl b/backend/instance/sessions/5bc9073cc0b604de41b80f0fa6285f2d_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..32157c93dfde0dde6b125f50e98bafcd40ae9d1a GIT binary patch literal 60 zcmZo*nQF)Y0kuKPhZ LT9}wmDb@o3@wX5- literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/5c1aaf420be4344b3693c4f91c8305f8_activity.pkl b/backend/instance/sessions/5c1aaf420be4344b3693c4f91c8305f8_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..11c1a94d61695a90c3d98f66779ae2dcb2d76b3f GIT binary patch literal 60 zcmZo*nQF)Y0ku6sZA L8CsZ4Db@o3@Y@h0 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/5c804aa869871a7d80c8d5a690993d52_activity.pkl b/backend/instance/sessions/5c804aa869871a7d80c8d5a690993d52_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..79ecba47516dae002d8ec450e7e2a8f3f19143f2 GIT binary patch literal 60 zcmZo*nQF)Y0kulvGv LTbi3qDb@o3@#YXd literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/5dab4af9c6559a08445a784b762a0dd0_activity.pkl b/backend/instance/sessions/5dab4af9c6559a08445a784b762a0dd0_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..729838dc2811bddef9786383c97aac4746ea091d GIT binary patch literal 60 zcmZo*nQF)Y0kuX{fD Lo0^+WDb@o3@uCnj literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/5dd8b2ac9c471e68a1a439cd0f411879_activity.pkl b/backend/instance/sessions/5dd8b2ac9c471e68a1a439cd0f411879_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..6c1d5e869a117b1030734739229ff43378b62e27 GIT binary patch literal 60 zcmZo*nQF)Y0kuzSKd Lnj4r+Db@o3@+uHP literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/5de4eb9884039b2e715fe2e839698aa2_activity.pkl b/backend/instance/sessions/5de4eb9884039b2e715fe2e839698aa2_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..b7dfee908701e65a34382fb4373975d564489d67 GIT binary patch literal 60 zcmZo*nQF)Y0kuzSDv L8JU?*Db@o3@t6=Y literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/5ec8d1c5a6bf6c09d57e0da8c3769416_activity.pkl b/backend/instance/sessions/5ec8d1c5a6bf6c09d57e0da8c3769416_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..fafcc4685dad2dcccadfe7221d9d25e84db33800 GIT binary patch literal 60 zcmZo*nQF)Y0kuzSDt L7?@a2Db@o3@q7?3 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/5f8fbb414d3e62212e8eda6b73edaa87_activity.pkl b/backend/instance/sessions/5f8fbb414d3e62212e8eda6b73edaa87_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..2144af08c0d576ca1fc1f09da1304a6045895baa GIT binary patch literal 60 zcmZo*nQF)Y0kuRA{Y LTN;~BDb@o3@!AkN literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/5f91902d05fe12a82ecaf92a2783c04e_activity.pkl b/backend/instance/sessions/5f91902d05fe12a82ecaf92a2783c04e_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..0ffda13c6902124fffec11abdf414d6288216bf8 GIT binary patch literal 60 zcmZo*nQF)Y0kuY11r Lnwy$WDb@o3@jMVL literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/5fe46f13259bec80649a6eeb9b63ad65_activity.pkl b/backend/instance/sessions/5fe46f13259bec80649a6eeb9b63ad65_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..eb45f0e0dd942ea69c51b32aa30f5f7af333ddf1 GIT binary patch literal 60 zcmZo*nQF)Y0kub=$RWE Lo0?lrDb@o3@mdfv literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/5ff24f0d8a79b77fb26dcef543af0969_activity.pkl b/backend/instance/sessions/5ff24f0d8a79b77fb26dcef543af0969_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..b4cefe8f1b6238d86ba8d488a3d66f5aa7ed4ff0 GIT binary patch literal 60 zcmZo*nQF)Y0ku6x3F LS{j>8Db@o3@tzPi literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/6040c72f21910ef6acbfba5576256dee_activity.pkl b/backend/instance/sessions/6040c72f21910ef6acbfba5576256dee_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..c58db6e3198f8105a2add6608b23aedaa7fc8a97 GIT binary patch literal 60 zcmZo*nQF)Y0kuXJ5Db@o3@rV#H literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/6074157d8fb5d8e9d96dd496e799547e_activity.pkl b/backend/instance/sessions/6074157d8fb5d8e9d96dd496e799547e_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..dee79fc5da26aff214e1d2a01d8802efd8ea32af GIT binary patch literal 60 zcmZo*nQF)Y0kuY16D LT3T98Db@o3@%Ioz literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/6099e582de2bad9b8ab92f4a50fde152_activity.pkl b/backend/instance/sessions/6099e582de2bad9b8ab92f4a50fde152_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..efbf687812496180fe8d67b4c854e918de56ab74 GIT binary patch literal 60 zcmZo*nQF)Y0ku6u!X Lm>QZ+Db@o3@vjgx literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/60a7caa86e52bf1bd16a6505d348a739_activity.pkl b/backend/instance/sessions/60a7caa86e52bf1bd16a6505d348a739_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..65b2919658b4b61ff9251a9db9f59eaef23dea23 GIT binary patch literal 60 zcmZo*nQF)Y0kulvF^ Lm>QT&Db@o3@v0Cq literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/61024a292412acbe1975a52c096dae82_activity.pkl b/backend/instance/sessions/61024a292412acbe1975a52c096dae82_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..ec8bd0a053d18ae3ee1e388a08349b8e0b292279 GIT binary patch literal 60 zcmZo*nQF)Y0kuzP`Z L8yOo6x1t LTN+zTDb@o3@sJQT literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/62f97c3b5e91ad7775f3d4a0882ee992_activity.pkl b/backend/instance/sessions/62f97c3b5e91ad7775f3d4a0882ee992_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..07352f155c049542b17138253121d1daa784d61d GIT binary patch literal 60 zcmZo*nQF)Y0ku6w|B L8kw0*Db@o3@v0Ct literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/661983b47a791d07644cc6229596f1b9_activity.pkl b/backend/instance/sessions/661983b47a791d07644cc6229596f1b9_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..8c8f29423bb0bd22884696b4eb3631453a041b2c GIT binary patch literal 60 zcmZo*nQF)Y0kulqqa L7?@a2Db@o3@xKr? literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/66434a17ed10b377b5f19ce3aa70d73e_activity.pkl b/backend/instance/sessions/66434a17ed10b377b5f19ce3aa70d73e_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..4819d71ddda70ebb7d19ab7fe327bfd661a26538 GIT binary patch literal 60 zcmZo*nQF)Y0ku6uxY L7@HVODb@o3@evRv literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/669b95e4a52ac33a5a169ea5ae864f71_activity.pkl b/backend/instance/sessions/669b95e4a52ac33a5a169ea5ae864f71_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..c32757ad5e39b735b6bae096c1d25cf70884681a GIT binary patch literal 60 zcmZo*nQF)Y0ku literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/66b91226bf88d86533d06d75ffab1e4d_activity.pkl b/backend/instance/sessions/66b91226bf88d86533d06d75ffab1e4d_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..e8e82bb4b600b4ea8ad44daaa8ac765c3e7e4d27 GIT binary patch literal 60 zcmZo*nQF)Y0kuzP^@ L7#JE&Db@o3@qiF2 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/66cdf2e5ad75fe45c2dd50d02c50f713_activity.pkl b/backend/instance/sessions/66cdf2e5ad75fe45c2dd50d02c50f713_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..fafab53e16ee3df456735593939946dba8f75143 GIT binary patch literal 60 zcmZo*nQF)Y0kuKPfC Lm>Zf-Db@o3@e>dw literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/6741fae62bf255a52bb08c41386fe1ac_activity.pkl b/backend/instance/sessions/6741fae62bf255a52bb08c41386fe1ac_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..1a90216eafb79888fef4b3184a2e150660661e99 GIT binary patch literal 60 zcmZo*nQF)Y0kuRDQv L8k!kTDb@o3@jehO literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/6803163332d2d3bd04fa22a4ace0294b_activity.pkl b/backend/instance/sessions/6803163332d2d3bd04fa22a4ace0294b_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..46a90a5c5449c6b70a51f98d0be9028e6638f0a1 GIT binary patch literal 60 zcmZo*nQF)Y0kuzSIH L7#f*PDb@o3@vaav literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/68663928eb790e26e3219f5274b6a336_activity.pkl b/backend/instance/sessions/68663928eb790e26e3219f5274b6a336_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..3d9fe8069d2b170d877a1e1f9e918a757b15b75b GIT binary patch literal 60 zcmZo*nQF)Y0ku6scB LTN+zTDb@o3@s6scC L8JU|;Db@o3@t+Vg literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/68b45a480bfa7ece66b1444d1934518d_activity.pkl b/backend/instance/sessions/68b45a480bfa7ece66b1444d1934518d_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..c48ce3575f79aea99737441df6d01ea78be69488 GIT binary patch literal 60 zcmZo*nQF)Y0kuG#>KU0C LnOc}lDb@o3@$?Wp literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/6967826753240b951176d96b58808dce_activity.pkl b/backend/instance/sessions/6967826753240b951176d96b58808dce_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..9e141d4433d28ac2d25f519f336699223d95e032 GIT binary patch literal 60 zcmZo*nQF)Y0ku literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/69c7bbd9d8ed7886af88fd83eae4944d_activity.pkl b/backend/instance/sessions/69c7bbd9d8ed7886af88fd83eae4944d_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..d557b18d44fb6c1914a5a158bdd1759281fd20cf GIT binary patch literal 60 zcmZo*nQF)Y0kuY13D L7#NsODb@o3@w5;z literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/6a0ae6b3595daad6bd9825fd10b32db0_activity.pkl b/backend/instance/sessions/6a0ae6b3595daad6bd9825fd10b32db0_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..b7076d2a9830894143618a187dfdaef51cb32c8c GIT binary patch literal 60 zcmZo*nQF)Y0kuX};_ Ln;98QDb@o3@m~-t literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/6a44d3b1a4a7a3970be0ea0311114bfe_activity.pkl b/backend/instance/sessions/6a44d3b1a4a7a3970be0ea0311114bfe_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..a0970bcc0c1a2500f61f05fac792f151dddbad78 GIT binary patch literal 60 zcmZo*nQF)Y0kuJQDb@o3@m3Hk literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/6ac9727776e3d374a065b114b9baf05f_activity.pkl b/backend/instance/sessions/6ac9727776e3d374a065b114b9baf05f_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..be32412c5ca1fb8feb7b25bd39ca5db17ea4be3d GIT binary patch literal 60 zcmZo*nQF)Y0kuKR#> LTACS8Db@o3@$e8m literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/6af10f43fcba084d3bf6fc6fbbe74310_activity.pkl b/backend/instance/sessions/6af10f43fcba084d3bf6fc6fbbe74310_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..a3fb6c06e2835472725016cf1e98f0dac0524a89 GIT binary patch literal 60 zcmZo*nQF)Y0kuG#>KU1s LTbLV9Db@o3@(2(< literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/6af12b7e187f31b1e3ed66516eadc60a_activity.pkl b/backend/instance/sessions/6af12b7e187f31b1e3ed66516eadc60a_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..e69f3699f7f67be6896c76c0e9a0d642cd4e8f62 GIT binary patch literal 60 zcmZo*nQF)Y0kuKR!W L8k?Clv7t L8=4qSDb@o3@yif0 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/6bd158e2142ffe9a66bd13cc4835dcb8_activity.pkl b/backend/instance/sessions/6bd158e2142ffe9a66bd13cc4835dcb8_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..a16fd085b995e3f67a1f0018092c493c88bc6de5 GIT binary patch literal 60 zcmZo*nQF)Y0kulv7t LTUr`SDb@o3@wE^) literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/6c9e07b134721ba642cbd38cb98472e4_activity.pkl b/backend/instance/sessions/6c9e07b134721ba642cbd38cb98472e4_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..80af1970b1e2b1eea64858dc8f33a32f3d29ae67 GIT binary patch literal 60 zcmZo*nQF)Y0kuRDb@o3@l6mX literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/6d9f3a838a982963656acd4b12b80284_activity.pkl b/backend/instance/sessions/6d9f3a838a982963656acd4b12b80284_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..fc9e1593ec6e05855db68a077e4489d5c8d18370 GIT binary patch literal 60 zcmZo*nQF)Y0ku!+PJpl0v5GMct literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/6dfc7168d17f540ca6cae760bb812bc6_activity.pkl b/backend/instance/sessions/6dfc7168d17f540ca6cae760bb812bc6_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..10fcb61b9833ae99b6e11928a3a2d03c2480e84d GIT binary patch literal 60 zcmZo*nQF)Y0kuRDJ? L8X6lzSJx LnwVQmDb@o3@v{&& literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/6ec0a68a949b94cae6f20e6d14ccc8e5_activity.pkl b/backend/instance/sessions/6ec0a68a949b94cae6f20e6d14ccc8e5_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..849ceebc96efe6dc901f570df3eae47a56cead33 GIT binary patch literal 60 zcmZo*nQF)Y0ku3vLDb@o3@a7O7 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/6ee946f16167b7c86ab46d7483ef2701_activity.pkl b/backend/instance/sessions/6ee946f16167b7c86ab46d7483ef2701_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..7f5196e1a863de4647db0f85b93d01a8a83f85e5 GIT binary patch literal 60 zcmZo*nQF)Y0kuY1CH Lo0=F+Db@o3@plj~ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/6f267bd55c279c3ac63acf9c22a4bac4_activity.pkl b/backend/instance/sessions/6f267bd55c279c3ac63acf9c22a4bac4_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..1ad148efbb742db0aa6877916c253f17199cb1d2 GIT binary patch literal 60 zcmZo*nQF)Y0kuY19D L8kibSDb@o3@sKPcA Ln;Dx-Db@o3@sJQO literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/6f5d93d5fccbc9a306d612c8a41e3b8d_activity.pkl b/backend/instance/sessions/6f5d93d5fccbc9a306d612c8a41e3b8d_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..3b0fdc78fcc2996810d813625b5d37cbf759d257 GIT binary patch literal 60 zcmZo*nQF)Y0kuKU4t Lnj08SDb@o3@o5k$ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/709028f4a6a4117ba674f61ba40d8325_activity.pkl b/backend/instance/sessions/709028f4a6a4117ba674f61ba40d8325_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..3e7be1858a65ea3a568d98f13533f414bd7dfa5b GIT binary patch literal 60 zcmZo*nQF)Y0kuO72Db@o3@l6mY literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/7090722ed3cdf933ea3af9a5c0091106_activity.pkl b/backend/instance/sessions/7090722ed3cdf933ea3af9a5c0091106_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..f04154f3ac3f5ee4ecdb3c894c32217a53b92195 GIT binary patch literal 60 zcmZo*nQF)Y0kuzSKa L7?@g4Db@o3@!SwQ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/70c708797663412643b8655ae1909c0a_activity.pkl b/backend/instance/sessions/70c708797663412643b8655ae1909c0a_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..67764affb1727b8df4c1ee865eac8300d8de567c GIT binary patch literal 60 zcmZo*nQF)Y0ku6uv= Lnp&DnDb@o3@hK23 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/73095bb11fdf7de5199f55fa90d3d570_activity.pkl b/backend/instance/sessions/73095bb11fdf7de5199f55fa90d3d570_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..7174996dc540c5f11f670bf07dea3811eb4f035d GIT binary patch literal 60 zcmZo*nQF)Y0kuKPaq L8XB5UDb@o3@k$UT literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/738f3a91b47d8c2b4d6297d7d6a8a641_activity.pkl b/backend/instance/sessions/738f3a91b47d8c2b4d6297d7d6a8a641_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..526bbac886a44ae8b83560a58c212096b8369c9e GIT binary patch literal 60 zcmZo*nQF)Y0kuKPat L7+Y9QDb@o3@eB|r literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/7556e2c2c5194fc25526e4c15519d696_activity.pkl b/backend/instance/sessions/7556e2c2c5194fc25526e4c15519d696_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..65066c3f93aa7579065d0b9ee8b1771288abbdc3 GIT binary patch literal 60 zcmZo*nQF)Y0kuRA{V LnV1+%Db@o3@rDp9 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/755e3da4d120d679614809b03e2a3b42_activity.pkl b/backend/instance/sessions/755e3da4d120d679614809b03e2a3b42_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..c3bc236532697f4ba9e8619cf02da12f6b6e265a GIT binary patch literal 60 zcmZo*nQF)Y0kuRDJ? Lni&{ODb@o3@%Ioq literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/76395163a8bfb618d14fb7a886e0994e_activity.pkl b/backend/instance/sessions/76395163a8bfb618d14fb7a886e0994e_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..ffff00051db89151508670a2ce894ffb7d6f6fc4 GIT binary patch literal 60 zcmZo*nQF)Y0kuRB2Z LnVXtUDb@o3@xl-{ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/76cbfe8ce8599ea1f5be43055069c982_activity.pkl b/backend/instance/sessions/76cbfe8ce8599ea1f5be43055069c982_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..926f88f06d7444b881e32ad0526f7bbea7ac48e6 GIT binary patch literal 60 zcmZo*nQF)Y0kuzNyy L85$c*Db@o3@oEq$ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/76f36f32c2bbd84cf08ea9b8548313ee_activity.pkl b/backend/instance/sessions/76f36f32c2bbd84cf08ea9b8548313ee_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..4b9ab3711dc41c1362a8d038ddaba8e2e8f9ea67 GIT binary patch literal 60 zcmZo*nQF)Y0kuzSLF LTNoKnDb@o3@v0Cs literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/7820f188fa44a8150f0dd392934d58de_activity.pkl b/backend/instance/sessions/7820f188fa44a8150f0dd392934d58de_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..018244e2853a310611d2cc9e77aacb575c80eee0 GIT binary patch literal 60 zcmZo*nQF)Y0kulquH LTN;~9Db@o3@v;y% literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/78d833eae0ffd3eebdd388098b4566a4_activity.pkl b/backend/instance/sessions/78d833eae0ffd3eebdd388098b4566a4_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..6a0cc1d106370495f75623affddc48050437bc2f GIT binary patch literal 60 zcmZo*nQF)Y0kuKU1u LnHZT(Db@o3@wpH+ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/79b21c8de9a38274e576a81ed3f4cc65_activity.pkl b/backend/instance/sessions/79b21c8de9a38274e576a81ed3f4cc65_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..2bc80f7630efbd23a2768c6ef26a6e6299eda098 GIT binary patch literal 60 zcmZo*nQF)Y0kulqpw L7@L|+Db@o3@l_Bi literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/7a4f905fb337456a13ee418477d746d6_activity.pkl b/backend/instance/sessions/7a4f905fb337456a13ee418477d746d6_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..ceb1a08a7b5d88bee1fc7ece84c4e402a998f696 GIT binary patch literal 60 zcmZo*nQF)Y0kuzNu_ Lm|Iv(Db@o3@xu^2 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/7b1ece810977385ec9118768bdd2dca6_activity.pkl b/backend/instance/sessions/7b1ece810977385ec9118768bdd2dca6_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..980f2bae332083b75a42246b63c26ded83de9718 GIT binary patch literal 60 zcmZo*nQF)Y0kuKU6F L8ycETDb@o3@v9Ip literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/7c141247f0336f40006bba4119189e4c_activity.pkl b/backend/instance/sessions/7c141247f0336f40006bba4119189e4c_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..a0fd21fc9687c29acb9fd7e42ad3d4c24ab9dba3 GIT binary patch literal 60 zcmZo*nQF)Y0kuKPcB L85)~RDb@o3@bwTN literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/7c625fdd6885ebba9133efe1984e86cf_activity.pkl b/backend/instance/sessions/7c625fdd6885ebba9133efe1984e86cf_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..8ede11a6a68c3ed4a068a42d9d44543cc318619b GIT binary patch literal 60 zcmZo*nQF)Y0kuX{mw LSsIv4Db@o3@xBl? literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/7ce38bfc08bd0c68391ea394d97b5144_activity.pkl b/backend/instance/sessions/7ce38bfc08bd0c68391ea394d97b5144_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..f0ea861fc340c59f4255e974d47df6c7998346f9 GIT binary patch literal 60 zcmZo*nQF)Y0ku3&ODb@o3@oo?* literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/7d79fe02206075a3858b2d1b6f3a7fe9_activity.pkl b/backend/instance/sessions/7d79fe02206075a3858b2d1b6f3a7fe9_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..65620c0ecb3a082ac462401ec7bf7e5b8cdf01e6 GIT binary patch literal 60 zcmZo*nQF)Y0kuKR)Y L8ylERDb@o3@vRUs literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/7d889ef89df1d85f9b97862641845593_activity.pkl b/backend/instance/sessions/7d889ef89df1d85f9b97862641845593_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..e73fce8bbf3668444772f20bd5652420270a7259 GIT binary patch literal 60 zcmZo*nQF)Y0kuzSDt L7#o^QDb@o3@cR%U literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/7d9786f0284d08ebc115bb67c6b7d5f3_activity.pkl b/backend/instance/sessions/7d9786f0284d08ebc115bb67c6b7d5f3_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..318ed67b3490b62553ca647635942e6f52d292d7 GIT binary patch literal 60 zcmZo*nQF)Y0kuY12Z LT9}$lDb@o3@vIOy literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/7eb8eb32d72edba1fb8c8e39ee452808_activity.pkl b/backend/instance/sessions/7eb8eb32d72edba1fb8c8e39ee452808_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..31cf8701fbef689ff2f9a9067b2687b4ef82187f GIT binary patch literal 60 zcmZo*nQF)Y0kulqoF Lni?BTDb@o3@pBL? literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/7ebed7144c88416aa94a5fe1294624c9_activity.pkl b/backend/instance/sessions/7ebed7144c88416aa94a5fe1294624c9_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..632f6463dc94474c2c763ceaa4d5c26acbc1d377 GIT binary patch literal 60 zcmZo*nQF)Y0kuzSHc L7#UhjDb@o3@zW4F literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/7eccef35783d863aa3a90de85fd0b6ca_activity.pkl b/backend/instance/sessions/7eccef35783d863aa3a90de85fd0b6ca_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..a9f826cfc96c8ec522b1fc9d91ed974e9dc886a6 GIT binary patch literal 60 zcmZo*nQF)Y0kuG#>KR)Y L85o;RDb@o3@zM}9 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/811ddc30a059e48601d395dd842a09c1_activity.pkl b/backend/instance/sessions/811ddc30a059e48601d395dd842a09c1_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..b14508d061e04c8a91db2235179265528bc59d0f GIT binary patch literal 60 zcmZo*nQF)Y0kuY15a L8d+FODb@o3@#GLb literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/81bb8f4653dfc7c72823f1f96acba6b4_activity.pkl b/backend/instance/sessions/81bb8f4653dfc7c72823f1f96acba6b4_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..4dfc4a5fb12413b5494bee2e360d19e0466e2529 GIT binary patch literal 60 zcmZo*nQF)Y0ku!+PJpl2B5I6t; literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/81ea3dc90d5f018943e880acbf7dbffa_activity.pkl b/backend/instance/sessions/81ea3dc90d5f018943e880acbf7dbffa_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..4a562f9234326a99b25f3dfe0d39f48f41ca6a07 GIT binary patch literal 60 zcmZo*nQF)Y0kulv7t LnwwfoDb@o3@$?Wq literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/8283f06ab3d99f974831bf1dc06ea907_activity.pkl b/backend/instance/sessions/8283f06ab3d99f974831bf1dc06ea907_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..828bff92a8ea5b8891b1a1b67b8f2368c0e4d15b GIT binary patch literal 60 zcmZo*nQF)Y0kuKPlG Lm|Iv*Db@o3@vIOz literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/830c1cf5eb88681b98ae35539b368e6f_activity.pkl b/backend/instance/sessions/830c1cf5eb88681b98ae35539b368e6f_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..5f78325c8bae6a251a58597f95192c74316efbcf GIT binary patch literal 60 zcmZo*nQF)Y0kuzSDv LTbh|pDb@o3@mUZt literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/83372e436bea92f2c685b75ca750125f_activity.pkl b/backend/instance/sessions/83372e436bea92f2c685b75ca750125f_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..315a92605d66e32c1170865c5a4f42ab38b1609c GIT binary patch literal 60 zcmZo*nQF)Y0kuscBa Ln;IKWDb@o3@qiF6 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/833b6675a1c0c312026e34d7b7073cda_activity.pkl b/backend/instance/sessions/833b6675a1c0c312026e34d7b7073cda_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..4cd841b31fcacc3f54a5f71940bc43bff0ae01ff GIT binary patch literal 60 zcmZo*nQF)Y0kuRA|@ LS(=+qDb@o3@stoa literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/8527d9ac43407e41970d367bb817dc7e_activity.pkl b/backend/instance/sessions/8527d9ac43407e41970d367bb817dc7e_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..73733c0175b77136ade09c7c2b7804f7a39c5dea GIT binary patch literal 60 zcmZo*nQF)Y0kuX{jt LSQ?m3Db@o3@d6Mh literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/856a39e527355cb9663e45982ffa341b_activity.pkl b/backend/instance/sessions/856a39e527355cb9663e45982ffa341b_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..e82c97c5074ca29afbce66b93065baaa5f847ffc GIT binary patch literal 60 zcmZo*nQF)Y0kuX{iE LTbde9Db@o3@tF`Y literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/8691be4772035e9382614e6b173df0c2_activity.pkl b/backend/instance/sessions/8691be4772035e9382614e6b173df0c2_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..44ea1e9ea3d47641cbc7f3030468eb1a51d78d01 GIT binary patch literal 60 zcmZo*nQF)Y0kuX{iD LSQ;8mDb@o3@z4-5 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/86c52fe7386326d111d37881d1a479f4_activity.pkl b/backend/instance/sessions/86c52fe7386326d111d37881d1a479f4_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..890ba2455bf8ed4f7ebd9132dfbda40e30ebc8e2 GIT binary patch literal 60 zcmZo*nQF)Y0kulqpw Ln;BS4Db@o3@oNw* literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/87ad63738a7e75bcd241a4dc25cec44d_activity.pkl b/backend/instance/sessions/87ad63738a7e75bcd241a4dc25cec44d_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..30c685e176f4882c1a53d8b74b0935956264bdc4 GIT binary patch literal 60 zcmZo*nQF)Y0kuU>RDb@o3@ox|= literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/87fffc075f2c11389778f7958d6d0b56_activity.pkl b/backend/instance/sessions/87fffc075f2c11389778f7958d6d0b56_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..794fc5037f593df2d852bdbfd39fb7f3b7b79a96 GIT binary patch literal 60 zcmZo*nQF)Y0kuls*B L8d{i6Db@o3@v;y% literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/88b6632a3432dd93c861d6f8df62bdee_activity.pkl b/backend/instance/sessions/88b6632a3432dd93c861d6f8df62bdee_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..fa5b0bfaf041aaf873f0699e6a3c07b2d959b187 GIT binary patch literal 60 zcmZo*nQF)Y0kuc>zSIH LnHw5UDb@o3@n{e) literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/8937227dd6768bb2ae4f704647ff5fdb_activity.pkl b/backend/instance/sessions/8937227dd6768bb2ae4f704647ff5fdb_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..87ea15478abec06245b92df20db242e968a7251f GIT binary patch literal 60 zcmZo*nQF)Y0kuKR&E L7#SE$Db@o3@e>dv literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/893c04ff1137bb8877a81ab702f8047b_activity.pkl b/backend/instance/sessions/893c04ff1137bb8877a81ab702f8047b_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..8317244df1c2ea1af891fe12194be05025ce903a GIT binary patch literal 60 zcmZo*nQF)Y0kuKU3? L8XKBTDb@o3@rDpE literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/8a6ca68465c301d0798d0cf77ebc2adb_activity.pkl b/backend/instance/sessions/8a6ca68465c301d0798d0cf77ebc2adb_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..1546375ba2730efb8648584007daec99f5c20f13 GIT binary patch literal 60 zcmZo*nQF)Y0ku%s literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/8a7aca6895be8c829cc5c76b56396dfa_activity.pkl b/backend/instance/sessions/8a7aca6895be8c829cc5c76b56396dfa_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..f1b213b4f23245de02a7b880639a21ed36b49fe5 GIT binary patch literal 60 zcmZo*nQF)Y0kulv7t Lnj2V7Db@o3@yQT3 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/8b1b3636969153269fc8c70503883fe9_activity.pkl b/backend/instance/sessions/8b1b3636969153269fc8c70503883fe9_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..dde906a9eed2a141a52c5c5476f7c9e6a11d55d1 GIT binary patch literal 60 zcmZo*nQF)Y0kuX}lqpt LSeThiDb@o3@ud(k literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/8d9bafe9afc055b364b686f12d652c5f_activity.pkl b/backend/instance/sessions/8d9bafe9afc055b364b686f12d652c5f_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..b5df71af6971bc31fa051ab34b73bb6c41108c0e GIT binary patch literal 60 zcmZo*nQF)Y0kuj41qnGiJq literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/8da85c483a7f5cd5b6d1adabf3366285_activity.pkl b/backend/instance/sessions/8da85c483a7f5cd5b6d1adabf3366285_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..dae1bc4a1ec45c7ec4585df01e3f1c75de48b85a GIT binary patch literal 60 zcmZo*nQF)Y0kuzNpu L8(Er7Db@o3@sbcU literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/8ecc1d59d6eaf5d4f861a061365f0547_activity.pkl b/backend/instance/sessions/8ecc1d59d6eaf5d4f861a061365f0547_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..23ed759f6f8fcfe6faaf289a7d81135b8fd2d74a GIT binary patch literal 60 zcmZo*nQF)Y0kuX{pw L8W!+PJpl0U5F`Kq literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/8f71609f1f6722bd4e75b4b6a940cf43_activity.pkl b/backend/instance/sessions/8f71609f1f6722bd4e75b4b6a940cf43_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..1739fab4ac8085917a421b3cac81518a1bb46e86 GIT binary patch literal 60 zcmZo*nQF)Y0kuzSJw Lnps**Db@o3@!=3Y literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/911e5eadd199a2d50428be84bd0b8908_activity.pkl b/backend/instance/sessions/911e5eadd199a2d50428be84bd0b8908_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..f109b4d1e907c4ec2889fdb4f2de8b0dcdee3175 GIT binary patch literal 60 zcmZo*nQF)Y0kuzNx` L7+M%lDb@o3@uv_p literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/91769d3cbed8139d195383d2b7c32601_activity.pkl b/backend/instance/sessions/91769d3cbed8139d195383d2b7c32601_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..17dd977205ee70a2bbcda26176c5a8b66d5805e0 GIT binary patch literal 60 zcmZo*nQF)Y0ku6w~Z L7#f;SDb@o3@uLtk literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/931b26ebb7d148530190f568daee2c01_activity.pkl b/backend/instance/sessions/931b26ebb7d148530190f568daee2c01_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..97f07551b81c1f34bfec97b48c73cd90610d352c GIT binary patch literal 60 zcmZo*nQF)Y0kuGz=ouRr LTbh_oDb@o3@x2f= literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/9407bcf5d266c9c902e5a5a66544f93e_activity.pkl b/backend/instance/sessions/9407bcf5d266c9c902e5a5a66544f93e_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..bc58483f3e8d938f9f3cc7a297821f92fd82d6eb GIT binary patch literal 60 zcmZo*nQF)Y0kuzSIH Ln;IKTDb@o3@yHN0 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/94dab127d1620129ca289e77437d7d1d_activity.pkl b/backend/instance/sessions/94dab127d1620129ca289e77437d7d1d_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..01d72e14f8f4d289b77f78beb6c46bf17f0774e5 GIT binary patch literal 60 zcmZo*nQF)Y0kuX{pv L7#LViDb@o3@Zk_5 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/94f9052004a9459b9a410a9860aa79c3_activity.pkl b/backend/instance/sessions/94f9052004a9459b9a410a9860aa79c3_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..050bb1ec143b52eda8fbbaa4f23501a8feae4ca4 GIT binary patch literal 60 zcmZo*nQF)Y0ku LnHd>QDb@o3@s1EL literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/951b88d6cdf295dbf7b85e374cc6a18d_activity.pkl b/backend/instance/sessions/951b88d6cdf295dbf7b85e374cc6a18d_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..ee7fb6c3d8e39814bd1004eb16e0349085d14de8 GIT binary patch literal 60 zcmZo*nQF)Y0ku6x2Z LnwgkPDb@o3@%<1z literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/95d3a1147d27d35f0ccaf4da7fcb240e_activity.pkl b/backend/instance/sessions/95d3a1147d27d35f0ccaf4da7fcb240e_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..d03b34a36a5b137daea35f9d836628066f678d70 GIT binary patch literal 60 zcmZo*nQF)Y0kuX{o@ Lm>HT)Db@o3@l6mc literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/9600aa66cb2bb8f54b3f72c98c6ce0a5_activity.pkl b/backend/instance/sessions/9600aa66cb2bb8f54b3f72c98c6ce0a5_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..b79cb1cdfd7d26d6568814df87c35302fe48af75 GIT binary patch literal 60 zcmZo*nQF)Y0kuX}+v L7#f*QDb@o3@zM}C literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/962e358894eae4050ee04eb6236d7be4_activity.pkl b/backend/instance/sessions/962e358894eae4050ee04eb6236d7be4_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..44805006bdcc9242e51366d4a7c6e9e4dc803883 GIT binary patch literal 60 zcmZo*nQF)Y0kuY19E LnOmApDb@o3@v0Cx literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/9675ddeb9e22a1b1195fe302ca81381e_activity.pkl b/backend/instance/sessions/9675ddeb9e22a1b1195fe302ca81381e_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..335ca03290941cc6292c5306914526316cda33fb GIT binary patch literal 60 zcmZo*nQF)Y0kuRFmt LT9_J6Db@o3@&OP% literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/96988474db44cccd2b5b179101921d53_activity.pkl b/backend/instance/sessions/96988474db44cccd2b5b179101921d53_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..7a53d05019b85637ec266fc12bf322858b01ca99 GIT binary patch literal 60 zcmZo*nQF)Y0kub=$V@t L8XB2RDb@o3@h1=` literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/976063512326b3204780746e895a8c3b_activity.pkl b/backend/instance/sessions/976063512326b3204780746e895a8c3b_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..1d7fec902f2eeac11e7b0916e1d5c93e53dec7c4 GIT binary patch literal 60 zcmZo*nQF)Y0kuX{l_ L8k-nQDb@o3@v9Iq literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/98172a38db719b0ea6da665c02667b99_activity.pkl b/backend/instance/sessions/98172a38db719b0ea6da665c02667b99_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..2b4a292e90bed6334e62d72021d394c5a78349ec GIT binary patch literal 60 zcmZo*nQF)Y0kuKT}u L7?>MODb@o3@eL3n literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/983666b78b69c6a943db8fa1b36c9691_activity.pkl b/backend/instance/sessions/983666b78b69c6a943db8fa1b36c9691_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..c14fd9b20c4b85de6b7cbc2d9eb2444ae2080b03 GIT binary patch literal 60 zcmZo*nQF)Y0ku LSsEBmDb@o3@q-XB literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/98e1c5488b89774a25ae1d70a8b7ea80_activity.pkl b/backend/instance/sessions/98e1c5488b89774a25ae1d70a8b7ea80_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..9d723a8af3dd61e8983e1650f1b45f2e838f61a0 GIT binary patch literal 60 zcmZo*nQF)Y0kulv6@ LS{NHmDb@o3@g5K= literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/9a032730b23849bdbf26ffc3911a3ac9_activity.pkl b/backend/instance/sessions/9a032730b23849bdbf26ffc3911a3ac9_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..df06c314bfaa04e139a67c7a7fe1b8626da96a82 GIT binary patch literal 60 zcmZo*nQF)Y0kuzP`Z LS(=(nDb@o3@q7?A literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/9a586ead262d5b68398426b78d297556_activity.pkl b/backend/instance/sessions/9a586ead262d5b68398426b78d297556_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..afaf064ffd10fc60ca9a87baa439eb67717d4850 GIT binary patch literal 60 zcmZo*nQF)Y0kulv6D L7#UbjDb@o3@oEq% literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/9ab7ed42773c8073f327b6dd6ed00202_activity.pkl b/backend/instance/sessions/9ab7ed42773c8073f327b6dd6ed00202_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..c2789e645f647677ef67fae0240a098073390d31 GIT binary patch literal 60 zcmZo*nQF)Y0kuRA|? L85)~SDb@o3@v9Ir literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/9b83850759c120bdcd5245e63c7e5a63_activity.pkl b/backend/instance/sessions/9b83850759c120bdcd5245e63c7e5a63_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..10adc7e4b112b3989e60bc0c2276d7fd247a8b4e GIT binary patch literal 60 zcmZo*nQF)Y0kuX{iE Ln;RHSDb@o3@pup` literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/9cb2fc8b769f302ec649a9ec6bb1b39e_activity.pkl b/backend/instance/sessions/9cb2fc8b769f302ec649a9ec6bb1b39e_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..9338aa58213059b9144188c8b6590bebcd613bfa GIT binary patch literal 60 zcmZo*nQF)Y0kudfd KEzPDB>j41qZ4fR1 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/9ced41f21ebabdfe48fdbf2a78aecff4_activity.pkl b/backend/instance/sessions/9ced41f21ebabdfe48fdbf2a78aecff4_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..f6fcff6d1b20f5f5a18fad5bf9965fd3b2406830 GIT binary patch literal 60 zcmZo*nQF)Y0kuMQDb@o3@$(Qj literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/9cfb54451fd3f6eb804b556a8e20052e_activity.pkl b/backend/instance/sessions/9cfb54451fd3f6eb804b556a8e20052e_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..a89e5d168fad42ea9080cafce1a19eba8bb0d665 GIT binary patch literal 60 zcmZo*nQF)Y0kuseS@ L8k$*5Db@o3@tY7j literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/9e4fbd47a9d61878420c6f6579ba7023_activity.pkl b/backend/instance/sessions/9e4fbd47a9d61878420c6f6579ba7023_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..902566456f229678c186dedb3569c2d69af1237c GIT binary patch literal 60 zcmZo*nQF)Y0ku LTNoKlDb@o3@wN~( literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/9f5c9c2274edad50bd86753e4b1ca676_activity.pkl b/backend/instance/sessions/9f5c9c2274edad50bd86753e4b1ca676_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..984274631b1a0ec3c8048cfb8129c0e41195fca2 GIT binary patch literal 60 zcmZo*nQF)Y0kuRFna Ln_3!7Db@o3@%a!v literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/9fdc61ebc3fdbf51ec3bd88a61984385_activity.pkl b/backend/instance/sessions/9fdc61ebc3fdbf51ec3bd88a61984385_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..94d23778f3ffdaf2dc4b8c675526474e29feb10c GIT binary patch literal 60 zcmZo*nQF)Y0kuXJ7Db@o3@gfi= literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/a11f6b406a64628ecda5c9ec8d11c554_activity.pkl b/backend/instance/sessions/a11f6b406a64628ecda5c9ec8d11c554_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..4d8b9360dea907ea7f45c8d0f3b049e163c3e8ef GIT binary patch literal 60 zcmZo*nQF)Y0kuscCF Lnpv7mDb@o3@#7FZ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/a16a2279e66f8ba014e0ff2bde53f70f_activity.pkl b/backend/instance/sessions/a16a2279e66f8ba014e0ff2bde53f70f_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..08fdae4e2577fc2254c52ce711218e2953bbc96b GIT binary patch literal 60 zcmZo*nQF)Y0kulqpu LSXh`$Db@o3@p2F^ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/a206aced346c4bb5cab6920f6f9c425e_activity.pkl b/backend/instance/sessions/a206aced346c4bb5cab6920f6f9c425e_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..5587a3a07e81f19ed6d93c70d4324025dd5580a9 GIT binary patch literal 60 zcmZo*nQF)Y0kuU{RDb@o3@r)2I literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/a293711e1c8017e68725690a96c5e4a8_activity.pkl b/backend/instance/sessions/a293711e1c8017e68725690a96c5e4a8_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..a7d5677ad4af6eb0b3e3ae1d310d6a1f34563bde GIT binary patch literal 60 zcmZo*nQF)Y0kuzSIE Lm>5`2Db@o3@v9It literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/a2a78e23d75fcff9facc1ac5e285bd65_activity.pkl b/backend/instance/sessions/a2a78e23d75fcff9facc1ac5e285bd65_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..f1680919ce7840ee4fc1ee40e4986ee75a7eba4a GIT binary patch literal 60 zcmZo*nQF)Y0kuKPbW Ln3!5jDb@o3@h=c7 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/a33aa95a062fa60634c2a3da72c7fb2a_activity.pkl b/backend/instance/sessions/a33aa95a062fa60634c2a3da72c7fb2a_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..3d20a0f6e8bc8e3589ce6c4e22637dcdbb11bfcf GIT binary patch literal 60 zcmZo*nQF)Y0ku Lm>QZ-Db@o3@stoU literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/a33d3d1a0dd69c02c39cb1868458ced1_activity.pkl b/backend/instance/sessions/a33d3d1a0dd69c02c39cb1868458ced1_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..5f58d8c6dec2adac2e02316d67108923365b5c2d GIT binary patch literal 60 zcmZo*nQF)Y0kuKT}r L8G#>X{fD L7+RW7Db@o3@zD@B literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/a3e49a09d50d8f3124ca1a45a7744045_activity.pkl b/backend/instance/sessions/a3e49a09d50d8f3124ca1a45a7744045_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..63409584aa71b22a3368e5d59503807877ebcbbc GIT binary patch literal 60 zcmZo*nQF)Y0kulqkW L7@8VSDb@o3@pTX@ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/a3efda489cdb15b3f80e8e1608ee801b_activity.pkl b/backend/instance/sessions/a3efda489cdb15b3f80e8e1608ee801b_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..251e97cc2340e928d1db5303b54376225f96ae6e GIT binary patch literal 60 zcmZo*nQF)Y0kuY17t L8d+FODb@o3@u?6s literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/a3f5ed3a26140254a4aa0ad95ea3029f_activity.pkl b/backend/instance/sessions/a3f5ed3a26140254a4aa0ad95ea3029f_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..f43ad8a816533a49b1845eb17d2875ae17f2aabc GIT binary patch literal 60 zcmZo*nQF)Y0kuHQ)Db@o3@skiV literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/a409cee9b882d64b7e94caa58ae79395_activity.pkl b/backend/instance/sessions/a409cee9b882d64b7e94caa58ae79395_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..8f9bdff48bcc5ee1aa76fbd0f67dfe826a1e9599 GIT binary patch literal 60 zcmZo*nQF)Y0kuHe>sgwb LnHpP6Db@o3@)Qt2 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/a41c9a950667a98f13dcbf36105c5555_activity.pkl b/backend/instance/sessions/a41c9a950667a98f13dcbf36105c5555_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..e9b6b9c2bfbb3b1a6c70e0e57d6286b80c243d61 GIT binary patch literal 60 zcmZo*nQF)Y0kub=$RRq LnVB0-Db@o3@iY)B literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/a48b1bc68666689d14a72453808385af_activity.pkl b/backend/instance/sessions/a48b1bc68666689d14a72453808385af_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..77d1d8afd1654aa437b3eb727949b06736e48d8f GIT binary patch literal 60 zcmZo*nQF)Y0kulvFG L8d;c5Db@o3@tY7b literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/a4e6ef52a260673cd4fb765c8a03720c_activity.pkl b/backend/instance/sessions/a4e6ef52a260673cd4fb765c8a03720c_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..f6e52bc18319f9b468a9c9b119048b95280210f5 GIT binary patch literal 60 zcmZo*nQF)Y0kuKT|@ L8dw@kDb@o3@skiS literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/a5de6fb39c642a13b7517e4b8818c2e5_activity.pkl b/backend/instance/sessions/a5de6fb39c642a13b7517e4b8818c2e5_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..ab23eb3332b3da603d10e8dd416c53ec61ce8bdd GIT binary patch literal 60 zcmZo*nQF)Y0ku6sZB L7+RQ3Db@o3@pcd{ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/a66702276a042641ac28d71563ea853d_activity.pkl b/backend/instance/sessions/a66702276a042641ac28d71563ea853d_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..a4033ba83dfba99e5e3d089d4a1fb72594cc2862 GIT binary patch literal 60 zcmZo*nQF)Y0kuX{gt Lm>5`0Db@o3@k$UX literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/a6b7d23ce6e6589854d4f6512195c655_activity.pkl b/backend/instance/sessions/a6b7d23ce6e6589854d4f6512195c655_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..8555820fdfe7ceb1560c62890e894c411f79d452 GIT binary patch literal 60 zcmZo*nQF)Y0kuKR&? LTNqhPDb@o3@$e8n literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/a6d71fd1aceaa7d085b1215b78b877fa_activity.pkl b/backend/instance/sessions/a6d71fd1aceaa7d085b1215b78b877fa_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..e5d197e1e2c462055ec64253c314336e127a0e2f GIT binary patch literal 60 zcmZo*nQF)Y0kub=$VKRyA L7#bK)Db@o3@p%v| literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/a7661d4f970ab10d56cb46cc9974bdb4_activity.pkl b/backend/instance/sessions/a7661d4f970ab10d56cb46cc9974bdb4_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..b347f12d079dbeeec84e9d6a7495d7eb409f1b8a GIT binary patch literal 60 zcmZo*nQF)Y0kuX{oF Ln;BY6Db@o3@rV#G literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/a7670c59c18813c9d8f008d660b94da1_activity.pkl b/backend/instance/sessions/a7670c59c18813c9d8f008d660b94da1_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..0743333f9d2787944c481e10a3f41973cdac65d0 GIT binary patch literal 60 zcmZo*nQF)Y0kuKR*@ LS(;c(Db@o3@of+` literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/a7e743394eb9b255e845558230dc0b12_activity.pkl b/backend/instance/sessions/a7e743394eb9b255e845558230dc0b12_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..153a38526bd1ca5f3699cef431204f0247065aac GIT binary patch literal 60 zcmZo*nQF)Y0kuzSJx LnHiW)Db@o3@qrL7 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/a85775f68377446fb67758b123ad2e79_activity.pkl b/backend/instance/sessions/a85775f68377446fb67758b123ad2e79_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..b2242924db1d703be248495a360d15364b658350 GIT binary patch literal 60 zcmZo*nQF)Y0kuKT|B L8(A7oDb@o3@o^9> literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/a85a365a5f633ce7ba19af6329522ed9_activity.pkl b/backend/instance/sessions/a85a365a5f633ce7ba19af6329522ed9_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..39d617ef2f2c6d5d34627d41f937d2935d82f44d GIT binary patch literal 60 zcmZo*nQF)Y0kuY17t LTN)cpDb@o3@&XV# literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/a917e60b344d71e039e839956bc93637_activity.pkl b/backend/instance/sessions/a917e60b344d71e039e839956bc93637_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..f1bc63273b90bb54e44b87a6ee5107f5d021a59b GIT binary patch literal 60 zcmZo*nQF)Y0ku6x3G Ln41|)Db@o3@sbcS literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/a9253414b99c746995a7ac1d3706e055_activity.pkl b/backend/instance/sessions/a9253414b99c746995a7ac1d3706e055_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..aac492332d5040d6d32b9795c9861cfbb3e3f0cb GIT binary patch literal 60 zcmZo*nQF)Y0kulqmv Lo0wQkDb@o3@stoU literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/a97853426798213b72b478177e8d6e86_activity.pkl b/backend/instance/sessions/a97853426798213b72b478177e8d6e86_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..2d0436fa110fc37629e2f9bebfa33ea26438150d GIT binary patch literal 60 zcmZo*nQF)Y0kuKU7u LnwgtTDb@o3@uUzo literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/a9a5b0c4ca5540028baceb6e94f2031b_activity.pkl b/backend/instance/sessions/a9a5b0c4ca5540028baceb6e94f2031b_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..ecd83a755ea8cc7a5ca3ba7cf12891e60d81305b GIT binary patch literal 60 zcmZo*nQF)Y0kuc>zNpt LnOGQ4Db@o3@kkIY literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/aaa47302ed780cbc572f25e0a7a20fe3_activity.pkl b/backend/instance/sessions/aaa47302ed780cbc572f25e0a7a20fe3_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..d7976a99c3aa74c19bd6009092050eb84279b27e GIT binary patch literal 60 zcmZo*nQF)Y0kuzNr^ L8d_LPDb@o3@z4-E literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/aaa82c0fa45a5911d10b72bf05e41c27_activity.pkl b/backend/instance/sessions/aaa82c0fa45a5911d10b72bf05e41c27_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..c68d068a52b3e22171a03ba522d3fbc339b09307 GIT binary patch literal 60 zcmZo*nQF)Y0kuKPiF L8k!hPDb@o3@p=#{ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/ab3a441417e685a512bfb6e1f91af659_activity.pkl b/backend/instance/sessions/ab3a441417e685a512bfb6e1f91af659_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..3fae71e7266f1c4ec8ef389fcd465683fb6b1cc4 GIT binary patch literal 60 zcmZo*nQF)Y0kuGz=$RN9 LT9}zkDb@o3@yHN1 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/ab6cc263c5620e5a628f996a8949cbb4_activity.pkl b/backend/instance/sessions/ab6cc263c5620e5a628f996a8949cbb4_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..fd395efc4ed3125b5fb62a513a0cdb0c79dc79d6 GIT binary patch literal 60 zcmZo*nQF)Y0kuzSDt LSXi1&Db@o3@j(zS literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/acb029e81bd4bead6f6e013d09fcfefe_activity.pkl b/backend/instance/sessions/acb029e81bd4bead6f6e013d09fcfefe_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..d14d04fd6c9b70ea32cb14393a80e8612499f9ea GIT binary patch literal 60 zcmZo*nQF)Y0kuX{mt LnHpP8Db@o3@p2F` literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/ae338d5022d6523f5113ce4960816ce8_activity.pkl b/backend/instance/sessions/ae338d5022d6523f5113ce4960816ce8_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..42b4a671b1b3c875f00d4c44f59ecfffedd5bc63 GIT binary patch literal 60 zcmZo*nQF)Y0ku6w`r L8(UaRDb@o3@vjg! literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/aed947b87ef34fceb94ff6b5c8b9f60b_activity.pkl b/backend/instance/sessions/aed947b87ef34fceb94ff6b5c8b9f60b_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..0fd1e48c2b354a3e23e274afbd9dd63c421b5154 GIT binary patch literal 60 zcmZo*nQF)Y0kuZZ)Db@o3@$?Wo literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/b13fd1622aecd5f810203ce7215fbd5b_activity.pkl b/backend/instance/sessions/b13fd1622aecd5f810203ce7215fbd5b_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..92c3da42646555e6f85a8b3e1e54eac974d5cf53 GIT binary patch literal 60 zcmZo*nQF)Y0kuX{gr L8yOi*Db@o3@kKRy= Lo0}OzNx` Lm>8K%Db@o3@sAKO literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/b30fc0ec0a7c28c6f2be3dc44154dc20_activity.pkl b/backend/instance/sessions/b30fc0ec0a7c28c6f2be3dc44154dc20_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..6c0e92406f66cef32e465c357f075737caf80bf8 GIT binary patch literal 60 zcmZo*nQF)Y0kulv6? L7@Js3Db@o3@%j)v literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/b6b44a668a98c03f18aa149f3c7b3fe4_activity.pkl b/backend/instance/sessions/b6b44a668a98c03f18aa149f3c7b3fe4_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..cf316f1d8e110f35888f4b316cdf997a98a16282 GIT binary patch literal 60 zcmZo*nQF)Y0kuseSD L7#W#PDb@o3@g5K; literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/b7a5580395679fc6c326553f68dcef23_activity.pkl b/backend/instance/sessions/b7a5580395679fc6c326553f68dcef23_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..499d9c545da9bf377d379dc830093271819b5ef8 GIT binary patch literal 60 zcmZo*nQF)Y0kulv9_ L7#f&QDb@o3@s$uU literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/b7b729144edf31522a981632f7ae0624_activity.pkl b/backend/instance/sessions/b7b729144edf31522a981632f7ae0624_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..7f908e4d417da73272d5638a4a73aeb17e583722 GIT binary patch literal 60 zcmZo*nQF)Y0kuzSDv LT9}wlDb@o3@jDPK literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/b883cbc7160fcb93d41a1392c404fa70_activity.pkl b/backend/instance/sessions/b883cbc7160fcb93d41a1392c404fa70_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..e678370b4bc0029fbfd3f05a8bc029f8a7660046 GIT binary patch literal 60 zcmZo*nQF)Y0kuX{e- Jq4|_zJpl1q5Gw!x literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/b8b61a032e9bb2eeef028d328f422f7e_activity.pkl b/backend/instance/sessions/b8b61a032e9bb2eeef028d328f422f7e_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..a794c8895f83fe871928e70c634cf7a050cb1420 GIT binary patch literal 60 zcmZo*nQF)Y0kuRDKr Lm>3#PDb@o3@mdfn literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/b949acd976cfa67dc63bb40452acf0a7_activity.pkl b/backend/instance/sessions/b949acd976cfa67dc63bb40452acf0a7_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..6709840c4f5cf9e11a9342ab441cb779d677084e GIT binary patch literal 60 zcmZo*nQF)Y0kuKPcB LnHm{RDb@o3@q!R6 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/b988ff8cb87d39e806f8c1cf1d6562bf_activity.pkl b/backend/instance/sessions/b988ff8cb87d39e806f8c1cf1d6562bf_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..15e5973323732579bf427b2652b67feb26384ffe GIT binary patch literal 60 zcmZo*nQF)Y0ku6x3E L7+ac7Db@o3@#PRZ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/ba3cb568bae0f861476467f800c3bdb6_activity.pkl b/backend/instance/sessions/ba3cb568bae0f861476467f800c3bdb6_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..ed75f806632f59962c2ad02ce515c32ece6681cd GIT binary patch literal 60 zcmZo*nQF)Y0kuU~UDb@o3@sSWP literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/ba5ca8d695aab3ac0cd9366e23ecbf30_activity.pkl b/backend/instance/sessions/ba5ca8d695aab3ac0cd9366e23ecbf30_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..8f5b48ed8b26bc6e117364719b2b0cc6ee900228 GIT binary patch literal 60 zcmZo*nQF)Y0kuKPar Lnp+r7Db@o3@re*G literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/bb0c9c9cb6bd6d9c00dbf962f0952b59_activity.pkl b/backend/instance/sessions/bb0c9c9cb6bd6d9c00dbf962f0952b59_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..e1cc706a2f9f6c647a96e69cfaa71d554ededa27 GIT binary patch literal 60 zcmZo*nQF)Y0kulv6E L8k?C;Db@o3@beHQ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/bb3d17c64597de7446ba0f812d4b00a6_activity.pkl b/backend/instance/sessions/bb3d17c64597de7446ba0f812d4b00a6_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..911ae10ffe190754493b4d7c9267ce79f7ff9176 GIT binary patch literal 60 zcmZo*nQF)Y0ku6sZD L85kH$Db@o3@kzSLH Lo0=F*Db@o3@tzPd literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/bd14a0818f2203818affdaf727c56ddd_activity.pkl b/backend/instance/sessions/bd14a0818f2203818affdaf727c56ddd_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..ff1e486d813a2861686f3668e551450bc9e963af GIT binary patch literal 60 zcmZo*nQF)Y0ku6uzs Lnj0BSDb@o3@z)SJ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/be3204127acac7ddba79ed91b6e0e1d5_activity.pkl b/backend/instance/sessions/be3204127acac7ddba79ed91b6e0e1d5_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..0960acba1ca1f828659469a9d6a3448c98a7a635 GIT binary patch literal 60 zcmZo*nQF)Y0kub=$Tnq Lm>8Q*Db@o3@p2F{ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/bebdebec772e9bbcffaadc3defefe12c_activity.pkl b/backend/instance/sessions/bebdebec772e9bbcffaadc3defefe12c_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..0c62e921a7e8366a43d14cf90794622f4cc3683c GIT binary patch literal 60 zcmZo*nQF)Y0kuKU1u Ln3x+*Db@o3@vsmx literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/bf23467b1df2277ebd37111b5120cf7a_activity.pkl b/backend/instance/sessions/bf23467b1df2277ebd37111b5120cf7a_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..83bcb8527426b4e7b89ff10c8c368126c78a2e72 GIT binary patch literal 60 zcmZo*nQF)Y0kuzSIH L8k$;8Db@o3@z4-D literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/c07b6e3973a670ed29a3e4f27bac22ff_activity.pkl b/backend/instance/sessions/c07b6e3973a670ed29a3e4f27bac22ff_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..31d5c836962c8298494d0f166a7fa6eda5381710 GIT binary patch literal 60 zcmZo*nQF)Y0kua=^2_B LnVMNlDb@o3@fr{+ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/c1521350dd82b408cef59c9904c71c54_activity.pkl b/backend/instance/sessions/c1521350dd82b408cef59c9904c71c54_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..66f74d38a410e86583cd0c755a9807114e905a9f GIT binary patch literal 60 zcmZo*nQF)Y0kuKR#> LSr{5kDb@o3@sSWQ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/c167cc958ff31b8e11d54b4abd333dd4_activity.pkl b/backend/instance/sessions/c167cc958ff31b8e11d54b4abd333dd4_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..d579ba5fe7443bd6d54e8169e3e675eafff9d9e2 GIT binary patch literal 60 zcmZo*nQF)Y0kuKPfD L8k-tTDb@o3@d6Mc literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/c215d5d52f417aadd203ac275adf8679_activity.pkl b/backend/instance/sessions/c215d5d52f417aadd203ac275adf8679_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..a242bee186dfa87d5ec0ac1c98f99ca0a7afefdf GIT binary patch literal 60 zcmZo*nQF)Y0kuX{i? Ln44QnDb@o3@zxMM literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/c3066cb0651d985e75348713f63c80d7_activity.pkl b/backend/instance/sessions/c3066cb0651d985e75348713f63c80d7_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..97f48cbc10100962f041037d29780f75746f9086 GIT binary patch literal 60 zcmZo*nQF)Y0kuGz=owlX L7#W*SDb@o3@wX5& literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/c35f2a1b37a18c97cf1cf1f0ad215094_activity.pkl b/backend/instance/sessions/c35f2a1b37a18c97cf1cf1f0ad215094_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..d544263a0a2073281436e160c0cf7b88823c3875 GIT binary patch literal 60 zcmZo*nQF)Y0kuY12X L7#bT+Db@o3@mUZm literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/c45ee805ddde254e16a8e745782700cc_activity.pkl b/backend/instance/sessions/c45ee805ddde254e16a8e745782700cc_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..507e7d18afedd2b4d4b579a1dde9771d110d2656 GIT binary patch literal 60 zcmZo*nQF)Y0kuKPjw Ln_HSsDb@o3@uCnn literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/c65525c472e4ab04bef49f5f3de5a794_activity.pkl b/backend/instance/sessions/c65525c472e4ab04bef49f5f3de5a794_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..719f9691002360541b558d538233a968229a0b8e GIT binary patch literal 60 zcmZo*nQF)Y0kuPDb@o3@#PRX literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/c689600d1bb0f9789e166ac367e1911c_activity.pkl b/backend/instance/sessions/c689600d1bb0f9789e166ac367e1911c_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..77d7985b4027edfd56ef7ccb57a6fec765069339 GIT binary patch literal 60 zcmZo*nQF)Y0kuX}*? L8=ILsc5W LTbNo-Db@o3@uLto literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/c826951d27cb9f22ac90b6166e6ced1b_activity.pkl b/backend/instance/sessions/c826951d27cb9f22ac90b6166e6ced1b_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..c1ae812286f6ab47b11b3fe911a67c6c4bdfd7fb GIT binary patch literal 60 zcmZo*nQF)Y0kuRA|C L7?_w&Db@o3@rw{J literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/c880df22d6a6b9f8f03e79f1f5f65519_activity.pkl b/backend/instance/sessions/c880df22d6a6b9f8f03e79f1f5f65519_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..f3ce46a22e6e66a39700d1938a1c74ef17ee7b7e GIT binary patch literal 60 zcmZo*nQF)Y0ku LTbP+mDb@o3@#+vi literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/c897828d8595d7a65ee17cfaf8621727_activity.pkl b/backend/instance/sessions/c897828d8595d7a65ee17cfaf8621727_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..666cdb892d4ad7d1f99b21ee83572529d2d44780 GIT binary patch literal 60 zcmZo*nQF)Y0kuGz=ouLp Lm>8H%Db@o3@o^9- literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/c901829406db2d4c0f58454c2a512272_activity.pkl b/backend/instance/sessions/c901829406db2d4c0f58454c2a512272_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..c6a0bcfe1fcba5dd03a7ec4b0888d3478996ff88 GIT binary patch literal 60 zcmZo*nQF)Y0kuRDKr L8W@{RDb@o3@zxMH literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/c90d5e7d4c675971b18f7048d385f22d_activity.pkl b/backend/instance/sessions/c90d5e7d4c675971b18f7048d385f22d_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..0a243b189cf376be9a83bf7988563ccb09140896 GIT binary patch literal 60 zcmZo*nQF)Y0kuKPeY LSeltmDb@o3@xc%| literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/c9a8efcb45694edecfc2c2a9d8f901a7_activity.pkl b/backend/instance/sessions/c9a8efcb45694edecfc2c2a9d8f901a7_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..505c166533adcb48d6e19b385681c107f33fdcf3 GIT binary patch literal 60 zcmZo*nQF)Y0kuKPfB L8JikTDb@o3@k0lv7t L7#SH&Db@o3@Y)a` literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/ca08eaf8a848261624d4e263ff47c7e6_activity.pkl b/backend/instance/sessions/ca08eaf8a848261624d4e263ff47c7e6_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..3258655f18c704b9865a9469815491eed52a2cc3 GIT binary patch literal 60 zcmZo*nQF)Y0kuRA|D LSQwg5Db@o3@qQ39 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/cc4bef0c09beab5c6d93b337c714e257_activity.pkl b/backend/instance/sessions/cc4bef0c09beab5c6d93b337c714e257_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..2ad7fa8b70e25c19ea6d1e791681f46a95d1ac60 GIT binary patch literal 60 zcmZo*nQF)Y0kuY11r LSr{8nDb@o3@y!r5 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/cc5620a2e0d877cbe6ac4ced65d8aa2a_activity.pkl b/backend/instance/sessions/cc5620a2e0d877cbe6ac4ced65d8aa2a_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..2b52620d8f08217a5b1b2e4257d0230e071581c8 GIT binary patch literal 60 zcmZo*nQF)Y0kuzSLF L7+M-kDb@o3@t6=W literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/cca8c3cb86559acb6e915c15220764fe_activity.pkl b/backend/instance/sessions/cca8c3cb86559acb6e915c15220764fe_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..f0d0950f48786b397f16cd8a3b8e98d35540a6b1 GIT binary patch literal 60 zcmZo*nQF)Y0kuRFf? LS{PbPDb@o3@tF`b literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/cd27f963002d12065a9e8b6f7954d93f_activity.pkl b/backend/instance/sessions/cd27f963002d12065a9e8b6f7954d93f_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..8bebcac8556b8edaa81a71cf3b22021e67509366 GIT binary patch literal 60 zcmZo*nQF)Y0kuKPlD L8dw@nDb@o3@bwTR literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/cd48d1f7a0104a5acb4d7010765d55c4_activity.pkl b/backend/instance/sessions/cd48d1f7a0104a5acb4d7010765d55c4_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..408c5b48ca98e95f7a3925156e5114ad361ed78c GIT binary patch literal 60 zcmZo*nQF)Y0kuY13D L7?~MQDb@o3@h}i7 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/cd97c485caeda77c40644fecc50af4a6_activity.pkl b/backend/instance/sessions/cd97c485caeda77c40644fecc50af4a6_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..aad2323663d61aac1329122e4d351cbe07bbf307 GIT binary patch literal 60 zcmZo*nQF)Y0kuKT}V Iz?5P=0P&p=GXMYp literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/cdb39db6ec71abedcf168fb62cd31254_activity.pkl b/backend/instance/sessions/cdb39db6ec71abedcf168fb62cd31254_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..428219af22a1b8d2def592d77496ec4f3bba32b6 GIT binary patch literal 60 zcmZo*nQF)Y0kuRFf= LnVMNnDb@o3@!AkO literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/cdd814591aee35a8ae1b72dd59c9d5bf_activity.pkl b/backend/instance/sessions/cdd814591aee35a8ae1b72dd59c9d5bf_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..e58f674bfec1ebc6871fe4d9c80424d6b5d0c420 GIT binary patch literal 60 zcmZo*nQF)Y0ku6sZB Ln;RNVDb@o3@pup` literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/ce9046327ecd54096695c61d154f7960_activity.pkl b/backend/instance/sessions/ce9046327ecd54096695c61d154f7960_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..024b7e927b02a1f8f4784b4678e47eb8fe08bdc7 GIT binary patch literal 60 zcmZo*nQF)Y0kuc>zP;> L8=9F-Db@o3@ly~k literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/cf20f24e8db54e6342e207b0c620ea20_activity.pkl b/backend/instance/sessions/cf20f24e8db54e6342e207b0c620ea20_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..1cd640980d7211406c7dde1cdddcf8a0c270f415 GIT binary patch literal 60 zcmZo*nQF)Y0kuzNpt Ln^>4kDb@o3@tF`b literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/cfc6d9d4c7cfe923536d7e718ea56f86_activity.pkl b/backend/instance/sessions/cfc6d9d4c7cfe923536d7e718ea56f86_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..59fd07dab3b9469daadd944ee356f0dc1c751a3c GIT binary patch literal 60 zcmZo*nQF)Y0ku6sXr L8kiVODb@o3@oo?* literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/d0196f8fcaa220cdfbb49afcaeb699b1_activity.pkl b/backend/instance/sessions/d0196f8fcaa220cdfbb49afcaeb699b1_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..f63894607fb24f9996e38f3dbcd41eacc0dd51af GIT binary patch literal 60 zcmZo*nQF)Y0kuKPeW LnwpqRDb@o3@huQ4 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/d2583a719f7c82a1ef6e8fbcc0adbda9_activity.pkl b/backend/instance/sessions/d2583a719f7c82a1ef6e8fbcc0adbda9_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..c57cd849e7e86869cbbc6ea62571e16cde0345bf GIT binary patch literal 60 zcmZo*nQF)Y0kuzSAs L8yOf+Db@o3@l_Bf literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/d39038eda1cc06d4b4bf810510ff2203_activity.pkl b/backend/instance/sessions/d39038eda1cc06d4b4bf810510ff2203_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..cf7355b266c15e68576005213aea01c256bf52cd GIT binary patch literal 60 zcmZo*nQF)Y0kuGz=ouTB L7+V@mDb@o3@vRUt literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/d49510cbc90d7af56a066a3642c61f1e_activity.pkl b/backend/instance/sessions/d49510cbc90d7af56a066a3642c61f1e_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..bed05a8f1aa6d75bfdc71f50dd0793a3e34ad8ea GIT binary patch literal 60 zcmZo*nQF)Y0kuzNyv Lo0wTnDb@o3@pce2 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/d532eae5885b24cf768387b0f387c572_activity.pkl b/backend/instance/sessions/d532eae5885b24cf768387b0f387c572_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..d3fae4ce82afdca2311b3c14796c20dfb38120dc GIT binary patch literal 60 zcmZo*nQF)Y0kuX{i? Lnj4!;Db@o3@*xmE literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/d562e6070ed9beb31d95ad64aca3e621_activity.pkl b/backend/instance/sessions/d562e6070ed9beb31d95ad64aca3e621_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..46c8140d6e6b4140ce6276bf6eaf992a85f67347 GIT binary patch literal 60 zcmZo*nQF)Y0kuKPfE L8k$&4Db@o3@fi>) literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/d60df0123f358ac840e0604c733eca9c_activity.pkl b/backend/instance/sessions/d60df0123f358ac840e0604c733eca9c_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..a0000345d7b16e69c94dcf3df3c69ee63c55ef98 GIT binary patch literal 60 zcmZo*nQF)Y0kulqrF L8ylHSDb@o3@m~-s literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/d760e76a9120c4bfc56a503b94d37dbc_activity.pkl b/backend/instance/sessions/d760e76a9120c4bfc56a503b94d37dbc_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..3a1d2bdc0205cd146d9dab70e90374876243a57c GIT binary patch literal 60 zcmZo*nQF)Y0kuzNxE LTUZ!PDb@o3@iGuA literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/d771ccd8ddf787f78f97cb176a4e2131_activity.pkl b/backend/instance/sessions/d771ccd8ddf787f78f97cb176a4e2131_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..7bab6492a2940b24faf10a7196e20e30250e34cc GIT binary patch literal 60 zcmZo*nQF)Y0kuls=Y L85tQ)Db@o3@vjgr literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/d7ce08e9787653b41ddc98a16522d7a6_activity.pkl b/backend/instance/sessions/d7ce08e9787653b41ddc98a16522d7a6_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..72fdbf3a0dac4305bca0ab3950f5c55533f20c8e GIT binary patch literal 60 zcmZo*nQF)Y0kulqoF LTUr`UDb@o3@yif7 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/d7d39bd89683b027466c4affac1ef66e_activity.pkl b/backend/instance/sessions/d7d39bd89683b027466c4affac1ef66e_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..d877765adad18554bf379aa3b8e6b418f2ae992d GIT binary patch literal 60 zcmZo*nQF)Y0kuRDJ= Lni?BUDb@o3@r@8N literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/d85e016262044ac582d1d4d42a796a1b_activity.pkl b/backend/instance/sessions/d85e016262044ac582d1d4d42a796a1b_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..4b856965a8a60e04747ed306adf5456054917447 GIT binary patch literal 60 zcmZo*nQF)Y0kuX{jt LTACS6Db@o3@vjgz literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/d86391404c086e2d5967df629efbc2db_activity.pkl b/backend/instance/sessions/d86391404c086e2d5967df629efbc2db_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..47884549bb661032c95523c3bcc59b452012a01b GIT binary patch literal 60 zcmZo*nQF)Y0kuG#>KU0C L8XH?oDb@o3@z4-9 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/d9198848cfc23e5eb13d083ab3df9f64_activity.pkl b/backend/instance/sessions/d9198848cfc23e5eb13d083ab3df9f64_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..5695fd8ca11e8e815d49780a396e00c87764ef30 GIT binary patch literal 60 zcmZo*nQF)Y0kuc>zPG#>KPeX L7@8PQDb@o3@x~A{ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/daa7f8e9dfa30d8a3598bca181ea833c_activity.pkl b/backend/instance/sessions/daa7f8e9dfa30d8a3598bca181ea833c_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..cf353637d43f4e1e749f9f1bf7a97ddbeca34fc5 GIT binary patch literal 60 zcmZo*nQF)Y0kuzSFD LSehA3Db@o3@k9_T literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/db6b903f3e002d55106c0247f784b77e_activity.pkl b/backend/instance/sessions/db6b903f3e002d55106c0247f784b77e_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..2ae7380d28e445583e0c439fd4e851152ed1e87d GIT binary patch literal 60 zcmZo*nQF)Y0kub=$Tm< LnVOhRDb@o3@ly~k literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/dba9275561984505809570c5d1c9edfa_activity.pkl b/backend/instance/sessions/dba9275561984505809570c5d1c9edfa_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..879a3c7aaae2efc2fdd0f7a7ef8e64c985293264 GIT binary patch literal 60 zcmZo*nQF)Y0kuzSLG Lni(2SDb@o3@xKr= literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/ddc14aeef7fd9246df17ac616ec30b62_activity.pkl b/backend/instance/sessions/ddc14aeef7fd9246df17ac616ec30b62_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..7b0dbd116dcd9b912d287336827a9176760ee98c GIT binary patch literal 60 zcmZo*nQF)Y0kuF|>sgu_ Lni-o+Db@o3@w*T- literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/de2e6be9806b1f95f33d5dcdfa518ed4_activity.pkl b/backend/instance/sessions/de2e6be9806b1f95f33d5dcdfa518ed4_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..0095053e2104178d52114ffe98394738fcc947bd GIT binary patch literal 60 zcmZo*nQF)Y0kuY17t L85$c;Db@o3@qG|0 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/dee7f2efa3716d4d2d0972be7321be0d_activity.pkl b/backend/instance/sessions/dee7f2efa3716d4d2d0972be7321be0d_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..5c741b00721b483ec566d03e9b19651864d6343a GIT binary patch literal 60 zcmZo*nQF)Y0kuKR#> L85o&NDb@o3@e~jy literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/df3c0da77e78cd6f5c0a5f3fb73aa8c6_activity.pkl b/backend/instance/sessions/df3c0da77e78cd6f5c0a5f3fb73aa8c6_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..47c2a4ce5b70ac81d6d0eada7b0858cc1b42205d GIT binary patch literal 60 zcmZo*nQF)Y0kuzNoC Ln3)((Db@o3@l+5f literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/df75139ea8a1d63ba089f03ec0327b68_activity.pkl b/backend/instance/sessions/df75139ea8a1d63ba089f03ec0327b68_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..485b7f9bfb2a3b08c1a724a39001ca1fd5ae6549 GIT binary patch literal 60 zcmZo*nQF)Y0kuKU6D L8kkv5Db@o3@oNw+ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/e0f8379e53a03fe978e3b3efc8215366_activity.pkl b/backend/instance/sessions/e0f8379e53a03fe978e3b3efc8215366_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..fa9c17ea07551c5de5931aeec1c5bcb174c87f23 GIT binary patch literal 60 zcmZo*nQF)Y0kuX}-Y L85)>ODb@o3@s|)V literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/e1c0cb9d96040c1cfb80817f0d44c1d1_activity.pkl b/backend/instance/sessions/e1c0cb9d96040c1cfb80817f0d44c1d1_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..1141346109f628f24067af7793545e5f901057f6 GIT binary patch literal 60 zcmZo*nQF)Y0kuKR!W L7+RW7Db@o3@gEQ? literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/e1d3932e1fe6d64747ca2792b7f448b8_activity.pkl b/backend/instance/sessions/e1d3932e1fe6d64747ca2792b7f448b8_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..fd9b4b28bfae1ae2c1fad4c908d2c513c733f2e0 GIT binary patch literal 60 zcmZo*nQF)Y0kuKPcB L8JU<&Db@o3@rDpC literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/e20684f45cba8ef8c377f660b4ffbead_activity.pkl b/backend/instance/sessions/e20684f45cba8ef8c377f660b4ffbead_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..b5aea7417e39892fd99e63233e27db6736d56bd6 GIT binary patch literal 60 zcmZo*nQF)Y0kuY11r L8(5f4Db@o3@yQT2 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/e2fbb9fe8f77ebeaaa41659fabd4c0c0_activity.pkl b/backend/instance/sessions/e2fbb9fe8f77ebeaaa41659fabd4c0c0_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..15a7c60a519f01e14e038da848bcaeaba6051536 GIT binary patch literal 60 zcmZo*nQF)Y0kuX{jt J0Kt@EJpl3X5I6t; literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/e317ee690f9de02c13d516c0b52937d0_activity.pkl b/backend/instance/sessions/e317ee690f9de02c13d516c0b52937d0_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..792700b4cee3143c762fc7590f020e5eb4892a22 GIT binary patch literal 60 zcmZo*nQF)Y0kuKR*_ LTAG_pDb@o3@re*Q literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/e31b1bd405f26b124013eb0ece3ebfa0_activity.pkl b/backend/instance/sessions/e31b1bd405f26b124013eb0ece3ebfa0_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..dcfa4552208b5d3c2b325c812990215e04747a44 GIT binary patch literal 60 zcmZo*nQF)Y0kuc>zSCF LSXi1(Db@o3@rw{R literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/e3d4e015078036a2cf56e3cd784d21fa_activity.pkl b/backend/instance/sessions/e3d4e015078036a2cf56e3cd784d21fa_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..dd4fd2062741eaad8b0b7d490080ec443d64d175 GIT binary patch literal 60 zcmZo*nQF)Y0kub=$ToV L7#UekDb@o3@l_Bn literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/e5b60bc5306e38e3bec64d03707fe952_activity.pkl b/backend/instance/sessions/e5b60bc5306e38e3bec64d03707fe952_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..df594b48c112977d0114abad8275474a0bf3637d GIT binary patch literal 60 zcmZo*nQF)Y0kuzSFD Ln3|bPDb@o3@vIOv literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/e60bac6279ef4c85e442e666e01c5f73_activity.pkl b/backend/instance/sessions/e60bac6279ef4c85e442e666e01c5f73_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..3fa69e0975fea300d87c1926413a9629f5d91d4f GIT binary patch literal 60 zcmZo*nQF)Y0ku6sau Lni!c+Db@o3@tF`Z literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/e62fc9a75f4341c1e7acb75964b06836_activity.pkl b/backend/instance/sessions/e62fc9a75f4341c1e7acb75964b06836_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..e59056563019b27ba4670783a855984aedfd25a0 GIT binary patch literal 60 zcmZo*nQF)Y0kulv6E L8kieTDb@o3@wyN( literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/e669a782d364253c10c28e1e1b7cb451_activity.pkl b/backend/instance/sessions/e669a782d364253c10c28e1e1b7cb451_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..d1032c17dba632295e1148bd6b67c753f10d3e3d GIT binary patch literal 60 zcmZo*nQF)Y0kuKPcD L7?_$(Db@o3@b?fT literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/e7386203519c648dbbbdd23a2bbb30f4_activity.pkl b/backend/instance/sessions/e7386203519c648dbbbdd23a2bbb30f4_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..332049e351c0ad59977d140cfc88040cf25846b4 GIT binary patch literal 60 zcmZo*nQF)Y0kusc6D LSelqlDb@o3@xKr` literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/e8039d2413a1384ce1ab4468f86dd065_activity.pkl b/backend/instance/sessions/e8039d2413a1384ce1ab4468f86dd065_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..b274a69202174fb40385b82635001d21d43f8d52 GIT binary patch literal 60 zcmZo*nQF)Y0kuls)W L7#kQ(Db@o3@kRFna L85o*ODb@o3@w^Z+ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/ea11462aac4de7e02906bc1286e1018f_activity.pkl b/backend/instance/sessions/ea11462aac4de7e02906bc1286e1018f_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..b1982ea8dd5d913f4c8065fcab171bfd946a3191 GIT binary patch literal 60 zcmZo*nQF)Y0kuX{px LS(q73Db@o3@!JqN literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/eaf0a8f02aed58368aa153e9f7bf61ca_activity.pkl b/backend/instance/sessions/eaf0a8f02aed58368aa153e9f7bf61ca_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..b5a8377ba383f8b2e608a0e1247521dd9813ae0e GIT binary patch literal 60 zcmZo*nQF)Y0kuX};@ Lo0ynQDb@o3@of+= literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/eb20cb21f0c886b19c73bfaf2559e24f_activity.pkl b/backend/instance/sessions/eb20cb21f0c886b19c73bfaf2559e24f_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..114c8013bfa3240c62cdb2643ce31f6b4b5a4847 GIT binary patch literal 60 zcmZo*nQF)Y0kuj41qTo5S$ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/eb337c835776a31771761f360e11315b_activity.pkl b/backend/instance/sessions/eb337c835776a31771761f360e11315b_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..69cb50b1b6574b80e81eb41784ab5be9cf8e6e56 GIT binary patch literal 60 zcmZo*nQF)Y0kulqrD LSQwd2Db@o3@n{e& literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/ecec55a76103532664729522723d8575_activity.pkl b/backend/instance/sessions/ecec55a76103532664729522723d8575_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..4c631e7e48b9724e910369d8c1f73c2c2870c20b GIT binary patch literal 60 zcmZo*nQF)Y0ku6x2Z Ln3@<)Db@o3@stoU literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/edf6aea21f8881e6431816ec3807fea7_activity.pkl b/backend/instance/sessions/edf6aea21f8881e6431816ec3807fea7_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..2a6c47ca8915241fae44613352fe86819e5839c2 GIT binary patch literal 60 zcmZo*nQF)Y0ku L8W|W&Db@o3@jMVE literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/edfe1088de82a5e860caf8dfcb8d4df9_activity.pkl b/backend/instance/sessions/edfe1088de82a5e860caf8dfcb8d4df9_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..f061eab8a29fae6a4f5926968dee182c7ce63b41 GIT binary patch literal 60 zcmZo*nQF)Y0kuX{gs Ln;08UDb@o3@nR4x literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/ee982befcd8bd399eb705f34314c3908_activity.pkl b/backend/instance/sessions/ee982befcd8bd399eb705f34314c3908_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..9a1778e484063ea821ecadb233e948f4000f9c99 GIT binary patch literal 60 zcmZo*nQF)Y0kuHe>sgvw L8k(C-Db@o3@)Zz2 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/eee801c7b12c0ad00bcb126fc9fe1bc6_activity.pkl b/backend/instance/sessions/eee801c7b12c0ad00bcb126fc9fe1bc6_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..3e0fced77ece4673441b2b97f3a4e5f55ae0a521 GIT binary patch literal 60 zcmZo*nQF)Y0kuKR%Z Lm{?d$Db@o3@t_bk literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/efbc056078d935753077da190dad8d53_activity.pkl b/backend/instance/sessions/efbc056078d935753077da190dad8d53_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..391d076cc714896dca252811938f13e0e067c36f GIT binary patch literal 60 zcmZo*nQF)Y0kulvGy L8X1{RDb@o3@u?6p literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/f00b16e61f1f4f6453f646fdc377d0b5_activity.pkl b/backend/instance/sessions/f00b16e61f1f4f6453f646fdc377d0b5_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..5c92e4c91459d5e42cd540bf742e3619b3f7a306 GIT binary patch literal 60 zcmZo*nQF)Y0kuzP;> Ln_8MrDb@o3@x%~2 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/f049701f74e5a6450020f28840f5decb_activity.pkl b/backend/instance/sessions/f049701f74e5a6450020f28840f5decb_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..0db1b54f47993c20fa7550466f3b07eeb6fe26cb GIT binary patch literal 60 zcmZo*nQF)Y0kuKU7w Lnj2b7Db@o3@r@8O literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/f04fa817bab14b69b0f2a1a43fb93240_activity.pkl b/backend/instance/sessions/f04fa817bab14b69b0f2a1a43fb93240_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..3d1490e2bdb8704cdca8a25bbef8a2c114bd3ac2 GIT binary patch literal 60 zcmZo*nQF)Y0kuGz=ouLr L85)>PDb@o3@pTX> literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/f0673e0937315bea5d30006f3bb28839_activity.pkl b/backend/instance/sessions/f0673e0937315bea5d30006f3bb28839_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..273006b0c9cae687f60d23c59b95df2a9d61078c GIT binary patch literal 60 zcmZo*nQF)Y0kuKPgv Lni&{RDb@o3@pKR> literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/f0bfd69e97221d98355d5ebe5ac699bb_activity.pkl b/backend/instance/sessions/f0bfd69e97221d98355d5ebe5ac699bb_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..38e724049845ed4a50bfb99cc52b171e3ae432f3 GIT binary patch literal 60 zcmZo*nQF)Y0kulv6? L8XFr=Db@o3@r@8L literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/f18064aec8428307d7c07cc0f885011a_activity.pkl b/backend/instance/sessions/f18064aec8428307d7c07cc0f885011a_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..5aa08abbe57524665b10e49263f5a3f9f5e9293f GIT binary patch literal 60 zcmZo*nQF)Y0kuY1Ax L8JJp5Db@o3@mCNo literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/f18acb4a5abf564ebdcc798c55c12b7c_activity.pkl b/backend/instance/sessions/f18acb4a5abf564ebdcc798c55c12b7c_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..f765a86b4017bbe60b81edcc90f944008c29d647 GIT binary patch literal 60 zcmZo*nQF)Y0ku6sgt L8kks2Db@o3@qiF7 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/f1b8cfc2625326eb0ca4dacc984bbf15_activity.pkl b/backend/instance/sessions/f1b8cfc2625326eb0ca4dacc984bbf15_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..17a12c7ad00cfc9a04a169c0255c119f29641269 GIT binary patch literal 60 zcmZo*nQF)Y0kuY11t Lnp+r8Db@o3@o5k* literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/f1d3c8d2ac69b072f646f9d79f278d4b_activity.pkl b/backend/instance/sessions/f1d3c8d2ac69b072f646f9d79f278d4b_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..388ec2ec0c33c92528b7de0f8e58d29f202211b3 GIT binary patch literal 60 zcmZo*nQF)Y0kuzNsu L7?_z(Db@o3@tP1Z literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/f21dbd047e4b7d0a3025a5873d29cffa_activity.pkl b/backend/instance/sessions/f21dbd047e4b7d0a3025a5873d29cffa_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..108c5cd1cee66196aaac1bc5a85b6ba28eb2bb97 GIT binary patch literal 60 zcmZo*nQF)Y0ku6sWB L7#UhlDb@o3@mvrp literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/f226e90b415babbc4639a00a5e2fdf75_activity.pkl b/backend/instance/sessions/f226e90b415babbc4639a00a5e2fdf75_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..59d4ee6e401b3ae94231fee149abdcf5081bf085 GIT binary patch literal 60 zcmZo*nQF)Y0kuzSGx L8d(}lDb@o3@v9Ir literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/f2db2b45e148b9bb94921fb99a132474_activity.pkl b/backend/instance/sessions/f2db2b45e148b9bb94921fb99a132474_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..44fbfd8b64716be1c3e3fc5afb399f429343bc3f GIT binary patch literal 60 zcmZo*nQF)Y0kuKU0^ LSQ=VRDb@o3@%#`# literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/f3c9e5588bdd9d63b567c8d3098872fc_activity.pkl b/backend/instance/sessions/f3c9e5588bdd9d63b567c8d3098872fc_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..cfc0ee37ca43037436ed3755584643c60a59a762 GIT binary patch literal 60 zcmZo*nQF)Y0kuY18Y Ln3)<)Db@o3@v#s! literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/f4f38cd649270247fadca9d7a724c7da_activity.pkl b/backend/instance/sessions/f4f38cd649270247fadca9d7a724c7da_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..0cf2225101683fdbe3b39424cb686a68424d6baa GIT binary patch literal 60 zcmZo*nQF)Y0kuG#>KU0E LS{Ry7Db@o3@#qja literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/f5a96820ad0c4124162663ac7210228a_activity.pkl b/backend/instance/sessions/f5a96820ad0c4124162663ac7210228a_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..863378cef2e3cc15d2f3d475afbdcca858ffa930 GIT binary patch literal 60 zcmZo*nQF)Y0kuzSIF L8dw-kDb@o3@v;yz literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/f5b1482b6d7c2582f335cdcaa120601c_activity.pkl b/backend/instance/sessions/f5b1482b6d7c2582f335cdcaa120601c_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..cf779dcf7fadba47d73667b02188cb2a3b275a42 GIT binary patch literal 60 zcmZo*nQF)Y0kuRA|D Lni*P5Db@o3@$3*h literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/f63674517b78563a1250350c1c9a6217_activity.pkl b/backend/instance/sessions/f63674517b78563a1250350c1c9a6217_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..9254bcb85922450c550fec2712cb2c25ac3c5f2d GIT binary patch literal 60 zcmZo*nQF)Y0kulv6E LS{R#5Db@o3@cs}c literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/f63bde7174f7ccf080b4ef825cd843ff_activity.pkl b/backend/instance/sessions/f63bde7174f7ccf080b4ef825cd843ff_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..7653fe9f23e7c0a1e8ce1bcc3b47ad49c14fa4c9 GIT binary patch literal 60 zcmZo*nQF)Y0kuX{ju LTN;{8Db@o3@ud(n literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/f746713f0cab42e9e55b359a44c4679a_activity.pkl b/backend/instance/sessions/f746713f0cab42e9e55b359a44c4679a_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..d6be37d989dc54c3a1788a990bddbd4270d79133 GIT binary patch literal 60 zcmZo*nQF)Y0kuX{oD L8=4zTDb@o3@z4-5 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/f7543ebaef2fbcb515fa2b71266c63ee_activity.pkl b/backend/instance/sessions/f7543ebaef2fbcb515fa2b71266c63ee_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..2d966df3bf33f0c9b88a9643ee953967232dd25d GIT binary patch literal 60 zcmZo*nQF)Y0kuc>zNuF LnVMQoDb@o3@jMVM literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/f7fb58cc07fb879cd6f9fb8f2102887d_activity.pkl b/backend/instance/sessions/f7fb58cc07fb879cd6f9fb8f2102887d_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..0486fa6efb718ee03736a25bfafe00fe8ad7edc5 GIT binary patch literal 60 zcmZo*nQF)Y0kuY11r LnHrc+Db@o3@w^Z- literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/f8e931e1cc7eac80a872ff9f0c5a8990_activity.pkl b/backend/instance/sessions/f8e931e1cc7eac80a872ff9f0c5a8990_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..9a33262e2664acd446fd4ec11cc4dc2c449cd09e GIT binary patch literal 60 zcmZo*nQF)Y0ku6x1v Ln;V);Db@o3@eB|r literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/f9c54fc31f2a61f96edddfd1140b5505_activity.pkl b/backend/instance/sessions/f9c54fc31f2a61f96edddfd1140b5505_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..562dce02a484bf7bf5b4a7aa4903b32b243cb8ec GIT binary patch literal 60 zcmZo*nQF)Y0kuzSAs L8k-qTDb@o3@naAw literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/f9d77ca849ab7815be6204286c943816_activity.pkl b/backend/instance/sessions/f9d77ca849ab7815be6204286c943816_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..5d034396e655fc113b47ab86daeb59af2e4a7e99 GIT binary patch literal 60 zcmZo*nQF)Y0kuXG6Db@o3@ktOZ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/fa108c1d23273f0980522101456ab214_activity.pkl b/backend/instance/sessions/fa108c1d23273f0980522101456ab214_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..23b1da0264b35b39bccf183810709f2cf7e864e1 GIT binary patch literal 60 zcmZo*nQF)Y0ku6sW< L8km|+Db@o3@aqsG literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/fa5eb2f47c603679126830a21ece0084_activity.pkl b/backend/instance/sessions/fa5eb2f47c603679126830a21ece0084_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..a081f5357de2650836aef24aedceb1d19864ba44 GIT binary patch literal 60 zcmZo*nQF)Y0kuzNyw Lo0^(TDb@o3@v{&% literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/fae28787a815eda9c3b3dbda8c558f46_activity.pkl b/backend/instance/sessions/fae28787a815eda9c3b3dbda8c558f46_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..72033cab558f45c28da540e49cb38d248e0ff270 GIT binary patch literal 60 zcmZo*nQF)Y0kuzNsu LTNoKmDb@o3@uLtj literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/fb2fdb2153b4f752b23ec3eb40165bfc_activity.pkl b/backend/instance/sessions/fb2fdb2153b4f752b23ec3eb40165bfc_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..b99db14630239c717eb5a71c197c8ac9404afde1 GIT binary patch literal 60 zcmZo*nQF)Y0ku6sgv L7?~MNDb@o3@nH}t literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/fba4d168589cba62427e6a128243ea09_activity.pkl b/backend/instance/sessions/fba4d168589cba62427e6a128243ea09_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..fcb46d73f757db91ebe31c51479d5d9197142d03 GIT binary patch literal 60 zcmZo*nQF)Y0kuQDb@o3@ly~h literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/fc1bc99399d08f5820222508ca4d7ae6_activity.pkl b/backend/instance/sessions/fc1bc99399d08f5820222508ca4d7ae6_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..5dc846f30d02f16d51cb9c7eeffaa53189d50ce4 GIT binary patch literal 60 zcmZo*nQF)Y0kuX{oE Lnphf4Db@o3@a+&I literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/fc6c6c0edeb777b1b0dee4db96b9b32e_activity.pkl b/backend/instance/sessions/fc6c6c0edeb777b1b0dee4db96b9b32e_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..e88e576febedcd47525665cee83c903812f80460 GIT binary patch literal 60 zcmZo*nQF)Y0kuY Lni!i*Db@o3@x2f> literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/fcc527e83b2cbe105c85ad5d03d64854_activity.pkl b/backend/instance/sessions/fcc527e83b2cbe105c85ad5d03d64854_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..65b725ae9a65c3bcdf102d86b79953c66f61feb4 GIT binary patch literal 60 zcmZo*nQF)Y0kuzSJw Lni`r-Db@o3@tY7a literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/fd731686fcbf775c2fe0592fe1c39db0_activity.pkl b/backend/instance/sessions/fd731686fcbf775c2fe0592fe1c39db0_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..f84fe118726faeaeb794341658279bbf55d52ee9 GIT binary patch literal 60 zcmZo*nQF)Y0kuzSLI L8Je0+Db@o3@v#s# literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/fd7844d28ae98062fe8c32f89dc6e3ca_activity.pkl b/backend/instance/sessions/fd7844d28ae98062fe8c32f89dc6e3ca_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..3859dca544f5db9d03255d1b381c9329b6e6539d GIT binary patch literal 60 zcmZo*nQF)Y0kuKU3@ LnwXhRDb@o3@yQT5 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/fd96a03d80217ea62fc5d4673e913215_activity.pkl b/backend/instance/sessions/fd96a03d80217ea62fc5d4673e913215_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..13ff023f42fed6338421bc47d4ae8bee8dcc62d1 GIT binary patch literal 60 zcmZo*nQF)Y0kusgqa Lnpl`kDb@o3@)r<6 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/fdeb72bc2c8e19ee4147dc2abc4e2ec7_activity.pkl b/backend/instance/sessions/fdeb72bc2c8e19ee4147dc2abc4e2ec7_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..44ee6e05749ae666955c340a74bb8f9dd324cae8 GIT binary patch literal 60 zcmZo*nQF)Y0kuKPfE L8k(6-Db@o3@fQ## literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/fe06d970ea9935a8f6fdd983bab60b34_activity.pkl b/backend/instance/sessions/fe06d970ea9935a8f6fdd983bab60b34_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..2eacc4865b1a54f7054498e7b54ded0d0bc42b2f GIT binary patch literal 60 zcmZo*nQF)Y0kuX{lD LnVXnQDb@o3@yQT1 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/fe09a24fee755ccd783f54d3088af205_activity.pkl b/backend/instance/sessions/fe09a24fee755ccd783f54d3088af205_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..9f35bd40585205b18e93824408cbbca7f51cf84f GIT binary patch literal 60 zcmZo*nQF)Y0kuKU7w LT3DD&Db@o3@t6=c literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/fe6f8de1f01377174872a1cb7a61b5c0_activity.pkl b/backend/instance/sessions/fe6f8de1f01377174872a1cb7a61b5c0_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..43c846b2e112dfeb1037ddef0fdaa32f306b609a GIT binary patch literal 60 zcmZo*nQF)Y0ku6w|E Lniv>PDb@o3@cs}Z literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/ff9730d2789bf36664076806a67356f0_activity.pkl b/backend/instance/sessions/ff9730d2789bf36664076806a67356f0_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..2b9cb8d5e9e234c10239a023e1d3237e7b585283 GIT binary patch literal 60 zcmZo*nQF)Y0kulv9E Lnp>JrDb@o3@x2f^ literal 0 HcmV?d00001 diff --git a/backend/logs/admin/admin.log b/backend/logs/admin/admin.log index 78ebdceb2..c7f9645ff 100644 --- a/backend/logs/admin/admin.log +++ b/backend/logs/admin/admin.log @@ -1438,3 +1438,141 @@ ^^^^^^^^^^^^^^^^^^^^^^^ jinja2.exceptions.UndefinedError: 'maintenance_info' is undefined +2025-06-20 00:45:54 - [admin] admin - [INFO] INFO - Admin-Check für Funktion admin_dashboard: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:45:54 - [admin] admin - [INFO] INFO - Admin-Dashboard geladen von admin +2025-06-20 00:45:55 - [admin] admin - [ERROR] ERROR - Fehler beim Laden des Admin-Dashboards: 'dict object' has no attribute 'online_printers' +2025-06-20 00:45:55 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:45:55 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:45:56 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin +2025-06-20 00:45:59 - [admin] admin - [INFO] INFO - Admin-Check für Funktion admin_dashboard: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:45:59 - [admin] admin - [INFO] INFO - Admin-Dashboard geladen von admin +2025-06-20 00:45:59 - [admin] admin - [ERROR] ERROR - Fehler beim Laden des Admin-Dashboards: 'dict object' has no attribute 'online_printers' +2025-06-20 00:45:59 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:45:59 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:46:00 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin +2025-06-20 00:46:01 - [admin] admin - [INFO] INFO - Admin-Check für Funktion users_overview: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:46:01 - [admin] admin - [INFO] INFO - Benutzerübersicht geladen von admin +2025-06-20 00:46:01 - [admin] admin - [ERROR] ERROR - Fehler beim Laden der Benutzerübersicht: 'dict object' has no attribute 'online_printers' +2025-06-20 00:46:01 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:46:01 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:46:02 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin +2025-06-20 00:46:24 - [admin] admin - [INFO] INFO - Admin-Check für Funktion users_overview: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:46:24 - [admin] admin - [INFO] INFO - Benutzerübersicht geladen von admin +2025-06-20 00:46:24 - [admin] admin - [ERROR] ERROR - Fehler beim Laden der Benutzerübersicht: 'dict object' has no attribute 'online_printers' +2025-06-20 00:46:24 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:46:24 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:46:25 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin +2025-06-20 00:46:54 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:46:54 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:46:54 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_error_recovery_status: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:46:55 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin +2025-06-20 00:47:34 - [admin] admin - [INFO] INFO - Admin-Check für Funktion admin_dashboard: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:47:34 - [admin] admin - [INFO] INFO - Admin-Dashboard geladen von admin +2025-06-20 00:47:34 - [admin] admin - [ERROR] ERROR - Fehler beim Laden des Admin-Dashboards: 'dict object' has no attribute 'online_printers' +2025-06-20 00:47:34 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:47:34 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:47:35 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin +2025-06-20 00:47:37 - [admin] admin - [INFO] INFO - Admin-Check für Funktion guest_otps_management: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:47:37 - [admin] admin - [INFO] INFO - Gast-OTP-Verwaltung aufgerufen von Admin Administrator +2025-06-20 00:47:37 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_pending_guest_otps_api: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:47:37 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_guest_requests_api: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:47:37 - [admin] admin - [INFO] INFO - Aktive OTP-Codes abgerufen: 0 Codes +2025-06-20 00:47:37 - [admin] admin - [INFO] INFO - Gastanfragen abgerufen: 0 Einträge für Admin Administrator +2025-06-20 00:47:39 - [admin] admin - [INFO] INFO - Admin-Check für Funktion tapo_monitoring: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:47:39 - [admin] admin - [INFO] INFO - Tapo-Monitoring aufgerufen von admin +2025-06-20 00:47:52 - [admin] admin - [INFO] INFO - Tapo-Monitoring geladen: 6 Steckdosen, 0 online +2025-06-20 00:48:22 - [admin] admin - [INFO] INFO - Admin-Check für Funktion tapo_monitoring: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:48:22 - [admin] admin - [INFO] INFO - Tapo-Monitoring aufgerufen von admin +2025-06-20 00:48:35 - [admin] admin - [INFO] INFO - Tapo-Monitoring geladen: 6 Steckdosen, 0 online +2025-06-20 00:49:05 - [admin] admin - [INFO] INFO - Admin-Check für Funktion tapo_monitoring: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:49:05 - [admin] admin - [INFO] INFO - Tapo-Monitoring aufgerufen von admin +2025-06-20 00:49:18 - [admin] admin - [INFO] INFO - Admin-Check für Funktion tapo_monitoring: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:49:18 - [admin] admin - [INFO] INFO - Tapo-Monitoring aufgerufen von admin +2025-06-20 00:49:31 - [admin] admin - [INFO] INFO - Tapo-Monitoring geladen: 6 Steckdosen, 0 online +2025-06-20 00:49:54 - [admin] admin - [INFO] INFO - Admin-Check für Funktion admin_dashboard: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:49:54 - [admin] admin - [INFO] INFO - Admin-Dashboard geladen von admin +2025-06-20 00:49:54 - [admin] admin - [ERROR] ERROR - Fehler beim Laden des Admin-Dashboards: 'dict object' has no attribute 'online_printers' +2025-06-20 00:49:54 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:49:54 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:49:55 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin +2025-06-20 00:54:58 - [admin] admin - [INFO] INFO - Admin-Check für Funktion admin_dashboard: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:54:58 - [admin] admin - [INFO] INFO - Admin-Dashboard geladen von admin +2025-06-20 00:54:58 - [admin] admin - [ERROR] ERROR - Fehler beim Laden des Admin-Dashboards: 'dict object' has no attribute 'online_printers' +2025-06-20 00:54:59 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:54:59 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:55:00 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin +2025-06-20 00:55:00 - [admin] admin - [INFO] INFO - Admin-Check für Funktion guest_otps_management: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:55:00 - [admin] admin - [INFO] INFO - Gast-OTP-Verwaltung aufgerufen von Admin Administrator +2025-06-20 00:55:01 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_pending_guest_otps_api: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:55:01 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_guest_requests_api: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:55:01 - [admin] admin - [INFO] INFO - Gastanfragen abgerufen: 0 Einträge für Admin Administrator +2025-06-20 00:55:01 - [admin] admin - [INFO] INFO - Aktive OTP-Codes abgerufen: 0 Codes +2025-06-20 00:55:04 - [admin] admin - [INFO] INFO - Admin-Check für Funktion tapo_monitoring: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:55:04 - [admin] admin - [INFO] INFO - Tapo-Monitoring aufgerufen von admin +2025-06-20 00:55:17 - [admin] admin - [INFO] INFO - Tapo-Monitoring geladen: 6 Steckdosen, 0 online +2025-06-20 00:55:47 - [admin] admin - [INFO] INFO - Admin-Check für Funktion tapo_monitoring: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:55:47 - [admin] admin - [INFO] INFO - Tapo-Monitoring aufgerufen von admin +2025-06-20 00:56:00 - [admin] admin - [INFO] INFO - Tapo-Monitoring geladen: 6 Steckdosen, 0 online +2025-06-20 00:56:30 - [admin] admin - [INFO] INFO - Admin-Check für Funktion tapo_monitoring: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:56:30 - [admin] admin - [INFO] INFO - Tapo-Monitoring aufgerufen von admin +2025-06-20 00:56:43 - [admin] admin - [INFO] INFO - Tapo-Monitoring geladen: 6 Steckdosen, 0 online +2025-06-20 00:56:58 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_bulk_tapo_control: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:57:00 - [admin] admin - [INFO] INFO - Admin-Check für Funktion tapo_monitoring: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:57:00 - [admin] admin - [INFO] INFO - Tapo-Monitoring aufgerufen von admin +2025-06-20 00:57:04 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_tapo_health_check: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:57:13 - [admin] admin - [INFO] INFO - Tapo-Monitoring geladen: 6 Steckdosen, 0 online +2025-06-20 00:57:43 - [admin] admin - [INFO] INFO - Admin-Check für Funktion tapo_monitoring: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:57:43 - [admin] admin - [INFO] INFO - Tapo-Monitoring aufgerufen von admin +2025-06-20 00:57:47 - [admin] admin - [INFO] INFO - Admin-Check für Funktion tapo_monitoring: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:57:47 - [admin] admin - [INFO] INFO - Tapo-Monitoring aufgerufen von admin +2025-06-20 00:57:47 - [admin] admin - [INFO] INFO - Admin-Check für Funktion admin_dashboard: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:57:47 - [admin] admin - [INFO] INFO - Admin-Dashboard geladen von admin +2025-06-20 00:57:48 - [admin] admin - [ERROR] ERROR - Fehler beim Laden des Admin-Dashboards: 'dict object' has no attribute 'online_printers' +2025-06-20 00:57:48 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:57:48 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:57:49 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin +2025-06-20 00:57:50 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:57:51 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin +2025-06-20 00:57:59 - [admin] admin - [INFO] INFO - Admin-Check für Funktion advanced_settings: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:57:59 - [admin] admin - [INFO] INFO - Erweiterte Einstellungen werden geladen von admin +2025-06-20 00:57:59 - [admin] admin - [INFO] INFO - Template wird gerendert mit stats: {'total_users': 3, 'total_printers': 6, 'active_printers': 0, 'total_jobs': 0, 'pending_jobs': 0} +2025-06-20 00:58:00 - [admin] admin - [INFO] INFO - Tapo-Monitoring geladen: 6 Steckdosen, 0 online +2025-06-20 00:58:25 - [admin] admin - [INFO] INFO - Admin-Check für Funktion guest_otps_management: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:58:25 - [admin] admin - [INFO] INFO - Gast-OTP-Verwaltung aufgerufen von Admin Administrator +2025-06-20 00:58:25 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_pending_guest_otps_api: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:58:25 - [admin] admin - [INFO] INFO - Aktive OTP-Codes abgerufen: 0 Codes +2025-06-20 00:58:25 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_guest_requests_api: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:58:25 - [admin] admin - [INFO] INFO - Gastanfragen abgerufen: 0 Einträge für Admin Administrator +2025-06-20 00:58:31 - [admin] admin - [INFO] INFO - Admin-Check für Funktion users_overview: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:58:31 - [admin] admin - [INFO] INFO - Benutzerübersicht geladen von admin +2025-06-20 00:58:31 - [admin] admin - [ERROR] ERROR - Fehler beim Laden der Benutzerübersicht: 'dict object' has no attribute 'online_printers' +2025-06-20 00:58:32 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:58:32 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:58:33 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin +2025-06-20 00:58:44 - [admin] admin - [INFO] INFO - Admin-Check für Funktion create_user_api: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:58:51 - [admin] admin - [INFO] INFO - Admin-Check für Funktion create_user_api: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:58:51 - [admin] admin - [INFO] INFO - Neuer Benutzer erstellt: admin@example.com2 von Admin admin +2025-06-20 00:58:52 - [admin] admin - [INFO] INFO - Admin-Check für Funktion users_overview: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:58:52 - [admin] admin - [INFO] INFO - Benutzerübersicht geladen von admin +2025-06-20 00:58:52 - [admin] admin - [ERROR] ERROR - Fehler beim Laden der Benutzerübersicht: 'dict object' has no attribute 'online_printers' +2025-06-20 00:58:52 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:58:53 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:58:54 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin +2025-06-20 00:58:56 - [admin] admin - [INFO] INFO - Admin-Check für Funktion users_overview: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:58:56 - [admin] admin - [INFO] INFO - Benutzerübersicht geladen von admin +2025-06-20 00:58:56 - [admin] admin - [ERROR] ERROR - Fehler beim Laden der Benutzerübersicht: 'dict object' has no attribute 'online_printers' +2025-06-20 00:58:57 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:58:57 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:58:58 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin +2025-06-20 00:59:27 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:59:27 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:59:27 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_error_recovery_status: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:59:28 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin +2025-06-20 00:59:57 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_error_recovery_status: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:59:57 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:59:57 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 00:59:58 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin +2025-06-20 01:00:27 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_error_recovery_status: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 01:00:27 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 01:00:27 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 01:00:28 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin diff --git a/backend/logs/admin_api/admin_api.log b/backend/logs/admin_api/admin_api.log index e7eb2e204..0ec6fc42d 100644 --- a/backend/logs/admin_api/admin_api.log +++ b/backend/logs/admin_api/admin_api.log @@ -561,3 +561,41 @@ 2025-06-20 00:31:52 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin 2025-06-20 00:32:10 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin 2025-06-20 00:32:33 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin +2025-06-20 00:45:55 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin +2025-06-20 00:45:59 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin +2025-06-20 00:46:01 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin +2025-06-20 00:46:24 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin +2025-06-20 00:46:54 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status angefordert von admin +2025-06-20 00:46:54 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin +2025-06-20 00:46:55 - [admin_api] admin_api - [ERROR] ERROR - Datenbank-Health-Check für Error-Recovery fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 00:46:55 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status abgerufen: critical +2025-06-20 00:47:34 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin +2025-06-20 00:49:54 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin +2025-06-20 00:54:59 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin +2025-06-20 00:56:58 - [admin_api] admin_api - [INFO] INFO - Bulk-Tapo-Steuerung von admin +2025-06-20 00:56:58 - [admin_api] admin_api - [ERROR] ERROR - Fehler bei Bulk-Steuerung für Drucker 3: 'DruckerSteuerung' object has no attribute 'toggle_plug' +2025-06-20 00:56:58 - [admin_api] admin_api - [INFO] INFO - Bulk-Tapo-Steuerung abgeschlossen: 0 erfolgreich, 1 Fehler +2025-06-20 00:57:04 - [admin_api] admin_api - [INFO] INFO - Tapo-Gesundheitscheck von admin +2025-06-20 00:57:04 - [admin_api] admin_api - [ERROR] ERROR - Fehler beim Gesundheitscheck für Drucker 1: 'DruckerSteuerung' object has no attribute 'ping_address' +2025-06-20 00:57:04 - [admin_api] admin_api - [ERROR] ERROR - Fehler beim Gesundheitscheck für Drucker 2: 'DruckerSteuerung' object has no attribute 'ping_address' +2025-06-20 00:57:04 - [admin_api] admin_api - [ERROR] ERROR - Fehler beim Gesundheitscheck für Drucker 3: 'DruckerSteuerung' object has no attribute 'ping_address' +2025-06-20 00:57:04 - [admin_api] admin_api - [ERROR] ERROR - Fehler beim Gesundheitscheck für Drucker 4: 'DruckerSteuerung' object has no attribute 'ping_address' +2025-06-20 00:57:04 - [admin_api] admin_api - [ERROR] ERROR - Fehler beim Gesundheitscheck für Drucker 5: 'DruckerSteuerung' object has no attribute 'ping_address' +2025-06-20 00:57:04 - [admin_api] admin_api - [ERROR] ERROR - Fehler beim Gesundheitscheck für Drucker 6: 'DruckerSteuerung' object has no attribute 'ping_address' +2025-06-20 00:57:04 - [admin_api] admin_api - [INFO] INFO - Tapo-Gesundheitscheck abgeschlossen: {'total': 6, 'healthy': 0, 'warning': 0, 'critical': 6} +2025-06-20 00:57:48 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin +2025-06-20 00:58:32 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin +2025-06-20 00:58:52 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin +2025-06-20 00:58:57 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin +2025-06-20 00:59:27 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status angefordert von admin +2025-06-20 00:59:27 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin +2025-06-20 00:59:28 - [admin_api] admin_api - [ERROR] ERROR - Datenbank-Health-Check für Error-Recovery fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 00:59:28 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status abgerufen: critical +2025-06-20 00:59:57 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status angefordert von admin +2025-06-20 00:59:57 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin +2025-06-20 00:59:58 - [admin_api] admin_api - [ERROR] ERROR - Datenbank-Health-Check für Error-Recovery fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 00:59:58 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status abgerufen: critical +2025-06-20 01:00:27 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status angefordert von admin +2025-06-20 01:00:27 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin +2025-06-20 01:00:28 - [admin_api] admin_api - [ERROR] ERROR - Datenbank-Health-Check für Error-Recovery fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 01:00:28 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status abgerufen: critical diff --git a/backend/logs/app/app.log b/backend/logs/app/app.log index 10c7b7911..cac9c4e24 100644 --- a/backend/logs/app/app.log +++ b/backend/logs/app/app.log @@ -54998,3 +54998,1377 @@ WHERE users.role = ?] 2025-06-20 00:35:48 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... 2025-06-20 00:35:48 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet 2025-06-20 00:35:48 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://: +2025-06-20 00:44:54 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 00:44:55 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: +2025-06-20 00:44:55 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: +2025-06-20 00:44:55 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-20 00:44:55 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-20 00:44:55 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Konfiguration aktiviert +2025-06-20 00:44:55 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: +2025-06-20 00:44:55 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: +2025-06-20 00:44:55 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: +2025-06-20 00:44:55 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 00:44:55 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: erstellt, aktualisiert +2025-06-20 00:44:55 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP -Umgebung +2025-06-20 00:44:55 - [app] app - [INFO] INFO - [STARTUP] 🏢 +2025-06-20 00:44:55 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped: +2025-06-20 00:44:55 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-20 00:44:55 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-20 00:44:55 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert +2025-06-20 00:44:55 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin... +2025-06-20 00:44:55 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt. +2025-06-20 00:44:55 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft +2025-06-20 00:44:55 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker... +2025-06-20 00:44:55 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100) +2025-06-20 00:44:55 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101) +2025-06-20 00:44:55 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102) +2025-06-20 00:44:55 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103) +2025-06-20 00:44:55 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104) +2025-06-20 00:44:55 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106) +2025-06-20 00:44:55 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert +2025-06-20 00:44:55 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert +2025-06-20 00:44:55 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105) +2025-06-20 00:44:55 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert +2025-06-20 00:44:55 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-20 00:44:55 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet +2025-06-20 00:44:55 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-20 00:44:55 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet +2025-06-20 00:44:55 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://: +2025-06-20 00:44:55 - [app] app - [INFO] INFO - [SHUTDOWN] 🧹 Cleanup wird ausgeführt... +2025-06-20 00:44:55 - [app] app - [INFO] INFO - [SHUTDOWN] ✅ Queue Manager gestoppt +2025-06-20 00:44:55 - [app] app - [ERROR] ERROR - [SHUTDOWN] ❌ Cleanup-Fehler: +2025-06-20 00:45:01 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 1, Status: disconnected, Quelle: system +2025-06-20 00:45:03 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 2, Status: disconnected, Quelle: system +2025-06-20 00:45:05 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 3, Status: disconnected, Quelle: system +2025-06-20 00:45:07 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 4, Status: disconnected, Quelle: system +2025-06-20 00:45:09 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 5, Status: disconnected, Quelle: system +2025-06-20 00:45:11 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 6, Status: disconnected, Quelle: system +2025-06-20 00:45:11 - [app] app - [INFO] INFO - Locating template 'printers.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/printers.html') +2025-06-20 00:45:11 - [app] app - [INFO] INFO - Locating template 'base.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/base.html') +2025-06-20 00:45:11 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:45:12 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:45:12 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:45:42 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:45:42 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:45:47 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:45:47 - [app] app - [INFO] INFO - Locating template 'calendar.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/calendar.html') +2025-06-20 00:45:47 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:45:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:45:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:45:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:45:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:45:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:45:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:45:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:45:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:45:50 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:45:50 - [app] app - [INFO] INFO - Locating template 'energy_dashboard.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/energy_dashboard.html') +2025-06-20 00:45:50 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:45:50 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:45:50 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:45:50 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:45:50 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:45:52 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:45:52 - [app] app - [INFO] INFO - Locating template 'stats.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/stats.html') +2025-06-20 00:45:52 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:45:52 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:45:52 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:45:53 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:45:53 - [app] app - [INFO] INFO - Locating template 'guest_request.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/guest_request.html') +2025-06-20 00:45:53 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:45:53 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:45:53 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:45:54 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:45:54 - [app] app - [INFO] INFO - Locating template 'admin.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/admin.html') +2025-06-20 00:45:55 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:45:55 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:45:55 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:45:55 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:45:55 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:45:55 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:45:56 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:45:57 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:45:57 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:45:57 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:45:57 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:45:59 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:45:59 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:45:59 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:45:59 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:45:59 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:45:59 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:45:59 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:46:00 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:46:01 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:46:01 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:46:01 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:46:01 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:46:01 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:46:01 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:46:01 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:46:02 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:46:16 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:46:16 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:46:16 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:46:16 - [app] app - [INFO] INFO - Locating template 'login.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/login.html') +2025-06-20 00:46:16 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:46:24 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:46:24 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:46:24 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:46:24 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:46:24 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:46:24 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:46:24 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:46:25 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:46:38 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 00:46:38 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 00:46:54 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:46:54 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:46:54 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:46:54 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:46:54 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:46:54 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:46:55 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:46:55 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 00:46:55 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:46:58 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:46:58 - [app] app - [INFO] INFO - Locating template 'imprint.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/imprint.html') +2025-06-20 00:46:58 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:46:58 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:46:58 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:47:15 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:47:15 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:47:16 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:47:16 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:47:16 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:47:16 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:47:16 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:47:16 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:47:17 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:47:17 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:47:17 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:47:17 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:47:17 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:47:17 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:47:17 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:47:17 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:47:18 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:47:18 - [app] app - [INFO] INFO - Locating template 'jobs.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/jobs.html') +2025-06-20 00:47:18 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:47:19 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:47:19 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:47:19 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:47:19 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:47:19 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:47:19 - [app] app - [INFO] INFO - ✅ API: Drucker abgerufen (include_inactive=) +2025-06-20 00:47:19 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:47:20 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:47:21 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:47:21 - [app] app - [INFO] INFO - Locating template 'dashboard.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/dashboard.html') +2025-06-20 00:47:21 - [app] app - [INFO] INFO - Locating template 'macros/ui_components.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/macros/ui_components.html') +2025-06-20 00:47:21 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:47:22 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:47:22 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:47:22 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 1, Status: disconnected, Quelle: system +2025-06-20 00:47:22 - [app] app - [DEBUG] DEBUG - 📊 Auto-Status protokolliert: Drucker -> +2025-06-20 00:47:24 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 2, Status: disconnected, Quelle: system +2025-06-20 00:47:24 - [app] app - [DEBUG] DEBUG - 📊 Auto-Status protokolliert: Drucker -> +2025-06-20 00:47:25 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:47:25 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:47:25 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:47:25 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:47:26 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 3, Status: disconnected, Quelle: system +2025-06-20 00:47:26 - [app] app - [DEBUG] DEBUG - 📊 Auto-Status protokolliert: Drucker -> +2025-06-20 00:47:28 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:47:28 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:47:28 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:47:28 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:47:28 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 4, Status: disconnected, Quelle: system +2025-06-20 00:47:28 - [app] app - [DEBUG] DEBUG - 📊 Auto-Status protokolliert: Drucker -> +2025-06-20 00:47:30 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 5, Status: disconnected, Quelle: system +2025-06-20 00:47:30 - [app] app - [DEBUG] DEBUG - 📊 Auto-Status protokolliert: Drucker -> +2025-06-20 00:47:33 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 6, Status: disconnected, Quelle: system +2025-06-20 00:47:33 - [app] app - [DEBUG] DEBUG - 📊 Auto-Status protokolliert: Drucker -> +2025-06-20 00:47:33 - [app] app - [DEBUG] DEBUG - ✅ Status-Updates für Drucker erfolgreich gespeichert +2025-06-20 00:47:33 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:47:34 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:47:34 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:47:34 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:47:34 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:47:34 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:47:34 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:47:34 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:47:35 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:47:37 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:47:37 - [app] app - [INFO] INFO - Locating template 'admin_guest_otps.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/admin_guest_otps.html') +2025-06-20 00:47:37 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:47:37 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:47:37 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:47:37 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:47:37 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:47:37 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:47:37 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:47:39 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:47:52 - [app] app - [INFO] INFO - Locating template 'admin_tapo_monitoring.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/admin_tapo_monitoring.html') +2025-06-20 00:47:52 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:47:52 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:47:52 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:48:22 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:48:35 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:48:35 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:48:35 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:49:05 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:49:15 - [app] app - [INFO] INFO - [SHUTDOWN] 🧹 Cleanup wird ausgeführt... +2025-06-20 00:49:15 - [app] app - [INFO] INFO - [SHUTDOWN] ✅ Queue Manager gestoppt +2025-06-20 00:49:15 - [app] app - [ERROR] ERROR - [SHUTDOWN] ❌ Cleanup-Fehler: +2025-06-20 00:49:16 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 00:49:17 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: +2025-06-20 00:49:17 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: +2025-06-20 00:49:17 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-20 00:49:17 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-20 00:49:17 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Konfiguration aktiviert +2025-06-20 00:49:17 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: +2025-06-20 00:49:17 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: +2025-06-20 00:49:17 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: +2025-06-20 00:49:17 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 00:49:17 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: erstellt, aktualisiert +2025-06-20 00:49:17 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP -Umgebung +2025-06-20 00:49:17 - [app] app - [INFO] INFO - [STARTUP] 🏢 +2025-06-20 00:49:17 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped: +2025-06-20 00:49:17 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-20 00:49:17 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-20 00:49:17 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert +2025-06-20 00:49:17 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin... +2025-06-20 00:49:18 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt. +2025-06-20 00:49:18 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft +2025-06-20 00:49:18 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker... +2025-06-20 00:49:18 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100) +2025-06-20 00:49:18 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101) +2025-06-20 00:49:18 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102) +2025-06-20 00:49:18 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103) +2025-06-20 00:49:18 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104) +2025-06-20 00:49:18 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106) +2025-06-20 00:49:18 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert +2025-06-20 00:49:18 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert +2025-06-20 00:49:18 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105) +2025-06-20 00:49:18 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert +2025-06-20 00:49:18 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-20 00:49:18 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet +2025-06-20 00:49:18 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-20 00:49:18 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet +2025-06-20 00:49:18 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://: +2025-06-20 00:49:31 - [app] app - [INFO] INFO - Locating template 'admin_tapo_monitoring.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/admin_tapo_monitoring.html') +2025-06-20 00:49:31 - [app] app - [INFO] INFO - Locating template 'base.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/base.html') +2025-06-20 00:49:31 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:49:31 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:49:31 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:49:49 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:49:49 - [app] app - [INFO] INFO - Locating template 'calendar.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/calendar.html') +2025-06-20 00:49:49 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:49:49 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:49:49 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:49:49 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:49:49 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:49:49 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:49:49 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:49:49 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:49:49 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:49:54 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:49:54 - [app] app - [INFO] INFO - Locating template 'admin.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/admin.html') +2025-06-20 00:49:54 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:49:54 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:49:54 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:49:54 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:49:54 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:49:54 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:49:55 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:49:56 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:49:56 - [app] app - [INFO] INFO - Locating template 'guest_request.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/guest_request.html') +2025-06-20 00:49:56 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:49:56 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:49:56 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:49:59 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:49:59 - [app] app - [INFO] INFO - Locating template 'stats.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/stats.html') +2025-06-20 00:49:59 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:49:59 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:49:59 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:50:02 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:50:02 - [app] app - [INFO] INFO - Locating template 'dashboard.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/dashboard.html') +2025-06-20 00:50:02 - [app] app - [INFO] INFO - Locating template 'macros/ui_components.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/macros/ui_components.html') +2025-06-20 00:50:02 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:50:02 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:50:02 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:50:06 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:50:08 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 1, Status: disconnected, Quelle: system +2025-06-20 00:50:08 - [app] app - [DEBUG] DEBUG - 📊 Auto-Status protokolliert: Drucker -> +2025-06-20 00:50:10 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 2, Status: disconnected, Quelle: system +2025-06-20 00:50:10 - [app] app - [DEBUG] DEBUG - 📊 Auto-Status protokolliert: Drucker -> +2025-06-20 00:50:12 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:50:12 - [app] app - [INFO] INFO - Locating template 'guest_requests_overview.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/guest_requests_overview.html') +2025-06-20 00:50:12 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:50:12 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:50:12 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:50:12 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 3, Status: disconnected, Quelle: system +2025-06-20 00:50:12 - [app] app - [DEBUG] DEBUG - 📊 Auto-Status protokolliert: Drucker -> +2025-06-20 00:50:14 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 4, Status: disconnected, Quelle: system +2025-06-20 00:50:14 - [app] app - [DEBUG] DEBUG - 📊 Auto-Status protokolliert: Drucker -> +2025-06-20 00:50:16 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 5, Status: disconnected, Quelle: system +2025-06-20 00:50:16 - [app] app - [DEBUG] DEBUG - 📊 Auto-Status protokolliert: Drucker -> +2025-06-20 00:50:17 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:50:17 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:50:17 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:50:17 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:50:18 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 6, Status: disconnected, Quelle: system +2025-06-20 00:50:18 - [app] app - [DEBUG] DEBUG - 📊 Auto-Status protokolliert: Drucker -> +2025-06-20 00:50:18 - [app] app - [DEBUG] DEBUG - ✅ Status-Updates für Drucker erfolgreich gespeichert +2025-06-20 00:50:18 - [app] app - [INFO] INFO - Locating template 'printers.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/printers.html') +2025-06-20 00:50:18 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:50:18 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:50:18 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:50:23 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:50:23 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:50:23 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:50:23 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:50:24 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:50:24 - [app] app - [INFO] INFO - Locating template 'energy_dashboard.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/energy_dashboard.html') +2025-06-20 00:50:24 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:50:24 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:50:24 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:50:24 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:50:24 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:50:41 - [app] app - [INFO] INFO - [SHUTDOWN] 🧹 Cleanup wird ausgeführt... +2025-06-20 00:50:41 - [app] app - [INFO] INFO - [SHUTDOWN] ✅ Queue Manager gestoppt +2025-06-20 00:50:41 - [app] app - [ERROR] ERROR - [SHUTDOWN] ❌ Cleanup-Fehler: +2025-06-20 00:50:42 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 00:50:43 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: +2025-06-20 00:50:43 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: +2025-06-20 00:50:43 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-20 00:50:43 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-20 00:50:43 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Konfiguration aktiviert +2025-06-20 00:50:43 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: +2025-06-20 00:50:43 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: +2025-06-20 00:50:43 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: +2025-06-20 00:50:43 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 00:50:43 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: erstellt, aktualisiert +2025-06-20 00:50:43 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP -Umgebung +2025-06-20 00:50:43 - [app] app - [INFO] INFO - [STARTUP] 🏢 +2025-06-20 00:50:43 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped: +2025-06-20 00:50:43 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-20 00:50:43 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-20 00:50:43 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert +2025-06-20 00:50:43 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin... +2025-06-20 00:50:43 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt. +2025-06-20 00:50:43 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft +2025-06-20 00:50:43 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker... +2025-06-20 00:50:43 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100) +2025-06-20 00:50:43 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101) +2025-06-20 00:50:43 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102) +2025-06-20 00:50:43 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103) +2025-06-20 00:50:43 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104) +2025-06-20 00:50:43 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106) +2025-06-20 00:50:43 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert +2025-06-20 00:50:43 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert +2025-06-20 00:50:43 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105) +2025-06-20 00:50:43 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert +2025-06-20 00:50:43 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-20 00:50:43 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet +2025-06-20 00:50:43 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-20 00:50:43 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet +2025-06-20 00:50:43 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://: +2025-06-20 00:51:13 - [app] app - [INFO] INFO - [SHUTDOWN] 🧹 Cleanup wird ausgeführt... +2025-06-20 00:51:13 - [app] app - [INFO] INFO - [SHUTDOWN] ✅ Queue Manager gestoppt +2025-06-20 00:51:13 - [app] app - [ERROR] ERROR - [SHUTDOWN] ❌ Cleanup-Fehler: +2025-06-20 00:51:14 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 00:51:15 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: +2025-06-20 00:51:15 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: +2025-06-20 00:51:15 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-20 00:51:15 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-20 00:51:15 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Konfiguration aktiviert +2025-06-20 00:51:15 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: +2025-06-20 00:51:15 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: +2025-06-20 00:51:15 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: +2025-06-20 00:51:15 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 00:51:15 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: erstellt, aktualisiert +2025-06-20 00:51:15 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP -Umgebung +2025-06-20 00:51:15 - [app] app - [INFO] INFO - [STARTUP] 🏢 +2025-06-20 00:51:15 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped: +2025-06-20 00:51:15 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-20 00:51:15 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-20 00:51:15 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert +2025-06-20 00:51:15 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin... +2025-06-20 00:51:15 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt. +2025-06-20 00:51:15 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft +2025-06-20 00:51:15 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker... +2025-06-20 00:51:15 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100) +2025-06-20 00:51:15 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101) +2025-06-20 00:51:15 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102) +2025-06-20 00:51:15 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103) +2025-06-20 00:51:15 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104) +2025-06-20 00:51:15 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106) +2025-06-20 00:51:15 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert +2025-06-20 00:51:15 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert +2025-06-20 00:51:15 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105) +2025-06-20 00:51:15 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert +2025-06-20 00:51:15 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-20 00:51:15 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet +2025-06-20 00:51:15 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-20 00:51:15 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet +2025-06-20 00:51:15 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://: +2025-06-20 00:52:19 - [app] app - [INFO] INFO - [SHUTDOWN] 🧹 Cleanup wird ausgeführt... +2025-06-20 00:52:19 - [app] app - [INFO] INFO - [SHUTDOWN] ✅ Queue Manager gestoppt +2025-06-20 00:52:19 - [app] app - [ERROR] ERROR - [SHUTDOWN] ❌ Cleanup-Fehler: +2025-06-20 00:52:20 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 00:52:21 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: +2025-06-20 00:52:21 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: +2025-06-20 00:52:21 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-20 00:52:21 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-20 00:52:21 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Konfiguration aktiviert +2025-06-20 00:52:21 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: +2025-06-20 00:52:21 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: +2025-06-20 00:52:21 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: +2025-06-20 00:52:21 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 00:52:21 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: erstellt, aktualisiert +2025-06-20 00:52:21 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP -Umgebung +2025-06-20 00:52:21 - [app] app - [INFO] INFO - [STARTUP] 🏢 +2025-06-20 00:52:21 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped: +2025-06-20 00:52:21 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-20 00:52:21 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-20 00:52:21 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert +2025-06-20 00:52:21 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin... +2025-06-20 00:52:21 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt. +2025-06-20 00:52:21 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft +2025-06-20 00:52:21 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker... +2025-06-20 00:52:21 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100) +2025-06-20 00:52:21 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101) +2025-06-20 00:52:21 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102) +2025-06-20 00:52:21 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103) +2025-06-20 00:52:21 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104) +2025-06-20 00:52:21 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106) +2025-06-20 00:52:21 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert +2025-06-20 00:52:21 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert +2025-06-20 00:52:21 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105) +2025-06-20 00:52:21 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert +2025-06-20 00:52:21 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-20 00:52:21 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet +2025-06-20 00:52:21 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-20 00:52:21 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet +2025-06-20 00:52:21 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://: +2025-06-20 00:52:37 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 00:52:38 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: +2025-06-20 00:52:38 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: +2025-06-20 00:52:38 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-20 00:52:38 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-20 00:52:38 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Konfiguration aktiviert +2025-06-20 00:52:38 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: +2025-06-20 00:52:38 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: +2025-06-20 00:52:38 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: +2025-06-20 00:52:38 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 00:52:38 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: erstellt, aktualisiert +2025-06-20 00:53:21 - [app] app - [INFO] INFO - Locating template 'system_info.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/system_info.html') +2025-06-20 00:53:21 - [app] app - [INFO] INFO - Locating template 'base.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/base.html') +2025-06-20 00:53:21 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:53:21 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:53:21 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:53:24 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:53:24 - [app] app - [INFO] INFO - Locating template 'calendar.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/calendar.html') +2025-06-20 00:53:24 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:53:24 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:53:24 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:53:24 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:53:24 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:53:24 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:53:24 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:53:24 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:53:24 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:53:29 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:53:29 - [app] app - [INFO] INFO - Locating template 'dashboard.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/dashboard.html') +2025-06-20 00:53:29 - [app] app - [INFO] INFO - Locating template 'macros/ui_components.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/macros/ui_components.html') +2025-06-20 00:53:29 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:53:29 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:53:29 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:53:35 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:53:35 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:53:35 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:53:35 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:53:47 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:53:47 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:53:48 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 00:53:49 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: +2025-06-20 00:53:49 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: +2025-06-20 00:53:49 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-20 00:53:49 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-20 00:53:49 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Konfiguration aktiviert +2025-06-20 00:53:49 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: +2025-06-20 00:53:49 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: +2025-06-20 00:53:49 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: +2025-06-20 00:53:49 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 00:53:49 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: erstellt, aktualisiert +2025-06-20 00:53:49 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP -Umgebung +2025-06-20 00:53:49 - [app] app - [INFO] INFO - [STARTUP] 🏢 +2025-06-20 00:53:49 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped: +2025-06-20 00:53:49 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-20 00:53:49 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-20 00:53:49 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert +2025-06-20 00:53:49 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin... +2025-06-20 00:53:49 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt. +2025-06-20 00:53:49 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft +2025-06-20 00:53:49 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker... +2025-06-20 00:53:49 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100) +2025-06-20 00:53:49 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101) +2025-06-20 00:53:49 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102) +2025-06-20 00:53:49 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103) +2025-06-20 00:53:49 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104) +2025-06-20 00:53:49 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106) +2025-06-20 00:53:49 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert +2025-06-20 00:53:49 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert +2025-06-20 00:53:49 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105) +2025-06-20 00:53:49 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert +2025-06-20 00:53:49 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-20 00:53:49 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet +2025-06-20 00:53:49 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-20 00:53:49 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet +2025-06-20 00:53:49 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://: +2025-06-20 00:53:49 - [app] app - [INFO] INFO - [SHUTDOWN] 🧹 Cleanup wird ausgeführt... +2025-06-20 00:53:49 - [app] app - [INFO] INFO - [SHUTDOWN] ✅ Queue Manager gestoppt +2025-06-20 00:53:49 - [app] app - [ERROR] ERROR - [SHUTDOWN] ❌ Cleanup-Fehler: +2025-06-20 00:54:05 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:54:05 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:54:11 - [app] app - [INFO] INFO - [SHUTDOWN] 🧹 Cleanup wird ausgeführt... +2025-06-20 00:54:11 - [app] app - [INFO] INFO - [SHUTDOWN] ✅ Queue Manager gestoppt +2025-06-20 00:54:11 - [app] app - [ERROR] ERROR - [SHUTDOWN] ❌ Cleanup-Fehler: +2025-06-20 00:54:28 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 00:54:28 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: +2025-06-20 00:54:28 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: +2025-06-20 00:54:28 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-20 00:54:28 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-20 00:54:28 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Konfiguration aktiviert +2025-06-20 00:54:28 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: +2025-06-20 00:54:28 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: +2025-06-20 00:54:28 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: +2025-06-20 00:54:28 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 00:54:28 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: erstellt, aktualisiert +2025-06-20 00:54:28 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP -Umgebung +2025-06-20 00:54:28 - [app] app - [INFO] INFO - [STARTUP] 🏢 +2025-06-20 00:54:28 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped: +2025-06-20 00:54:28 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-20 00:54:28 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-20 00:54:28 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert +2025-06-20 00:54:28 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin... +2025-06-20 00:54:29 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt. +2025-06-20 00:54:29 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft +2025-06-20 00:54:29 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker... +2025-06-20 00:54:29 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100) +2025-06-20 00:54:29 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101) +2025-06-20 00:54:29 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102) +2025-06-20 00:54:29 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103) +2025-06-20 00:54:29 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104) +2025-06-20 00:54:29 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106) +2025-06-20 00:54:29 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert +2025-06-20 00:54:29 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert +2025-06-20 00:54:29 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105) +2025-06-20 00:54:29 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert +2025-06-20 00:54:29 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-20 00:54:29 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet +2025-06-20 00:54:29 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-20 00:54:29 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet +2025-06-20 00:54:29 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://: +2025-06-20 00:54:29 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 00:54:30 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: +2025-06-20 00:54:30 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: +2025-06-20 00:54:30 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-20 00:54:30 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-20 00:54:30 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Konfiguration aktiviert +2025-06-20 00:54:30 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: +2025-06-20 00:54:30 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: +2025-06-20 00:54:30 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: +2025-06-20 00:54:30 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 00:54:30 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: erstellt, aktualisiert +2025-06-20 00:54:30 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP -Umgebung +2025-06-20 00:54:30 - [app] app - [INFO] INFO - [STARTUP] 🏢 +2025-06-20 00:54:30 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped: +2025-06-20 00:54:30 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-20 00:54:30 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-20 00:54:30 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert +2025-06-20 00:54:30 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin... +2025-06-20 00:54:30 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt. +2025-06-20 00:54:30 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft +2025-06-20 00:54:30 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker... +2025-06-20 00:54:30 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100) +2025-06-20 00:54:30 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101) +2025-06-20 00:54:30 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102) +2025-06-20 00:54:30 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103) +2025-06-20 00:54:30 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104) +2025-06-20 00:54:30 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106) +2025-06-20 00:54:30 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert +2025-06-20 00:54:30 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert +2025-06-20 00:54:30 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105) +2025-06-20 00:54:30 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert +2025-06-20 00:54:30 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-20 00:54:30 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet +2025-06-20 00:54:30 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-20 00:54:30 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet +2025-06-20 00:54:30 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://: +2025-06-20 00:54:32 - [app] app - [INFO] INFO - Locating template 'dashboard.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/dashboard.html') +2025-06-20 00:54:32 - [app] app - [INFO] INFO - Locating template 'base.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/base.html') +2025-06-20 00:54:32 - [app] app - [INFO] INFO - Locating template 'macros/ui_components.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/macros/ui_components.html') +2025-06-20 00:54:32 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:54:32 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:54:32 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:54:35 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:54:35 - [app] app - [INFO] INFO - Locating template 'guest_requests_overview.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/guest_requests_overview.html') +2025-06-20 00:54:35 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:54:35 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:54:35 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:54:37 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:54:37 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:54:37 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:54:37 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:54:38 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:54:38 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:54:38 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:54:38 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:54:38 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:54:38 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:54:39 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:54:39 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:54:39 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:54:39 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:54:41 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:54:41 - [app] app - [INFO] INFO - Locating template 'guest_request.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/guest_request.html') +2025-06-20 00:54:41 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:54:41 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:54:41 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:54:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:54:44 - [app] app - [INFO] INFO - Locating template 'stats.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/stats.html') +2025-06-20 00:54:44 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:54:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:54:44 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:54:46 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:54:46 - [app] app - [INFO] INFO - Locating template 'energy_dashboard.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/energy_dashboard.html') +2025-06-20 00:54:46 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:54:46 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:54:46 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:54:46 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:54:46 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:54:47 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:54:47 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:54:56 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:54:56 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:54:56 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:54:56 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:54:57 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:54:57 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:54:57 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:54:57 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:54:58 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:54:58 - [app] app - [INFO] INFO - Locating template 'admin.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/admin.html') +2025-06-20 00:54:58 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:54:59 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:54:59 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:54:59 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:54:59 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:54:59 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:55:00 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:55:00 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:55:00 - [app] app - [INFO] INFO - Locating template 'admin_guest_otps.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/admin_guest_otps.html') +2025-06-20 00:55:00 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:55:01 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:55:01 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:55:01 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:55:01 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:55:01 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:55:01 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:55:04 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:55:17 - [app] app - [INFO] INFO - Locating template 'admin_tapo_monitoring.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/admin_tapo_monitoring.html') +2025-06-20 00:55:17 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:55:17 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:55:17 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:55:17 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:55:17 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:55:28 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:55:28 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:55:28 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:55:28 - [app] app - [INFO] INFO - Locating template 'login.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/login.html') +2025-06-20 00:55:28 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:55:47 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:55:47 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:55:47 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:56:00 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:56:00 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:56:00 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:56:17 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:56:17 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:56:30 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:56:30 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:56:30 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:56:43 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:56:43 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:56:43 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:56:47 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:56:47 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:56:58 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:56:58 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:57:00 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:57:04 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:57:04 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:57:13 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:57:14 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:57:14 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:57:17 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:57:17 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:57:43 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:57:43 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:57:43 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:57:45 - [app] app - [INFO] INFO - [SHUTDOWN] 🧹 Cleanup wird ausgeführt... +2025-06-20 00:57:45 - [app] app - [INFO] INFO - [SHUTDOWN] ✅ Queue Manager gestoppt +2025-06-20 00:57:45 - [app] app - [ERROR] ERROR - [SHUTDOWN] ❌ Cleanup-Fehler: +2025-06-20 00:57:45 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 00:57:46 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: +2025-06-20 00:57:46 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: +2025-06-20 00:57:46 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-20 00:57:46 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-20 00:57:46 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Konfiguration aktiviert +2025-06-20 00:57:46 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: +2025-06-20 00:57:46 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: +2025-06-20 00:57:46 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: +2025-06-20 00:57:46 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 00:57:46 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: erstellt, aktualisiert +2025-06-20 00:57:46 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP -Umgebung +2025-06-20 00:57:46 - [app] app - [INFO] INFO - [STARTUP] 🏢 +2025-06-20 00:57:46 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped: +2025-06-20 00:57:46 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-20 00:57:46 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-20 00:57:46 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert +2025-06-20 00:57:46 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin... +2025-06-20 00:57:47 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt. +2025-06-20 00:57:47 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft +2025-06-20 00:57:47 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker... +2025-06-20 00:57:47 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100) +2025-06-20 00:57:47 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101) +2025-06-20 00:57:47 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102) +2025-06-20 00:57:47 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103) +2025-06-20 00:57:47 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104) +2025-06-20 00:57:47 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106) +2025-06-20 00:57:47 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert +2025-06-20 00:57:47 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert +2025-06-20 00:57:47 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105) +2025-06-20 00:57:47 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert +2025-06-20 00:57:47 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-20 00:57:47 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet +2025-06-20 00:57:47 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-20 00:57:47 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet +2025-06-20 00:57:47 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://: +2025-06-20 00:57:47 - [app] app - [INFO] INFO - Locating template 'admin.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/admin.html') +2025-06-20 00:57:48 - [app] app - [INFO] INFO - Locating template 'base.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/base.html') +2025-06-20 00:57:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:57:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:57:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:57:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:57:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:57:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:57:49 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:57:50 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:57:51 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:57:59 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:57:59 - [app] app - [INFO] INFO - Locating template 'admin_advanced_settings.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/admin_advanced_settings.html') +2025-06-20 00:57:59 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:57:59 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:57:59 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:58:00 - [app] app - [INFO] INFO - Locating template 'admin_tapo_monitoring.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/admin_tapo_monitoring.html') +2025-06-20 00:58:00 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:58:17 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:58:17 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:58:25 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:58:25 - [app] app - [INFO] INFO - Locating template 'admin_guest_otps.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/admin_guest_otps.html') +2025-06-20 00:58:25 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:58:25 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:58:25 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:58:25 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:58:25 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:58:25 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:58:25 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:58:29 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:58:29 - [app] app - [INFO] INFO - Locating template 'jobs.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/jobs.html') +2025-06-20 00:58:29 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:58:29 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:58:29 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:58:29 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:58:29 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:58:29 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:58:29 - [app] app - [INFO] INFO - ✅ API: Drucker abgerufen (include_inactive=) +2025-06-20 00:58:29 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:58:31 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:58:31 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:58:32 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:58:32 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:58:32 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:58:32 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:58:32 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:58:33 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:58:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:58:44 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:58:47 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:58:47 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:58:51 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:58:51 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:58:52 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:58:52 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:58:52 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:58:52 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:58:52 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:58:52 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:58:53 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:58:54 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:58:56 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:58:56 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:58:57 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:58:57 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:58:57 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:58:57 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:58:57 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:58:58 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:59:17 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:59:17 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:59:27 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:59:27 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:59:27 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:59:27 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:59:27 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:59:27 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:59:28 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:59:28 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 00:59:28 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:59:35 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:59:35 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:59:47 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:59:47 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:59:57 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:59:57 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:59:57 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:59:57 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 00:59:57 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:59:57 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:59:58 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 00:59:58 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 00:59:58 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:00:17 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:00:17 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:00:27 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:00:27 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:00:27 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:00:27 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:00:27 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:00:27 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:00:28 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 01:00:28 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:00:28 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:00:36 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:00:36 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:00:39 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:00:39 - [app] app - [INFO] INFO - Locating template 'dashboard.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/dashboard.html') +2025-06-20 01:00:39 - [app] app - [INFO] INFO - Locating template 'macros/ui_components.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/macros/ui_components.html') +2025-06-20 01:00:39 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:00:39 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:00:39 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:00:42 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:00:42 - [app] app - [INFO] INFO - Locating template 'system_info.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/system_info.html') +2025-06-20 01:00:42 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:00:42 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:00:42 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:00:47 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:00:47 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:00:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:00:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:00:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:00:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:00:51 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:00:51 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:00:51 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:00:51 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:00:51 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:00:51 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:00:52 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:00:52 - [app] app - [INFO] INFO - ✅ API: Drucker abgerufen (include_inactive=) +2025-06-20 01:00:52 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:00:55 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:00:55 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:00:55 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:00:55 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:00:57 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:00:59 - [app] app - [INFO] INFO - [SHUTDOWN] 🧹 Cleanup wird ausgeführt... +2025-06-20 01:00:59 - [app] app - [INFO] INFO - [SHUTDOWN] ✅ Queue Manager gestoppt +2025-06-20 01:00:59 - [app] app - [ERROR] ERROR - [SHUTDOWN] ❌ Cleanup-Fehler: +2025-06-20 01:01:00 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 01:01:01 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: +2025-06-20 01:01:01 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: +2025-06-20 01:01:01 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-20 01:01:01 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-20 01:01:01 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Konfiguration aktiviert +2025-06-20 01:01:01 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: +2025-06-20 01:01:01 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: +2025-06-20 01:01:01 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: +2025-06-20 01:01:01 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 01:01:01 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: erstellt, aktualisiert +2025-06-20 01:01:01 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP -Umgebung +2025-06-20 01:01:01 - [app] app - [INFO] INFO - [STARTUP] 🏢 +2025-06-20 01:01:01 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped: +2025-06-20 01:01:01 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-20 01:01:01 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-20 01:01:01 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert +2025-06-20 01:01:01 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin... +2025-06-20 01:01:01 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt. +2025-06-20 01:01:01 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft +2025-06-20 01:01:01 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker... +2025-06-20 01:01:01 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100) +2025-06-20 01:01:01 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101) +2025-06-20 01:01:01 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102) +2025-06-20 01:01:01 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103) +2025-06-20 01:01:01 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104) +2025-06-20 01:01:01 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106) +2025-06-20 01:01:01 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert +2025-06-20 01:01:01 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert +2025-06-20 01:01:01 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105) +2025-06-20 01:01:01 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert +2025-06-20 01:01:01 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-20 01:01:01 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet +2025-06-20 01:01:01 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-20 01:01:01 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet +2025-06-20 01:01:01 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://: +2025-06-20 01:01:04 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 1, Status: disconnected, Quelle: system +2025-06-20 01:01:06 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 2, Status: disconnected, Quelle: system +2025-06-20 01:01:09 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 3, Status: disconnected, Quelle: system +2025-06-20 01:01:11 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 4, Status: disconnected, Quelle: system +2025-06-20 01:01:13 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 5, Status: disconnected, Quelle: system +2025-06-20 01:01:15 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 6, Status: disconnected, Quelle: system +2025-06-20 01:01:15 - [app] app - [INFO] INFO - Locating template 'printers.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/printers.html') +2025-06-20 01:01:15 - [app] app - [INFO] INFO - Locating template 'base.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/base.html') +2025-06-20 01:01:15 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:01:15 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:01:15 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:01:17 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:01:17 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:01:18 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:01:18 - [app] app - [INFO] INFO - Locating template 'dashboard.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/dashboard.html') +2025-06-20 01:01:18 - [app] app - [INFO] INFO - Locating template 'macros/ui_components.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/macros/ui_components.html') +2025-06-20 01:01:18 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:01:18 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:01:18 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:01:27 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:01:27 - [app] app - [INFO] INFO - Locating template 'guest_requests_overview.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/guest_requests_overview.html') +2025-06-20 01:01:28 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:01:28 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:01:28 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:01:30 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:01:30 - [app] app - [INFO] INFO - Locating template 'guest_request.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/guest_request.html') +2025-06-20 01:01:30 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:01:30 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:01:30 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:01:47 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:01:47 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:01:52 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:01:52 - [app] app - [INFO] INFO - 6-stelliger OTP generiert für Guest Request 1 +2025-06-20 01:01:52 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:01:52 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:01:52 - [app] app - [INFO] INFO - Locating template 'guest_status.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/guest_status.html') +2025-06-20 01:01:52 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:01:56 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:01:56 - [app] app - [DEBUG] DEBUG - Response: diff --git a/backend/logs/calendar/calendar.log b/backend/logs/calendar/calendar.log index c9d698c8a..c127c5fe6 100644 --- a/backend/logs/calendar/calendar.log +++ b/backend/logs/calendar/calendar.log @@ -107,3 +107,7 @@ AttributeError: 'ConflictManager' object has no attribute 'detect_conflicts' 2025-06-19 23:55:46 - [calendar] calendar - [INFO] INFO - 📅 Kalender-Events abgerufen: 0 Einträge für Zeitraum 2025-06-14 22:00:00+00:00 bis 2025-06-21 22:00:00+00:00 2025-06-20 00:00:55 - [calendar] calendar - [INFO] INFO - 📅 Kalender-Events abgerufen: 0 Einträge für Zeitraum 2025-06-14 22:00:00+00:00 bis 2025-06-21 22:00:00+00:00 2025-06-20 00:28:53 - [calendar] calendar - [INFO] INFO - 📅 Kalender-Events abgerufen: 0 Einträge für Zeitraum 2025-06-14 22:00:00+00:00 bis 2025-06-21 22:00:00+00:00 +2025-06-20 00:45:48 - [calendar] calendar - [INFO] INFO - 📅 Kalender-Events abgerufen: 0 Einträge für Zeitraum 2025-06-14 22:00:00+00:00 bis 2025-06-21 22:00:00+00:00 +2025-06-20 00:47:17 - [calendar] calendar - [INFO] INFO - 📅 Kalender-Events abgerufen: 0 Einträge für Zeitraum 2025-06-14 22:00:00+00:00 bis 2025-06-21 22:00:00+00:00 +2025-06-20 00:49:49 - [calendar] calendar - [INFO] INFO - 📅 Kalender-Events abgerufen: 0 Einträge für Zeitraum 2025-06-14 22:00:00+00:00 bis 2025-06-21 22:00:00+00:00 +2025-06-20 00:53:24 - [calendar] calendar - [INFO] INFO - 📅 Kalender-Events abgerufen: 0 Einträge für Zeitraum 2025-06-14 22:00:00+00:00 bis 2025-06-21 22:00:00+00:00 diff --git a/backend/logs/data_management/data_management.log b/backend/logs/data_management/data_management.log index 748ef7286..5c223999c 100644 --- a/backend/logs/data_management/data_management.log +++ b/backend/logs/data_management/data_management.log @@ -879,3 +879,25 @@ 2025-06-20 00:35:44 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) 2025-06-20 00:35:47 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert 2025-06-20 00:35:47 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 00:44:54 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert +2025-06-20 00:44:54 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 00:49:16 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert +2025-06-20 00:49:16 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 00:50:42 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert +2025-06-20 00:50:42 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 00:51:14 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert +2025-06-20 00:51:14 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 00:52:20 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert +2025-06-20 00:52:20 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 00:52:37 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert +2025-06-20 00:52:37 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 00:53:48 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert +2025-06-20 00:53:48 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 00:54:28 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert +2025-06-20 00:54:28 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 00:54:29 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert +2025-06-20 00:54:29 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 00:57:46 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert +2025-06-20 00:57:46 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:01:00 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert +2025-06-20 01:01:00 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) diff --git a/backend/logs/drucker_steuerung/drucker_steuerung.log b/backend/logs/drucker_steuerung/drucker_steuerung.log index d08e8c3a7..dbc43f878 100644 --- a/backend/logs/drucker_steuerung/drucker_steuerung.log +++ b/backend/logs/drucker_steuerung/drucker_steuerung.log @@ -28,3 +28,14 @@ 2025-06-20 00:33:41 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen 2025-06-20 00:35:45 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen 2025-06-20 00:35:48 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen +2025-06-20 00:44:55 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen +2025-06-20 00:49:17 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen +2025-06-20 00:50:43 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen +2025-06-20 00:51:15 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen +2025-06-20 00:52:21 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen +2025-06-20 00:52:38 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen +2025-06-20 00:53:49 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen +2025-06-20 00:54:28 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen +2025-06-20 00:54:30 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen +2025-06-20 00:57:46 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen +2025-06-20 01:01:01 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen diff --git a/backend/logs/energy_monitoring/energy_monitoring.log b/backend/logs/energy_monitoring/energy_monitoring.log index b02be6513..a10c54f2b 100644 --- a/backend/logs/energy_monitoring/energy_monitoring.log +++ b/backend/logs/energy_monitoring/energy_monitoring.log @@ -735,3 +735,18 @@ 2025-06-20 00:33:41 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert 2025-06-20 00:35:45 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert 2025-06-20 00:35:48 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert +2025-06-20 00:44:55 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert +2025-06-20 00:45:50 - [energy_monitoring] energy_monitoring - [INFO] INFO - 🔋 Energiemonitoring-Dashboard aufgerufen von admin +2025-06-20 00:47:15 - [energy_monitoring] energy_monitoring - [INFO] INFO - 🔋 Energiemonitoring-Dashboard aufgerufen von admin +2025-06-20 00:49:17 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert +2025-06-20 00:50:24 - [energy_monitoring] energy_monitoring - [INFO] INFO - 🔋 Energiemonitoring-Dashboard aufgerufen von admin +2025-06-20 00:50:43 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert +2025-06-20 00:51:15 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert +2025-06-20 00:52:21 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert +2025-06-20 00:52:38 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert +2025-06-20 00:53:49 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert +2025-06-20 00:54:28 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert +2025-06-20 00:54:30 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert +2025-06-20 00:54:46 - [energy_monitoring] energy_monitoring - [INFO] INFO - 🔋 Energiemonitoring-Dashboard aufgerufen von admin +2025-06-20 00:57:46 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert +2025-06-20 01:01:01 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert diff --git a/backend/logs/guest/guest.log b/backend/logs/guest/guest.log index f8a86c880..254d65a83 100644 --- a/backend/logs/guest/guest.log +++ b/backend/logs/guest/guest.log @@ -72,3 +72,4 @@ WHERE user_permissions.can_approve_jobs = 1] 2025-06-16 08:09:46 - [guest] guest - [ERROR] ERROR - Fehler beim Starten des Jobs mit Code: Instance is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: https://sqlalche.me/e/20/bhk3) 2025-06-19 12:06:44 - [guest] guest - [INFO] INFO - Neue Gastanfrage erstellt: ID 1, Name: Till Tomczaktet, OTP generiert 2025-06-19 12:12:32 - [guest] guest - [INFO] INFO - Neue Gastanfrage erstellt: ID 2, Name: Till Tomczaktet, OTP generiert +2025-06-20 01:01:52 - [guest] guest - [INFO] INFO - Neue Gastanfrage erstellt: ID 1, Name: admin@example.com, OTP generiert diff --git a/backend/logs/hardware_integration/hardware_integration.log b/backend/logs/hardware_integration/hardware_integration.log index 3a42d81e0..a00e11db4 100644 --- a/backend/logs/hardware_integration/hardware_integration.log +++ b/backend/logs/hardware_integration/hardware_integration.log @@ -3427,3 +3427,95 @@ 2025-06-20 00:34:47 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) 2025-06-20 00:35:44 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen 2025-06-20 00:35:46 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen +2025-06-20 00:44:54 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen +2025-06-20 00:44:59 - [hardware_integration] hardware_integration - [INFO] INFO - 🎯 DruckerSteuerung initialisiert - BACKEND ÜBERNIMMT KONTROLLE +2025-06-20 00:45:01 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:45:03 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.101: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:45:05 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.102: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:45:07 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:45:09 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:45:11 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.106: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:47:22 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:47:24 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.101: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:47:26 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.102: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:47:28 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:47:30 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:47:33 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.106: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:47:41 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:47:43 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.101: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:47:46 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.102: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:47:48 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:47:50 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:47:52 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.106: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:48:24 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:48:27 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.101: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:48:29 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.102: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:48:31 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:48:33 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:48:35 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.106: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:49:07 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:49:09 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.101: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:49:11 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.102: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:49:14 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:49:16 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen +2025-06-20 00:49:18 - [hardware_integration] hardware_integration - [INFO] INFO - 🎯 DruckerSteuerung initialisiert - BACKEND ÜBERNIMMT KONTROLLE +2025-06-20 00:49:21 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:49:23 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.101: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:49:25 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.102: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:49:27 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:49:29 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:49:31 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.106: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:50:08 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:50:10 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.101: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:50:12 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.102: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:50:14 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:50:16 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:50:18 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.106: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:50:42 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen +2025-06-20 00:51:14 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen +2025-06-20 00:52:20 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen +2025-06-20 00:52:37 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen +2025-06-20 00:53:48 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen +2025-06-20 00:54:28 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen +2025-06-20 00:54:29 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen +2025-06-20 00:55:04 - [hardware_integration] hardware_integration - [INFO] INFO - 🎯 DruckerSteuerung initialisiert - BACKEND ÜBERNIMMT KONTROLLE +2025-06-20 00:55:06 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:55:08 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.101: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:55:10 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.102: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:55:12 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:55:15 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:55:17 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.106: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:55:49 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:55:51 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.101: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:55:53 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.102: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:55:55 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:55:58 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:56:00 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.106: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:56:32 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:56:34 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.101: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:56:37 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.102: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:56:39 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:56:41 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:56:43 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.106: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:57:02 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:57:04 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.101: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:57:07 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.102: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:57:09 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:57:11 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:57:13 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.106: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:57:46 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen +2025-06-20 00:57:47 - [hardware_integration] hardware_integration - [INFO] INFO - 🎯 DruckerSteuerung initialisiert - BACKEND ÜBERNIMMT KONTROLLE +2025-06-20 00:57:50 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:57:52 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.101: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:57:54 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.102: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:57:56 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:57:58 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 00:58:00 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.106: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 01:01:00 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen +2025-06-20 01:01:02 - [hardware_integration] hardware_integration - [INFO] INFO - 🎯 DruckerSteuerung initialisiert - BACKEND ÜBERNIMMT KONTROLLE +2025-06-20 01:01:04 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 01:01:06 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.101: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 01:01:09 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.102: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 01:01:11 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 01:01:13 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 01:01:15 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.106: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) diff --git a/backend/logs/job_queue_system/job_queue_system.log b/backend/logs/job_queue_system/job_queue_system.log index 2e8376574..416d631a7 100644 --- a/backend/logs/job_queue_system/job_queue_system.log +++ b/backend/logs/job_queue_system/job_queue_system.log @@ -1700,3 +1700,44 @@ 2025-06-20 00:35:47 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert 2025-06-20 00:35:47 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion) 2025-06-20 00:35:48 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität) +2025-06-20 00:44:54 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert +2025-06-20 00:44:54 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion) +2025-06-20 00:44:55 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität) +2025-06-20 00:44:55 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität) +2025-06-20 00:49:15 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität) +2025-06-20 00:49:16 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert +2025-06-20 00:49:16 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion) +2025-06-20 00:49:18 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität) +2025-06-20 00:50:41 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität) +2025-06-20 00:50:42 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert +2025-06-20 00:50:42 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion) +2025-06-20 00:50:43 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität) +2025-06-20 00:51:13 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität) +2025-06-20 00:51:14 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert +2025-06-20 00:51:14 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion) +2025-06-20 00:51:15 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität) +2025-06-20 00:52:19 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität) +2025-06-20 00:52:20 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert +2025-06-20 00:52:20 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion) +2025-06-20 00:52:21 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität) +2025-06-20 00:52:37 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert +2025-06-20 00:52:37 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion) +2025-06-20 00:53:48 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert +2025-06-20 00:53:48 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion) +2025-06-20 00:53:49 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität) +2025-06-20 00:53:49 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität) +2025-06-20 00:54:11 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität) +2025-06-20 00:54:28 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert +2025-06-20 00:54:28 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion) +2025-06-20 00:54:29 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität) +2025-06-20 00:54:29 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert +2025-06-20 00:54:29 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion) +2025-06-20 00:54:30 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität) +2025-06-20 00:57:45 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität) +2025-06-20 00:57:46 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert +2025-06-20 00:57:46 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion) +2025-06-20 00:57:47 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität) +2025-06-20 01:00:59 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität) +2025-06-20 01:01:00 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert +2025-06-20 01:01:00 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion) +2025-06-20 01:01:01 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität) diff --git a/backend/logs/jobs/jobs.log b/backend/logs/jobs/jobs.log index afada4c83..2c46b642d 100644 --- a/backend/logs/jobs/jobs.log +++ b/backend/logs/jobs/jobs.log @@ -1011,3 +1011,9 @@ sqlalchemy.exc.IntegrityError: (sqlite3.IntegrityError) FOREIGN KEY constraint f 2025-06-19 23:55:29 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) 2025-06-20 00:28:55 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) 2025-06-20 00:28:55 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-20 00:47:19 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-20 00:47:19 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-20 00:58:29 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-20 00:58:29 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-20 01:00:51 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-20 01:00:51 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) diff --git a/backend/logs/models/models.log b/backend/logs/models/models.log index d4610079f..ec6d3950e 100644 --- a/backend/logs/models/models.log +++ b/backend/logs/models/models.log @@ -20,3 +20,5 @@ 2025-06-19 12:06:44 - [models] models - [INFO] INFO - Erfolgreich 1 Benachrichtigungen erstellt für 'guest_request' 2025-06-19 12:12:32 - [models] models - [INFO] INFO - Gefunden: 1 Genehmiger für Benachrichtigung 'guest_request' 2025-06-19 12:12:32 - [models] models - [INFO] INFO - Erfolgreich 1 Benachrichtigungen erstellt für 'guest_request' +2025-06-20 01:01:52 - [models] models - [INFO] INFO - Gefunden: 1 Genehmiger für Benachrichtigung 'guest_request' +2025-06-20 01:01:52 - [models] models - [INFO] INFO - Erfolgreich 1 Benachrichtigungen erstellt für 'guest_request' diff --git a/backend/logs/monitoring_analytics/monitoring_analytics.log b/backend/logs/monitoring_analytics/monitoring_analytics.log index a8c7efc90..8e11dad86 100644 --- a/backend/logs/monitoring_analytics/monitoring_analytics.log +++ b/backend/logs/monitoring_analytics/monitoring_analytics.log @@ -869,3 +869,25 @@ 2025-06-20 00:35:45 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) 2025-06-20 00:35:48 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert 2025-06-20 00:35:48 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 00:44:55 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert +2025-06-20 00:44:55 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 00:49:17 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert +2025-06-20 00:49:17 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 00:50:43 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert +2025-06-20 00:50:43 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 00:51:15 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert +2025-06-20 00:51:15 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 00:52:21 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert +2025-06-20 00:52:21 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 00:52:38 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert +2025-06-20 00:52:38 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 00:53:49 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert +2025-06-20 00:53:49 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 00:54:28 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert +2025-06-20 00:54:28 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 00:54:30 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert +2025-06-20 00:54:30 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 00:57:46 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert +2025-06-20 00:57:46 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:01:01 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert +2025-06-20 01:01:01 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) diff --git a/backend/logs/permissions/permissions.log b/backend/logs/permissions/permissions.log index 94fb216ed..8d0a51e81 100644 --- a/backend/logs/permissions/permissions.log +++ b/backend/logs/permissions/permissions.log @@ -439,3 +439,14 @@ WHERE users.role = ?] 2025-06-20 00:33:41 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert 2025-06-20 00:35:45 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert 2025-06-20 00:35:48 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert +2025-06-20 00:44:55 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert +2025-06-20 00:49:17 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert +2025-06-20 00:50:43 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert +2025-06-20 00:51:15 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert +2025-06-20 00:52:21 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert +2025-06-20 00:52:38 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert +2025-06-20 00:53:49 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert +2025-06-20 00:54:28 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert +2025-06-20 00:54:30 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert +2025-06-20 00:57:46 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert +2025-06-20 01:01:01 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert diff --git a/backend/logs/scheduler/scheduler.log b/backend/logs/scheduler/scheduler.log index c513c10e8..ed2c96054 100644 --- a/backend/logs/scheduler/scheduler.log +++ b/backend/logs/scheduler/scheduler.log @@ -2495,3 +2495,34 @@ 2025-06-20 00:35:46 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True 2025-06-20 00:35:48 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet 2025-06-20 00:35:48 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-20 00:44:54 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-20 00:44:55 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-20 00:44:55 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-20 00:49:16 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-20 00:49:18 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-20 00:49:18 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-20 00:50:42 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-20 00:50:43 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-20 00:50:43 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-20 00:51:14 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-20 00:51:15 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-20 00:51:15 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-20 00:52:20 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-20 00:52:21 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-20 00:52:21 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-20 00:52:37 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-20 00:53:48 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-20 00:53:49 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-20 00:53:49 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-20 00:54:28 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-20 00:54:29 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-20 00:54:29 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-20 00:54:29 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-20 00:54:30 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-20 00:54:30 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-20 00:57:46 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-20 00:57:47 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-20 00:57:47 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-20 01:01:00 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-20 01:01:01 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-20 01:01:01 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet diff --git a/backend/logs/security_suite/security_suite.log b/backend/logs/security_suite/security_suite.log index ab4c5dfa9..e84144b0c 100644 --- a/backend/logs/security_suite/security_suite.log +++ b/backend/logs/security_suite/security_suite.log @@ -1313,3 +1313,36 @@ 2025-06-20 00:35:47 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert 2025-06-20 00:35:47 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) 2025-06-20 00:35:48 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert +2025-06-20 00:44:54 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert +2025-06-20 00:44:54 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 00:44:55 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert +2025-06-20 00:49:16 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert +2025-06-20 00:49:16 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 00:49:17 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert +2025-06-20 00:50:42 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert +2025-06-20 00:50:42 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 00:50:43 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert +2025-06-20 00:51:14 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert +2025-06-20 00:51:14 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 00:51:15 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert +2025-06-20 00:52:20 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert +2025-06-20 00:52:20 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 00:52:21 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert +2025-06-20 00:52:37 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert +2025-06-20 00:52:37 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 00:52:38 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert +2025-06-20 00:53:48 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert +2025-06-20 00:53:48 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 00:53:49 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert +2025-06-20 00:54:28 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert +2025-06-20 00:54:28 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 00:54:28 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert +2025-06-20 00:54:29 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert +2025-06-20 00:54:29 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 00:54:30 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert +2025-06-20 00:57:46 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert +2025-06-20 00:57:46 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 00:57:46 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert +2025-06-20 01:01:00 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert +2025-06-20 01:01:00 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:01:01 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert diff --git a/backend/logs/startup/startup.log b/backend/logs/startup/startup.log index 009725c16..363209d97 100644 --- a/backend/logs/startup/startup.log +++ b/backend/logs/startup/startup.log @@ -3457,3 +3457,80 @@ 2025-06-20 00:35:48 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend 2025-06-20 00:35:48 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-20T00:35:48.069796 2025-06-20 00:35:48 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 00:44:55 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 00:44:55 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-20 00:44:55 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Mar 05 2023, 19:08:04) [GCC] +2025-06-20 00:44:55 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: posix (linux) +2025-06-20 00:44:55 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend +2025-06-20 00:44:55 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-20T00:44:55.146069 +2025-06-20 00:44:55 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 00:49:17 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 00:49:17 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-20 00:49:17 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Mar 05 2023, 19:08:04) [GCC] +2025-06-20 00:49:17 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: posix (linux) +2025-06-20 00:49:17 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend +2025-06-20 00:49:17 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-20T00:49:17.588924 +2025-06-20 00:49:17 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 00:50:43 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 00:50:43 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-20 00:50:43 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Mar 05 2023, 19:08:04) [GCC] +2025-06-20 00:50:43 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: posix (linux) +2025-06-20 00:50:43 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend +2025-06-20 00:50:43 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-20T00:50:43.210988 +2025-06-20 00:50:43 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 00:51:15 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 00:51:15 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-20 00:51:15 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Mar 05 2023, 19:08:04) [GCC] +2025-06-20 00:51:15 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: posix (linux) +2025-06-20 00:51:15 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend +2025-06-20 00:51:15 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-20T00:51:15.194351 +2025-06-20 00:51:15 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 00:52:21 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 00:52:21 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-20 00:52:21 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Mar 05 2023, 19:08:04) [GCC] +2025-06-20 00:52:21 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: posix (linux) +2025-06-20 00:52:21 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend +2025-06-20 00:52:21 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-20T00:52:21.449771 +2025-06-20 00:52:21 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 00:52:38 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 00:52:38 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-20 00:52:38 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Mar 05 2023, 19:08:04) [GCC] +2025-06-20 00:52:38 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: posix (linux) +2025-06-20 00:52:38 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend +2025-06-20 00:52:38 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-20T00:52:38.238812 +2025-06-20 00:52:38 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 00:53:49 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 00:53:49 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-20 00:53:49 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Mar 05 2023, 19:08:04) [GCC] +2025-06-20 00:53:49 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: posix (linux) +2025-06-20 00:53:49 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend +2025-06-20 00:53:49 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-20T00:53:49.384560 +2025-06-20 00:53:49 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 00:54:28 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 00:54:28 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-20 00:54:28 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Mar 05 2023, 19:08:04) [GCC] +2025-06-20 00:54:28 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: posix (linux) +2025-06-20 00:54:28 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend +2025-06-20 00:54:28 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-20T00:54:28.862473 +2025-06-20 00:54:28 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 00:54:30 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 00:54:30 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-20 00:54:30 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Mar 05 2023, 19:08:04) [GCC] +2025-06-20 00:54:30 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: posix (linux) +2025-06-20 00:54:30 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend +2025-06-20 00:54:30 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-20T00:54:30.467622 +2025-06-20 00:54:30 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 00:57:46 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 00:57:46 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-20 00:57:46 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Mar 05 2023, 19:08:04) [GCC] +2025-06-20 00:57:46 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: posix (linux) +2025-06-20 00:57:46 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend +2025-06-20 00:57:46 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-20T00:57:46.703245 +2025-06-20 00:57:46 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 01:01:01 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 01:01:01 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-20 01:01:01 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Mar 05 2023, 19:08:04) [GCC] +2025-06-20 01:01:01 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: posix (linux) +2025-06-20 01:01:01 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend +2025-06-20 01:01:01 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-20T01:01:01.251932 +2025-06-20 01:01:01 - [startup] startup - [INFO] INFO - ================================================== diff --git a/backend/logs/utilities_collection/utilities_collection.log b/backend/logs/utilities_collection/utilities_collection.log index 8c4f10b9d..8ff6b776c 100644 --- a/backend/logs/utilities_collection/utilities_collection.log +++ b/backend/logs/utilities_collection/utilities_collection.log @@ -1119,3 +1119,27 @@ 2025-06-20 00:35:44 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) 2025-06-20 00:35:46 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert 2025-06-20 00:35:46 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 00:44:54 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 00:44:54 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 00:46:38 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 00:46:38 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 00:49:16 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 00:49:16 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 00:50:42 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 00:50:42 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 00:51:14 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 00:51:14 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 00:52:20 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 00:52:20 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 00:52:37 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 00:52:37 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 00:53:48 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 00:53:48 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 00:54:28 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 00:54:28 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 00:54:29 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 00:54:29 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 00:57:45 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 00:57:45 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 01:01:00 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 01:01:00 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) diff --git a/backend/static/css/dark-light-unified.css b/backend/static/css/dark-light-unified.css index 2ea45a073..f93462a6c 100644 --- a/backend/static/css/dark-light-unified.css +++ b/backend/static/css/dark-light-unified.css @@ -182,7 +182,11 @@ /* === BUTTONS (Optimiert für beide Modi) === */ .btn, button { - @apply inline-flex items-center justify-center text-sm font-medium; + display: inline-flex; + align-items: center; + justify-content: center; + font-size: 0.875rem; + font-weight: 500; background: var(--bg-card); color: var(--text-primary); border: 1px solid var(--border-primary); @@ -548,7 +552,7 @@ /* === FORM ELEMENTS (Optimiert für beide Modi) === */ .form-input, input:not([type="checkbox"]):not([type="radio"]), textarea, select { - @apply w-full; + width: 100%; background: var(--bg-input); border: 1px solid var(--border-primary); color: var(--text-primary); @@ -605,7 +609,7 @@ /* Form Labels */ .form-label, label { - @apply block text-sm font-medium; + display: block; font-size: 0.875rem; font-weight: 500; color: var(--text-secondary); margin-bottom: 0.5rem; margin-top: 1rem; @@ -729,7 +733,7 @@ select { } .nav-item { - @apply px-3 py-2; + padding: 0.5rem 0.75rem; color: var(--text-secondary); transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); border-radius: 8px; @@ -823,7 +827,7 @@ select { /* === ALERTS === */ .alert { - @apply border; + border: 1px solid var(--border-primary); background: var(--bg-card); border-color: var(--border-primary); border-radius: 16px !important; @@ -862,14 +866,14 @@ select { /* === TABLES === */ .table { - @apply w-full border-collapse; + width: 100%; border-collapse: collapse; border-radius: 16px !important; overflow: hidden; margin: 1rem 0; } .table th { - @apply text-left text-sm font-medium uppercase tracking-wider; + text-align: left; font-size: 0.875rem; font-weight: 500; text-transform: uppercase; letter-spacing: 0.05em; background: var(--bg-tertiary); color: var(--text-tertiary); border-bottom: 1px solid var(--border-primary); @@ -877,7 +881,7 @@ select { } .table td { - @apply text-sm; + font-size: 0.875rem; color: var(--text-secondary); border-bottom: 1px solid var(--border-primary); padding: 1rem 1.5rem; @@ -889,7 +893,7 @@ select { /* === TOOLTIPS === */ .tooltip { - @apply absolute z-50 text-sm shadow-lg; + position: absolute; z-index: 50; font-size: 0.875rem; box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1); background: var(--bg-modal); color: var(--text-primary); border: 1px solid var(--border-primary); @@ -901,7 +905,7 @@ select { /* === BADGES & STATUS === */ .badge { - @apply inline-flex items-center text-xs font-medium; + display: inline-flex; align-items: center; font-size: 0.75rem; font-weight: 500; background: var(--bg-tertiary); color: var(--text-secondary); border-radius: 16px !important; @@ -931,12 +935,12 @@ select { /* === LOADING STATES === */ .loading { - @apply animate-pulse; + animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; background: var(--bg-tertiary); } .spinner { - @apply animate-spin rounded-full; + animation: spin 1s linear infinite; border-radius: 9999px; border: 2px solid var(--border-primary); border-top-color: var(--text-accent); } @@ -956,7 +960,7 @@ select { } .btn { - @apply text-xs; + font-size: 0.75rem; padding: 0.5rem 1rem; margin: 0.125rem; } @@ -1010,20 +1014,47 @@ select { /* === LEGACY COMPATIBILITY === */ .glass-modal { - @extend .modal; - @extend .glass-card; + position: fixed; + inset: 0; + z-index: 50; + display: flex; + align-items: center; + justify-content: center; + background: rgba(0, 0, 0, 0.5); + backdrop-filter: blur(4px); + background: var(--bg-modal); + border: 1px solid var(--border-primary); + border-radius: 1rem; + box-shadow: var(--shadow-card); } .mb-dashboard-card { - @extend .card; + background: var(--bg-card); + border: 1px solid var(--border-primary); + border-radius: 1rem; + padding: 1.5rem; + box-shadow: var(--shadow-card); + transition: all 0.3s ease; } .btn-professional { - @extend .btn-primary; + background: linear-gradient(135deg, var(--mb-primary), var(--mb-primary-dark)); + color: var(--text-on-primary); + border: 1px solid var(--mb-primary); + padding: 0.75rem 1.5rem; + border-radius: 0.75rem; + font-weight: 600; + transition: all 0.3s ease; + cursor: pointer; } .input-professional { - @extend .form-input; + background: var(--bg-input); + border: 1px solid var(--border-primary); + border-radius: 0.75rem; + padding: 0.75rem 1rem; + color: var(--text-primary); + transition: all 0.3s ease; } /* === CSS CUSTOM PROPERTIES FALLBACKS === */ @@ -1061,7 +1092,7 @@ body { /* === TABLE OPTIMIERUNGEN === */ .table { - @apply w-full border-collapse; + width: 100%; border-collapse: collapse; border-radius: 12px !important; overflow: hidden; margin: 1rem 0; @@ -1070,7 +1101,7 @@ body { } .table th { - @apply text-left text-sm font-medium uppercase tracking-wider; + text-align: left; font-size: 0.875rem; font-weight: 500; text-transform: uppercase; letter-spacing: 0.05em; background: var(--bg-tertiary); color: var(--text-tertiary); border-bottom: 1px solid var(--border-primary); @@ -1078,7 +1109,7 @@ body { } .table td { - @apply text-sm; + font-size: 0.875rem; color: var(--text-secondary); border-bottom: 1px solid var(--border-primary); padding: 1rem 1.5rem; @@ -1103,7 +1134,7 @@ body { /* === TOOLTIPS === */ .tooltip { - @apply absolute z-50 text-sm; + position: absolute; z-index: 50; font-size: 0.875rem; background: var(--bg-modal); color: var(--text-primary); border: 1px solid var(--border-primary); @@ -1116,7 +1147,7 @@ body { /* === BADGES & STATUS === */ .badge { - @apply inline-flex items-center text-xs font-medium; + display: inline-flex; align-items: center; font-size: 0.75rem; font-weight: 500; background: var(--bg-tertiary); color: var(--text-secondary); border-radius: 12px !important; @@ -1145,7 +1176,7 @@ body { } .btn { - @apply text-sm; + font-size: 0.875rem; padding: 0.625rem 1rem; margin: 0.125rem; border-radius: 8px; @@ -1286,13 +1317,13 @@ body { /* === LOADING STATES === */ .loading { - @apply animate-pulse; + animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; background: var(--bg-tertiary); border-radius: 8px; } .spinner { - @apply animate-spin rounded-full; + animation: spin 1s linear infinite; border-radius: 9999px; border: 2px solid var(--border-primary); border-top-color: var(--text-accent); width: 1.5rem; diff --git a/backend/static/css/output.css b/backend/static/css/output.css index 024c0bb53..9ffcf1c78 100644 --- a/backend/static/css/output.css +++ b/backend/static/css/output.css @@ -1 +1 @@ -*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Mercedes-Benz Text,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--color-bg-primary:#fff;--color-bg-secondary:#fafbfc;--color-bg-tertiary:#f3f5f7;--color-bg-accent:#fbfcfd;--color-text-primary:#111827;--color-text-secondary:#374151;--color-text-muted:#6b7280;--color-text-accent:#0073ce;--color-border-primary:#e5e7eb;--color-border-secondary:#d1d5db;--color-accent:#0073ce;--color-accent-hover:#005a9f;--color-accent-light:#eff6ff;--color-accent-text:#fff;--color-shadow:rgba(0,0,0,.06);--color-shadow-strong:rgba(0,0,0,.1);--color-shadow-accent:rgba(0,115,206,.12);--card-radius:1rem;--gradient-primary:linear-gradient(135deg,#fff,#fafbfc 30%,#f8fafc 70%,#f3f5f7);--gradient-card:linear-gradient(135deg,#fff,#fcfcfd 50%,#fafbfc);--gradient-hero:linear-gradient(135deg,#fafbfc,#f3f5f7 40%,#eef2f5 80%,#f8fafc);--gradient-accent:linear-gradient(135deg,#0073ce,#005a9f);--gradient-surface:linear-gradient(135deg,#fff,#fbfcfd 50%,#f8fafc);--glass-bg:hsla(0,0%,100%,.92);--glass-border:hsla(0,0%,100%,.3);--glass-shadow:0 8px 32px rgba(0,0,0,.04);--glass-blur:blur(20px)}.dark{--color-bg-primary:#000;--color-bg-secondary:#0a0a0a;--color-bg-tertiary:#1a1a1a;--color-text-primary:#fff;--color-text-secondary:#e2e8f0;--color-text-muted:#94a3b8;--color-border-primary:#1a1a1a;--color-border-secondary:#2a2a2a;--color-accent:#fff;--color-accent-hover:#f0f0f0;--color-accent-light:#1e3a8a;--color-accent-text:#000;--color-shadow:rgba(0,0,0,.8);--color-shadow-strong:rgba(0,0,0,.9);--mb-black:#000}body{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}body:is(.dark *){--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}body{position:relative;min-height:100vh;background:var(--gradient-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-feature-settings:"cv02","cv03","cv04","cv11";line-height:1.65;font-size:15px}.dark body{background:linear-gradient(135deg,#000,#0a0a0a 50%,#000)}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 25% 25%,rgba(0,115,206,.015) 0,transparent 50%),radial-gradient(circle at 75% 75%,rgba(0,115,206,.01) 0,transparent 50%),radial-gradient(circle at 50% 10%,rgba(0,115,206,.008) 0,transparent 50%);pointer-events:none;z-index:-1}.dark body:before{background:radial-gradient(circle at 20% 50%,rgba(59,130,246,.03) 0,transparent 50%),radial-gradient(circle at 80% 20%,rgba(59,130,246,.02) 0,transparent 50%)}nav{border-bottom-width:1px;--tw-backdrop-blur:blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:linear-gradient(135deg,hsla(0,0%,100%,.95),rgba(250,251,252,.92) 30%,rgba(248,250,252,.9) 70%,hsla(0,0%,100%,.95));border-bottom:1px solid rgba(229,231,235,.7);backdrop-filter:blur(28px) saturate(200%) brightness(110%);-webkit-backdrop-filter:blur(28px) saturate(200%) brightness(110%);box-shadow:0 4px 20px rgba(0,0,0,.04),0 2px 8px rgba(0,115,206,.02),inset 0 1px 0 hsla(0,0%,100%,.9)}.dark nav{background:rgba(0,0,0,.85);border-bottom-color:hsla(0,0%,100%,.1);box-shadow:0 8px 32px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.05)}.dark .card-enhanced{background:hsla(0,0%,4%,.8);border-color:var(--color-border-primary);box-shadow:0 4px 20px var(--color-shadow)}.btn-secondary{background:var(--gradient-surface);color:var(--color-text-primary);border:1px solid var(--color-border-primary);box-shadow:0 1px 6px rgba(0,0,0,.03),inset 0 1px 0 hsla(0,0%,100%,.8)}.btn-secondary:hover{background:var(--color-bg-secondary);border-color:var(--color-accent);color:var(--color-accent);box-shadow:0 4px 12px rgba(0,115,206,.08),inset 0 1px 0 hsla(0,0%,100%,.9)}.dark .input-enhanced{background:hsla(0,0%,4%,.8);border-color:var(--color-border-primary);color:var(--color-text-primary);box-shadow:0 2px 8px var(--color-shadow),inset 0 1px 0 hsla(0,0%,100%,.05)}.dark .input-enhanced:focus{border-color:#60a5fa;box-shadow:0 4px 15px rgba(96,165,250,.2),0 0 0 3px rgba(96,165,250,.1)}.\!container{width:100%!important}.container{width:100%}@media (min-width:475px){.\!container{max-width:475px!important}.container{max-width:475px}}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}@media (min-width:1920px){.\!container{max-width:1920px!important}.container{max-width:1920px}}@media (min-width:2560px){.\!container{max-width:2560px!important}.container{max-width:2560px}}.form-input,.form-multiselect,.form-select,.form-textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}.form-input:focus,.form-multiselect:focus,.form-select:focus,.form-textarea:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#2563eb}.form-input::-moz-placeholder,.form-textarea::-moz-placeholder{color:#6b7280;opacity:1}.form-input::placeholder,.form-textarea::placeholder{color:#6b7280;opacity:1}.form-input::-webkit-datetime-edit-fields-wrapper{padding:0}.form-input::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}.form-input::-webkit-datetime-edit{display:inline-flex}.form-input::-webkit-datetime-edit,.form-input::-webkit-datetime-edit-day-field,.form-input::-webkit-datetime-edit-hour-field,.form-input::-webkit-datetime-edit-meridiem-field,.form-input::-webkit-datetime-edit-millisecond-field,.form-input::-webkit-datetime-edit-minute-field,.form-input::-webkit-datetime-edit-month-field,.form-input::-webkit-datetime-edit-second-field,.form-input::-webkit-datetime-edit-year-field{padding-top:0;padding-bottom:0}.form-select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}.form-select:where([size]:not([size="1"])){background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}.btn-mercedes{padding:.75rem 1.5rem;border-radius:8px;font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;transition:all .3s cubic-bezier(.4,0,.2,1);background:linear-gradient(135deg,#0073ce,#005ba3);color:#fff;border:none;cursor:pointer}.btn-mercedes:hover{background:linear-gradient(135deg,#005ba3,#003d82);transform:translateY(-2px);box-shadow:0 12px 20px -5px rgba(0,115,206,.4)}.btn-mercedes:focus{outline:none;box-shadow:0 0 0 3px rgba(0,115,206,.3)}.btn-mercedes:active{transform:translateY(0);box-shadow:inset 0 2px 4px rgba(0,0,0,.2)}.mercedes-form-input{padding:.75rem 1rem;border-radius:8px;border:2px solid #e5e7eb;background:hsla(0,0%,100%,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s cubic-bezier(.4,0,.2,1);font-weight:500}.mercedes-form-input:focus{border-color:#0073ce;box-shadow:0 0 0 4px rgba(0,115,206,.1),0 10px 15px -3px rgba(0,0,0,.1);transform:translateY(-2px);background:#fff}.dashboard-card{background:linear-gradient(135deg,#fff,#f8fafc);border:2px solid #f1f5f9;border-radius:16px;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dashboard-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 25px 50px -12px rgba(0,0,0,.15);border-color:#0073ce}.dark .bg-dark-card{background-color:#1e293b;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.admin-stats{margin-bottom:2rem;display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem}@media (min-width:640px){.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.admin-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.stat-card{position:relative;overflow:hidden;border-radius:12px;border-width:1px;border-color:rgba(229,231,235,.6);background-color:hsla(0,0%,100%,.6);padding:1.25rem;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);--tw-backdrop-blur:blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.stat-card,.stat-card:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.stat-card:hover{--tw-translate-y:-0.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.stat-card:is(.dark *){border-color:rgba(51,65,85,.3);background-color:rgba(0,0,0,.7)}.stat-card{backdrop-filter:blur(20px) saturate(180%) brightness(110%);-webkit-backdrop-filter:blur(20px) saturate(180%) brightness(110%);box-shadow:0 25px 50px rgba(0,0,0,.15),0 0 0 1px hsla(0,0%,100%,.1)}.stat-icon{position:absolute;top:1rem;right:1rem;font-size:2.25rem;line-height:2.5rem;opacity:.15}.stat-title{margin-bottom:.5rem;font-size:.875rem;line-height:1.25rem;font-weight:500;text-transform:uppercase;--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.stat-title:is(.dark *){--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.stat-value{margin-bottom:.25rem;font-size:1.5rem;line-height:2rem;font-weight:700;--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.stat-value:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.stat-desc{font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.stat-desc:is(.dark *){--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.nav-tab{cursor:pointer;white-space:nowrap;border-bottom-width:2px;border-color:transparent;padding:1rem 1.5rem;--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.nav-tab:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.nav-tab:is(.dark *){--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.nav-tab:hover:is(.dark *){background-color:rgba(30,41,59,.5);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.nav-tab.active{border-bottom-width:2px;--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity,1));font-weight:500;--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.nav-tab.active:is(.dark *){--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.tab-content{margin-top:2rem}.tab-pane{display:none}.dark-mode-toggle-new .moon-icon:not(.tab-pane),.dark-mode-toggle-new .sun-icon:not(.tab-pane){animation:spin-in .5s cubic-bezier(.25,1,.5,1) forwards}.tab-pane.active{display:block}.form-input,.form-select,.form-textarea{width:100%;border-radius:.5rem;border-width:1px;border-color:rgba(209,213,219,.6);background-color:hsla(0,0%,100%,.6);padding:.5rem .75rem;--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.form-input::-moz-placeholder,.form-select::-moz-placeholder,.form-textarea::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.form-input::placeholder,.form-select::placeholder,.form-textarea::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.form-input,.form-select,.form-textarea{--tw-backdrop-blur:blur(16px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:transparent;outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(100 116 139/var(--tw-ring-opacity,1))}.form-input:is(.dark *),.form-select:is(.dark *),.form-textarea:is(.dark *){border-color:rgba(71,85,105,.6);background-color:rgba(30,41,59,.6);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.form-input,.form-select,.form-textarea{backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);box-shadow:0 10px 20px rgba(0,0,0,.1),0 0 0 1px hsla(0,0%,100%,.05)}.admin-table{min-width:100%}.admin-table>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse));--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity,1))}.admin-table:is(.dark *)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(51 65 85/var(--tw-divide-opacity,1))}.admin-table thead{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.admin-table thead:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.admin-table th{padding:.75rem 1.5rem;text-align:left;font-size:.75rem;line-height:1rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.admin-table th:is(.dark *){--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.admin-table tbody>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse));--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity,1))}.admin-table tbody{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.admin-table tbody:is(.dark *){background-color:#1e293b}.admin-table tbody:is(.dark *)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(51 65 85/var(--tw-divide-opacity,1))}.admin-table tr{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.admin-table tr:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.admin-table tr:hover:is(.dark *){background-color:rgba(51,65,85,.5)}.admin-table td{white-space:nowrap;padding:1rem 1.5rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.admin-table td:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.badge{display:inline-flex;border-radius:9999px;padding-left:.5rem;padding-right:.5rem;font-size:.75rem;font-weight:600;line-height:1.25rem}.printer-card{border-radius:12px;border-width:1px;border-color:rgba(229,231,235,.6);background-color:hsla(0,0%,100%,.6);padding:1.5rem;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);--tw-backdrop-blur:blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.printer-card,.printer-card:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.printer-card:hover{--tw-translate-y:-0.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.printer-card:is(.dark *){border-color:rgba(51,65,85,.3);background-color:rgba(0,0,0,.7)}.printer-card{backdrop-filter:blur(20px) saturate(180%) brightness(110%);-webkit-backdrop-filter:blur(20px) saturate(180%) brightness(110%);box-shadow:0 25px 50px rgba(0,0,0,.15),0 0 0 1px hsla(0,0%,100%,.1)}.printer-name{font-size:1.25rem;line-height:1.75rem;font-weight:700;--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.printer-name:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.printer-status{margin-top:1rem;display:flex;align-items:center}.status-indicator{margin-right:.5rem;height:.75rem;width:.75rem;border-radius:9999px}.status-running{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1));animation:pulse 2s infinite}.log-entry{margin-bottom:.5rem;border-top-right-radius:.5rem;border-bottom-right-radius:.5rem;border-left-width:4px;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.75rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.log-entry:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.log-entry:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.log-entry:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.scheduler-status{display:flex;align-items:center;border-radius:.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:1rem;--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.scheduler-status:is(.dark *){--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.progress-bar{height:.5rem;width:100%;overflow:hidden;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.progress-bar:is(.dark *){--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.progress-bar-fill{height:100%;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.\!notification,.notification{position:fixed;top:1rem;right:1rem;z-index:50;max-width:28rem;--tw-translate-x:100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:16px;padding:1rem;opacity:0;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.5s}.\!notification{background:hsla(0,0%,100%,.08)!important;backdrop-filter:blur(40px) saturate(200%) brightness(130%) contrast(110%)!important;-webkit-backdrop-filter:blur(40px) saturate(200%) brightness(130%) contrast(110%)!important;border:1px solid hsla(0,0%,100%,.25)!important;box-shadow:0 32px 64px rgba(0,0,0,.25),0 12px 24px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.4),0 0 0 1px hsla(0,0%,100%,.1)!important;animation:notification-slide-in .6s cubic-bezier(.4,0,.2,1)!important}.notification{background:hsla(0,0%,100%,.08);backdrop-filter:blur(40px) saturate(200%) brightness(130%) contrast(110%);-webkit-backdrop-filter:blur(40px) saturate(200%) brightness(130%) contrast(110%);border:1px solid hsla(0,0%,100%,.25);box-shadow:0 32px 64px rgba(0,0,0,.25),0 12px 24px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.4),0 0 0 1px hsla(0,0%,100%,.1);animation:notification-slide-in .6s cubic-bezier(.4,0,.2,1)}.dark .notification{background:rgba(0,0,0,.2);backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(115%);-webkit-backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(115%);border:1px solid hsla(0,0%,100%,.15);box-shadow:0 32px 64px rgba(0,0,0,.6),0 12px 24px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.05)}.dark .\!notification{background:rgba(0,0,0,.2)!important;backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(115%)!important;-webkit-backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(115%)!important;border:1px solid hsla(0,0%,100%,.15)!important;box-shadow:0 32px 64px rgba(0,0,0,.6),0 12px 24px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.05)!important}.\!notification.show,.notification.\!show,.notification.show{--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));opacity:1}.\!notification:hover{transform:translateY(-2px) scale(1.02)!important;box-shadow:0 40px 80px rgba(0,0,0,.3),0 16px 32px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.5),0 0 0 1px hsla(0,0%,100%,.15)!important}.notification:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 40px 80px rgba(0,0,0,.3),0 16px 32px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.5),0 0 0 1px hsla(0,0%,100%,.15)}.dark .notification:hover{box-shadow:0 40px 80px rgba(0,0,0,.7),0 16px 32px rgba(0,0,0,.5),inset 0 1px 0 hsla(0,0%,100%,.3),0 0 0 1px hsla(0,0%,100%,.1)}.dark .\!notification:hover{box-shadow:0 40px 80px rgba(0,0,0,.7),0 16px 32px rgba(0,0,0,.5),inset 0 1px 0 hsla(0,0%,100%,.3),0 0 0 1px hsla(0,0%,100%,.1)!important}.notification-success{--tw-text-opacity:1;color:rgb(220 252 231/var(--tw-text-opacity,1));background:linear-gradient(135deg,rgba(34,197,94,.25),rgba(134,239,172,.18) 50%,rgba(34,197,94,.12));border:1px solid rgba(34,197,94,.4);box-shadow:0 32px 64px rgba(34,197,94,.2),0 12px 24px rgba(34,197,94,.1),inset 0 1px 0 hsla(0,0%,100%,.4),0 0 0 1px rgba(34,197,94,.3)}.notification-error{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1));background:linear-gradient(135deg,rgba(239,68,68,.25),hsla(0,94%,82%,.18) 50%,rgba(239,68,68,.12));border:1px solid rgba(239,68,68,.4);box-shadow:0 32px 64px rgba(239,68,68,.2),0 12px 24px rgba(239,68,68,.1),inset 0 1px 0 hsla(0,0%,100%,.4),0 0 0 1px rgba(239,68,68,.3)}.notification-warning{--tw-text-opacity:1;color:rgb(254 249 195/var(--tw-text-opacity,1));background:linear-gradient(135deg,rgba(245,158,11,.25),rgba(252,211,77,.18) 50%,rgba(245,158,11,.12));border:1px solid rgba(245,158,11,.4);box-shadow:0 32px 64px rgba(245,158,11,.2),0 12px 24px rgba(245,158,11,.1),inset 0 1px 0 hsla(0,0%,100%,.4),0 0 0 1px rgba(245,158,11,.3)}.notification-info{--tw-text-opacity:1;color:rgb(219 234 254/var(--tw-text-opacity,1));background:linear-gradient(135deg,rgba(59,130,246,.25),rgba(147,197,253,.18) 50%,rgba(59,130,246,.12));border:1px solid rgba(59,130,246,.4);box-shadow:0 32px 64px rgba(59,130,246,.2),0 12px 24px rgba(59,130,246,.1),inset 0 1px 0 hsla(0,0%,100%,.4),0 0 0 1px rgba(59,130,246,.3)}.dark .toast-notification{background:rgba(0,0,0,.2);backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(115%);-webkit-backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(115%);border:1px solid hsla(0,0%,100%,.15);box-shadow:0 32px 64px rgba(0,0,0,.6),0 12px 24px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.05)}.alert{margin-bottom:1.5rem;border-radius:16px;border-width:1px;padding:1.5rem;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);background:hsla(0,0%,100%,.12);backdrop-filter:blur(30px) saturate(200%) brightness(120%) contrast(110%);-webkit-backdrop-filter:blur(30px) saturate(200%) brightness(120%) contrast(110%);border:1px solid hsla(0,0%,100%,.25);box-shadow:0 25px 50px rgba(0,0,0,.15),0 8px 16px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.3),0 0 0 1px hsla(0,0%,100%,.1);animation:alert-fade-in .5s ease-out}.dark .alert{background:rgba(0,0,0,.3);backdrop-filter:blur(30px) saturate(180%) brightness(110%) contrast(120%);-webkit-backdrop-filter:blur(30px) saturate(180%) brightness(110%) contrast(120%);border:1px solid hsla(0,0%,100%,.15);box-shadow:0 25px 50px rgba(0,0,0,.4),0 8px 16px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.15),0 0 0 1px hsla(0,0%,100%,.05)}.dark .browser-notification{background:rgba(0,0,0,.2);backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(115%);-webkit-backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(115%);border:1px solid hsla(0,0%,100%,.15);box-shadow:0 32px 64px rgba(0,0,0,.6),0 12px 24px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.05)}@keyframes notification-slide-in{0%{opacity:0;transform:translateX(100%) translateY(-20px) scale(.9);-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}50%{opacity:.8;transform:translateX(20px) translateY(-10px) scale(1.05);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}to{opacity:1;transform:translateX(0) translateY(0) scale(1);-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px)}}@keyframes notification-slide-out{0%{opacity:1;transform:translateX(0) translateY(0) scale(1)}to{opacity:0;transform:translateX(100%) translateY(-20px) scale(.9)}}@keyframes notification-slide-left{0%{opacity:0;transform:translateX(-100%) translateY(-20px) scale(.9);-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}50%{opacity:.8;transform:translateX(-20px) translateY(-10px) scale(1.05);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}to{opacity:1;transform:translateX(0) translateY(0) scale(1);-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px)}}@keyframes alert-fade-in{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.\!notification.hiding{animation:notification-slide-out .4s cubic-bezier(.4,0,.2,1) forwards!important}.notification.hiding{animation:notification-slide-out .4s cubic-bezier(.4,0,.2,1) forwards}.notification-icon{margin-right:.75rem;display:flex;height:2rem;width:2rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:9999px;background:hsla(0,0%,100%,.2);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid hsla(0,0%,100%,.3);box-shadow:0 8px 16px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.4)}.notification-content{flex:1 1 0%}.notification-title{margin-bottom:.25rem;font-size:.875rem;line-height:1.25rem;font-weight:600}.notification-message{font-size:.875rem;line-height:1.25rem;opacity:.9}.notification-close{margin-left:.75rem;border-radius:.5rem;padding:.25rem;opacity:.7;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.notification-close:hover{opacity:1}.notification-close{background:hsla(0,0%,100%,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.2)}.notification-close:hover{background:hsla(0,0%,100%,.2);transform:scale(1.1)}.notifications-container{position:fixed;top:1rem;right:1rem;z-index:50;max-width:28rem}.notifications-container>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.flash-message-light.success{border-left:4px solid #10b981;background:linear-gradient(135deg,rgba(236,253,245,.95),rgba(209,250,229,.9))}.flash-message-light.error{border-left:4px solid #ef4444;background:linear-gradient(135deg,hsla(0,86%,97%,.95),hsla(0,94%,82%,.9))}.flash-message-light.\!warning{border-left:4px solid #fbbf24!important;background:linear-gradient(135deg,rgba(255,251,235,.95),hsla(48,96%,89%,.9))!important}.flash-message-light.warning{border-left:4px solid #fbbf24;background:linear-gradient(135deg,rgba(255,251,235,.95),hsla(48,96%,89%,.9))}.flash-message-light.info{border-left:4px solid #3b82f6;background:linear-gradient(135deg,rgba(239,246,255,.95),rgba(219,234,254,.9))}.dark .table-enhanced{background:hsla(0,0%,4%,.8);border-color:var(--color-border-primary)}.dark .table-enhanced th{background:rgba(26,26,26,.8);color:var(--color-text-primary)}.dark .table-enhanced tbody tr:hover{background:rgba(26,26,26,.6)}.dark .modal-enhanced{background:rgba(0,0,0,.95);border-color:rgba(42,42,42,.7);box-shadow:0 50px 100px rgba(0,0,0,.5),inset 0 2px 0 hsla(0,0%,100%,.05)}.dark-mode-toggle-new{position:relative;display:flex;cursor:pointer;align-items:center;justify-content:center;border-radius:9999px;padding:.625rem;transition:all .3s cubic-bezier(.4,0,.2,1);background:linear-gradient(135deg,rgba(248,250,252,.9),rgba(241,245,249,.8));border:1px solid rgba(226,232,240,.7);box-shadow:0 4px 12px rgba(0,0,0,.06),0 2px 4px rgba(0,115,206,.04),inset 0 1px 0 hsla(0,0%,100%,.8);color:var(--color-text-secondary)}.dark-mode-toggle-new:hover{transform:translateY(-2px) scale(1.05);background:linear-gradient(135deg,rgba(248,250,252,.95),rgba(241,245,249,.85));box-shadow:0 8px 20px rgba(0,0,0,.1),0 4px 8px rgba(0,115,206,.08),inset 0 1px 0 hsla(0,0%,100%,.9)}.dark-mode-toggle-new:active{transform:translateY(-1px) scale(.98)}.dark .dark-mode-toggle-new{background:hsla(0,0%,4%,.8);border:1px solid rgba(42,42,42,.6);box-shadow:0 4px 12px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.05);color:var(--color-text-secondary)}.dark .dark-mode-toggle-new:hover{background:hsla(0,0%,4%,.9);box-shadow:0 8px 20px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.08)}.dark-mode-toggle-new .moon-icon,.dark-mode-toggle-new .sun-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transition:all .3s cubic-bezier(.4,0,.2,1)}.dark-mode-toggle-new .moon-icon:not(.hidden),.dark-mode-toggle-new .sun-icon:not(.hidden){animation:icon-appear .5s cubic-bezier(.25,1,.5,1) forwards}@keyframes icon-appear{0%{opacity:0;transform:translate(-50%,-50%) scale(.5) rotate(-20deg)}to{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}}.dark .user-menu-button-new{background:hsla(0,0%,4%,.7);border-color:rgba(42,42,42,.6);box-shadow:0 2px 8px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.03)}.dark .user-menu-button-new:hover{background:hsla(0,0%,4%,.8);box-shadow:0 4px 12px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.05)}.dark .hover-lift-enhanced:hover{box-shadow:0 12px 30px var(--color-shadow)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary);border-radius:4px}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--color-border-secondary) 0,var(--color-border-primary) 100%);border-radius:4px;-webkit-transition:background .2s ease;transition:background .2s ease}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--color-accent) 0,var(--color-accent-hover) 100%)}.dark ::-webkit-scrollbar-track{background:var(--color-bg-secondary)}.dark ::-webkit-scrollbar-thumb{background:var(--color-border-primary)}.dark ::-webkit-scrollbar-thumb:hover{background:#60a5fa}@keyframes loading-shimmer{0%{left:-100%}to{left:100%}}.dark .focus-enhanced:focus{outline-color:#60a5fa;box-shadow:0 0 0 4px rgba(96,165,250,.15),0 4px 12px rgba(96,165,250,.2)}@media (max-width:768px){.card-enhanced{padding:1rem;border-radius:.75rem}.btn-enhanced{padding:.75rem 1.5rem;font-size:.8rem}.modal-enhanced{border-radius:1rem;margin:1rem}.dark-mode-toggle-new{padding:.5rem}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media (prefers-contrast:high){:root{--color-shadow:rgba(0,0,0,.2);--color-shadow-strong:rgba(0,0,0,.3);--color-border-primary:#000}.dark{--color-border-primary:#fff}}.btn-primary{border-radius:.5rem;padding:.5rem 1rem;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.btn-primary:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.btn-primary:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(107 114 128/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px}.btn-primary:is(.dark *){--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.btn-primary{background:rgba(0,0,0,.7);backdrop-filter:blur(20px) saturate(150%) brightness(110%);-webkit-backdrop-filter:blur(20px) saturate(150%) brightness(110%);border:1px solid hsla(0,0%,100%,.2);box-shadow:0 20px 40px rgba(0,0,0,.3),0 8px 16px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.1)}.btn-primary:hover{background:rgba(0,0,0,.9);backdrop-filter:blur(25px) saturate(180%) brightness(120%);-webkit-backdrop-filter:blur(25px) saturate(180%) brightness(120%);border:1px solid hsla(0,0%,100%,.3);box-shadow:0 25px 50px rgba(0,0,0,.4),0 10px 20px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.3)}.dark .btn-primary{background:hsla(0,0%,100%,.7);border:1px solid rgba(0,0,0,.1);box-shadow:0 20px 40px rgba(0,0,0,.2),0 8px 16px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.8),0 0 0 1px rgba(0,0,0,.05)}.dark .btn-primary:hover{background:hsla(0,0%,100%,.9);border:1px solid rgba(0,0,0,.15);box-shadow:0 25px 50px rgba(0,0,0,.3),0 10px 20px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.9)}.btn-secondary{border-radius:.5rem;padding:.5rem 1rem;--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1));--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.btn-secondary:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.btn-secondary:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(100 116 139/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px}.btn-secondary:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.btn-secondary{background:hsla(0,0%,100%,.3);backdrop-filter:blur(20px) saturate(150%) brightness(110%);-webkit-backdrop-filter:blur(20px) saturate(150%) brightness(110%);border:1px solid hsla(0,0%,100%,.4);box-shadow:0 20px 40px rgba(0,0,0,.15),0 8px 16px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.5),0 0 0 1px hsla(0,0%,100%,.2)}.btn-secondary:hover{background:hsla(0,0%,100%,.5);backdrop-filter:blur(25px) saturate(180%) brightness(120%);-webkit-backdrop-filter:blur(25px) saturate(180%) brightness(120%);border:1px solid hsla(0,0%,100%,.6);box-shadow:0 25px 50px rgba(0,0,0,.2),0 10px 20px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.7)}.dark .btn-secondary{background:rgba(0,0,0,.4);border:1px solid hsla(0,0%,100%,.2);box-shadow:0 20px 40px rgba(0,0,0,.3),0 8px 16px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.1)}.dark .btn-secondary:hover{background:rgba(0,0,0,.6);border:1px solid hsla(0,0%,100%,.3);box-shadow:0 25px 50px rgba(0,0,0,.4),0 10px 20px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.3)}.btn-outline{border-radius:.5rem;border-width:2px;border-color:rgba(0,0,0,.7);padding:.5rem 1rem;--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1));--tw-backdrop-blur:blur(16px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.btn-outline:hover{background-color:rgba(0,0,0,.7);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.btn-outline:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(107 114 128/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px}.btn-outline:is(.dark *){border-color:hsla(0,0%,100%,.7);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.btn-outline:hover:is(.dark *){background-color:hsla(0,0%,100%,.7);--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.btn-outline{backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);box-shadow:0 15px 30px rgba(0,0,0,.1),0 0 0 1px hsla(0,0%,100%,.05)}.glass-card{border-radius:12px;padding:1.5rem;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:hsla(0,0%,100%,.15);backdrop-filter:blur(30px) saturate(200%) brightness(120%) contrast(110%);-webkit-backdrop-filter:blur(30px) saturate(200%) brightness(120%) contrast(110%);border:1px solid hsla(0,0%,100%,.3);box-shadow:0 25px 50px rgba(0,0,0,.15),0 8px 16px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.3),0 0 0 1px hsla(0,0%,100%,.1);border-radius:var(--card-radius)}.dark .glass-card{background:rgba(0,0,0,.3);backdrop-filter:blur(30px) saturate(180%) brightness(110%) contrast(120%);-webkit-backdrop-filter:blur(30px) saturate(180%) brightness(110%) contrast(120%);border:1px solid hsla(0,0%,100%,.15);box-shadow:0 25px 50px rgba(0,0,0,.4),0 8px 16px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.15),0 0 0 1px hsla(0,0%,100%,.05)}.dashboard-card{border-radius:12px;padding:1.5rem;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.dashboard-card:hover{--tw-translate-y:-0.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dashboard-card{background:hsla(0,0%,100%,.12);backdrop-filter:blur(35px) saturate(200%) brightness(125%) contrast(115%);-webkit-backdrop-filter:blur(35px) saturate(200%) brightness(125%) contrast(115%);border:1px solid hsla(0,0%,100%,.25);box-shadow:0 25px 50px rgba(0,0,0,.15),0 8px 16px rgba(0,0,0,.08),inset 0 1px 0 hsla(0,0%,100%,.25),0 0 0 1px hsla(0,0%,100%,.1);border-radius:var(--card-radius)}.dark .dashboard-card{background:rgba(0,0,0,.35);backdrop-filter:blur(35px) saturate(180%) brightness(115%) contrast(125%);-webkit-backdrop-filter:blur(35px) saturate(180%) brightness(115%) contrast(125%);border:1px solid hsla(0,0%,100%,.12);box-shadow:0 25px 50px rgba(0,0,0,.5),0 8px 16px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.12),0 0 0 1px hsla(0,0%,100%,.05)}.nav-link.active{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1));--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.nav-link.active:is(.dark *){--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.navbar{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;background:hsla(0,0%,100%,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:10px;box-shadow:0 4px 6px rgba(0,0,0,.1);transition:all .3s ease}@media (max-width:768px){.navbar{flex-direction:column;padding:.25rem}.navbar-button{margin:.25rem 0}}.dark .navbar{background:rgba(0,0,0,.25);backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(120%);-webkit-backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(120%);box-shadow:0 8px 32px rgba(0,0,0,.6),0 2px 8px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.1),0 0 0 1px hsla(0,0%,100%,.05);border-bottom:1px solid hsla(0,0%,100%,.1)}.navbar-brand{display:flex;align-items:center}.navbar-brand>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.navbar-brand{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.navbar-brand:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark .navbar-menu{background:rgba(0,0,0,.4);backdrop-filter:blur(20px) saturate(150%) brightness(110%);-webkit-backdrop-filter:blur(20px) saturate(150%) brightness(110%);border:1px solid hsla(0,0%,100%,.15);box-shadow:0 4px 16px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.05)}.user-avatar{display:flex;height:2.5rem;width:2.5rem;align-items:center;justify-content:center;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1));font-size:.875rem;line-height:1.25rem;font-weight:700;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.user-avatar,.user-avatar:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.user-avatar:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.user-avatar:is(.dark *){--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.dark .menu-item{background:rgba(0,0,0,.2);border:1px solid hsla(0,0%,100%,.1);box-shadow:0 2px 8px rgba(0,0,0,.2)}.dark .menu-item:hover{background:rgba(0,0,0,.4);border:1px solid hsla(0,0%,100%,.2);box-shadow:0 4px 16px rgba(0,0,0,.3)}.menu-item.active{font-weight:500;--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.menu-item.active:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.menu-item.active{background:hsla(0,0%,100%,.5);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid hsla(0,0%,100%,.6);box-shadow:0 4px 16px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.5)}.dark .menu-item.active{background:rgba(0,0,0,.6);border:1px solid hsla(0,0%,100%,.3);box-shadow:0 4px 16px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2)}.user-dropdown{position:absolute;right:0;z-index:50;margin-top:.5rem;width:16rem;overflow:hidden;border-radius:12px;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);background:hsla(0,0%,100%,.1);backdrop-filter:blur(40px) saturate(200%) brightness(130%) contrast(110%);-webkit-backdrop-filter:blur(40px) saturate(200%) brightness(130%) contrast(110%);border:1px solid hsla(0,0%,100%,.3);box-shadow:0 25px 50px rgba(0,0,0,.25),0 8px 16px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.4),0 0 0 1px hsla(0,0%,100%,.1);animation:fadeIn .2s ease-out forwards}.dark .user-dropdown{background:rgba(0,0,0,.4);backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(120%);-webkit-backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(120%);border:1px solid hsla(0,0%,100%,.15);box-shadow:0 25px 50px rgba(0,0,0,.6),0 8px 16px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.05)}.dropdown-header{display:flex;align-items:center;border-bottom-width:1px;border-color:rgba(229,231,235,.8);padding:1rem}.dropdown-header:is(.dark *){border-color:rgba(51,65,85,.3)}.dropdown-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.dropdown-item:hover{background-color:rgba(243,244,246,.8);--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.dropdown-item:is(.dark *){--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.dropdown-item:hover:is(.dark *){background-color:rgba(51,65,85,.6);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dropdown-divider{border-top-width:1px;border-color:rgba(229,231,235,.8)}.dropdown-divider:is(.dark *){border-color:rgba(51,65,85,.3)}@keyframes mercedes-rotate{0%{transform:rotate(0deg)}25%{transform:rotate(90deg)}50%{transform:rotate(180deg)}75%{transform:rotate(270deg)}to{transform:rotate(1turn)}}.navbar-brand:hover svg{animation:mercedes-rotate 5s linear infinite;transform-origin:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-bottom-2{bottom:-.5rem}.-bottom-40{bottom:-10rem}.-bottom-8{bottom:-2rem}.-left-2{left:-.5rem}.-left-32{left:-8rem}.-right-1{right:-.25rem}.-right-2{right:-.5rem}.-right-32{right:-8rem}.-top-1{top:-.25rem}.-top-2{top:-.5rem}.-top-40{top:-10rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.bottom-8{bottom:2rem}.bottom-full{bottom:100%}.end-1{inset-inline-end:.25rem}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-3{left:.75rem}.left-4{left:1rem}.right-0{right:0}.right-1{right:.25rem}.right-3{right:.75rem}.right-4{right:1rem}.right-5{right:1.25rem}.right-6{right:1.5rem}.right-8{right:2rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-20{top:5rem}.top-3{top:.75rem}.top-4{top:1rem}.top-5{top:1.25rem}.top-6{top:1.5rem}.top-8{top:2rem}.top-full{top:100%}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.col-span-1{grid-column:span 1/span 1}.col-span-full{grid-column:1/-1}.m-1{margin:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-8{margin-left:2rem;margin-right:2rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.-mb-px{margin-bottom:-1px}.-ml-1{margin-left:-.25rem}.-mt-8{margin-top:-2rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-6{margin-left:1.5rem}.ml-8{margin-left:2rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.list-item{display:list-item}.hidden{display:none}.h-0{height:0}.h-1{height:.25rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-20{height:5rem}.h-24{height:6rem}.h-28{height:7rem}.h-3{height:.75rem}.h-32{height:8rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-80{height:20rem}.h-96{height:24rem}.h-full{height:100%}.max-h-64{max-height:16rem}.max-h-96{max-height:24rem}.max-h-\[90vh\]{max-height:90vh}.min-h-\[80vh\]{min-height:80vh}.min-h-screen{min-height:100vh}.w-0{width:0}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-96{width:24rem}.w-full{width:100%}.min-w-0{min-width:0}.min-w-40{min-width:10rem}.min-w-\[150px\]{min-width:150px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.translate-x-6{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-6{--tw-translate-x:1.5rem}.translate-x-full{--tw-translate-x:100%}.rotate-0,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-0{--tw-rotate:0deg}.rotate-90{--tw-rotate:90deg}.rotate-90,.skew-x-12{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.skew-x-12{--tw-skew-x:12deg}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.scale-75{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-75{--tw-scale-x:.75;--tw-scale-y:.75}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-95,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fadeIn .5s ease-in-out}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.animate-slide-up{animation:slideUp .3s ease-out}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize-none{resize:none}.resize{resize:both}.scroll-mt-8{scroll-margin-top:2rem}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.5rem*var(--tw-space-x-reverse));margin-left:calc(1.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2rem*var(--tw-space-x-reverse));margin-left:calc(2rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(4rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity,1))}.divide-slate-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(226 232 240/var(--tw-divide-opacity,1))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:16px}.rounded-3xl{border-radius:24px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:12px}.rounded-b-3xl{border-bottom-right-radius:24px;border-bottom-left-radius:24px}.rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.rounded-t-3xl{border-top-left-radius:24px;border-top-right-radius:24px}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}.border-r-4{border-right-width:4px}.border-t{border-top-width:1px}.border-t-4{border-top-width:4px}.border-dashed{border-style:dashed}.border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-200\/50{border-color:rgba(191,219,254,.5)}.border-blue-300{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.border-emerald-200\/50{border-color:rgba(167,243,208,.5)}.border-emerald-500{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-200\/50{border-color:rgba(229,231,235,.5)}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.border-green-200\/50{border-color:rgba(187,247,208,.5)}.border-green-300{--tw-border-opacity:1;border-color:rgb(134 239 172/var(--tw-border-opacity,1))}.border-green-400{--tw-border-opacity:1;border-color:rgb(74 222 128/var(--tw-border-opacity,1))}.border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.border-green-600{--tw-border-opacity:1;border-color:rgb(22 163 74/var(--tw-border-opacity,1))}.border-indigo-200{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.border-indigo-200\/50{border-color:rgba(199,210,254,.5)}.border-mercedes-blue{--tw-border-opacity:1;border-color:rgb(0 115 206/var(--tw-border-opacity,1))}.border-mercedes-silver{--tw-border-opacity:1;border-color:rgb(170 169 173/var(--tw-border-opacity,1))}.border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.border-orange-200\/50{border-color:hsla(32,98%,83%,.5)}.border-orange-300{--tw-border-opacity:1;border-color:rgb(253 186 116/var(--tw-border-opacity,1))}.border-orange-400{--tw-border-opacity:1;border-color:rgb(251 146 60/var(--tw-border-opacity,1))}.border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.border-purple-200\/50{border-color:rgba(233,213,255,.5)}.border-purple-600{--tw-border-opacity:1;border-color:rgb(147 51 234/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-red-200\/50{border-color:hsla(0,96%,89%,.5)}.border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-slate-200\/50{border-color:rgba(226,232,240,.5)}.border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.border-white\/10{border-color:hsla(0,0%,100%,.1)}.border-white\/20{border-color:hsla(0,0%,100%,.2)}.border-white\/30{border-color:hsla(0,0%,100%,.3)}.border-white\/50{border-color:hsla(0,0%,100%,.5)}.border-yellow-200{--tw-border-opacity:1;border-color:rgb(254 240 138/var(--tw-border-opacity,1))}.border-yellow-300{--tw-border-opacity:1;border-color:rgb(253 224 71/var(--tw-border-opacity,1))}.border-yellow-400{--tw-border-opacity:1;border-color:rgb(250 204 21/var(--tw-border-opacity,1))}.border-yellow-500{--tw-border-opacity:1;border-color:rgb(234 179 8/var(--tw-border-opacity,1))}.border-t-slate-800{--tw-border-opacity:1;border-top-color:rgb(30 41 59/var(--tw-border-opacity,1))}.border-t-slate-900{--tw-border-opacity:1;border-top-color:rgb(15 23 42/var(--tw-border-opacity,1))}.border-t-transparent{border-top-color:transparent}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/20{background-color:rgba(0,0,0,.2)}.bg-black\/30{background-color:rgba(0,0,0,.3)}.bg-black\/50{background-color:rgba(0,0,0,.5)}.bg-black\/60{background-color:rgba(0,0,0,.6)}.bg-black\/70{background-color:rgba(0,0,0,.7)}.bg-black\/75{background-color:rgba(0,0,0,.75)}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-50\/50{background-color:rgba(239,246,255,.5)}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-cyan-100{--tw-bg-opacity:1;background-color:rgb(207 250 254/var(--tw-bg-opacity,1))}.bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.bg-emerald-600{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.bg-error{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-green-50\/50{background-color:rgba(240,253,244,.5)}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.bg-indigo-50{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.bg-indigo-50\/50{background-color:rgba(238,242,255,.5)}.bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.bg-info{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-mercedes-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-mercedes-blue{--tw-bg-opacity:1;background-color:rgb(0 115 206/var(--tw-bg-opacity,1))}.bg-mercedes-silver{--tw-bg-opacity:1;background-color:rgb(170 169 173/var(--tw-bg-opacity,1))}.bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.bg-orange-400{--tw-bg-opacity:1;background-color:rgb(251 146 60/var(--tw-bg-opacity,1))}.bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.bg-orange-50\/50{background-color:rgba(255,247,237,.5)}.bg-orange-500{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.bg-orange-600{--tw-bg-opacity:1;background-color:rgb(234 88 12/var(--tw-bg-opacity,1))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.bg-purple-400{--tw-bg-opacity:1;background-color:rgb(192 132 252/var(--tw-bg-opacity,1))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.bg-purple-50\/50{background-color:rgba(250,245,255,.5)}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.bg-purple-600{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-400{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-50\/50{background-color:hsla(0,86%,97%,.5)}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity,1))}.bg-slate-400{--tw-bg-opacity:1;background-color:rgb(148 163 184/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-slate-50\/50{background-color:rgba(248,250,252,.5)}.bg-slate-500{--tw-bg-opacity:1;background-color:rgb(100 116 139/var(--tw-bg-opacity,1))}.bg-slate-600{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.bg-slate-700{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.bg-success{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.bg-teal-100{--tw-bg-opacity:1;background-color:rgb(204 251 241/var(--tw-bg-opacity,1))}.bg-teal-500{--tw-bg-opacity:1;background-color:rgb(20 184 166/var(--tw-bg-opacity,1))}.bg-warning{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/10{background-color:hsla(0,0%,100%,.1)}.bg-white\/15{background-color:hsla(0,0%,100%,.15)}.bg-white\/20{background-color:hsla(0,0%,100%,.2)}.bg-white\/40{background-color:hsla(0,0%,100%,.4)}.bg-white\/60{background-color:hsla(0,0%,100%,.6)}.bg-white\/80{background-color:hsla(0,0%,100%,.8)}.bg-white\/90{background-color:hsla(0,0%,100%,.9)}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.bg-yellow-400{--tw-bg-opacity:1;background-color:rgb(250 204 21/var(--tw-bg-opacity,1))}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.bg-yellow-600{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.bg-opacity-50{--tw-bg-opacity:0.5}.bg-opacity-75{--tw-bg-opacity:0.75}.bg-opacity-95{--tw-bg-opacity:0.95}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-tr{background-image:linear-gradient(to top right,var(--tw-gradient-stops))}.from-amber-500{--tw-gradient-from:#f59e0b var(--tw-gradient-from-position);--tw-gradient-to:rgba(245,158,11,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-100{--tw-gradient-from:#dbeafe var(--tw-gradient-from-position);--tw-gradient-to:rgba(219,234,254,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-300\/10{--tw-gradient-from:rgba(147,197,253,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,197,253,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-400{--tw-gradient-from:#60a5fa var(--tw-gradient-from-position);--tw-gradient-to:rgba(96,165,250,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-400\/20{--tw-gradient-from:rgba(96,165,250,.2) var(--tw-gradient-from-position);--tw-gradient-to:rgba(96,165,250,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-50{--tw-gradient-from:#eff6ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,246,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from:#3b82f6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(59,130,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-500\/10{--tw-gradient-from:rgba(59,130,246,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(59,130,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-600{--tw-gradient-from:#2563eb var(--tw-gradient-from-position);--tw-gradient-to:rgba(37,99,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-600\/10{--tw-gradient-from:rgba(37,99,235,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(37,99,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-emerald-400{--tw-gradient-from:#34d399 var(--tw-gradient-from-position);--tw-gradient-to:rgba(52,211,153,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-emerald-50{--tw-gradient-from:#ecfdf5 var(--tw-gradient-from-position);--tw-gradient-to:rgba(236,253,245,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-100{--tw-gradient-from:#dcfce7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(220,252,231,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-50{--tw-gradient-from:#f0fdf4 var(--tw-gradient-from-position);--tw-gradient-to:rgba(240,253,244,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-500{--tw-gradient-from:#22c55e var(--tw-gradient-from-position);--tw-gradient-to:rgba(34,197,94,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-500\/10{--tw-gradient-from:rgba(34,197,94,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(34,197,94,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-indigo-500{--tw-gradient-from:#6366f1 var(--tw-gradient-from-position);--tw-gradient-to:rgba(99,102,241,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-orange-50{--tw-gradient-from:#fff7ed var(--tw-gradient-from-position);--tw-gradient-to:rgba(255,247,237,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-orange-500{--tw-gradient-from:#f97316 var(--tw-gradient-from-position);--tw-gradient-to:rgba(249,115,22,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-orange-500\/10{--tw-gradient-from:rgba(249,115,22,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(249,115,22,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-100{--tw-gradient-from:#f3e8ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,232,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-400\/20{--tw-gradient-from:rgba(192,132,252,.2) var(--tw-gradient-from-position);--tw-gradient-to:rgba(192,132,252,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-50{--tw-gradient-from:#faf5ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(250,245,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-500\/10{--tw-gradient-from:rgba(168,85,247,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-red-500{--tw-gradient-from:#ef4444 var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,68,68,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-red-500\/10{--tw-gradient-from:rgba(239,68,68,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,68,68,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-100{--tw-gradient-from:#f1f5f9 var(--tw-gradient-from-position);--tw-gradient-to:rgba(241,245,249,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-50{--tw-gradient-from:#f8fafc var(--tw-gradient-from-position);--tw-gradient-to:rgba(248,250,252,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-500{--tw-gradient-from:#64748b var(--tw-gradient-from-position);--tw-gradient-to:rgba(100,116,139,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-900{--tw-gradient-from:#0f172a var(--tw-gradient-from-position);--tw-gradient-to:rgba(15,23,42,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-transparent{--tw-gradient-from:transparent var(--tw-gradient-from-position);--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-white{--tw-gradient-from:#fff var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-yellow-500{--tw-gradient-from:#eab308 var(--tw-gradient-from-position);--tw-gradient-to:rgba(234,179,8,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-blue-100{--tw-gradient-to:rgba(219,234,254,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#dbeafe var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-blue-200{--tw-gradient-to:rgba(191,219,254,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#bfdbfe var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-blue-50{--tw-gradient-to:rgba(239,246,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#eff6ff var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-blue-900{--tw-gradient-to:rgba(30,58,138,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#1e3a8a var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-green-50{--tw-gradient-to:rgba(240,253,244,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#f0fdf4 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-green-500{--tw-gradient-to:rgba(34,197,94,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#22c55e var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-indigo-50{--tw-gradient-to:rgba(238,242,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#eef2ff var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-purple-500{--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#a855f7 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-red-50{--tw-gradient-to:hsla(0,86%,97%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#fef2f2 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-white\/20{--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),hsla(0,0%,100%,.2) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-white\/5{--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),hsla(0,0%,100%,.05) var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-amber-600{--tw-gradient-to:#d97706 var(--tw-gradient-to-position)}.to-blue-200{--tw-gradient-to:#bfdbfe var(--tw-gradient-to-position)}.to-blue-50{--tw-gradient-to:#eff6ff var(--tw-gradient-to-position)}.to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.to-emerald-50{--tw-gradient-to:#ecfdf5 var(--tw-gradient-to-position)}.to-emerald-500{--tw-gradient-to:#10b981 var(--tw-gradient-to-position)}.to-emerald-500\/10{--tw-gradient-to:rgba(16,185,129,.1) var(--tw-gradient-to-position)}.to-emerald-600{--tw-gradient-to:#059669 var(--tw-gradient-to-position)}.to-green-200{--tw-gradient-to:#bbf7d0 var(--tw-gradient-to-position)}.to-green-50{--tw-gradient-to:#f0fdf4 var(--tw-gradient-to-position)}.to-green-600{--tw-gradient-to:#16a34a var(--tw-gradient-to-position)}.to-indigo-100{--tw-gradient-to:#e0e7ff var(--tw-gradient-to-position)}.to-indigo-300\/10{--tw-gradient-to:rgba(165,180,252,.1) var(--tw-gradient-to-position)}.to-indigo-50{--tw-gradient-to:#eef2ff var(--tw-gradient-to-position)}.to-indigo-500{--tw-gradient-to:#6366f1 var(--tw-gradient-to-position)}.to-indigo-500\/10{--tw-gradient-to:rgba(99,102,241,.1) var(--tw-gradient-to-position)}.to-indigo-600{--tw-gradient-to:#4f46e5 var(--tw-gradient-to-position)}.to-indigo-600\/20{--tw-gradient-to:rgba(79,70,229,.2) var(--tw-gradient-to-position)}.to-indigo-900{--tw-gradient-to:#312e81 var(--tw-gradient-to-position)}.to-orange-50{--tw-gradient-to:#fff7ed var(--tw-gradient-to-position)}.to-orange-500{--tw-gradient-to:#f97316 var(--tw-gradient-to-position)}.to-orange-600{--tw-gradient-to:#ea580c var(--tw-gradient-to-position)}.to-pink-50{--tw-gradient-to:#fdf2f8 var(--tw-gradient-to-position)}.to-pink-500\/10{--tw-gradient-to:rgba(236,72,153,.1) var(--tw-gradient-to-position)}.to-pink-600\/20{--tw-gradient-to:rgba(219,39,119,.2) var(--tw-gradient-to-position)}.to-purple-200{--tw-gradient-to:#e9d5ff var(--tw-gradient-to-position)}.to-purple-50{--tw-gradient-to:#faf5ff var(--tw-gradient-to-position)}.to-purple-600{--tw-gradient-to:#9333ea var(--tw-gradient-to-position)}.to-purple-600\/10{--tw-gradient-to:rgba(147,51,234,.1) var(--tw-gradient-to-position)}.to-red-50{--tw-gradient-to:#fef2f2 var(--tw-gradient-to-position)}.to-red-500{--tw-gradient-to:#ef4444 var(--tw-gradient-to-position)}.to-red-500\/10{--tw-gradient-to:rgba(239,68,68,.1) var(--tw-gradient-to-position)}.to-red-600{--tw-gradient-to:#dc2626 var(--tw-gradient-to-position)}.to-rose-500{--tw-gradient-to:#f43f5e var(--tw-gradient-to-position)}.to-slate-100{--tw-gradient-to:#f1f5f9 var(--tw-gradient-to-position)}.to-slate-200{--tw-gradient-to:#e2e8f0 var(--tw-gradient-to-position)}.to-slate-600{--tw-gradient-to:#475569 var(--tw-gradient-to-position)}.to-slate-700{--tw-gradient-to:#334155 var(--tw-gradient-to-position)}.to-teal-50{--tw-gradient-to:#f0fdfa var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.to-violet-500\/10{--tw-gradient-to:rgba(139,92,246,.1) var(--tw-gradient-to-position)}.to-white{--tw-gradient-to:#fff var(--tw-gradient-to-position)}.to-yellow-600{--tw-gradient-to:#ca8a04 var(--tw-gradient-to-position)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.fill-current{fill:currentColor}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-10{padding:2.5rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-12{padding-bottom:3rem}.pb-20{padding-bottom:5rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pl-10{padding-left:2.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pr-10{padding-right:2.5rem}.pr-12{padding-right:3rem}.pr-20{padding-right:5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.font-mercedes{font-family:Mercedes-Benz Text,Arial,sans-serif}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-8xl{font-size:6rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-4{line-height:1rem}.leading-6{line-height:1.5rem}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-blue-100{--tw-text-opacity:1;color:rgb(219 234 254/var(--tw-text-opacity,1))}.text-blue-200{--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity,1))}.text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-blue-900{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity,1))}.text-cyan-600{--tw-text-opacity:1;color:rgb(8 145 178/var(--tw-text-opacity,1))}.text-emerald-300{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity,1))}.text-error{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-green-900{--tw-text-opacity:1;color:rgb(20 83 45/var(--tw-text-opacity,1))}.text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-indigo-800{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity,1))}.text-indigo-900{--tw-text-opacity:1;color:rgb(49 46 129/var(--tw-text-opacity,1))}.text-mercedes-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-mercedes-blue{--tw-text-opacity:1;color:rgb(0 115 206/var(--tw-text-opacity,1))}.text-mercedes-gray{--tw-text-opacity:1;color:rgb(94 94 94/var(--tw-text-opacity,1))}.text-mercedes-silver{--tw-text-opacity:1;color:rgb(170 169 173/var(--tw-text-opacity,1))}.text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.text-orange-800{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity,1))}.text-pink-600{--tw-text-opacity:1;color:rgb(219 39 119/var(--tw-text-opacity,1))}.text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity,1))}.text-purple-900{--tw-text-opacity:1;color:rgb(88 28 135/var(--tw-text-opacity,1))}.text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.text-success{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.text-teal-600{--tw-text-opacity:1;color:rgb(13 148 136/var(--tw-text-opacity,1))}.text-transparent{color:transparent}.text-warning{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-200{--tw-text-opacity:1;color:rgb(254 240 138/var(--tw-text-opacity,1))}.text-yellow-300{--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}.text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.text-yellow-700{--tw-text-opacity:1;color:rgb(161 98 7/var(--tw-text-opacity,1))}.text-yellow-800{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity,1))}.text-yellow-900{--tw-text-opacity:1;color:rgb(113 63 18/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.overline{text-decoration-line:overline}.placeholder-slate-500::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity,1))}.placeholder-slate-500::placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity,1))}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05);--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-inner,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-2{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-mercedes-blue{--tw-ring-opacity:1;--tw-ring-color:rgb(0 115 206/var(--tw-ring-opacity,1))}.blur{--tw-blur:blur(8px)}.blur,.blur-2xl{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-2xl{--tw-blur:blur(40px)}.blur-3xl{--tw-blur:blur(64px)}.blur-3xl,.drop-shadow{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0,0,0,.1)) drop-shadow(0 1px 1px rgba(0,0,0,.06))}.\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.backdrop-blur-md,.backdrop-blur-sm{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.backdrop-blur-xl{--tw-backdrop-blur:blur(24px)}.backdrop-blur-xl,.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.delay-1000{transition-delay:1s}.delay-500{transition-delay:.5s}.duration-1000{transition-duration:1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.glassmorphism{background:hsla(0,0%,100%,.05);border-radius:16px;box-shadow:0 8px 32px 0 rgba(31,38,135,.37);border:1px solid hsla(0,0%,100%,.18)}.glassmorphism,.glassmorphism-dark{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.glassmorphism-dark{background:rgba(0,0,0,.05);border-radius:16px;box-shadow:0 8px 32px 0 rgba(0,0,0,.37);border:1px solid rgba(0,0,0,.18)}.text-shadow{text-shadow:0 2px 4px rgba(0,0,0,.1)}.flash-message{position:fixed;top:1rem;right:1rem;z-index:50;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:16px;border-width:1px;padding:1rem 1.5rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.5s;background:hsla(0,0%,100%,.08);backdrop-filter:blur(40px) saturate(200%) brightness(130%) contrast(110%);-webkit-backdrop-filter:blur(40px) saturate(200%) brightness(130%) contrast(110%);border:1px solid hsla(0,0%,100%,.25);box-shadow:0 32px 64px rgba(0,0,0,.25),0 12px 24px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.4),0 0 0 1px hsla(0,0%,100%,.1);animation:flash-slide-in .5s cubic-bezier(.4,0,.2,1);transition:all .5s cubic-bezier(.4,0,.2,1)}.dark .flash-message{background:rgba(0,0,0,.2);backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(115%);-webkit-backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(115%);border:1px solid hsla(0,0%,100%,.15);box-shadow:0 32px 64px rgba(0,0,0,.6),0 12px 24px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.05)}.flash-message:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 40px 80px rgba(0,0,0,.3),0 16px 32px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.5),0 0 0 1px hsla(0,0%,100%,.15)}.dark .flash-message:hover{box-shadow:0 40px 80px rgba(0,0,0,.7),0 16px 32px rgba(0,0,0,.5),inset 0 1px 0 hsla(0,0%,100%,.3),0 0 0 1px hsla(0,0%,100%,.1)}.flash-message.info{--tw-text-opacity:1;color:rgb(219 234 254/var(--tw-text-opacity,1));background:linear-gradient(135deg,rgba(59,130,246,.2),rgba(147,197,253,.15) 50%,rgba(59,130,246,.1));border:1px solid rgba(59,130,246,.3)}.flash-message.success{--tw-text-opacity:1;color:rgb(220 252 231/var(--tw-text-opacity,1));background:linear-gradient(135deg,rgba(34,197,94,.2),rgba(134,239,172,.15) 50%,rgba(34,197,94,.1));border:1px solid rgba(34,197,94,.3)}.flash-message.warning{--tw-text-opacity:1;color:rgb(254 249 195/var(--tw-text-opacity,1));background:linear-gradient(135deg,rgba(245,158,11,.2),rgba(252,211,77,.15) 50%,rgba(245,158,11,.1));border:1px solid rgba(245,158,11,.3)}.flash-message.error{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1));background:linear-gradient(135deg,rgba(239,68,68,.2),hsla(0,94%,82%,.15) 50%,rgba(239,68,68,.1));border:1px solid rgba(239,68,68,.3)}@keyframes flash-slide-in{0%{opacity:0;transform:translateX(100%) translateY(-20px) scale(.9);-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}50%{opacity:.8;transform:translateX(20px) translateY(-10px) scale(1.05);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}to{opacity:1;transform:translateX(0) translateY(0) scale(1);-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px)}}@keyframes flash-slide-out{0%{opacity:1;transform:translateX(0) translateY(0) scale(1)}to{opacity:0;transform:translateX(100%) translateY(-20px) scale(.9)}}.flash-message.hiding{animation:flash-slide-out .4s cubic-bezier(.4,0,.2,1) forwards}.dnd-toggle{position:relative;display:inline-flex;height:1.5rem;width:2.75rem;align-items:center;border-radius:9999px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.dnd-toggle:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px}.dnd-toggle{background:rgba(156,163,175,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(156,163,175,.2)}.dnd-toggle.active{background:rgba(239,68,68,.3);border:1px solid rgba(239,68,68,.4)}.dnd-toggle-slider{display:inline-block;height:1rem;width:1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:9999px;--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:hsla(0,0%,100%,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.3);box-shadow:0 4px 8px rgba(0,0,0,.2),0 2px 4px rgba(0,0,0,.1);margin:.125rem}.dnd-toggle.active .dnd-toggle-slider{transform:translateX(1.25rem);background:#fff;box-shadow:0 6px 12px rgba(239,68,68,.3),0 3px 6px rgba(239,68,68,.2)}.dnd-indicator{position:fixed;top:1rem;left:1rem;z-index:50;display:flex;align-items:center;border-radius:.5rem;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:rgba(239,68,68,.1);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border:1px solid rgba(239,68,68,.3);color:#ef4444;transform:translateY(-100%);opacity:0}.dnd-indicator.active{transform:translateY(0);opacity:1}.dnd-modal{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(0,0,0,.3);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.dnd-modal-content{width:100%;max-width:28rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:16px;padding:1.5rem;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background:hsla(0,0%,100%,.1);backdrop-filter:blur(40px) saturate(200%) brightness(120%);-webkit-backdrop-filter:blur(40px) saturate(200%) brightness(120%);border:1px solid hsla(0,0%,100%,.3);box-shadow:0 25px 50px rgba(0,0,0,.25),0 8px 16px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.4)}.dark .dnd-modal-content{background:rgba(0,0,0,.3);backdrop-filter:blur(40px) saturate(180%) brightness(110%);-webkit-backdrop-filter:blur(40px) saturate(180%) brightness(110%);border:1px solid hsla(0,0%,100%,.15);box-shadow:0 25px 50px rgba(0,0,0,.6),0 8px 16px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2)}.flash-message.dnd-suppressed{animation:flash-fade-in .3s ease-out;opacity:.3;transform:scale(.95);pointer-events:none}@keyframes flash-fade-in{0%{opacity:0;transform:scale(.9)}to{opacity:.3;transform:scale(.95)}}.dnd-counter{position:absolute;top:-.5rem;right:-.5rem;display:flex;height:1.25rem;width:1.25rem;align-items:center;justify-content:center;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1));font-size:.75rem;line-height:1rem;font-weight:700;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));background:rgba(239,68,68,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.2);box-shadow:0 2px 4px rgba(0,0,0,.2);animation:dnd-counter-bounce .5s ease-out}@keyframes dnd-counter-bounce{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.mercedes-background:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' fill='currentColor' opacity='.03'%3E%3Cpath d='M58.6 4.5C53 1.6 46.7 0 40 0S27 1.6 21.4 4.5C8.7 11.2 0 24.6 0 40s8.7 28.8 21.5 35.5C27 78.3 33.3 80 40 80s12.9-1.7 18.5-4.6C71.3 68.8 80 55.4 80 40S71.3 11.2 58.6 4.5M4 40c0-13.1 7-24.5 17.5-30.9C26.6 6 32.5 4.2 39 4l-4.5 32.7-13 10.1L8.3 57.1C5.6 52 4 46.2 4 40m54.6 30.8C53.1 74.1 46.8 76 40 76s-13.2-1.9-18.6-5.2c-4.9-2.9-8.9-6.9-11.9-11.7l11.9-4.9L40 46.6l18.6 7.5 12 4.9c-3 4.9-7.2 8.9-12 11.8m0-24-12.9-10L41.1 4c6.3.2 12.3 2 17.4 5.1C69 15.4 76 26.9 76 40c0 6.2-1.5 12-4.3 17.1z'/%3E%3C/svg%3E");background-position:50%;background-repeat:repeat;background-size:120px 120px;pointer-events:none;opacity:.03;transition:opacity .3s ease}.dark .mercedes-background:before{opacity:.015;filter:invert(1) brightness(.3);background-size:150px 150px}.navbar{position:sticky!important;top:0!important;z-index:50!important;width:100%!important;left:0!important;right:0!important;--navbar-blur:40px;--navbar-opacity:0.15;background:rgba(255,255,255,var(--navbar-opacity,.15))!important;backdrop-filter:blur(var(--navbar-blur,40px)) saturate(200%) brightness(110%) contrast(105%)!important;-webkit-backdrop-filter:blur(var(--navbar-blur,40px)) saturate(200%) brightness(110%) contrast(105%)!important;box-shadow:0 8px 32px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.08),inset 0 1px 0 hsla(0,0%,100%,.3),0 0 0 1px hsla(0,0%,100%,.15)!important;border-bottom:1px solid hsla(0,0%,100%,.2)!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important}.dark .navbar{--navbar-dark-opacity:0.25;background:rgba(0,0,0,var(--navbar-dark-opacity,.25))!important;backdrop-filter:blur(calc(var(--navbar-blur, 40px) + 5px)) saturate(180%) brightness(120%) contrast(115%)!important;-webkit-backdrop-filter:blur(calc(var(--navbar-blur, 40px) + 5px)) saturate(180%) brightness(120%) contrast(115%)!important;box-shadow:0 8px 32px rgba(0,0,0,.4),0 2px 8px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.15),0 0 0 1px hsla(0,0%,100%,.08)!important;border-bottom:1px solid hsla(0,0%,100%,.1)!important}.navbar.scrolled{--navbar-blur:50px;--navbar-opacity:0.25;background:rgba(255,255,255,var(--navbar-opacity,.25))!important;backdrop-filter:blur(var(--navbar-blur,50px)) saturate(220%) brightness(115%) contrast(110%)!important;-webkit-backdrop-filter:blur(var(--navbar-blur,50px)) saturate(220%) brightness(115%) contrast(110%)!important;box-shadow:0 12px 40px rgba(0,0,0,.15),0 4px 12px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.4),0 0 0 1px hsla(0,0%,100%,.2)!important}.dark .navbar.scrolled{--navbar-dark-opacity:0.35;background:rgba(0,0,0,var(--navbar-dark-opacity,.35))!important;backdrop-filter:blur(calc(var(--navbar-blur, 50px) + 5px)) saturate(200%) brightness(125%) contrast(120%)!important;-webkit-backdrop-filter:blur(calc(var(--navbar-blur, 50px) + 5px)) saturate(200%) brightness(125%) contrast(120%)!important;box-shadow:0 12px 40px rgba(0,0,0,.5),0 4px 12px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.1)!important}.navbar-menu-new{display:flex;align-items:center;justify-content:center}.navbar-menu-new>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.125rem*var(--tw-space-x-reverse));margin-left:calc(.125rem*(1 - var(--tw-space-x-reverse)))}@media (min-width:768px){.navbar-menu-new>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}}.navbar-menu-new{max-width:100%;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;background:hsla(0,0%,100%,.1);backdrop-filter:blur(25px) saturate(170%) brightness(108%);-webkit-backdrop-filter:blur(25px) saturate(170%) brightness(108%);border-radius:16px;padding:8px;margin:0 16px;border:1px solid hsla(0,0%,100%,.15);box-shadow:0 6px 20px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.05);transition:all .3s cubic-bezier(.4,0,.2,1)}.dark .navbar-menu-new{background:rgba(0,0,0,.2);backdrop-filter:blur(30px) saturate(150%) brightness(115%);-webkit-backdrop-filter:blur(30px) saturate(150%) brightness(115%);border:1px solid hsla(0,0%,100%,.1);box-shadow:0 6px 20px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.1),0 0 0 1px hsla(0,0%,100%,.03)}.navbar-menu-new::-webkit-scrollbar{display:none}.navbar-menu-new:hover{backdrop-filter:blur(35px) saturate(190%) brightness(112%);-webkit-backdrop-filter:blur(35px) saturate(190%) brightness(112%);box-shadow:0 8px 25px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.3),0 0 0 1px hsla(0,0%,100%,.1);transform:translateY(-1px)}.dark .navbar-menu-new:hover{backdrop-filter:blur(40px) saturate(170%) brightness(120%);-webkit-backdrop-filter:blur(40px) saturate(170%) brightness(120%);box-shadow:0 8px 25px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.15),0 0 0 1px hsla(0,0%,100%,.05)}.nav-item{display:flex;align-items:center}.nav-item>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.375rem*var(--tw-space-x-reverse));margin-left:calc(.375rem*(1 - var(--tw-space-x-reverse)))}.nav-item{border-radius:12px;padding:.625rem .75rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;color:rgba(15,23,42,.85);background:hsla(0,0%,100%,.08);backdrop-filter:blur(15px) saturate(140%);-webkit-backdrop-filter:blur(15px) saturate(140%);border:1px solid hsla(0,0%,100%,.1);box-shadow:0 4px 12px rgba(0,0,0,.05),inset 0 1px 0 hsla(0,0%,100%,.15);position:relative;overflow:hidden;animation:nav-item-entrance .6s ease-out}.nav-item:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);transition:left .5s}.nav-item:hover:before{left:100%}.nav-item:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:conic-gradient(from 0deg at 50% 50%,transparent 0deg,hsla(0,0%,100%,.1) 30deg,transparent 60deg);opacity:0;transition:opacity .3s ease;pointer-events:none;animation:rotate 3s linear infinite}.nav-item:hover:after{opacity:1}.dark .nav-item{color:hsla(0,0%,100%,.85);background:rgba(0,0,0,.15);backdrop-filter:blur(20px) saturate(130%);-webkit-backdrop-filter:blur(20px) saturate(130%);border:1px solid hsla(0,0%,100%,.08);box-shadow:0 4px 12px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.08)}.nav-item:hover{color:#0f172a;background:hsla(0,0%,100%,.2);backdrop-filter:blur(25px) saturate(160%) brightness(110%);-webkit-backdrop-filter:blur(25px) saturate(160%) brightness(110%);border:1px solid hsla(0,0%,100%,.25);box-shadow:0 8px 20px rgba(0,0,0,.12),inset 0 1px 0 hsla(0,0%,100%,.3),0 0 0 1px hsla(0,0%,100%,.1);transform:translateY(-2px) scale(1.02)}.dark .nav-item:hover{color:#fff;background:rgba(0,0,0,.25);backdrop-filter:blur(30px) saturate(150%) brightness(120%);-webkit-backdrop-filter:blur(30px) saturate(150%) brightness(120%);border:1px solid hsla(0,0%,100%,.15);box-shadow:0 8px 20px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.15),0 0 0 1px hsla(0,0%,100%,.05)}.nav-item.active{color:#0f172a;background:hsla(0,0%,100%,.35);backdrop-filter:blur(35px) saturate(180%) brightness(115%);-webkit-backdrop-filter:blur(35px) saturate(180%) brightness(115%);border:1px solid hsla(0,0%,100%,.4);box-shadow:0 12px 24px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.5),0 0 0 1px rgba(59,130,246,.3);transform:translateY(-1px);animation:nav-item-active-glow 2s ease-in-out infinite alternate}.dark .nav-item.active{color:#fff;background:rgba(0,0,0,.4);backdrop-filter:blur(40px) saturate(160%) brightness(125%);-webkit-backdrop-filter:blur(40px) saturate(160%) brightness(125%);border:1px solid hsla(0,0%,100%,.2);box-shadow:0 12px 24px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px rgba(59,130,246,.2)}@keyframes nav-item-entrance{0%{opacity:0;transform:translateY(10px) scale(.95);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}to{opacity:1;transform:translateY(0) scale(1);-webkit-backdrop-filter:blur(15px) saturate(140%);backdrop-filter:blur(15px) saturate(140%)}}@keyframes nav-item-active-glow{0%{box-shadow:0 12px 24px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.5),0 0 0 1px rgba(59,130,246,.3)}to{box-shadow:0 16px 32px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.6),0 0 0 2px rgba(59,130,246,.5)}}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.navbar:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,hsla(0,0%,100%,.1) 1px,transparent 0),radial-gradient(circle at 80% 50%,hsla(0,0%,100%,.1) 1px,transparent 0),radial-gradient(circle at 40% 20%,hsla(0,0%,100%,.05) 1px,transparent 0),radial-gradient(circle at 60% 80%,hsla(0,0%,100%,.05) 1px,transparent 0);opacity:0;animation:glassmorphism-particles 8s ease-in-out infinite;pointer-events:none}.dark .navbar:before{background:radial-gradient(circle at 20% 50%,hsla(0,0%,100%,.05) 1px,transparent 0),radial-gradient(circle at 80% 50%,hsla(0,0%,100%,.05) 1px,transparent 0),radial-gradient(circle at 40% 20%,hsla(0,0%,100%,.03) 1px,transparent 0),radial-gradient(circle at 60% 80%,hsla(0,0%,100%,.03) 1px,transparent 0)}@keyframes glassmorphism-particles{0%,to{opacity:0;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.dark-mode-toggle-new{position:relative;display:flex;cursor:pointer;align-items:center;justify-content:center;border-radius:9999px;padding:.5rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:rgba(241,245,249,.8);border:1px solid hsla(0,0%,100%,.7);box-shadow:0 2px 8px rgba(0,0,0,.05),0 1px 2px rgba(0,0,0,.04);color:#334155;z-index:100}.dark-mode-toggle-new:hover{--tw-translate-y:-0.125rem;background:rgba(241,245,249,.9);box-shadow:0 8px 16px rgba(0,0,0,.08),0 2px 4px rgba(0,0,0,.06)}.dark-mode-toggle-new:active,.dark-mode-toggle-new:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark-mode-toggle-new:active{--tw-scale-x:.95;--tw-scale-y:.95;transition:transform .1s}.dark .dark-mode-toggle-new{background:rgba(30,41,59,.8);border:1px solid hsla(0,0%,100%,.1);box-shadow:0 2px 8px rgba(0,0,0,.2),0 1px 2px rgba(0,0,0,.1);color:#e2e8f0}.dark .dark-mode-toggle-new:hover{background:rgba(30,41,59,.9);box-shadow:0 8px 16px rgba(0,0,0,.2),0 2px 4px rgba(0,0,0,.15)}.dark-mode-toggle-new .moon-icon,.dark-mode-toggle-new .sun-icon{position:absolute;top:50%;left:50%;--tw-translate-x:-50%;--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.dark-mode-toggle-new .moon-icon:not(.hidden),.dark-mode-toggle-new .sun-icon:not(.hidden){animation:spin-in .5s cubic-bezier(.25,1,.5,1) forwards}@keyframes spin-in{0%{opacity:0;transform:translateY(10px) scale(.7) rotate(20deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}.dark .sun-icon{display:none}.dark .moon-icon,.sun-icon{display:block}.moon-icon{display:none}.user-menu-button-new{display:flex;align-items:center}.user-menu-button-new>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.375rem*var(--tw-space-x-reverse));margin-left:calc(.375rem*(1 - var(--tw-space-x-reverse)))}.user-menu-button-new{border-radius:.5rem;padding:.25rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:rgba(241,245,249,.6);border:1px solid hsla(0,0%,100%,.6);box-shadow:0 2px 8px rgba(0,0,0,.04),0 1px 2px rgba(0,0,0,.02)}.user-menu-button-new:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));background:rgba(241,245,249,.8);box-shadow:0 8px 16px rgba(0,0,0,.06),0 2px 4px rgba(0,0,0,.04)}.dark .user-menu-button-new{background:rgba(30,41,59,.6);border:1px solid hsla(0,0%,100%,.08);box-shadow:0 2px 8px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.1)}.dark .user-menu-button-new:hover{background:rgba(30,41,59,.8);box-shadow:0 8px 16px rgba(0,0,0,.15),0 2px 4px rgba(0,0,0,.1)}.user-avatar-new{display:flex;height:1.75rem;width:1.75rem;align-items:center;justify-content:center;border-radius:9999px;font-size:.75rem;line-height:1rem;font-weight:600;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:linear-gradient(135deg,#000,#333);box-shadow:0 2px 4px rgba(0,0,0,.2),0 1px 2px rgba(0,0,0,.1)}.dark .user-avatar-new{background:linear-gradient(135deg,#f8fafc,#e2e8f0);color:#0f172a;box-shadow:0 2px 4px rgba(0,0,0,.3),0 1px 2px rgba(0,0,0,.2)}.login-button-new{display:flex;align-items:center;border-radius:.5rem;padding:.375rem .75rem;font-size:.75rem;line-height:1rem;font-weight:500;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:#000;color:#fff;border:1px solid hsla(0,0%,100%,.1);box-shadow:0 2px 8px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.08)}.login-button-new:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));background:#333;box-shadow:0 8px 16px rgba(0,0,0,.15),0 3px 4px rgba(0,0,0,.1)}.dark .login-button-new{background:#fff;color:#000;border:1px solid rgba(0,0,0,.1);box-shadow:0 2px 8px rgba(0,0,0,.2),0 1px 2px rgba(0,0,0,.15)}.dark .login-button-new:hover{background:#f1f5f9;box-shadow:0 8px 16px rgba(0,0,0,.25),0 3px 4px rgba(0,0,0,.2)}.mobile-menu-new{z-index:40;width:100%;overflow:hidden;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:hsla(0,0%,100%,.8);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 4px 20px rgba(0,0,0,.06);max-height:0;opacity:0}.mobile-menu-new,.mobile-menu-new.open{border-bottom:1px solid rgba(241,245,249,.8)}.mobile-menu-new.open{max-height:400px;opacity:1}.dark .mobile-menu-new{background:rgba(15,23,42,.8);box-shadow:0 4px 20px rgba(0,0,0,.2);border-bottom:1px solid rgba(30,41,59,.8)}.mobile-nav-item{display:flex;align-items:center}.mobile-nav-item>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.625rem*var(--tw-space-x-reverse));margin-left:calc(.625rem*(1 - var(--tw-space-x-reverse)))}.mobile-nav-item{border-radius:.5rem;padding:.625rem .75rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.mobile-nav-item:is(.dark *){--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.mobile-nav-item:hover{background:rgba(241,245,249,.8)}.dark .mobile-nav-item:hover{background:rgba(30,41,59,.6)}.mobile-nav-item.active{background:rgba(241,245,249,.9);color:#000;font-weight:500}.dark .mobile-nav-item.active{background:rgba(30,41,59,.8);color:#fff}.mb-stat-card{background:linear-gradient(135deg,rgba(240,249,255,.6),rgba(230,242,255,.6));color:#0f172a;position:relative;overflow:hidden;border:none;border-radius:var(--card-radius);backdrop-filter:blur(20px) saturate(180%) brightness(110%);-webkit-backdrop-filter:blur(20px) saturate(180%) brightness(110%);box-shadow:0 25px 50px rgba(0,0,0,.15),0 0 0 1px hsla(0,0%,100%,.1);padding:1.5rem;margin:1rem;transition:transform .3s ease,box-shadow .3s ease}.dark .mb-stat-card{background:linear-gradient(135deg,rgba(0,0,0,.7),hsla(0,0%,4%,.7));color:var(--text-primary,#f8fafc);box-shadow:0 25px 50px rgba(0,0,0,.3),0 0 0 1px hsla(0,0%,100%,.05)}.job-card,.stats-card{border-radius:12px;border-width:1px;border-color:rgba(229,231,235,.7);background-color:hsla(0,0%,100%,.6);--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);--tw-backdrop-blur:blur(40px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.job-card:is(.dark *),.stats-card:is(.dark *){border-color:rgba(51,65,85,.2);background-color:rgba(0,0,0,.8)}.job-card,.stats-card{backdrop-filter:blur(24px) saturate(200%) brightness(120%);-webkit-backdrop-filter:blur(24px) saturate(200%) brightness(120%);box-shadow:0 25px 50px rgba(0,0,0,.2),0 0 0 1px hsla(0,0%,100%,.1);border-radius:var(--card-radius)}footer{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:hsla(0,0%,100%,.1);backdrop-filter:blur(30px) saturate(180%) brightness(120%);-webkit-backdrop-filter:blur(30px) saturate(180%) brightness(120%);border-top:1px solid hsla(0,0%,100%,.2);box-shadow:0 -8px 32px rgba(0,0,0,.1),0 -2px 8px rgba(0,0,0,.05),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.05)}.dark footer{background:rgba(0,0,0,.3);backdrop-filter:blur(30px) saturate(160%) brightness(110%);-webkit-backdrop-filter:blur(30px) saturate(160%) brightness(110%);border-top:1px solid hsla(0,0%,100%,.1);box-shadow:0 -8px 32px rgba(0,0,0,.3),0 -2px 8px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.1),0 0 0 1px hsla(0,0%,100%,.03)}.dropdown-arrow{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.mercedes-star-bg{position:relative}.mercedes-star-bg:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' fill='currentColor' opacity='.05'%3E%3Cpath d='M58.6 4.5C53 1.6 46.7 0 40 0S27 1.6 21.4 4.5C8.7 11.2 0 24.6 0 40s8.7 28.8 21.5 35.5C27 78.3 33.3 80 40 80s12.9-1.7 18.5-4.6C71.3 68.8 80 55.4 80 40S71.3 11.2 58.6 4.5M4 40c0-13.1 7-24.5 17.5-30.9C26.6 6 32.5 4.2 39 4l-4.5 32.7-13 10.1L8.3 57.1C5.6 52 4 46.2 4 40m54.6 30.8C53.1 74.1 46.8 76 40 76s-13.2-1.9-18.6-5.2c-4.9-2.9-8.9-6.9-11.9-11.7l11.9-4.9L40 46.6l18.6 7.5 12 4.9c-3 4.9-7.2 8.9-12 11.8m0-24-12.9-10L41.1 4c6.3.2 12.3 2 17.4 5.1C69 15.4 76 26.9 76 40c0 6.2-1.5 12-4.3 17.1z'/%3E%3C/svg%3E");background-position:50%;background-repeat:repeat;background-size:40px 40px;z-index:-1;opacity:.05}.dark .mercedes-star-bg:after{opacity:.02;filter:invert(1) brightness(.4)}.glass-effect{backdrop-filter:blur(20px) saturate(180%) brightness(110%);-webkit-backdrop-filter:blur(20px) saturate(180%) brightness(110%);background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);box-shadow:0 8px 32px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.3)}.dark .glass-effect{background:rgba(0,0,0,.3);border:1px solid hsla(0,0%,100%,.1);box-shadow:0 8px 32px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.15)}.glass-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.glass-hover:hover{transform:translateY(-2px);backdrop-filter:blur(25px) saturate(200%) brightness(120%);-webkit-backdrop-filter:blur(25px) saturate(200%) brightness(120%);box-shadow:0 20px 40px rgba(0,0,0,.15),0 8px 16px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.4)}.dark .glass-hover:hover{box-shadow:0 20px 40px rgba(0,0,0,.4),0 8px 16px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.2)}.printer-card-new{position:relative;overflow:hidden;border-radius:12px;border-width:1px;border-color:rgba(229,231,235,.7);background-image:linear-gradient(to bottom right,var(--tw-gradient-stops));--tw-gradient-from:hsla(0,0%,100%,.9) var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:hsla(0,0%,100%,.7) var(--tw-gradient-to-position);padding:1.25rem;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);--tw-backdrop-blur:blur(40px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.printer-card-new:hover{--tw-translate-y:-0.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.printer-card-new:is(.dark *){border-color:rgba(51,65,85,.3);--tw-gradient-from:rgba(30,41,59,.9) var(--tw-gradient-from-position);--tw-gradient-to:rgba(30,41,59,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:rgba(15,23,42,.7) var(--tw-gradient-to-position)}.printer-card-new{box-shadow:0 20px 40px rgba(0,0,0,.08),0 10px 20px rgba(0,0,0,.06),0 0 0 1px hsla(0,0%,100%,.1);border-radius:var(--card-radius,1rem)}.dark .printer-card-new{box-shadow:0 20px 40px rgba(0,0,0,.4),0 10px 20px rgba(0,0,0,.3),0 0 0 1px hsla(0,0%,100%,.05)}.printer-card-new.online{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1));background-image:linear-gradient(to bottom right,var(--tw-gradient-stops));--tw-gradient-from:rgba(240,253,244,.9) var(--tw-gradient-from-position);--tw-gradient-to:rgba(240,253,244,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:rgba(236,253,245,.8) var(--tw-gradient-to-position)}.printer-card-new.online:is(.dark *){border-color:rgba(21,128,61,.5);--tw-gradient-from:rgba(20,83,45,.3) var(--tw-gradient-from-position);--tw-gradient-to:rgba(20,83,45,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:rgba(6,78,59,.2) var(--tw-gradient-to-position)}.printer-card-new.online{box-shadow:0 20px 40px rgba(0,122,85,.08),0 10px 20px rgba(0,122,85,.06),0 0 0 1px rgba(209,250,229,.4)}.dark .printer-card-new.online{box-shadow:0 20px 40px rgba(0,0,0,.3),0 10px 20px rgba(0,0,0,.2),0 0 0 1px rgba(16,185,129,.2)}.status-badge-new{display:inline-flex;align-items:center}.status-badge-new>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.status-badge-new{border-radius:9999px;padding:.25rem .625rem;font-size:.75rem;line-height:1rem;font-weight:500;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);background:hsla(0,0%,100%,.9);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 2px 5px rgba(0,0,0,.05)}.dark .status-badge-new{background:rgba(30,41,59,.7);box-shadow:0 2px 5px rgba(0,0,0,.2)}.status-badge-new.online{background-color:rgba(220,252,231,.9);--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.status-badge-new.online:is(.dark *){background-color:rgba(20,83,45,.6);--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.status-badge-new.offline{background-color:hsla(0,93%,94%,.9);--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.status-badge-new.offline:is(.dark *){background-color:rgba(127,29,29,.6);--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.filter-bar-new{border-radius:.5rem;border-width:1px;border-color:rgba(229,231,235,.6);background-color:hsla(0,0%,100%,.8);padding:.375rem;--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);--tw-backdrop-blur:blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.filter-bar-new:is(.dark *){border-color:rgba(51,65,85,.3);background-color:rgba(30,41,59,.8)}.filter-bar-new{box-shadow:0 10px 25px rgba(0,0,0,.05),0 5px 10px rgba(0,0,0,.03),0 0 0 1px hsla(0,0%,100%,.2)}.dark .filter-bar-new{box-shadow:0 10px 25px rgba(0,0,0,.2),0 5px 10px rgba(0,0,0,.15),0 0 0 1px hsla(0,0%,100%,.05)}.filter-btn-new{border-radius:.375rem;padding:.5rem .875rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.filter-btn-new.active{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.filter-btn-new.active:is(.dark *){--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.filter-btn-new.active{box-shadow:0 4px 10px rgba(0,0,0,.1)}.dark .filter-btn-new.active{box-shadow:0 4px 10px rgba(0,0,0,.3)}.action-btn-new{display:flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.5rem;padding:.625rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.action-btn-new:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.action-btn-new{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.action-btn-new.primary{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.action-btn-new.primary:hover{--tw-bg-opacity:1;background-color:rgb(67 56 202/var(--tw-bg-opacity,1))}.action-btn-new.primary:is(.dark *){--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.action-btn-new.primary:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.action-btn-new.primary{box-shadow:0 5px 15px rgba(79,70,229,.2)}.dark .action-btn-new.primary{box-shadow:0 5px 15px rgba(79,70,229,.3)}.action-btn-new.success{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.action-btn-new.success:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.action-btn-new.success:is(.dark *){--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.action-btn-new.success:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.action-btn-new.success{box-shadow:0 5px 15px rgba(16,185,129,.2)}.dark .action-btn-new.success{box-shadow:0 5px 15px rgba(16,185,129,.3)}.action-btn-new.danger{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.action-btn-new.danger:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.action-btn-new.danger:is(.dark *){--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.action-btn-new.danger:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.action-btn-new.danger{box-shadow:0 5px 15px rgba(239,68,68,.2)}.dark .action-btn-new.danger{box-shadow:0 5px 15px rgba(239,68,68,.3)}.printer-info-row{margin-bottom:.375rem;display:flex;align-items:center;gap:.5rem;font-size:.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.printer-info-row:is(.dark *){--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}@media (min-width:640px){.printer-info-row{font-size:.875rem;line-height:1.25rem}}.printer-info-icon{height:.875rem;width:.875rem;flex-shrink:0;--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.printer-info-icon:is(.dark *){--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}@media (min-width:640px){.printer-info-icon{height:1rem;width:1rem}}.online-indicator{position:absolute;top:.625rem;right:.625rem;height:.75rem;width:.75rem;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1));--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:0 0 0 rgba(16,185,129,.6);animation:pulse-ring 2s cubic-bezier(.455,.03,.515,.955) infinite}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 rgba(16,185,129,.6)}70%{box-shadow:0 0 0 6px rgba(16,185,129,0)}to{box-shadow:0 0 0 0 rgba(16,185,129,0)}}.status-overview-new{display:flex;flex-wrap:wrap;gap:.75rem;border-radius:.5rem;border-width:1px;border-color:rgba(229,231,235,.6);background-color:hsla(0,0%,100%,.6);padding:.75rem;font-size:.75rem;line-height:1rem;--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);--tw-backdrop-blur:blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.status-overview-new:is(.dark *){border-color:rgba(51,65,85,.3);background-color:rgba(30,41,59,.6)}@media (min-width:640px){.status-overview-new{font-size:.875rem;line-height:1.25rem}}.status-overview-new{box-shadow:0 10px 25px rgba(0,0,0,.04),0 5px 10px rgba(0,0,0,.02),0 0 0 1px hsla(0,0%,100%,.1)}.dark .status-overview-new{box-shadow:0 10px 25px rgba(0,0,0,.15),0 5px 10px rgba(0,0,0,.1),0 0 0 1px hsla(0,0%,100%,.03)}.status-dot{height:.625rem;width:.625rem;border-radius:9999px}.status-dot.online{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1));animation:pulse-dot 2s cubic-bezier(.455,.03,.515,.955) infinite}.status-dot.offline{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}@keyframes pulse-dot{0%{transform:scale(.95);opacity:1}50%{transform:scale(1.1);opacity:.8}to{transform:scale(.95);opacity:1}}.modal-new{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background-color:rgba(0,0,0,.4);padding:1rem;--tw-backdrop-blur:blur(4px)}.modal-content-new,.modal-new{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.modal-content-new{width:100%;max-width:28rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:16px;border-width:1px;border-color:rgba(229,231,235,.6);background-color:hsla(0,0%,100%,.9);padding:1.5rem;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);--tw-backdrop-blur:blur(40px);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.modal-content-new:is(.dark *){border-color:rgba(51,65,85,.3);background-color:rgba(30,41,59,.9)}.modal-content-new{box-shadow:0 25px 50px rgba(0,0,0,.15),0 15px 30px rgba(0,0,0,.1),0 20px 25px -5px rgba(0,0,0,.5),0 10px 10px -5px rgba(0,0,0,.3)}.user-dropdown-item{display:flex;cursor:pointer;align-items:center;padding:.75rem 1rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.user-dropdown-item:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.user-dropdown-item:is(.dark *){--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.user-dropdown-item:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.user-dropdown-item:first-child{border-top-left-radius:12px;border-top-right-radius:12px}.user-dropdown-item:last-child{border-bottom-right-radius:12px;border-bottom-left-radius:12px}.user-dropdown-item:hover{background:rgba(248,250,252,.8);transform:translateX(2px)}.dark .user-dropdown-item:hover{background:rgba(30,41,59,.8)}.user-dropdown-icon{margin-right:.75rem;height:1rem;width:1rem;--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.user-dropdown-icon:is(.dark *){--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.user-dropdown-item:hover .user-dropdown-icon{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.user-dropdown-item:hover .user-dropdown-icon:is(.dark *){--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.user-dropdown-divider{margin-top:.25rem;margin-bottom:.25rem;border-top-width:1px;--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.user-dropdown-divider:is(.dark *){--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.user-info-section{border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1));padding:.75rem 1rem}.user-info-section:is(.dark *){--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.user-info-section{background:rgba(248,250,252,.5)}.dark .user-info-section{background:rgba(30,41,59,.5)}.user-info-name{font-size:.875rem;line-height:1.25rem;font-weight:600;--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.user-info-name:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.user-info-role{margin-top:.25rem;font-size:.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.user-info-role:is(.dark *){--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:left-\[2px\]:after{content:var(--tw-content);left:2px}.after\:top-\[2px\]:after{content:var(--tw-content);top:2px}.after\:h-5:after{content:var(--tw-content);height:1.25rem}.after\:w-5:after{content:var(--tw-content);width:1.25rem}.after\:rounded-full:after{content:var(--tw-content);border-radius:9999px}.after\:border:after{content:var(--tw-content);border-width:1px}.after\:border-gray-300:after{content:var(--tw-content);--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.after\:bg-white:after{content:var(--tw-content);--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.after\:transition-all:after{content:var(--tw-content);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.hover\:-translate-y-0\.5:hover{--tw-translate-y:-0.125rem}.hover\:-translate-y-0\.5:hover,.hover\:-translate-y-1:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:-translate-y-1:hover{--tw-translate-y:-0.25rem}.hover\:-translate-y-2:hover{--tw-translate-y:-0.5rem}.hover\:-translate-y-2:hover,.hover\:scale-105:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:scale-110:hover,.hover\:transform:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-blue-600:hover{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.hover\:border-emerald-600:hover{--tw-border-opacity:1;border-color:rgb(5 150 105/var(--tw-border-opacity,1))}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.hover\:border-mercedes-blue:hover{--tw-border-opacity:1;border-color:rgb(0 115 206/var(--tw-border-opacity,1))}.hover\:bg-amber-100:hover{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.hover\:bg-black\/5:hover{background-color:rgba(0,0,0,.05)}.hover\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\:bg-emerald-700:hover{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity,1))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-gray-300:hover{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.hover\:bg-gray-400:hover{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.hover\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.hover\:bg-indigo-600:hover{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.hover\:bg-mercedes-blue:hover{--tw-bg-opacity:1;background-color:rgb(0 115 206/var(--tw-bg-opacity,1))}.hover\:bg-mercedes-silver:hover{--tw-bg-opacity:1;background-color:rgb(170 169 173/var(--tw-bg-opacity,1))}.hover\:bg-orange-600:hover{--tw-bg-opacity:1;background-color:rgb(234 88 12/var(--tw-bg-opacity,1))}.hover\:bg-orange-700:hover{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.hover\:bg-purple-100:hover{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.hover\:bg-purple-600:hover{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.hover\:bg-purple-700:hover{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.hover\:bg-red-100:hover{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.hover\:bg-red-500\/20:hover{background-color:rgba(239,68,68,.2)}.hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.hover\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.hover\:bg-slate-100\/50:hover{background-color:rgba(241,245,249,.5)}.hover\:bg-slate-200:hover{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.hover\:bg-slate-300:hover{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity,1))}.hover\:bg-slate-400:hover{--tw-bg-opacity:1;background-color:rgb(148 163 184/var(--tw-bg-opacity,1))}.hover\:bg-slate-50:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.hover\:bg-slate-600:hover{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.hover\:bg-slate-700:hover{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.hover\:bg-teal-600:hover{--tw-bg-opacity:1;background-color:rgb(13 148 136/var(--tw-bg-opacity,1))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.hover\:bg-white\/10:hover{background-color:hsla(0,0%,100%,.1)}.hover\:bg-white\/20:hover{background-color:hsla(0,0%,100%,.2)}.hover\:bg-white\/25:hover{background-color:hsla(0,0%,100%,.25)}.hover\:bg-white\/50:hover{background-color:hsla(0,0%,100%,.5)}.hover\:bg-yellow-100:hover{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.hover\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.hover\:bg-yellow-700:hover{--tw-bg-opacity:1;background-color:rgb(161 98 7/var(--tw-bg-opacity,1))}.hover\:from-blue-600:hover{--tw-gradient-from:#2563eb var(--tw-gradient-from-position);--tw-gradient-to:rgba(37,99,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-green-600:hover{--tw-gradient-from:#16a34a var(--tw-gradient-from-position);--tw-gradient-to:rgba(22,163,74,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-orange-600:hover{--tw-gradient-from:#ea580c var(--tw-gradient-from-position);--tw-gradient-to:rgba(234,88,12,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-slate-600:hover{--tw-gradient-from:#475569 var(--tw-gradient-from-position);--tw-gradient-to:rgba(71,85,105,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:to-blue-700:hover{--tw-gradient-to:#1d4ed8 var(--tw-gradient-to-position)}.hover\:to-green-700:hover{--tw-gradient-to:#15803d var(--tw-gradient-to-position)}.hover\:to-red-600:hover{--tw-gradient-to:#dc2626 var(--tw-gradient-to-position)}.hover\:to-slate-700:hover{--tw-gradient-to:#334155 var(--tw-gradient-to-position)}.hover\:text-blue-400:hover{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.hover\:text-blue-500:hover{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.hover\:text-blue-700:hover{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.hover\:text-blue-800:hover{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.hover\:text-blue-900:hover{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity,1))}.hover\:text-emerald-600:hover{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.hover\:text-gray-200:hover{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.hover\:text-green-900:hover{--tw-text-opacity:1;color:rgb(20 83 45/var(--tw-text-opacity,1))}.hover\:text-mercedes-blue:hover{--tw-text-opacity:1;color:rgb(0 115 206/var(--tw-text-opacity,1))}.hover\:text-orange-900:hover{--tw-text-opacity:1;color:rgb(124 45 18/var(--tw-text-opacity,1))}.hover\:text-red-500:hover{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.hover\:text-red-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.hover\:text-red-900:hover{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.hover\:text-slate-600:hover{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.hover\:text-slate-700:hover{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.hover\:text-slate-800:hover{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.hover\:text-slate-900:hover{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-70:hover{opacity:.7}.hover\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.hover\:shadow-2xl:hover,.hover\:shadow-lg:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.hover\:shadow-md:hover,.hover\:shadow-xl:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.focus\:border-blue-600:focus{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.focus\:border-mercedes-blue:focus{--tw-border-opacity:1;border-color:rgb(0 115 206/var(--tw-border-opacity,1))}.focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.focus\:border-transparent:focus{border-color:transparent}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-1:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.focus\:ring-blue-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(37 99 235/var(--tw-ring-opacity,1))}.focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(74 222 128/var(--tw-ring-opacity,1))}.focus\:ring-green-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(34 197 94/var(--tw-ring-opacity,1))}.focus\:ring-mercedes-blue:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 115 206/var(--tw-ring-opacity,1))}.focus\:ring-red-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(248 113 113/var(--tw-ring-opacity,1))}.focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity,1))}.focus\:ring-yellow-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(234 179 8/var(--tw-ring-opacity,1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.active\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:bg-gray-200:active{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-gray-100:disabled{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.disabled\:opacity-50:disabled{opacity:.5}.group:focus-within .group-focus-within\:text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.group:hover .group-hover\:visible{visibility:visible}.group:hover .group-hover\:-translate-x-1{--tw-translate-x:-0.25rem}.group:hover .group-hover\:-translate-x-1,.group:hover .group-hover\:translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-full{--tw-translate-x:100%}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-mercedes-blue{--tw-text-opacity:1;color:rgb(0 115 206/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.group:hover .group-hover\:opacity-100{opacity:1}.group:disabled .group-disabled\:opacity-0{opacity:0}.group:disabled .group-disabled\:opacity-100{opacity:1}.peer:checked~.peer-checked\:border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.peer:checked~.peer-checked\:border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.peer:checked~.peer-checked\:border-slate-500{--tw-border-opacity:1;border-color:rgb(100 116 139/var(--tw-border-opacity,1))}.peer:checked~.peer-checked\:bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\:bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\:bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\:bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\:after\:translate-x-full:after{content:var(--tw-content);--tw-translate-x:100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.peer:checked~.peer-checked\:after\:border-white:after{content:var(--tw-content);--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.peer:focus~.peer-focus\:outline-none{outline:2px solid transparent;outline-offset:2px}.peer:focus~.peer-focus\:ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.peer:focus~.peer-focus\:ring-blue-300{--tw-ring-opacity:1;--tw-ring-color:rgb(147 197 253/var(--tw-ring-opacity,1))}.dark\:rotate-0:is(.dark *){--tw-rotate:0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:rotate-90:is(.dark *){--tw-rotate:90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:scale-100:is(.dark *){--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:scale-75:is(.dark *){--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:divide-gray-700:is(.dark *)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(55 65 81/var(--tw-divide-opacity,1))}.dark\:divide-slate-700:is(.dark *)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(51 65 85/var(--tw-divide-opacity,1))}.dark\:border-amber-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(146 64 14/var(--tw-border-opacity,1))}.dark\:border-blue-400:is(.dark *){--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.dark\:border-blue-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.dark\:border-blue-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(29 78 216/var(--tw-border-opacity,1))}.dark\:border-blue-700\/30:is(.dark *){border-color:rgba(29,78,216,.3)}.dark\:border-blue-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.dark\:border-blue-800\/50:is(.dark *){border-color:rgba(30,64,175,.5)}.dark\:border-emerald-700\/30:is(.dark *){border-color:rgba(4,120,87,.3)}.dark\:border-gray-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.dark\:border-gray-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.dark\:border-gray-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity,1))}.dark\:border-green-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(21 128 61/var(--tw-border-opacity,1))}.dark\:border-green-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.dark\:border-green-800\/50:is(.dark *){border-color:rgba(22,101,52,.5)}.dark\:border-indigo-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(55 48 163/var(--tw-border-opacity,1))}.dark\:border-indigo-800\/50:is(.dark *){border-color:rgba(55,48,163,.5)}.dark\:border-orange-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(194 65 12/var(--tw-border-opacity,1))}.dark\:border-orange-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.dark\:border-orange-800\/50:is(.dark *){border-color:rgba(154,52,18,.5)}.dark\:border-purple-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}.dark\:border-purple-800\/50:is(.dark *){border-color:rgba(107,33,168,.5)}.dark\:border-red-400:is(.dark *){--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.dark\:border-red-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity,1))}.dark\:border-red-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.dark\:border-red-800\/50:is(.dark *){border-color:rgba(153,27,27,.5)}.dark\:border-slate-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity,1))}.dark\:border-slate-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.dark\:border-slate-700\/50:is(.dark *){border-color:rgba(51,65,85,.5)}.dark\:border-white\/20:is(.dark *){border-color:hsla(0,0%,100%,.2)}.dark\:border-yellow-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(202 138 4/var(--tw-border-opacity,1))}.dark\:border-yellow-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(161 98 7/var(--tw-border-opacity,1))}.dark\:border-yellow-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(133 77 14/var(--tw-border-opacity,1))}.dark\:border-t-slate-700:is(.dark *){--tw-border-opacity:1;border-top-color:rgb(51 65 85/var(--tw-border-opacity,1))}.dark\:bg-amber-600:is(.dark *){--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.dark\:bg-amber-900\/20:is(.dark *){background-color:rgba(120,53,15,.2)}.dark\:bg-black:is(.dark *){--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.dark\:bg-black\/50:is(.dark *){background-color:rgba(0,0,0,.5)}.dark\:bg-black\/80:is(.dark *){background-color:rgba(0,0,0,.8)}.dark\:bg-blue-300:is(.dark *){--tw-bg-opacity:1;background-color:rgb(147 197 253/var(--tw-bg-opacity,1))}.dark\:bg-blue-500:is(.dark *){--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.dark\:bg-blue-600:is(.dark *){--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.dark\:bg-blue-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity,1))}.dark\:bg-blue-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.dark\:bg-blue-900\/10:is(.dark *){background-color:rgba(30,58,138,.1)}.dark\:bg-blue-900\/20:is(.dark *){background-color:rgba(30,58,138,.2)}.dark\:bg-blue-900\/30:is(.dark *){background-color:rgba(30,58,138,.3)}.dark\:bg-blue-900\/50:is(.dark *){background-color:rgba(30,58,138,.5)}.dark\:bg-cyan-900\/50:is(.dark *){background-color:rgba(22,78,99,.5)}.dark\:bg-emerald-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(6 78 59/var(--tw-bg-opacity,1))}.dark\:bg-emerald-900\/20:is(.dark *){background-color:rgba(6,78,59,.2)}.dark\:bg-emerald-900\/50:is(.dark *){background-color:rgba(6,78,59,.5)}.dark\:bg-gray-300:is(.dark *){--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.dark\:bg-gray-600:is(.dark *){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\:bg-gray-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.dark\:bg-gray-900\/20:is(.dark *){background-color:rgba(17,24,39,.2)}.dark\:bg-gray-900\/30:is(.dark *){background-color:rgba(17,24,39,.3)}.dark\:bg-green-300:is(.dark *){--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity,1))}.dark\:bg-green-600:is(.dark *){--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.dark\:bg-green-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.dark\:bg-green-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(22 101 52/var(--tw-bg-opacity,1))}.dark\:bg-green-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.dark\:bg-green-900\/10:is(.dark *){background-color:rgba(20,83,45,.1)}.dark\:bg-green-900\/20:is(.dark *){background-color:rgba(20,83,45,.2)}.dark\:bg-green-900\/30:is(.dark *){background-color:rgba(20,83,45,.3)}.dark\:bg-green-900\/50:is(.dark *){background-color:rgba(20,83,45,.5)}.dark\:bg-indigo-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(67 56 202/var(--tw-bg-opacity,1))}.dark\:bg-indigo-900\/10:is(.dark *){background-color:rgba(49,46,129,.1)}.dark\:bg-indigo-900\/20:is(.dark *){background-color:rgba(49,46,129,.2)}.dark\:bg-indigo-900\/50:is(.dark *){background-color:rgba(49,46,129,.5)}.dark\:bg-orange-300:is(.dark *){--tw-bg-opacity:1;background-color:rgb(253 186 116/var(--tw-bg-opacity,1))}.dark\:bg-orange-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}.dark\:bg-orange-900\/10:is(.dark *){background-color:rgba(124,45,18,.1)}.dark\:bg-orange-900\/20:is(.dark *){background-color:rgba(124,45,18,.2)}.dark\:bg-orange-900\/30:is(.dark *){background-color:rgba(124,45,18,.3)}.dark\:bg-orange-900\/50:is(.dark *){background-color:rgba(124,45,18,.5)}.dark\:bg-purple-600:is(.dark *){--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.dark\:bg-purple-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.dark\:bg-purple-900\/10:is(.dark *){background-color:rgba(88,28,135,.1)}.dark\:bg-purple-900\/20:is(.dark *){background-color:rgba(88,28,135,.2)}.dark\:bg-purple-900\/30:is(.dark *){background-color:rgba(88,28,135,.3)}.dark\:bg-purple-900\/50:is(.dark *){background-color:rgba(88,28,135,.5)}.dark\:bg-red-300:is(.dark *){--tw-bg-opacity:1;background-color:rgb(252 165 165/var(--tw-bg-opacity,1))}.dark\:bg-red-600:is(.dark *){--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.dark\:bg-red-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.dark\:bg-red-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(153 27 27/var(--tw-bg-opacity,1))}.dark\:bg-red-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.dark\:bg-red-900\/10:is(.dark *){background-color:rgba(127,29,29,.1)}.dark\:bg-red-900\/20:is(.dark *){background-color:rgba(127,29,29,.2)}.dark\:bg-red-900\/30:is(.dark *){background-color:rgba(127,29,29,.3)}.dark\:bg-red-900\/40:is(.dark *){background-color:rgba(127,29,29,.4)}.dark\:bg-red-900\/50:is(.dark *){background-color:rgba(127,29,29,.5)}.dark\:bg-slate-500:is(.dark *){--tw-bg-opacity:1;background-color:rgb(100 116 139/var(--tw-bg-opacity,1))}.dark\:bg-slate-600:is(.dark *){--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.dark\:bg-slate-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.dark\:bg-slate-700\/30:is(.dark *){background-color:rgba(51,65,85,.3)}.dark\:bg-slate-700\/40:is(.dark *){background-color:rgba(51,65,85,.4)}.dark\:bg-slate-700\/50:is(.dark *){background-color:rgba(51,65,85,.5)}.dark\:bg-slate-700\/60:is(.dark *){background-color:rgba(51,65,85,.6)}.dark\:bg-slate-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.dark\:bg-slate-800\/50:is(.dark *){background-color:rgba(30,41,59,.5)}.dark\:bg-slate-800\/60:is(.dark *){background-color:rgba(30,41,59,.6)}.dark\:bg-slate-800\/80:is(.dark *){background-color:rgba(30,41,59,.8)}.dark\:bg-slate-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.dark\:bg-slate-900\/50:is(.dark *){background-color:rgba(15,23,42,.5)}.dark\:bg-slate-900\/60:is(.dark *){background-color:rgba(15,23,42,.6)}.dark\:bg-slate-900\/80:is(.dark *){background-color:rgba(15,23,42,.8)}.dark\:bg-slate-900\/90:is(.dark *){background-color:rgba(15,23,42,.9)}.dark\:bg-teal-900\/50:is(.dark *){background-color:rgba(19,78,74,.5)}.dark\:bg-white\/10:is(.dark *){background-color:hsla(0,0%,100%,.1)}.dark\:bg-yellow-300:is(.dark *){--tw-bg-opacity:1;background-color:rgb(253 224 71/var(--tw-bg-opacity,1))}.dark\:bg-yellow-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(113 63 18/var(--tw-bg-opacity,1))}.dark\:bg-yellow-900\/20:is(.dark *){background-color:rgba(113,63,18,.2)}.dark\:bg-yellow-900\/30:is(.dark *){background-color:rgba(113,63,18,.3)}.dark\:bg-yellow-900\/50:is(.dark *){background-color:rgba(113,63,18,.5)}.dark\:bg-opacity-95:is(.dark *){--tw-bg-opacity:0.95}.dark\:from-blue-400:is(.dark *){--tw-gradient-from:#60a5fa var(--tw-gradient-from-position);--tw-gradient-to:rgba(96,165,250,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-blue-400\/20:is(.dark *){--tw-gradient-from:rgba(96,165,250,.2) var(--tw-gradient-from-position);--tw-gradient-to:rgba(96,165,250,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-blue-900\/10:is(.dark *){--tw-gradient-from:rgba(30,58,138,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(30,58,138,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-blue-900\/20:is(.dark *){--tw-gradient-from:rgba(30,58,138,.2) var(--tw-gradient-from-position);--tw-gradient-to:rgba(30,58,138,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-blue-900\/30:is(.dark *){--tw-gradient-from:rgba(30,58,138,.3) var(--tw-gradient-from-position);--tw-gradient-to:rgba(30,58,138,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-emerald-900\/20:is(.dark *){--tw-gradient-from:rgba(6,78,59,.2) var(--tw-gradient-from-position);--tw-gradient-to:rgba(6,78,59,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-gray-900:is(.dark *){--tw-gradient-from:#111827 var(--tw-gradient-from-position);--tw-gradient-to:rgba(17,24,39,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-green-400:is(.dark *){--tw-gradient-from:#4ade80 var(--tw-gradient-from-position);--tw-gradient-to:rgba(74,222,128,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-green-400\/20:is(.dark *){--tw-gradient-from:rgba(74,222,128,.2) var(--tw-gradient-from-position);--tw-gradient-to:rgba(74,222,128,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-green-900\/10:is(.dark *){--tw-gradient-from:rgba(20,83,45,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(20,83,45,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-green-900\/20:is(.dark *){--tw-gradient-from:rgba(20,83,45,.2) var(--tw-gradient-from-position);--tw-gradient-to:rgba(20,83,45,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-green-900\/30:is(.dark *){--tw-gradient-from:rgba(20,83,45,.3) var(--tw-gradient-from-position);--tw-gradient-to:rgba(20,83,45,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-orange-400:is(.dark *){--tw-gradient-from:#fb923c var(--tw-gradient-from-position);--tw-gradient-to:rgba(251,146,60,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-orange-400\/20:is(.dark *){--tw-gradient-from:rgba(251,146,60,.2) var(--tw-gradient-from-position);--tw-gradient-to:rgba(251,146,60,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-orange-900\/10:is(.dark *){--tw-gradient-from:rgba(124,45,18,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(124,45,18,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-purple-900\/20:is(.dark *){--tw-gradient-from:rgba(88,28,135,.2) var(--tw-gradient-from-position);--tw-gradient-to:rgba(88,28,135,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-purple-900\/30:is(.dark *){--tw-gradient-from:rgba(88,28,135,.3) var(--tw-gradient-from-position);--tw-gradient-to:rgba(88,28,135,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-red-400:is(.dark *){--tw-gradient-from:#f87171 var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,91%,71%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-red-400\/20:is(.dark *){--tw-gradient-from:hsla(0,91%,71%,.2) var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,91%,71%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-slate-800:is(.dark *){--tw-gradient-from:#1e293b var(--tw-gradient-from-position);--tw-gradient-to:rgba(30,41,59,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-slate-900:is(.dark *){--tw-gradient-from:#0f172a var(--tw-gradient-from-position);--tw-gradient-to:rgba(15,23,42,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-slate-950:is(.dark *){--tw-gradient-from:#020617 var(--tw-gradient-from-position);--tw-gradient-to:rgba(2,6,23,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-white:is(.dark *){--tw-gradient-from:#fff var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:via-blue-200:is(.dark *){--tw-gradient-to:rgba(191,219,254,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#bfdbfe var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:via-blue-900:is(.dark *){--tw-gradient-to:rgba(30,58,138,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#1e3a8a var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:via-blue-900\/20:is(.dark *){--tw-gradient-to:rgba(30,58,138,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(30,58,138,.2) var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:via-blue-950:is(.dark *){--tw-gradient-to:rgba(23,37,84,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#172554 var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:via-emerald-900\/20:is(.dark *){--tw-gradient-to:rgba(6,78,59,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(6,78,59,.2) var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:via-red-900\/20:is(.dark *){--tw-gradient-to:rgba(127,29,29,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(127,29,29,.2) var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:via-slate-800:is(.dark *){--tw-gradient-to:rgba(30,41,59,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#1e293b var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:to-blue-500:is(.dark *){--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.dark\:to-blue-800\/30:is(.dark *){--tw-gradient-to:rgba(30,64,175,.3) var(--tw-gradient-to-position)}.dark\:to-emerald-400\/20:is(.dark *){--tw-gradient-to:rgba(52,211,153,.2) var(--tw-gradient-to-position)}.dark\:to-emerald-900\/10:is(.dark *){--tw-gradient-to:rgba(6,78,59,.1) var(--tw-gradient-to-position)}.dark\:to-emerald-900\/20:is(.dark *){--tw-gradient-to:rgba(6,78,59,.2) var(--tw-gradient-to-position)}.dark\:to-gray-200:is(.dark *){--tw-gradient-to:#e5e7eb var(--tw-gradient-to-position)}.dark\:to-gray-800:is(.dark *){--tw-gradient-to:#1f2937 var(--tw-gradient-to-position)}.dark\:to-green-500:is(.dark *){--tw-gradient-to:#22c55e var(--tw-gradient-to-position)}.dark\:to-green-800\/30:is(.dark *){--tw-gradient-to:rgba(22,101,52,.3) var(--tw-gradient-to-position)}.dark\:to-green-900\/20:is(.dark *){--tw-gradient-to:rgba(20,83,45,.2) var(--tw-gradient-to-position)}.dark\:to-indigo-400\/20:is(.dark *){--tw-gradient-to:rgba(129,140,248,.2) var(--tw-gradient-to-position)}.dark\:to-indigo-900:is(.dark *){--tw-gradient-to:#312e81 var(--tw-gradient-to-position)}.dark\:to-indigo-900\/10:is(.dark *){--tw-gradient-to:rgba(49,46,129,.1) var(--tw-gradient-to-position)}.dark\:to-indigo-900\/20:is(.dark *){--tw-gradient-to:rgba(49,46,129,.2) var(--tw-gradient-to-position)}.dark\:to-indigo-950:is(.dark *){--tw-gradient-to:#1e1b4b var(--tw-gradient-to-position)}.dark\:to-orange-500:is(.dark *){--tw-gradient-to:#f97316 var(--tw-gradient-to-position)}.dark\:to-orange-900\/20:is(.dark *){--tw-gradient-to:rgba(124,45,18,.2) var(--tw-gradient-to-position)}.dark\:to-pink-400\/20:is(.dark *){--tw-gradient-to:rgba(244,114,182,.2) var(--tw-gradient-to-position)}.dark\:to-pink-900\/20:is(.dark *){--tw-gradient-to:rgba(131,24,67,.2) var(--tw-gradient-to-position)}.dark\:to-purple-800\/30:is(.dark *){--tw-gradient-to:rgba(107,33,168,.3) var(--tw-gradient-to-position)}.dark\:to-red-400\/20:is(.dark *){--tw-gradient-to:hsla(0,91%,71%,.2) var(--tw-gradient-to-position)}.dark\:to-red-500:is(.dark *){--tw-gradient-to:#ef4444 var(--tw-gradient-to-position)}.dark\:to-red-900\/10:is(.dark *){--tw-gradient-to:rgba(127,29,29,.1) var(--tw-gradient-to-position)}.dark\:to-slate-200:is(.dark *){--tw-gradient-to:#e2e8f0 var(--tw-gradient-to-position)}.dark\:to-slate-300:is(.dark *){--tw-gradient-to:#cbd5e1 var(--tw-gradient-to-position)}.dark\:to-slate-700:is(.dark *){--tw-gradient-to:#334155 var(--tw-gradient-to-position)}.dark\:to-slate-800:is(.dark *){--tw-gradient-to:#1e293b var(--tw-gradient-to-position)}.dark\:to-slate-900:is(.dark *){--tw-gradient-to:#0f172a var(--tw-gradient-to-position)}.dark\:text-amber-200:is(.dark *){--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.dark\:text-amber-300:is(.dark *){--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.dark\:text-amber-400:is(.dark *){--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.dark\:text-blue-100:is(.dark *){--tw-text-opacity:1;color:rgb(219 234 254/var(--tw-text-opacity,1))}.dark\:text-blue-200:is(.dark *){--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity,1))}.dark\:text-blue-300:is(.dark *){--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.dark\:text-blue-400:is(.dark *){--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.dark\:text-blue-500:is(.dark *){--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.dark\:text-cyan-400:is(.dark *){--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity,1))}.dark\:text-emerald-300:is(.dark *){--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.dark\:text-emerald-400:is(.dark *){--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.dark\:text-gray-100:is(.dark *){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.dark\:text-gray-200:is(.dark *){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.dark\:text-gray-500:is(.dark *){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\:text-gray-600:is(.dark *){--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.dark\:text-green-100:is(.dark *){--tw-text-opacity:1;color:rgb(220 252 231/var(--tw-text-opacity,1))}.dark\:text-green-200:is(.dark *){--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.dark\:text-green-300:is(.dark *){--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.dark\:text-green-400:is(.dark *){--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.dark\:text-indigo-200:is(.dark *){--tw-text-opacity:1;color:rgb(199 210 254/var(--tw-text-opacity,1))}.dark\:text-indigo-300:is(.dark *){--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity,1))}.dark\:text-indigo-400:is(.dark *){--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.dark\:text-orange-200:is(.dark *){--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.dark\:text-orange-300:is(.dark *){--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.dark\:text-orange-400:is(.dark *){--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.dark\:text-purple-200:is(.dark *){--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.dark\:text-purple-300:is(.dark *){--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.dark\:text-purple-400:is(.dark *){--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.dark\:text-red-100:is(.dark *){--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.dark\:text-red-200:is(.dark *){--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.dark\:text-red-300:is(.dark *){--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.dark\:text-red-600:is(.dark *){--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.dark\:text-slate-100:is(.dark *){--tw-text-opacity:1;color:rgb(241 245 249/var(--tw-text-opacity,1))}.dark\:text-slate-200:is(.dark *){--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.dark\:text-slate-300:is(.dark *){--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.dark\:text-slate-400:is(.dark *){--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.dark\:text-slate-500:is(.dark *){--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.dark\:text-slate-600:is(.dark *){--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.dark\:text-teal-400:is(.dark *){--tw-text-opacity:1;color:rgb(45 212 191/var(--tw-text-opacity,1))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:text-yellow-200:is(.dark *){--tw-text-opacity:1;color:rgb(254 240 138/var(--tw-text-opacity,1))}.dark\:text-yellow-300:is(.dark *){--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}.dark\:text-yellow-400:is(.dark *){--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.dark\:placeholder-slate-400:is(.dark *)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(148 163 184/var(--tw-placeholder-opacity,1))}.dark\:placeholder-slate-400:is(.dark *)::placeholder{--tw-placeholder-opacity:1;color:rgb(148 163 184/var(--tw-placeholder-opacity,1))}.dark\:opacity-0:is(.dark *){opacity:0}.dark\:opacity-100:is(.dark *){opacity:1}.dark\:opacity-5:is(.dark *){opacity:.05}.dark\:shadow-2xl:is(.dark *){--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.dark\:hover\:border-blue-400:hover:is(.dark *){--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.dark\:hover\:border-emerald-400:hover:is(.dark *){--tw-border-opacity:1;border-color:rgb(52 211 153/var(--tw-border-opacity,1))}.dark\:hover\:bg-amber-900\/30:hover:is(.dark *){background-color:rgba(120,53,15,.3)}.dark\:hover\:bg-black\/10:hover:is(.dark *){background-color:rgba(0,0,0,.1)}.dark\:hover\:bg-blue-500:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.dark\:hover\:bg-blue-600:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.dark\:hover\:bg-blue-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.dark\:hover\:bg-blue-900\/20:hover:is(.dark *){background-color:rgba(30,58,138,.2)}.dark\:hover\:bg-blue-900\/30:hover:is(.dark *){background-color:rgba(30,58,138,.3)}.dark\:hover\:bg-gray-500:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-600:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:hover\:bg-green-500:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.dark\:hover\:bg-green-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.dark\:hover\:bg-green-900\/30:hover:is(.dark *){background-color:rgba(20,83,45,.3)}.dark\:hover\:bg-purple-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.dark\:hover\:bg-purple-900\/30:hover:is(.dark *){background-color:rgba(88,28,135,.3)}.dark\:hover\:bg-red-500:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.dark\:hover\:bg-red-600:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.dark\:hover\:bg-red-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.dark\:hover\:bg-red-900\/30:hover:is(.dark *){background-color:rgba(127,29,29,.3)}.dark\:hover\:bg-slate-500:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(100 116 139/var(--tw-bg-opacity,1))}.dark\:hover\:bg-slate-600:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.dark\:hover\:bg-slate-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.dark\:hover\:bg-slate-700\/50:hover:is(.dark *){background-color:rgba(51,65,85,.5)}.dark\:hover\:bg-slate-800:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.dark\:hover\:bg-slate-800\/50:hover:is(.dark *){background-color:rgba(30,41,59,.5)}.dark\:hover\:bg-white\/15:hover:is(.dark *){background-color:hsla(0,0%,100%,.15)}.dark\:hover\:bg-white\/5:hover:is(.dark *){background-color:hsla(0,0%,100%,.05)}.dark\:hover\:bg-yellow-900\/30:hover:is(.dark *){background-color:rgba(113,63,18,.3)}.dark\:hover\:text-blue-200:hover:is(.dark *){--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity,1))}.dark\:hover\:text-blue-300:hover:is(.dark *){--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.dark\:hover\:text-blue-400:hover:is(.dark *){--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.dark\:hover\:text-emerald-400:hover:is(.dark *){--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.dark\:hover\:text-gray-200:hover:is(.dark *){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.dark\:hover\:text-gray-300:hover:is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\:hover\:text-green-300:hover:is(.dark *){--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.dark\:hover\:text-orange-300:hover:is(.dark *){--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.dark\:hover\:text-red-200:hover:is(.dark *){--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.dark\:hover\:text-red-300:hover:is(.dark *){--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.dark\:hover\:text-slate-200:hover:is(.dark *){--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.dark\:hover\:text-slate-300:hover:is(.dark *){--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.dark\:hover\:text-white:hover:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:hover\:shadow-slate-900\/50:hover:is(.dark *){--tw-shadow-color:rgba(15,23,42,.5);--tw-shadow:var(--tw-shadow-colored)}.dark\:focus\:ring-blue-400:focus:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(96 165 250/var(--tw-ring-opacity,1))}.dark\:focus\:ring-blue-600:focus:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(37 99 235/var(--tw-ring-opacity,1))}.dark\:disabled\:bg-slate-800:disabled:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.group:hover .dark\:group-hover\:text-slate-300:is(.dark *){--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.group:hover .dark\:group-hover\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.peer:checked~.dark\:peer-checked\:bg-blue-900\/20:is(.dark *){background-color:rgba(30,58,138,.2)}.peer:checked~.dark\:peer-checked\:bg-green-900\/20:is(.dark *){background-color:rgba(20,83,45,.2)}.peer:checked~.dark\:peer-checked\:bg-slate-900\/20:is(.dark *){background-color:rgba(15,23,42,.2)}.peer:focus~.dark\:peer-focus\:ring-blue-800:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(30 64 175/var(--tw-ring-opacity,1))}@media (min-width:640px){.sm\:mx-0{margin-left:0;margin-right:0}.sm\:my-8{margin-top:2rem;margin-bottom:2rem}.sm\:ml-3{margin-left:.75rem}.sm\:ml-4{margin-left:1rem}.sm\:mt-0{margin-top:0}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:h-10{height:2.5rem}.sm\:h-5{height:1.25rem}.sm\:w-10{width:2.5rem}.sm\:w-5{width:1.25rem}.sm\:w-auto{width:auto}.sm\:w-full{width:100%}.sm\:max-w-lg{max-width:32rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:items-start{align-items:flex-start}.sm\:items-center{align-items:center}.sm\:justify-center{justify-content:center}.sm\:justify-between{justify-content:space-between}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.sm\:p-0{padding:0}.sm\:p-6{padding:1.5rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pb-4{padding-bottom:1rem}.sm\:text-left{text-align:left}.sm\:align-middle{vertical-align:middle}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.md\:ml-2{margin-left:.5rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.md\:p-12{padding:3rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-8xl{font-size:6rem;line-height:1}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:1024px){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:ml-0{margin-left:0}.lg\:mt-0{margin-top:0}.lg\:block{display:block}.lg\:inline{display:inline}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-between{justify-content:space-between}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lg\:p-12{padding:3rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:text-right{text-align:right}.lg\:text-6xl{font-size:3.75rem;line-height:1}}@media (min-width:1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}} \ No newline at end of file +*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Mercedes-Benz Text,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--color-bg-primary:#fff;--color-bg-secondary:#fafbfc;--color-bg-tertiary:#f3f5f7;--color-bg-accent:#fbfcfd;--color-text-primary:#111827;--color-text-secondary:#374151;--color-text-muted:#6b7280;--color-text-accent:#0073ce;--color-border-primary:#e5e7eb;--color-border-secondary:#d1d5db;--color-accent:#0073ce;--color-accent-hover:#005a9f;--color-accent-light:#eff6ff;--color-accent-text:#fff;--color-shadow:rgba(0,0,0,.06);--color-shadow-strong:rgba(0,0,0,.1);--color-shadow-accent:rgba(0,115,206,.12);--card-radius:1rem;--gradient-primary:linear-gradient(135deg,#fff,#fafbfc 30%,#f8fafc 70%,#f3f5f7);--gradient-card:linear-gradient(135deg,#fff,#fcfcfd 50%,#fafbfc);--gradient-hero:linear-gradient(135deg,#fafbfc,#f3f5f7 40%,#eef2f5 80%,#f8fafc);--gradient-accent:linear-gradient(135deg,#0073ce,#005a9f);--gradient-surface:linear-gradient(135deg,#fff,#fbfcfd 50%,#f8fafc);--glass-bg:hsla(0,0%,100%,.92);--glass-border:hsla(0,0%,100%,.3);--glass-shadow:0 8px 32px rgba(0,0,0,.04);--glass-blur:blur(20px)}.dark{--color-bg-primary:#000;--color-bg-secondary:#0a0a0a;--color-bg-tertiary:#1a1a1a;--color-text-primary:#fff;--color-text-secondary:#e2e8f0;--color-text-muted:#94a3b8;--color-border-primary:#1a1a1a;--color-border-secondary:#2a2a2a;--color-accent:#fff;--color-accent-hover:#f0f0f0;--color-accent-light:#1e3a8a;--color-accent-text:#000;--color-shadow:rgba(0,0,0,.8);--color-shadow-strong:rgba(0,0,0,.9);--mb-black:#000}body{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}body:is(.dark *){--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}body{position:relative;min-height:100vh;background:var(--gradient-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-feature-settings:"cv02","cv03","cv04","cv11";line-height:1.65;font-size:15px}.dark body{background:linear-gradient(135deg,#000,#0a0a0a 50%,#000)}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 25% 25%,rgba(0,115,206,.015) 0,transparent 50%),radial-gradient(circle at 75% 75%,rgba(0,115,206,.01) 0,transparent 50%),radial-gradient(circle at 50% 10%,rgba(0,115,206,.008) 0,transparent 50%);pointer-events:none;z-index:-1}.dark body:before{background:radial-gradient(circle at 20% 50%,rgba(59,130,246,.03) 0,transparent 50%),radial-gradient(circle at 80% 20%,rgba(59,130,246,.02) 0,transparent 50%)}nav{border-bottom-width:1px;--tw-backdrop-blur:blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:linear-gradient(135deg,hsla(0,0%,100%,.95),rgba(250,251,252,.92) 30%,rgba(248,250,252,.9) 70%,hsla(0,0%,100%,.95));border-bottom:1px solid rgba(229,231,235,.7);backdrop-filter:blur(28px) saturate(200%) brightness(110%);-webkit-backdrop-filter:blur(28px) saturate(200%) brightness(110%);box-shadow:0 4px 20px rgba(0,0,0,.04),0 2px 8px rgba(0,115,206,.02),inset 0 1px 0 hsla(0,0%,100%,.9)}.dark nav{background:rgba(0,0,0,.85);border-bottom-color:hsla(0,0%,100%,.1);box-shadow:0 8px 32px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.05)}.dark .card-enhanced{background:hsla(0,0%,4%,.8);border-color:var(--color-border-primary);box-shadow:0 4px 20px var(--color-shadow)}.btn-secondary{background:var(--gradient-surface);color:var(--color-text-primary);border:1px solid var(--color-border-primary);box-shadow:0 1px 6px rgba(0,0,0,.03),inset 0 1px 0 hsla(0,0%,100%,.8)}.btn-secondary:hover{background:var(--color-bg-secondary);border-color:var(--color-accent);color:var(--color-accent);box-shadow:0 4px 12px rgba(0,115,206,.08),inset 0 1px 0 hsla(0,0%,100%,.9)}.dark .input-enhanced{background:hsla(0,0%,4%,.8);border-color:var(--color-border-primary);color:var(--color-text-primary);box-shadow:0 2px 8px var(--color-shadow),inset 0 1px 0 hsla(0,0%,100%,.05)}.dark .input-enhanced:focus{border-color:#60a5fa;box-shadow:0 4px 15px rgba(96,165,250,.2),0 0 0 3px rgba(96,165,250,.1)}.\!container{width:100%!important}.container{width:100%}@media (min-width:475px){.\!container{max-width:475px!important}.container{max-width:475px}}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}@media (min-width:1920px){.\!container{max-width:1920px!important}.container{max-width:1920px}}@media (min-width:2560px){.\!container{max-width:2560px!important}.container{max-width:2560px}}.form-input,.form-multiselect,.form-select,.form-textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}.form-input:focus,.form-multiselect:focus,.form-select:focus,.form-textarea:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#2563eb}.form-input::-moz-placeholder,.form-textarea::-moz-placeholder{color:#6b7280;opacity:1}.form-input::placeholder,.form-textarea::placeholder{color:#6b7280;opacity:1}.form-input::-webkit-datetime-edit-fields-wrapper{padding:0}.form-input::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}.form-input::-webkit-datetime-edit{display:inline-flex}.form-input::-webkit-datetime-edit,.form-input::-webkit-datetime-edit-day-field,.form-input::-webkit-datetime-edit-hour-field,.form-input::-webkit-datetime-edit-meridiem-field,.form-input::-webkit-datetime-edit-millisecond-field,.form-input::-webkit-datetime-edit-minute-field,.form-input::-webkit-datetime-edit-month-field,.form-input::-webkit-datetime-edit-second-field,.form-input::-webkit-datetime-edit-year-field{padding-top:0;padding-bottom:0}.form-select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}.form-select:where([size]:not([size="1"])){background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}.btn-mercedes{padding:.75rem 1.5rem;border-radius:8px;font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;transition:all .3s cubic-bezier(.4,0,.2,1);background:linear-gradient(135deg,#0073ce,#005ba3);color:#fff;border:none;cursor:pointer}.btn-mercedes:hover{background:linear-gradient(135deg,#005ba3,#003d82);transform:translateY(-2px);box-shadow:0 12px 20px -5px rgba(0,115,206,.4)}.btn-mercedes:focus{outline:none;box-shadow:0 0 0 3px rgba(0,115,206,.3)}.btn-mercedes:active{transform:translateY(0);box-shadow:inset 0 2px 4px rgba(0,0,0,.2)}.mercedes-form-input{padding:.75rem 1rem;border-radius:8px;border:2px solid #e5e7eb;background:hsla(0,0%,100%,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s cubic-bezier(.4,0,.2,1);font-weight:500}.mercedes-form-input:focus{border-color:#0073ce;box-shadow:0 0 0 4px rgba(0,115,206,.1),0 10px 15px -3px rgba(0,0,0,.1);transform:translateY(-2px);background:#fff}.dashboard-card{background:linear-gradient(135deg,#fff,#f8fafc);border:2px solid #f1f5f9;border-radius:16px;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dashboard-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 25px 50px -12px rgba(0,0,0,.15);border-color:#0073ce}.dark .bg-dark-card{background-color:#1e293b;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.admin-stats{margin-bottom:2rem;display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem}@media (min-width:640px){.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.admin-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.stat-card{position:relative;overflow:hidden;border-radius:12px;border-width:1px;border-color:rgba(229,231,235,.6);background-color:hsla(0,0%,100%,.6);padding:1.25rem;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);--tw-backdrop-blur:blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.stat-card,.stat-card:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.stat-card:hover{--tw-translate-y:-0.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.stat-card:is(.dark *){border-color:rgba(51,65,85,.3);background-color:rgba(0,0,0,.7)}.stat-card{backdrop-filter:blur(20px) saturate(180%) brightness(110%);-webkit-backdrop-filter:blur(20px) saturate(180%) brightness(110%);box-shadow:0 25px 50px rgba(0,0,0,.15),0 0 0 1px hsla(0,0%,100%,.1)}.stat-icon{position:absolute;top:1rem;right:1rem;font-size:2.25rem;line-height:2.5rem;opacity:.15}.stat-title{margin-bottom:.5rem;font-size:.875rem;line-height:1.25rem;font-weight:500;text-transform:uppercase;--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.stat-title:is(.dark *){--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.stat-value{margin-bottom:.25rem;font-size:1.5rem;line-height:2rem;font-weight:700;--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.stat-value:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.stat-desc{font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.stat-desc:is(.dark *){--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.nav-tab{cursor:pointer;white-space:nowrap;border-bottom-width:2px;border-color:transparent;padding:1rem 1.5rem;--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.nav-tab:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.nav-tab:is(.dark *){--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.nav-tab:hover:is(.dark *){background-color:rgba(30,41,59,.5);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.nav-tab.active{border-bottom-width:2px;--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity,1));font-weight:500;--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.nav-tab.active:is(.dark *){--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.tab-content{margin-top:2rem}.tab-pane{display:none}.dark-mode-toggle-new .moon-icon:not(.tab-pane),.dark-mode-toggle-new .sun-icon:not(.tab-pane){animation:spin-in .5s cubic-bezier(.25,1,.5,1) forwards}.tab-pane.active{display:block}.form-input,.form-select,.form-textarea{width:100%;border-radius:.5rem;border-width:1px;border-color:rgba(209,213,219,.6);background-color:hsla(0,0%,100%,.6);padding:.5rem .75rem;--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.form-input::-moz-placeholder,.form-select::-moz-placeholder,.form-textarea::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.form-input::placeholder,.form-select::placeholder,.form-textarea::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.form-input,.form-select,.form-textarea{--tw-backdrop-blur:blur(16px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:transparent;outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(100 116 139/var(--tw-ring-opacity,1))}.form-input:is(.dark *),.form-select:is(.dark *),.form-textarea:is(.dark *){border-color:rgba(71,85,105,.6);background-color:rgba(30,41,59,.6);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.form-input,.form-select,.form-textarea{backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);box-shadow:0 10px 20px rgba(0,0,0,.1),0 0 0 1px hsla(0,0%,100%,.05)}.admin-table{min-width:100%}.admin-table>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse));--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity,1))}.admin-table:is(.dark *)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(51 65 85/var(--tw-divide-opacity,1))}.admin-table thead{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.admin-table thead:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.admin-table th{padding:.75rem 1.5rem;text-align:left;font-size:.75rem;line-height:1rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.admin-table th:is(.dark *){--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.admin-table tbody>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse));--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity,1))}.admin-table tbody{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.admin-table tbody:is(.dark *){background-color:#1e293b}.admin-table tbody:is(.dark *)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(51 65 85/var(--tw-divide-opacity,1))}.admin-table tr{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.admin-table tr:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.admin-table tr:hover:is(.dark *){background-color:rgba(51,65,85,.5)}.admin-table td{white-space:nowrap;padding:1rem 1.5rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.admin-table td:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.badge{display:inline-flex;border-radius:9999px;padding-left:.5rem;padding-right:.5rem;font-size:.75rem;font-weight:600;line-height:1.25rem}.printer-card{border-radius:12px;border-width:1px;border-color:rgba(229,231,235,.6);background-color:hsla(0,0%,100%,.6);padding:1.5rem;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);--tw-backdrop-blur:blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.printer-card,.printer-card:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.printer-card:hover{--tw-translate-y:-0.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.printer-card:is(.dark *){border-color:rgba(51,65,85,.3);background-color:rgba(0,0,0,.7)}.printer-card{backdrop-filter:blur(20px) saturate(180%) brightness(110%);-webkit-backdrop-filter:blur(20px) saturate(180%) brightness(110%);box-shadow:0 25px 50px rgba(0,0,0,.15),0 0 0 1px hsla(0,0%,100%,.1)}.printer-name{font-size:1.25rem;line-height:1.75rem;font-weight:700;--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.printer-name:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.printer-status{margin-top:1rem;display:flex;align-items:center}.status-indicator{margin-right:.5rem;height:.75rem;width:.75rem;border-radius:9999px}.status-running{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1));animation:pulse 2s infinite}.log-entry{margin-bottom:.5rem;border-top-right-radius:.5rem;border-bottom-right-radius:.5rem;border-left-width:4px;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.75rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.log-entry:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.log-entry:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.log-entry:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.scheduler-status{display:flex;align-items:center;border-radius:.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:1rem;--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.scheduler-status:is(.dark *){--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.progress-bar{height:.5rem;width:100%;overflow:hidden;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.progress-bar:is(.dark *){--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.progress-bar-fill{height:100%;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.\!notification,.notification{position:fixed;top:1rem;right:1rem;z-index:50;max-width:28rem;--tw-translate-x:100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:16px;padding:1rem;opacity:0;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.5s}.\!notification{background:hsla(0,0%,100%,.08)!important;backdrop-filter:blur(40px) saturate(200%) brightness(130%) contrast(110%)!important;-webkit-backdrop-filter:blur(40px) saturate(200%) brightness(130%) contrast(110%)!important;border:1px solid hsla(0,0%,100%,.25)!important;box-shadow:0 32px 64px rgba(0,0,0,.25),0 12px 24px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.4),0 0 0 1px hsla(0,0%,100%,.1)!important;animation:notification-slide-in .6s cubic-bezier(.4,0,.2,1)!important}.notification{background:hsla(0,0%,100%,.08);backdrop-filter:blur(40px) saturate(200%) brightness(130%) contrast(110%);-webkit-backdrop-filter:blur(40px) saturate(200%) brightness(130%) contrast(110%);border:1px solid hsla(0,0%,100%,.25);box-shadow:0 32px 64px rgba(0,0,0,.25),0 12px 24px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.4),0 0 0 1px hsla(0,0%,100%,.1);animation:notification-slide-in .6s cubic-bezier(.4,0,.2,1)}.dark .notification{background:rgba(0,0,0,.2);backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(115%);-webkit-backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(115%);border:1px solid hsla(0,0%,100%,.15);box-shadow:0 32px 64px rgba(0,0,0,.6),0 12px 24px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.05)}.dark .\!notification{background:rgba(0,0,0,.2)!important;backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(115%)!important;-webkit-backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(115%)!important;border:1px solid hsla(0,0%,100%,.15)!important;box-shadow:0 32px 64px rgba(0,0,0,.6),0 12px 24px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.05)!important}.\!notification.show,.notification.\!show,.notification.show{--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));opacity:1}.\!notification:hover{transform:translateY(-2px) scale(1.02)!important;box-shadow:0 40px 80px rgba(0,0,0,.3),0 16px 32px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.5),0 0 0 1px hsla(0,0%,100%,.15)!important}.notification:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 40px 80px rgba(0,0,0,.3),0 16px 32px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.5),0 0 0 1px hsla(0,0%,100%,.15)}.dark .notification:hover{box-shadow:0 40px 80px rgba(0,0,0,.7),0 16px 32px rgba(0,0,0,.5),inset 0 1px 0 hsla(0,0%,100%,.3),0 0 0 1px hsla(0,0%,100%,.1)}.dark .\!notification:hover{box-shadow:0 40px 80px rgba(0,0,0,.7),0 16px 32px rgba(0,0,0,.5),inset 0 1px 0 hsla(0,0%,100%,.3),0 0 0 1px hsla(0,0%,100%,.1)!important}.notification-success{--tw-text-opacity:1;color:rgb(220 252 231/var(--tw-text-opacity,1));background:linear-gradient(135deg,rgba(34,197,94,.25),rgba(134,239,172,.18) 50%,rgba(34,197,94,.12));border:1px solid rgba(34,197,94,.4);box-shadow:0 32px 64px rgba(34,197,94,.2),0 12px 24px rgba(34,197,94,.1),inset 0 1px 0 hsla(0,0%,100%,.4),0 0 0 1px rgba(34,197,94,.3)}.notification-error{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1));background:linear-gradient(135deg,rgba(239,68,68,.25),hsla(0,94%,82%,.18) 50%,rgba(239,68,68,.12));border:1px solid rgba(239,68,68,.4);box-shadow:0 32px 64px rgba(239,68,68,.2),0 12px 24px rgba(239,68,68,.1),inset 0 1px 0 hsla(0,0%,100%,.4),0 0 0 1px rgba(239,68,68,.3)}.notification-warning{--tw-text-opacity:1;color:rgb(254 249 195/var(--tw-text-opacity,1));background:linear-gradient(135deg,rgba(245,158,11,.25),rgba(252,211,77,.18) 50%,rgba(245,158,11,.12));border:1px solid rgba(245,158,11,.4);box-shadow:0 32px 64px rgba(245,158,11,.2),0 12px 24px rgba(245,158,11,.1),inset 0 1px 0 hsla(0,0%,100%,.4),0 0 0 1px rgba(245,158,11,.3)}.notification-info{--tw-text-opacity:1;color:rgb(219 234 254/var(--tw-text-opacity,1));background:linear-gradient(135deg,rgba(59,130,246,.25),rgba(147,197,253,.18) 50%,rgba(59,130,246,.12));border:1px solid rgba(59,130,246,.4);box-shadow:0 32px 64px rgba(59,130,246,.2),0 12px 24px rgba(59,130,246,.1),inset 0 1px 0 hsla(0,0%,100%,.4),0 0 0 1px rgba(59,130,246,.3)}.dark .toast-notification{background:rgba(0,0,0,.2);backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(115%);-webkit-backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(115%);border:1px solid hsla(0,0%,100%,.15);box-shadow:0 32px 64px rgba(0,0,0,.6),0 12px 24px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.05)}.alert{margin-bottom:1.5rem;border-radius:16px;border-width:1px;padding:1.5rem;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);background:hsla(0,0%,100%,.12);backdrop-filter:blur(30px) saturate(200%) brightness(120%) contrast(110%);-webkit-backdrop-filter:blur(30px) saturate(200%) brightness(120%) contrast(110%);border:1px solid hsla(0,0%,100%,.25);box-shadow:0 25px 50px rgba(0,0,0,.15),0 8px 16px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.3),0 0 0 1px hsla(0,0%,100%,.1);animation:alert-fade-in .5s ease-out}.dark .alert{background:rgba(0,0,0,.3);backdrop-filter:blur(30px) saturate(180%) brightness(110%) contrast(120%);-webkit-backdrop-filter:blur(30px) saturate(180%) brightness(110%) contrast(120%);border:1px solid hsla(0,0%,100%,.15);box-shadow:0 25px 50px rgba(0,0,0,.4),0 8px 16px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.15),0 0 0 1px hsla(0,0%,100%,.05)}.dark .browser-notification{background:rgba(0,0,0,.2);backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(115%);-webkit-backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(115%);border:1px solid hsla(0,0%,100%,.15);box-shadow:0 32px 64px rgba(0,0,0,.6),0 12px 24px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.05)}@keyframes notification-slide-in{0%{opacity:0;transform:translateX(100%) translateY(-20px) scale(.9);-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}50%{opacity:.8;transform:translateX(20px) translateY(-10px) scale(1.05);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}to{opacity:1;transform:translateX(0) translateY(0) scale(1);-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px)}}@keyframes notification-slide-out{0%{opacity:1;transform:translateX(0) translateY(0) scale(1)}to{opacity:0;transform:translateX(100%) translateY(-20px) scale(.9)}}@keyframes notification-slide-left{0%{opacity:0;transform:translateX(-100%) translateY(-20px) scale(.9);-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}50%{opacity:.8;transform:translateX(-20px) translateY(-10px) scale(1.05);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}to{opacity:1;transform:translateX(0) translateY(0) scale(1);-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px)}}@keyframes alert-fade-in{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.\!notification.hiding{animation:notification-slide-out .4s cubic-bezier(.4,0,.2,1) forwards!important}.notification.hiding{animation:notification-slide-out .4s cubic-bezier(.4,0,.2,1) forwards}.notification-icon{margin-right:.75rem;display:flex;height:2rem;width:2rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:9999px;background:hsla(0,0%,100%,.2);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid hsla(0,0%,100%,.3);box-shadow:0 8px 16px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.4)}.notification-content{flex:1 1 0%}.notification-title{margin-bottom:.25rem;font-size:.875rem;line-height:1.25rem;font-weight:600}.notification-message{font-size:.875rem;line-height:1.25rem;opacity:.9}.notification-close{margin-left:.75rem;border-radius:.5rem;padding:.25rem;opacity:.7;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.notification-close:hover{opacity:1}.notification-close{background:hsla(0,0%,100%,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.2)}.notification-close:hover{background:hsla(0,0%,100%,.2);transform:scale(1.1)}.notifications-container{position:fixed;top:1rem;right:1rem;z-index:50;max-width:28rem}.notifications-container>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.flash-message-light.success{border-left:4px solid #10b981;background:linear-gradient(135deg,rgba(236,253,245,.95),rgba(209,250,229,.9))}.flash-message-light.error{border-left:4px solid #ef4444;background:linear-gradient(135deg,hsla(0,86%,97%,.95),hsla(0,94%,82%,.9))}.flash-message-light.\!warning{border-left:4px solid #fbbf24!important;background:linear-gradient(135deg,rgba(255,251,235,.95),hsla(48,96%,89%,.9))!important}.flash-message-light.warning{border-left:4px solid #fbbf24;background:linear-gradient(135deg,rgba(255,251,235,.95),hsla(48,96%,89%,.9))}.flash-message-light.info{border-left:4px solid #3b82f6;background:linear-gradient(135deg,rgba(239,246,255,.95),rgba(219,234,254,.9))}.dark .table-enhanced{background:hsla(0,0%,4%,.8);border-color:var(--color-border-primary)}.dark .table-enhanced th{background:rgba(26,26,26,.8);color:var(--color-text-primary)}.dark .table-enhanced tbody tr:hover{background:rgba(26,26,26,.6)}.dark .modal-enhanced{background:rgba(0,0,0,.95);border-color:rgba(42,42,42,.7);box-shadow:0 50px 100px rgba(0,0,0,.5),inset 0 2px 0 hsla(0,0%,100%,.05)}.dark-mode-toggle-new{position:relative;display:flex;cursor:pointer;align-items:center;justify-content:center;border-radius:9999px;padding:.625rem;transition:all .3s cubic-bezier(.4,0,.2,1);background:linear-gradient(135deg,rgba(248,250,252,.9),rgba(241,245,249,.8));border:1px solid rgba(226,232,240,.7);box-shadow:0 4px 12px rgba(0,0,0,.06),0 2px 4px rgba(0,115,206,.04),inset 0 1px 0 hsla(0,0%,100%,.8);color:var(--color-text-secondary)}.dark-mode-toggle-new:hover{transform:translateY(-2px) scale(1.05);background:linear-gradient(135deg,rgba(248,250,252,.95),rgba(241,245,249,.85));box-shadow:0 8px 20px rgba(0,0,0,.1),0 4px 8px rgba(0,115,206,.08),inset 0 1px 0 hsla(0,0%,100%,.9)}.dark-mode-toggle-new:active{transform:translateY(-1px) scale(.98)}.dark .dark-mode-toggle-new{background:hsla(0,0%,4%,.8);border:1px solid rgba(42,42,42,.6);box-shadow:0 4px 12px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.05);color:var(--color-text-secondary)}.dark .dark-mode-toggle-new:hover{background:hsla(0,0%,4%,.9);box-shadow:0 8px 20px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.08)}.dark-mode-toggle-new .moon-icon,.dark-mode-toggle-new .sun-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transition:all .3s cubic-bezier(.4,0,.2,1)}.dark-mode-toggle-new .moon-icon:not(.hidden),.dark-mode-toggle-new .sun-icon:not(.hidden){animation:icon-appear .5s cubic-bezier(.25,1,.5,1) forwards}@keyframes icon-appear{0%{opacity:0;transform:translate(-50%,-50%) scale(.5) rotate(-20deg)}to{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}}.dark .user-menu-button-new{background:hsla(0,0%,4%,.7);border-color:rgba(42,42,42,.6);box-shadow:0 2px 8px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.03)}.dark .user-menu-button-new:hover{background:hsla(0,0%,4%,.8);box-shadow:0 4px 12px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.05)}.dark .hover-lift-enhanced:hover{box-shadow:0 12px 30px var(--color-shadow)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary);border-radius:4px}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--color-border-secondary) 0,var(--color-border-primary) 100%);border-radius:4px;-webkit-transition:background .2s ease;transition:background .2s ease}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--color-accent) 0,var(--color-accent-hover) 100%)}.dark ::-webkit-scrollbar-track{background:var(--color-bg-secondary)}.dark ::-webkit-scrollbar-thumb{background:var(--color-border-primary)}.dark ::-webkit-scrollbar-thumb:hover{background:#60a5fa}@keyframes loading-shimmer{0%{left:-100%}to{left:100%}}.dark .focus-enhanced:focus{outline-color:#60a5fa;box-shadow:0 0 0 4px rgba(96,165,250,.15),0 4px 12px rgba(96,165,250,.2)}@media (max-width:768px){.card-enhanced{padding:1rem;border-radius:.75rem}.btn-enhanced{padding:.75rem 1.5rem;font-size:.8rem}.modal-enhanced{border-radius:1rem;margin:1rem}.dark-mode-toggle-new{padding:.5rem}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media (prefers-contrast:high){:root{--color-shadow:rgba(0,0,0,.2);--color-shadow-strong:rgba(0,0,0,.3);--color-border-primary:#000}.dark{--color-border-primary:#fff}}.btn-primary{border-radius:.5rem;padding:.5rem 1rem;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.btn-primary:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.btn-primary:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(107 114 128/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px}.btn-primary:is(.dark *){--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.btn-primary{background:rgba(0,0,0,.7);backdrop-filter:blur(20px) saturate(150%) brightness(110%);-webkit-backdrop-filter:blur(20px) saturate(150%) brightness(110%);border:1px solid hsla(0,0%,100%,.2);box-shadow:0 20px 40px rgba(0,0,0,.3),0 8px 16px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.1)}.btn-primary:hover{background:rgba(0,0,0,.9);backdrop-filter:blur(25px) saturate(180%) brightness(120%);-webkit-backdrop-filter:blur(25px) saturate(180%) brightness(120%);border:1px solid hsla(0,0%,100%,.3);box-shadow:0 25px 50px rgba(0,0,0,.4),0 10px 20px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.3)}.dark .btn-primary{background:hsla(0,0%,100%,.7);border:1px solid rgba(0,0,0,.1);box-shadow:0 20px 40px rgba(0,0,0,.2),0 8px 16px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.8),0 0 0 1px rgba(0,0,0,.05)}.dark .btn-primary:hover{background:hsla(0,0%,100%,.9);border:1px solid rgba(0,0,0,.15);box-shadow:0 25px 50px rgba(0,0,0,.3),0 10px 20px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.9)}.btn-secondary{border-radius:.5rem;padding:.5rem 1rem;--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1));--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.btn-secondary:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.btn-secondary:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(100 116 139/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px}.btn-secondary:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.btn-secondary{background:hsla(0,0%,100%,.3);backdrop-filter:blur(20px) saturate(150%) brightness(110%);-webkit-backdrop-filter:blur(20px) saturate(150%) brightness(110%);border:1px solid hsla(0,0%,100%,.4);box-shadow:0 20px 40px rgba(0,0,0,.15),0 8px 16px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.5),0 0 0 1px hsla(0,0%,100%,.2)}.btn-secondary:hover{background:hsla(0,0%,100%,.5);backdrop-filter:blur(25px) saturate(180%) brightness(120%);-webkit-backdrop-filter:blur(25px) saturate(180%) brightness(120%);border:1px solid hsla(0,0%,100%,.6);box-shadow:0 25px 50px rgba(0,0,0,.2),0 10px 20px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.7)}.dark .btn-secondary{background:rgba(0,0,0,.4);border:1px solid hsla(0,0%,100%,.2);box-shadow:0 20px 40px rgba(0,0,0,.3),0 8px 16px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.1)}.dark .btn-secondary:hover{background:rgba(0,0,0,.6);border:1px solid hsla(0,0%,100%,.3);box-shadow:0 25px 50px rgba(0,0,0,.4),0 10px 20px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.3)}.btn-outline{border-radius:.5rem;border-width:2px;border-color:rgba(0,0,0,.7);padding:.5rem 1rem;--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1));--tw-backdrop-blur:blur(16px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.btn-outline:hover{background-color:rgba(0,0,0,.7);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.btn-outline:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(107 114 128/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px}.btn-outline:is(.dark *){border-color:hsla(0,0%,100%,.7);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.btn-outline:hover:is(.dark *){background-color:hsla(0,0%,100%,.7);--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.btn-outline{backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);box-shadow:0 15px 30px rgba(0,0,0,.1),0 0 0 1px hsla(0,0%,100%,.05)}.glass-card{border-radius:12px;padding:1.5rem;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:hsla(0,0%,100%,.15);backdrop-filter:blur(30px) saturate(200%) brightness(120%) contrast(110%);-webkit-backdrop-filter:blur(30px) saturate(200%) brightness(120%) contrast(110%);border:1px solid hsla(0,0%,100%,.3);box-shadow:0 25px 50px rgba(0,0,0,.15),0 8px 16px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.3),0 0 0 1px hsla(0,0%,100%,.1);border-radius:var(--card-radius)}.dark .glass-card{background:rgba(0,0,0,.3);backdrop-filter:blur(30px) saturate(180%) brightness(110%) contrast(120%);-webkit-backdrop-filter:blur(30px) saturate(180%) brightness(110%) contrast(120%);border:1px solid hsla(0,0%,100%,.15);box-shadow:0 25px 50px rgba(0,0,0,.4),0 8px 16px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.15),0 0 0 1px hsla(0,0%,100%,.05)}.dashboard-card{border-radius:12px;padding:1.5rem;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.dashboard-card:hover{--tw-translate-y:-0.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dashboard-card{background:hsla(0,0%,100%,.12);backdrop-filter:blur(35px) saturate(200%) brightness(125%) contrast(115%);-webkit-backdrop-filter:blur(35px) saturate(200%) brightness(125%) contrast(115%);border:1px solid hsla(0,0%,100%,.25);box-shadow:0 25px 50px rgba(0,0,0,.15),0 8px 16px rgba(0,0,0,.08),inset 0 1px 0 hsla(0,0%,100%,.25),0 0 0 1px hsla(0,0%,100%,.1);border-radius:var(--card-radius)}.dark .dashboard-card{background:rgba(0,0,0,.35);backdrop-filter:blur(35px) saturate(180%) brightness(115%) contrast(125%);-webkit-backdrop-filter:blur(35px) saturate(180%) brightness(115%) contrast(125%);border:1px solid hsla(0,0%,100%,.12);box-shadow:0 25px 50px rgba(0,0,0,.5),0 8px 16px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.12),0 0 0 1px hsla(0,0%,100%,.05)}.nav-link.active{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1));--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.nav-link.active:is(.dark *){--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.navbar{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;background:hsla(0,0%,100%,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:10px;box-shadow:0 4px 6px rgba(0,0,0,.1);transition:all .3s ease}@media (max-width:768px){.navbar{flex-direction:column;padding:.25rem}.navbar-button{margin:.25rem 0}}.dark .navbar{background:rgba(0,0,0,.25);backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(120%);-webkit-backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(120%);box-shadow:0 8px 32px rgba(0,0,0,.6),0 2px 8px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.1),0 0 0 1px hsla(0,0%,100%,.05);border-bottom:1px solid hsla(0,0%,100%,.1)}.navbar-brand{display:flex;align-items:center}.navbar-brand>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.navbar-brand{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.navbar-brand:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark .navbar-menu{background:rgba(0,0,0,.4);backdrop-filter:blur(20px) saturate(150%) brightness(110%);-webkit-backdrop-filter:blur(20px) saturate(150%) brightness(110%);border:1px solid hsla(0,0%,100%,.15);box-shadow:0 4px 16px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.05)}.user-avatar{display:flex;height:2.5rem;width:2.5rem;align-items:center;justify-content:center;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1));font-size:.875rem;line-height:1.25rem;font-weight:700;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.user-avatar,.user-avatar:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.user-avatar:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.user-avatar:is(.dark *){--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.dark .menu-item{background:rgba(0,0,0,.2);border:1px solid hsla(0,0%,100%,.1);box-shadow:0 2px 8px rgba(0,0,0,.2)}.dark .menu-item:hover{background:rgba(0,0,0,.4);border:1px solid hsla(0,0%,100%,.2);box-shadow:0 4px 16px rgba(0,0,0,.3)}.menu-item.active{font-weight:500;--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.menu-item.active:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.menu-item.active{background:hsla(0,0%,100%,.5);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid hsla(0,0%,100%,.6);box-shadow:0 4px 16px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.5)}.dark .menu-item.active{background:rgba(0,0,0,.6);border:1px solid hsla(0,0%,100%,.3);box-shadow:0 4px 16px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2)}.user-dropdown{position:absolute;right:0;z-index:50;margin-top:.5rem;width:16rem;overflow:hidden;border-radius:12px;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);background:hsla(0,0%,100%,.1);backdrop-filter:blur(40px) saturate(200%) brightness(130%) contrast(110%);-webkit-backdrop-filter:blur(40px) saturate(200%) brightness(130%) contrast(110%);border:1px solid hsla(0,0%,100%,.3);box-shadow:0 25px 50px rgba(0,0,0,.25),0 8px 16px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.4),0 0 0 1px hsla(0,0%,100%,.1);animation:fadeIn .2s ease-out forwards}.dark .user-dropdown{background:rgba(0,0,0,.4);backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(120%);-webkit-backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(120%);border:1px solid hsla(0,0%,100%,.15);box-shadow:0 25px 50px rgba(0,0,0,.6),0 8px 16px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.05)}.dropdown-header{display:flex;align-items:center;border-bottom-width:1px;border-color:rgba(229,231,235,.8);padding:1rem}.dropdown-header:is(.dark *){border-color:rgba(51,65,85,.3)}.dropdown-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.dropdown-item:hover{background-color:rgba(243,244,246,.8);--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.dropdown-item:is(.dark *){--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.dropdown-item:hover:is(.dark *){background-color:rgba(51,65,85,.6);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dropdown-divider{border-top-width:1px;border-color:rgba(229,231,235,.8)}.dropdown-divider:is(.dark *){border-color:rgba(51,65,85,.3)}@keyframes mercedes-rotate{0%{transform:rotate(0deg)}25%{transform:rotate(90deg)}50%{transform:rotate(180deg)}75%{transform:rotate(270deg)}to{transform:rotate(1turn)}}.navbar-brand:hover svg{animation:mercedes-rotate 5s linear infinite;transform-origin:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-bottom-2{bottom:-.5rem}.-bottom-40{bottom:-10rem}.-bottom-8{bottom:-2rem}.-left-2{left:-.5rem}.-left-32{left:-8rem}.-right-1{right:-.25rem}.-right-2{right:-.5rem}.-right-32{right:-8rem}.-top-1{top:-.25rem}.-top-2{top:-.5rem}.-top-40{top:-10rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.bottom-8{bottom:2rem}.bottom-full{bottom:100%}.end-1{inset-inline-end:.25rem}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-3{left:.75rem}.left-4{left:1rem}.right-0{right:0}.right-1{right:.25rem}.right-3{right:.75rem}.right-4{right:1rem}.right-5{right:1.25rem}.right-6{right:1.5rem}.right-8{right:2rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-20{top:5rem}.top-3{top:.75rem}.top-4{top:1rem}.top-5{top:1.25rem}.top-6{top:1.5rem}.top-8{top:2rem}.top-full{top:100%}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.col-span-1{grid-column:span 1/span 1}.col-span-full{grid-column:1/-1}.m-1{margin:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-8{margin-left:2rem;margin-right:2rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.-mb-px{margin-bottom:-1px}.-ml-1{margin-left:-.25rem}.-mt-8{margin-top:-2rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-6{margin-left:1.5rem}.ml-8{margin-left:2rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mr-6{margin-right:1.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.list-item{display:list-item}.hidden{display:none}.h-0{height:0}.h-1{height:.25rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-20{height:5rem}.h-24{height:6rem}.h-28{height:7rem}.h-3{height:.75rem}.h-32{height:8rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-80{height:20rem}.h-96{height:24rem}.h-full{height:100%}.max-h-64{max-height:16rem}.max-h-96{max-height:24rem}.max-h-\[90vh\]{max-height:90vh}.min-h-\[80vh\]{min-height:80vh}.min-h-screen{min-height:100vh}.w-0{width:0}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-96{width:24rem}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.min-w-40{min-width:10rem}.min-w-\[150px\]{min-width:150px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.translate-x-6{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-6{--tw-translate-x:1.5rem}.translate-x-full{--tw-translate-x:100%}.rotate-0,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-0{--tw-rotate:0deg}.rotate-90{--tw-rotate:90deg}.rotate-90,.skew-x-12{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.skew-x-12{--tw-skew-x:12deg}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.scale-75{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-75{--tw-scale-x:.75;--tw-scale-y:.75}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-95,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fadeIn .5s ease-in-out}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.animate-slide-up{animation:slideUp .3s ease-out}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize-none{resize:none}.resize{resize:both}.scroll-mt-8{scroll-margin-top:2rem}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.5rem*var(--tw-space-x-reverse));margin-left:calc(1.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2rem*var(--tw-space-x-reverse));margin-left:calc(2rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(4rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity,1))}.divide-slate-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(226 232 240/var(--tw-divide-opacity,1))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:16px}.rounded-3xl{border-radius:24px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:12px}.rounded-b-3xl{border-bottom-right-radius:24px;border-bottom-left-radius:24px}.rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.rounded-t-3xl{border-top-left-radius:24px;border-top-right-radius:24px}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}.border-r-4{border-right-width:4px}.border-t{border-top-width:1px}.border-t-4{border-top-width:4px}.border-dashed{border-style:dashed}.border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-200\/50{border-color:rgba(191,219,254,.5)}.border-blue-300{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.border-emerald-200\/50{border-color:rgba(167,243,208,.5)}.border-emerald-500{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-200\/50{border-color:rgba(229,231,235,.5)}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.border-green-200\/50{border-color:rgba(187,247,208,.5)}.border-green-300{--tw-border-opacity:1;border-color:rgb(134 239 172/var(--tw-border-opacity,1))}.border-green-400{--tw-border-opacity:1;border-color:rgb(74 222 128/var(--tw-border-opacity,1))}.border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.border-green-600{--tw-border-opacity:1;border-color:rgb(22 163 74/var(--tw-border-opacity,1))}.border-indigo-200{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.border-indigo-200\/50{border-color:rgba(199,210,254,.5)}.border-mercedes-blue{--tw-border-opacity:1;border-color:rgb(0 115 206/var(--tw-border-opacity,1))}.border-mercedes-silver{--tw-border-opacity:1;border-color:rgb(170 169 173/var(--tw-border-opacity,1))}.border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.border-orange-200\/50{border-color:hsla(32,98%,83%,.5)}.border-orange-300{--tw-border-opacity:1;border-color:rgb(253 186 116/var(--tw-border-opacity,1))}.border-orange-400{--tw-border-opacity:1;border-color:rgb(251 146 60/var(--tw-border-opacity,1))}.border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.border-purple-200\/50{border-color:rgba(233,213,255,.5)}.border-purple-600{--tw-border-opacity:1;border-color:rgb(147 51 234/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-red-200\/50{border-color:hsla(0,96%,89%,.5)}.border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-slate-200\/30{border-color:rgba(226,232,240,.3)}.border-slate-200\/50{border-color:rgba(226,232,240,.5)}.border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.border-white\/10{border-color:hsla(0,0%,100%,.1)}.border-white\/20{border-color:hsla(0,0%,100%,.2)}.border-white\/30{border-color:hsla(0,0%,100%,.3)}.border-white\/50{border-color:hsla(0,0%,100%,.5)}.border-yellow-200{--tw-border-opacity:1;border-color:rgb(254 240 138/var(--tw-border-opacity,1))}.border-yellow-300{--tw-border-opacity:1;border-color:rgb(253 224 71/var(--tw-border-opacity,1))}.border-yellow-400{--tw-border-opacity:1;border-color:rgb(250 204 21/var(--tw-border-opacity,1))}.border-yellow-500{--tw-border-opacity:1;border-color:rgb(234 179 8/var(--tw-border-opacity,1))}.border-t-slate-800{--tw-border-opacity:1;border-top-color:rgb(30 41 59/var(--tw-border-opacity,1))}.border-t-slate-900{--tw-border-opacity:1;border-top-color:rgb(15 23 42/var(--tw-border-opacity,1))}.border-t-transparent{border-top-color:transparent}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/20{background-color:rgba(0,0,0,.2)}.bg-black\/30{background-color:rgba(0,0,0,.3)}.bg-black\/50{background-color:rgba(0,0,0,.5)}.bg-black\/60{background-color:rgba(0,0,0,.6)}.bg-black\/70{background-color:rgba(0,0,0,.7)}.bg-black\/75{background-color:rgba(0,0,0,.75)}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-50\/50{background-color:rgba(239,246,255,.5)}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-cyan-100{--tw-bg-opacity:1;background-color:rgb(207 250 254/var(--tw-bg-opacity,1))}.bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.bg-emerald-600{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.bg-error{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-green-50\/50{background-color:rgba(240,253,244,.5)}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.bg-indigo-50{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.bg-indigo-50\/50{background-color:rgba(238,242,255,.5)}.bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.bg-info{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-mercedes-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-mercedes-blue{--tw-bg-opacity:1;background-color:rgb(0 115 206/var(--tw-bg-opacity,1))}.bg-mercedes-silver{--tw-bg-opacity:1;background-color:rgb(170 169 173/var(--tw-bg-opacity,1))}.bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.bg-orange-400{--tw-bg-opacity:1;background-color:rgb(251 146 60/var(--tw-bg-opacity,1))}.bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.bg-orange-50\/50{background-color:rgba(255,247,237,.5)}.bg-orange-500{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.bg-orange-600{--tw-bg-opacity:1;background-color:rgb(234 88 12/var(--tw-bg-opacity,1))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.bg-purple-400{--tw-bg-opacity:1;background-color:rgb(192 132 252/var(--tw-bg-opacity,1))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.bg-purple-50\/50{background-color:rgba(250,245,255,.5)}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.bg-purple-600{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-400{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-50\/50{background-color:hsla(0,86%,97%,.5)}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity,1))}.bg-slate-400{--tw-bg-opacity:1;background-color:rgb(148 163 184/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-slate-50\/50{background-color:rgba(248,250,252,.5)}.bg-slate-500{--tw-bg-opacity:1;background-color:rgb(100 116 139/var(--tw-bg-opacity,1))}.bg-slate-600{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.bg-slate-700{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.bg-success{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.bg-teal-100{--tw-bg-opacity:1;background-color:rgb(204 251 241/var(--tw-bg-opacity,1))}.bg-teal-500{--tw-bg-opacity:1;background-color:rgb(20 184 166/var(--tw-bg-opacity,1))}.bg-warning{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/10{background-color:hsla(0,0%,100%,.1)}.bg-white\/15{background-color:hsla(0,0%,100%,.15)}.bg-white\/20{background-color:hsla(0,0%,100%,.2)}.bg-white\/30{background-color:hsla(0,0%,100%,.3)}.bg-white\/40{background-color:hsla(0,0%,100%,.4)}.bg-white\/50{background-color:hsla(0,0%,100%,.5)}.bg-white\/60{background-color:hsla(0,0%,100%,.6)}.bg-white\/80{background-color:hsla(0,0%,100%,.8)}.bg-white\/90{background-color:hsla(0,0%,100%,.9)}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.bg-yellow-400{--tw-bg-opacity:1;background-color:rgb(250 204 21/var(--tw-bg-opacity,1))}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.bg-yellow-600{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.bg-opacity-50{--tw-bg-opacity:0.5}.bg-opacity-75{--tw-bg-opacity:0.75}.bg-opacity-95{--tw-bg-opacity:0.95}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-tr{background-image:linear-gradient(to top right,var(--tw-gradient-stops))}.from-amber-500{--tw-gradient-from:#f59e0b var(--tw-gradient-from-position);--tw-gradient-to:rgba(245,158,11,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-100{--tw-gradient-from:#dbeafe var(--tw-gradient-from-position);--tw-gradient-to:rgba(219,234,254,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-300\/10{--tw-gradient-from:rgba(147,197,253,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,197,253,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-400{--tw-gradient-from:#60a5fa var(--tw-gradient-from-position);--tw-gradient-to:rgba(96,165,250,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-400\/20{--tw-gradient-from:rgba(96,165,250,.2) var(--tw-gradient-from-position);--tw-gradient-to:rgba(96,165,250,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-50{--tw-gradient-from:#eff6ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,246,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from:#3b82f6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(59,130,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-500\/10{--tw-gradient-from:rgba(59,130,246,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(59,130,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-600{--tw-gradient-from:#2563eb var(--tw-gradient-from-position);--tw-gradient-to:rgba(37,99,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-600\/10{--tw-gradient-from:rgba(37,99,235,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(37,99,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-emerald-400{--tw-gradient-from:#34d399 var(--tw-gradient-from-position);--tw-gradient-to:rgba(52,211,153,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-emerald-50{--tw-gradient-from:#ecfdf5 var(--tw-gradient-from-position);--tw-gradient-to:rgba(236,253,245,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-emerald-500{--tw-gradient-from:#10b981 var(--tw-gradient-from-position);--tw-gradient-to:rgba(16,185,129,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-100{--tw-gradient-from:#dcfce7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(220,252,231,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-50{--tw-gradient-from:#f0fdf4 var(--tw-gradient-from-position);--tw-gradient-to:rgba(240,253,244,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-500{--tw-gradient-from:#22c55e var(--tw-gradient-from-position);--tw-gradient-to:rgba(34,197,94,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-500\/10{--tw-gradient-from:rgba(34,197,94,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(34,197,94,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-indigo-500{--tw-gradient-from:#6366f1 var(--tw-gradient-from-position);--tw-gradient-to:rgba(99,102,241,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-orange-50{--tw-gradient-from:#fff7ed var(--tw-gradient-from-position);--tw-gradient-to:rgba(255,247,237,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-orange-500{--tw-gradient-from:#f97316 var(--tw-gradient-from-position);--tw-gradient-to:rgba(249,115,22,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-orange-500\/10{--tw-gradient-from:rgba(249,115,22,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(249,115,22,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-100{--tw-gradient-from:#f3e8ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,232,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-400\/20{--tw-gradient-from:rgba(192,132,252,.2) var(--tw-gradient-from-position);--tw-gradient-to:rgba(192,132,252,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-50{--tw-gradient-from:#faf5ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(250,245,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-500\/10{--tw-gradient-from:rgba(168,85,247,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-red-500{--tw-gradient-from:#ef4444 var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,68,68,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-red-500\/10{--tw-gradient-from:rgba(239,68,68,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,68,68,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-100{--tw-gradient-from:#f1f5f9 var(--tw-gradient-from-position);--tw-gradient-to:rgba(241,245,249,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-50{--tw-gradient-from:#f8fafc var(--tw-gradient-from-position);--tw-gradient-to:rgba(248,250,252,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-500{--tw-gradient-from:#64748b var(--tw-gradient-from-position);--tw-gradient-to:rgba(100,116,139,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-900{--tw-gradient-from:#0f172a var(--tw-gradient-from-position);--tw-gradient-to:rgba(15,23,42,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-transparent{--tw-gradient-from:transparent var(--tw-gradient-from-position);--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-violet-500{--tw-gradient-from:#8b5cf6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(139,92,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-white{--tw-gradient-from:#fff var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-yellow-500{--tw-gradient-from:#eab308 var(--tw-gradient-from-position);--tw-gradient-to:rgba(234,179,8,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-blue-100{--tw-gradient-to:rgba(219,234,254,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#dbeafe var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-blue-200{--tw-gradient-to:rgba(191,219,254,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#bfdbfe var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-blue-50{--tw-gradient-to:rgba(239,246,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#eff6ff var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-blue-900{--tw-gradient-to:rgba(30,58,138,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#1e3a8a var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-green-50{--tw-gradient-to:rgba(240,253,244,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#f0fdf4 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-green-500{--tw-gradient-to:rgba(34,197,94,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#22c55e var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-indigo-50{--tw-gradient-to:rgba(238,242,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#eef2ff var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-purple-500{--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#a855f7 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-red-50{--tw-gradient-to:hsla(0,86%,97%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#fef2f2 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-white\/20{--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),hsla(0,0%,100%,.2) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-white\/5{--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),hsla(0,0%,100%,.05) var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-amber-600{--tw-gradient-to:#d97706 var(--tw-gradient-to-position)}.to-blue-200{--tw-gradient-to:#bfdbfe var(--tw-gradient-to-position)}.to-blue-50{--tw-gradient-to:#eff6ff var(--tw-gradient-to-position)}.to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.to-emerald-50{--tw-gradient-to:#ecfdf5 var(--tw-gradient-to-position)}.to-emerald-500{--tw-gradient-to:#10b981 var(--tw-gradient-to-position)}.to-emerald-500\/10{--tw-gradient-to:rgba(16,185,129,.1) var(--tw-gradient-to-position)}.to-emerald-600{--tw-gradient-to:#059669 var(--tw-gradient-to-position)}.to-green-200{--tw-gradient-to:#bbf7d0 var(--tw-gradient-to-position)}.to-green-50{--tw-gradient-to:#f0fdf4 var(--tw-gradient-to-position)}.to-green-600{--tw-gradient-to:#16a34a var(--tw-gradient-to-position)}.to-indigo-100{--tw-gradient-to:#e0e7ff var(--tw-gradient-to-position)}.to-indigo-300\/10{--tw-gradient-to:rgba(165,180,252,.1) var(--tw-gradient-to-position)}.to-indigo-50{--tw-gradient-to:#eef2ff var(--tw-gradient-to-position)}.to-indigo-500{--tw-gradient-to:#6366f1 var(--tw-gradient-to-position)}.to-indigo-500\/10{--tw-gradient-to:rgba(99,102,241,.1) var(--tw-gradient-to-position)}.to-indigo-600{--tw-gradient-to:#4f46e5 var(--tw-gradient-to-position)}.to-indigo-600\/20{--tw-gradient-to:rgba(79,70,229,.2) var(--tw-gradient-to-position)}.to-indigo-900{--tw-gradient-to:#312e81 var(--tw-gradient-to-position)}.to-orange-50{--tw-gradient-to:#fff7ed var(--tw-gradient-to-position)}.to-orange-500{--tw-gradient-to:#f97316 var(--tw-gradient-to-position)}.to-orange-600{--tw-gradient-to:#ea580c var(--tw-gradient-to-position)}.to-pink-50{--tw-gradient-to:#fdf2f8 var(--tw-gradient-to-position)}.to-pink-500\/10{--tw-gradient-to:rgba(236,72,153,.1) var(--tw-gradient-to-position)}.to-pink-600\/20{--tw-gradient-to:rgba(219,39,119,.2) var(--tw-gradient-to-position)}.to-purple-200{--tw-gradient-to:#e9d5ff var(--tw-gradient-to-position)}.to-purple-50{--tw-gradient-to:#faf5ff var(--tw-gradient-to-position)}.to-purple-600{--tw-gradient-to:#9333ea var(--tw-gradient-to-position)}.to-purple-600\/10{--tw-gradient-to:rgba(147,51,234,.1) var(--tw-gradient-to-position)}.to-red-50{--tw-gradient-to:#fef2f2 var(--tw-gradient-to-position)}.to-red-500{--tw-gradient-to:#ef4444 var(--tw-gradient-to-position)}.to-red-500\/10{--tw-gradient-to:rgba(239,68,68,.1) var(--tw-gradient-to-position)}.to-red-600{--tw-gradient-to:#dc2626 var(--tw-gradient-to-position)}.to-rose-500{--tw-gradient-to:#f43f5e var(--tw-gradient-to-position)}.to-slate-100{--tw-gradient-to:#f1f5f9 var(--tw-gradient-to-position)}.to-slate-200{--tw-gradient-to:#e2e8f0 var(--tw-gradient-to-position)}.to-slate-600{--tw-gradient-to:#475569 var(--tw-gradient-to-position)}.to-slate-700{--tw-gradient-to:#334155 var(--tw-gradient-to-position)}.to-teal-50{--tw-gradient-to:#f0fdfa var(--tw-gradient-to-position)}.to-teal-600{--tw-gradient-to:#0d9488 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.to-violet-500\/10{--tw-gradient-to:rgba(139,92,246,.1) var(--tw-gradient-to-position)}.to-white{--tw-gradient-to:#fff var(--tw-gradient-to-position)}.to-yellow-600{--tw-gradient-to:#ca8a04 var(--tw-gradient-to-position)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.fill-current{fill:currentColor}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-10{padding:2.5rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-20{padding-bottom:5rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pl-10{padding-left:2.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pr-10{padding-right:2.5rem}.pr-12{padding-right:3rem}.pr-20{padding-right:5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.font-mercedes{font-family:Mercedes-Benz Text,Arial,sans-serif}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-8xl{font-size:6rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-4{line-height:1rem}.leading-6{line-height:1.5rem}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-blue-100{--tw-text-opacity:1;color:rgb(219 234 254/var(--tw-text-opacity,1))}.text-blue-200{--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity,1))}.text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-blue-900{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity,1))}.text-cyan-600{--tw-text-opacity:1;color:rgb(8 145 178/var(--tw-text-opacity,1))}.text-emerald-300{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity,1))}.text-error{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-green-900{--tw-text-opacity:1;color:rgb(20 83 45/var(--tw-text-opacity,1))}.text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-indigo-800{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity,1))}.text-indigo-900{--tw-text-opacity:1;color:rgb(49 46 129/var(--tw-text-opacity,1))}.text-mercedes-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-mercedes-blue{--tw-text-opacity:1;color:rgb(0 115 206/var(--tw-text-opacity,1))}.text-mercedes-gray{--tw-text-opacity:1;color:rgb(94 94 94/var(--tw-text-opacity,1))}.text-mercedes-silver{--tw-text-opacity:1;color:rgb(170 169 173/var(--tw-text-opacity,1))}.text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.text-orange-800{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity,1))}.text-pink-600{--tw-text-opacity:1;color:rgb(219 39 119/var(--tw-text-opacity,1))}.text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity,1))}.text-purple-900{--tw-text-opacity:1;color:rgb(88 28 135/var(--tw-text-opacity,1))}.text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.text-success{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.text-teal-600{--tw-text-opacity:1;color:rgb(13 148 136/var(--tw-text-opacity,1))}.text-transparent{color:transparent}.text-warning{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-200{--tw-text-opacity:1;color:rgb(254 240 138/var(--tw-text-opacity,1))}.text-yellow-300{--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}.text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.text-yellow-700{--tw-text-opacity:1;color:rgb(161 98 7/var(--tw-text-opacity,1))}.text-yellow-800{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity,1))}.text-yellow-900{--tw-text-opacity:1;color:rgb(113 63 18/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.overline{text-decoration-line:overline}.placeholder-slate-500::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity,1))}.placeholder-slate-500::placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity,1))}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05);--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-inner,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-2{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-mercedes-blue{--tw-ring-opacity:1;--tw-ring-color:rgb(0 115 206/var(--tw-ring-opacity,1))}.blur{--tw-blur:blur(8px)}.blur,.blur-2xl{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-2xl{--tw-blur:blur(40px)}.blur-3xl{--tw-blur:blur(64px)}.blur-3xl,.drop-shadow{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0,0,0,.1)) drop-shadow(0 1px 1px rgba(0,0,0,.06))}.\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.backdrop-blur-md,.backdrop-blur-sm{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.backdrop-blur-xl{--tw-backdrop-blur:blur(24px)}.backdrop-blur-xl,.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.delay-1000{transition-delay:1s}.delay-500{transition-delay:.5s}.duration-1000{transition-duration:1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.glassmorphism{background:hsla(0,0%,100%,.05);border-radius:16px;box-shadow:0 8px 32px 0 rgba(31,38,135,.37);border:1px solid hsla(0,0%,100%,.18)}.glassmorphism,.glassmorphism-dark{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.glassmorphism-dark{background:rgba(0,0,0,.05);border-radius:16px;box-shadow:0 8px 32px 0 rgba(0,0,0,.37);border:1px solid rgba(0,0,0,.18)}.text-shadow{text-shadow:0 2px 4px rgba(0,0,0,.1)}.flash-message{position:fixed;top:1rem;right:1rem;z-index:50;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:16px;border-width:1px;padding:1rem 1.5rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.5s;background:hsla(0,0%,100%,.08);backdrop-filter:blur(40px) saturate(200%) brightness(130%) contrast(110%);-webkit-backdrop-filter:blur(40px) saturate(200%) brightness(130%) contrast(110%);border:1px solid hsla(0,0%,100%,.25);box-shadow:0 32px 64px rgba(0,0,0,.25),0 12px 24px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.4),0 0 0 1px hsla(0,0%,100%,.1);animation:flash-slide-in .5s cubic-bezier(.4,0,.2,1);transition:all .5s cubic-bezier(.4,0,.2,1)}.dark .flash-message{background:rgba(0,0,0,.2);backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(115%);-webkit-backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(115%);border:1px solid hsla(0,0%,100%,.15);box-shadow:0 32px 64px rgba(0,0,0,.6),0 12px 24px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.05)}.flash-message:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 40px 80px rgba(0,0,0,.3),0 16px 32px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.5),0 0 0 1px hsla(0,0%,100%,.15)}.dark .flash-message:hover{box-shadow:0 40px 80px rgba(0,0,0,.7),0 16px 32px rgba(0,0,0,.5),inset 0 1px 0 hsla(0,0%,100%,.3),0 0 0 1px hsla(0,0%,100%,.1)}.flash-message.info{--tw-text-opacity:1;color:rgb(219 234 254/var(--tw-text-opacity,1));background:linear-gradient(135deg,rgba(59,130,246,.2),rgba(147,197,253,.15) 50%,rgba(59,130,246,.1));border:1px solid rgba(59,130,246,.3)}.flash-message.success{--tw-text-opacity:1;color:rgb(220 252 231/var(--tw-text-opacity,1));background:linear-gradient(135deg,rgba(34,197,94,.2),rgba(134,239,172,.15) 50%,rgba(34,197,94,.1));border:1px solid rgba(34,197,94,.3)}.flash-message.warning{--tw-text-opacity:1;color:rgb(254 249 195/var(--tw-text-opacity,1));background:linear-gradient(135deg,rgba(245,158,11,.2),rgba(252,211,77,.15) 50%,rgba(245,158,11,.1));border:1px solid rgba(245,158,11,.3)}.flash-message.error{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1));background:linear-gradient(135deg,rgba(239,68,68,.2),hsla(0,94%,82%,.15) 50%,rgba(239,68,68,.1));border:1px solid rgba(239,68,68,.3)}@keyframes flash-slide-in{0%{opacity:0;transform:translateX(100%) translateY(-20px) scale(.9);-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}50%{opacity:.8;transform:translateX(20px) translateY(-10px) scale(1.05);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}to{opacity:1;transform:translateX(0) translateY(0) scale(1);-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px)}}@keyframes flash-slide-out{0%{opacity:1;transform:translateX(0) translateY(0) scale(1)}to{opacity:0;transform:translateX(100%) translateY(-20px) scale(.9)}}.flash-message.hiding{animation:flash-slide-out .4s cubic-bezier(.4,0,.2,1) forwards}.dnd-toggle{position:relative;display:inline-flex;height:1.5rem;width:2.75rem;align-items:center;border-radius:9999px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.dnd-toggle:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px}.dnd-toggle{background:rgba(156,163,175,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(156,163,175,.2)}.dnd-toggle.active{background:rgba(239,68,68,.3);border:1px solid rgba(239,68,68,.4)}.dnd-toggle-slider{display:inline-block;height:1rem;width:1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:9999px;--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:hsla(0,0%,100%,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.3);box-shadow:0 4px 8px rgba(0,0,0,.2),0 2px 4px rgba(0,0,0,.1);margin:.125rem}.dnd-toggle.active .dnd-toggle-slider{transform:translateX(1.25rem);background:#fff;box-shadow:0 6px 12px rgba(239,68,68,.3),0 3px 6px rgba(239,68,68,.2)}.dnd-indicator{position:fixed;top:1rem;left:1rem;z-index:50;display:flex;align-items:center;border-radius:.5rem;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:rgba(239,68,68,.1);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border:1px solid rgba(239,68,68,.3);color:#ef4444;transform:translateY(-100%);opacity:0}.dnd-indicator.active{transform:translateY(0);opacity:1}.dnd-modal{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(0,0,0,.3);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.dnd-modal-content{width:100%;max-width:28rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:16px;padding:1.5rem;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background:hsla(0,0%,100%,.1);backdrop-filter:blur(40px) saturate(200%) brightness(120%);-webkit-backdrop-filter:blur(40px) saturate(200%) brightness(120%);border:1px solid hsla(0,0%,100%,.3);box-shadow:0 25px 50px rgba(0,0,0,.25),0 8px 16px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.4)}.dark .dnd-modal-content{background:rgba(0,0,0,.3);backdrop-filter:blur(40px) saturate(180%) brightness(110%);-webkit-backdrop-filter:blur(40px) saturate(180%) brightness(110%);border:1px solid hsla(0,0%,100%,.15);box-shadow:0 25px 50px rgba(0,0,0,.6),0 8px 16px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2)}.flash-message.dnd-suppressed{animation:flash-fade-in .3s ease-out;opacity:.3;transform:scale(.95);pointer-events:none}@keyframes flash-fade-in{0%{opacity:0;transform:scale(.9)}to{opacity:.3;transform:scale(.95)}}.dnd-counter{position:absolute;top:-.5rem;right:-.5rem;display:flex;height:1.25rem;width:1.25rem;align-items:center;justify-content:center;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1));font-size:.75rem;line-height:1rem;font-weight:700;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));background:rgba(239,68,68,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.2);box-shadow:0 2px 4px rgba(0,0,0,.2);animation:dnd-counter-bounce .5s ease-out}@keyframes dnd-counter-bounce{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.mercedes-background:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' fill='currentColor' opacity='.03'%3E%3Cpath d='M58.6 4.5C53 1.6 46.7 0 40 0S27 1.6 21.4 4.5C8.7 11.2 0 24.6 0 40s8.7 28.8 21.5 35.5C27 78.3 33.3 80 40 80s12.9-1.7 18.5-4.6C71.3 68.8 80 55.4 80 40S71.3 11.2 58.6 4.5M4 40c0-13.1 7-24.5 17.5-30.9C26.6 6 32.5 4.2 39 4l-4.5 32.7-13 10.1L8.3 57.1C5.6 52 4 46.2 4 40m54.6 30.8C53.1 74.1 46.8 76 40 76s-13.2-1.9-18.6-5.2c-4.9-2.9-8.9-6.9-11.9-11.7l11.9-4.9L40 46.6l18.6 7.5 12 4.9c-3 4.9-7.2 8.9-12 11.8m0-24-12.9-10L41.1 4c6.3.2 12.3 2 17.4 5.1C69 15.4 76 26.9 76 40c0 6.2-1.5 12-4.3 17.1z'/%3E%3C/svg%3E");background-position:50%;background-repeat:repeat;background-size:120px 120px;pointer-events:none;opacity:.03;transition:opacity .3s ease}.dark .mercedes-background:before{opacity:.015;filter:invert(1) brightness(.3);background-size:150px 150px}.navbar{position:sticky!important;top:0!important;z-index:50!important;width:100%!important;left:0!important;right:0!important;--navbar-blur:40px;--navbar-opacity:0.15;background:rgba(255,255,255,var(--navbar-opacity,.15))!important;backdrop-filter:blur(var(--navbar-blur,40px)) saturate(200%) brightness(110%) contrast(105%)!important;-webkit-backdrop-filter:blur(var(--navbar-blur,40px)) saturate(200%) brightness(110%) contrast(105%)!important;box-shadow:0 8px 32px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.08),inset 0 1px 0 hsla(0,0%,100%,.3),0 0 0 1px hsla(0,0%,100%,.15)!important;border-bottom:1px solid hsla(0,0%,100%,.2)!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important}.dark .navbar{--navbar-dark-opacity:0.25;background:rgba(0,0,0,var(--navbar-dark-opacity,.25))!important;backdrop-filter:blur(calc(var(--navbar-blur, 40px) + 5px)) saturate(180%) brightness(120%) contrast(115%)!important;-webkit-backdrop-filter:blur(calc(var(--navbar-blur, 40px) + 5px)) saturate(180%) brightness(120%) contrast(115%)!important;box-shadow:0 8px 32px rgba(0,0,0,.4),0 2px 8px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.15),0 0 0 1px hsla(0,0%,100%,.08)!important;border-bottom:1px solid hsla(0,0%,100%,.1)!important}.navbar.scrolled{--navbar-blur:50px;--navbar-opacity:0.25;background:rgba(255,255,255,var(--navbar-opacity,.25))!important;backdrop-filter:blur(var(--navbar-blur,50px)) saturate(220%) brightness(115%) contrast(110%)!important;-webkit-backdrop-filter:blur(var(--navbar-blur,50px)) saturate(220%) brightness(115%) contrast(110%)!important;box-shadow:0 12px 40px rgba(0,0,0,.15),0 4px 12px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.4),0 0 0 1px hsla(0,0%,100%,.2)!important}.dark .navbar.scrolled{--navbar-dark-opacity:0.35;background:rgba(0,0,0,var(--navbar-dark-opacity,.35))!important;backdrop-filter:blur(calc(var(--navbar-blur, 50px) + 5px)) saturate(200%) brightness(125%) contrast(120%)!important;-webkit-backdrop-filter:blur(calc(var(--navbar-blur, 50px) + 5px)) saturate(200%) brightness(125%) contrast(120%)!important;box-shadow:0 12px 40px rgba(0,0,0,.5),0 4px 12px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.1)!important}.navbar-menu-new{display:flex;align-items:center;justify-content:center}.navbar-menu-new>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.125rem*var(--tw-space-x-reverse));margin-left:calc(.125rem*(1 - var(--tw-space-x-reverse)))}@media (min-width:768px){.navbar-menu-new>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}}.navbar-menu-new{max-width:100%;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;background:hsla(0,0%,100%,.1);backdrop-filter:blur(25px) saturate(170%) brightness(108%);-webkit-backdrop-filter:blur(25px) saturate(170%) brightness(108%);border-radius:16px;padding:8px;margin:0 16px;border:1px solid hsla(0,0%,100%,.15);box-shadow:0 6px 20px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.05);transition:all .3s cubic-bezier(.4,0,.2,1)}.dark .navbar-menu-new{background:rgba(0,0,0,.2);backdrop-filter:blur(30px) saturate(150%) brightness(115%);-webkit-backdrop-filter:blur(30px) saturate(150%) brightness(115%);border:1px solid hsla(0,0%,100%,.1);box-shadow:0 6px 20px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.1),0 0 0 1px hsla(0,0%,100%,.03)}.navbar-menu-new::-webkit-scrollbar{display:none}.navbar-menu-new:hover{backdrop-filter:blur(35px) saturate(190%) brightness(112%);-webkit-backdrop-filter:blur(35px) saturate(190%) brightness(112%);box-shadow:0 8px 25px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.3),0 0 0 1px hsla(0,0%,100%,.1);transform:translateY(-1px)}.dark .navbar-menu-new:hover{backdrop-filter:blur(40px) saturate(170%) brightness(120%);-webkit-backdrop-filter:blur(40px) saturate(170%) brightness(120%);box-shadow:0 8px 25px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.15),0 0 0 1px hsla(0,0%,100%,.05)}.nav-item{display:flex;align-items:center}.nav-item>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.375rem*var(--tw-space-x-reverse));margin-left:calc(.375rem*(1 - var(--tw-space-x-reverse)))}.nav-item{border-radius:12px;padding:.625rem .75rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;color:rgba(15,23,42,.85);background:hsla(0,0%,100%,.08);backdrop-filter:blur(15px) saturate(140%);-webkit-backdrop-filter:blur(15px) saturate(140%);border:1px solid hsla(0,0%,100%,.1);box-shadow:0 4px 12px rgba(0,0,0,.05),inset 0 1px 0 hsla(0,0%,100%,.15);position:relative;overflow:hidden;animation:nav-item-entrance .6s ease-out}.nav-item:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);transition:left .5s}.nav-item:hover:before{left:100%}.nav-item:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:conic-gradient(from 0deg at 50% 50%,transparent 0deg,hsla(0,0%,100%,.1) 30deg,transparent 60deg);opacity:0;transition:opacity .3s ease;pointer-events:none;animation:rotate 3s linear infinite}.nav-item:hover:after{opacity:1}.dark .nav-item{color:hsla(0,0%,100%,.85);background:rgba(0,0,0,.15);backdrop-filter:blur(20px) saturate(130%);-webkit-backdrop-filter:blur(20px) saturate(130%);border:1px solid hsla(0,0%,100%,.08);box-shadow:0 4px 12px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.08)}.nav-item:hover{color:#0f172a;background:hsla(0,0%,100%,.2);backdrop-filter:blur(25px) saturate(160%) brightness(110%);-webkit-backdrop-filter:blur(25px) saturate(160%) brightness(110%);border:1px solid hsla(0,0%,100%,.25);box-shadow:0 8px 20px rgba(0,0,0,.12),inset 0 1px 0 hsla(0,0%,100%,.3),0 0 0 1px hsla(0,0%,100%,.1);transform:translateY(-2px) scale(1.02)}.dark .nav-item:hover{color:#fff;background:rgba(0,0,0,.25);backdrop-filter:blur(30px) saturate(150%) brightness(120%);-webkit-backdrop-filter:blur(30px) saturate(150%) brightness(120%);border:1px solid hsla(0,0%,100%,.15);box-shadow:0 8px 20px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.15),0 0 0 1px hsla(0,0%,100%,.05)}.nav-item.active{color:#0f172a;background:hsla(0,0%,100%,.35);backdrop-filter:blur(35px) saturate(180%) brightness(115%);-webkit-backdrop-filter:blur(35px) saturate(180%) brightness(115%);border:1px solid hsla(0,0%,100%,.4);box-shadow:0 12px 24px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.5),0 0 0 1px rgba(59,130,246,.3);transform:translateY(-1px);animation:nav-item-active-glow 2s ease-in-out infinite alternate}.dark .nav-item.active{color:#fff;background:rgba(0,0,0,.4);backdrop-filter:blur(40px) saturate(160%) brightness(125%);-webkit-backdrop-filter:blur(40px) saturate(160%) brightness(125%);border:1px solid hsla(0,0%,100%,.2);box-shadow:0 12px 24px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px rgba(59,130,246,.2)}@keyframes nav-item-entrance{0%{opacity:0;transform:translateY(10px) scale(.95);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}to{opacity:1;transform:translateY(0) scale(1);-webkit-backdrop-filter:blur(15px) saturate(140%);backdrop-filter:blur(15px) saturate(140%)}}@keyframes nav-item-active-glow{0%{box-shadow:0 12px 24px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.5),0 0 0 1px rgba(59,130,246,.3)}to{box-shadow:0 16px 32px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.6),0 0 0 2px rgba(59,130,246,.5)}}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.navbar:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,hsla(0,0%,100%,.1) 1px,transparent 0),radial-gradient(circle at 80% 50%,hsla(0,0%,100%,.1) 1px,transparent 0),radial-gradient(circle at 40% 20%,hsla(0,0%,100%,.05) 1px,transparent 0),radial-gradient(circle at 60% 80%,hsla(0,0%,100%,.05) 1px,transparent 0);opacity:0;animation:glassmorphism-particles 8s ease-in-out infinite;pointer-events:none}.dark .navbar:before{background:radial-gradient(circle at 20% 50%,hsla(0,0%,100%,.05) 1px,transparent 0),radial-gradient(circle at 80% 50%,hsla(0,0%,100%,.05) 1px,transparent 0),radial-gradient(circle at 40% 20%,hsla(0,0%,100%,.03) 1px,transparent 0),radial-gradient(circle at 60% 80%,hsla(0,0%,100%,.03) 1px,transparent 0)}@keyframes glassmorphism-particles{0%,to{opacity:0;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.dark-mode-toggle-new{position:relative;display:flex;cursor:pointer;align-items:center;justify-content:center;border-radius:9999px;padding:.5rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:rgba(241,245,249,.8);border:1px solid hsla(0,0%,100%,.7);box-shadow:0 2px 8px rgba(0,0,0,.05),0 1px 2px rgba(0,0,0,.04);color:#334155;z-index:100}.dark-mode-toggle-new:hover{--tw-translate-y:-0.125rem;background:rgba(241,245,249,.9);box-shadow:0 8px 16px rgba(0,0,0,.08),0 2px 4px rgba(0,0,0,.06)}.dark-mode-toggle-new:active,.dark-mode-toggle-new:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark-mode-toggle-new:active{--tw-scale-x:.95;--tw-scale-y:.95;transition:transform .1s}.dark .dark-mode-toggle-new{background:rgba(30,41,59,.8);border:1px solid hsla(0,0%,100%,.1);box-shadow:0 2px 8px rgba(0,0,0,.2),0 1px 2px rgba(0,0,0,.1);color:#e2e8f0}.dark .dark-mode-toggle-new:hover{background:rgba(30,41,59,.9);box-shadow:0 8px 16px rgba(0,0,0,.2),0 2px 4px rgba(0,0,0,.15)}.dark-mode-toggle-new .moon-icon,.dark-mode-toggle-new .sun-icon{position:absolute;top:50%;left:50%;--tw-translate-x:-50%;--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.dark-mode-toggle-new .moon-icon:not(.hidden),.dark-mode-toggle-new .sun-icon:not(.hidden){animation:spin-in .5s cubic-bezier(.25,1,.5,1) forwards}@keyframes spin-in{0%{opacity:0;transform:translateY(10px) scale(.7) rotate(20deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}.dark .sun-icon{display:none}.dark .moon-icon,.sun-icon{display:block}.moon-icon{display:none}.user-menu-button-new{display:flex;align-items:center}.user-menu-button-new>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.375rem*var(--tw-space-x-reverse));margin-left:calc(.375rem*(1 - var(--tw-space-x-reverse)))}.user-menu-button-new{border-radius:.5rem;padding:.25rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:rgba(241,245,249,.6);border:1px solid hsla(0,0%,100%,.6);box-shadow:0 2px 8px rgba(0,0,0,.04),0 1px 2px rgba(0,0,0,.02)}.user-menu-button-new:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));background:rgba(241,245,249,.8);box-shadow:0 8px 16px rgba(0,0,0,.06),0 2px 4px rgba(0,0,0,.04)}.dark .user-menu-button-new{background:rgba(30,41,59,.6);border:1px solid hsla(0,0%,100%,.08);box-shadow:0 2px 8px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.1)}.dark .user-menu-button-new:hover{background:rgba(30,41,59,.8);box-shadow:0 8px 16px rgba(0,0,0,.15),0 2px 4px rgba(0,0,0,.1)}.user-avatar-new{display:flex;height:1.75rem;width:1.75rem;align-items:center;justify-content:center;border-radius:9999px;font-size:.75rem;line-height:1rem;font-weight:600;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:linear-gradient(135deg,#000,#333);box-shadow:0 2px 4px rgba(0,0,0,.2),0 1px 2px rgba(0,0,0,.1)}.dark .user-avatar-new{background:linear-gradient(135deg,#f8fafc,#e2e8f0);color:#0f172a;box-shadow:0 2px 4px rgba(0,0,0,.3),0 1px 2px rgba(0,0,0,.2)}.login-button-new{display:flex;align-items:center;border-radius:.5rem;padding:.375rem .75rem;font-size:.75rem;line-height:1rem;font-weight:500;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:#000;color:#fff;border:1px solid hsla(0,0%,100%,.1);box-shadow:0 2px 8px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.08)}.login-button-new:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));background:#333;box-shadow:0 8px 16px rgba(0,0,0,.15),0 3px 4px rgba(0,0,0,.1)}.dark .login-button-new{background:#fff;color:#000;border:1px solid rgba(0,0,0,.1);box-shadow:0 2px 8px rgba(0,0,0,.2),0 1px 2px rgba(0,0,0,.15)}.dark .login-button-new:hover{background:#f1f5f9;box-shadow:0 8px 16px rgba(0,0,0,.25),0 3px 4px rgba(0,0,0,.2)}.mobile-menu-new{z-index:40;width:100%;overflow:hidden;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:hsla(0,0%,100%,.8);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 4px 20px rgba(0,0,0,.06);max-height:0;opacity:0}.mobile-menu-new,.mobile-menu-new.open{border-bottom:1px solid rgba(241,245,249,.8)}.mobile-menu-new.open{max-height:400px;opacity:1}.dark .mobile-menu-new{background:rgba(15,23,42,.8);box-shadow:0 4px 20px rgba(0,0,0,.2);border-bottom:1px solid rgba(30,41,59,.8)}.mobile-nav-item{display:flex;align-items:center}.mobile-nav-item>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.625rem*var(--tw-space-x-reverse));margin-left:calc(.625rem*(1 - var(--tw-space-x-reverse)))}.mobile-nav-item{border-radius:.5rem;padding:.625rem .75rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.mobile-nav-item:is(.dark *){--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.mobile-nav-item:hover{background:rgba(241,245,249,.8)}.dark .mobile-nav-item:hover{background:rgba(30,41,59,.6)}.mobile-nav-item.active{background:rgba(241,245,249,.9);color:#000;font-weight:500}.dark .mobile-nav-item.active{background:rgba(30,41,59,.8);color:#fff}.mb-stat-card{background:linear-gradient(135deg,rgba(240,249,255,.6),rgba(230,242,255,.6));color:#0f172a;position:relative;overflow:hidden;border:none;border-radius:var(--card-radius);backdrop-filter:blur(20px) saturate(180%) brightness(110%);-webkit-backdrop-filter:blur(20px) saturate(180%) brightness(110%);box-shadow:0 25px 50px rgba(0,0,0,.15),0 0 0 1px hsla(0,0%,100%,.1);padding:1.5rem;margin:1rem;transition:transform .3s ease,box-shadow .3s ease}.dark .mb-stat-card{background:linear-gradient(135deg,rgba(0,0,0,.7),hsla(0,0%,4%,.7));color:var(--text-primary,#f8fafc);box-shadow:0 25px 50px rgba(0,0,0,.3),0 0 0 1px hsla(0,0%,100%,.05)}.job-card,.stats-card{border-radius:12px;border-width:1px;border-color:rgba(229,231,235,.7);background-color:hsla(0,0%,100%,.6);--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);--tw-backdrop-blur:blur(40px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.job-card:is(.dark *),.stats-card:is(.dark *){border-color:rgba(51,65,85,.2);background-color:rgba(0,0,0,.8)}.job-card,.stats-card{backdrop-filter:blur(24px) saturate(200%) brightness(120%);-webkit-backdrop-filter:blur(24px) saturate(200%) brightness(120%);box-shadow:0 25px 50px rgba(0,0,0,.2),0 0 0 1px hsla(0,0%,100%,.1);border-radius:var(--card-radius)}footer{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:hsla(0,0%,100%,.1);backdrop-filter:blur(30px) saturate(180%) brightness(120%);-webkit-backdrop-filter:blur(30px) saturate(180%) brightness(120%);border-top:1px solid hsla(0,0%,100%,.2);box-shadow:0 -8px 32px rgba(0,0,0,.1),0 -2px 8px rgba(0,0,0,.05),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.05)}.dark footer{background:rgba(0,0,0,.3);backdrop-filter:blur(30px) saturate(160%) brightness(110%);-webkit-backdrop-filter:blur(30px) saturate(160%) brightness(110%);border-top:1px solid hsla(0,0%,100%,.1);box-shadow:0 -8px 32px rgba(0,0,0,.3),0 -2px 8px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.1),0 0 0 1px hsla(0,0%,100%,.03)}.dropdown-arrow{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.mercedes-star-bg{position:relative}.mercedes-star-bg:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' fill='currentColor' opacity='.05'%3E%3Cpath d='M58.6 4.5C53 1.6 46.7 0 40 0S27 1.6 21.4 4.5C8.7 11.2 0 24.6 0 40s8.7 28.8 21.5 35.5C27 78.3 33.3 80 40 80s12.9-1.7 18.5-4.6C71.3 68.8 80 55.4 80 40S71.3 11.2 58.6 4.5M4 40c0-13.1 7-24.5 17.5-30.9C26.6 6 32.5 4.2 39 4l-4.5 32.7-13 10.1L8.3 57.1C5.6 52 4 46.2 4 40m54.6 30.8C53.1 74.1 46.8 76 40 76s-13.2-1.9-18.6-5.2c-4.9-2.9-8.9-6.9-11.9-11.7l11.9-4.9L40 46.6l18.6 7.5 12 4.9c-3 4.9-7.2 8.9-12 11.8m0-24-12.9-10L41.1 4c6.3.2 12.3 2 17.4 5.1C69 15.4 76 26.9 76 40c0 6.2-1.5 12-4.3 17.1z'/%3E%3C/svg%3E");background-position:50%;background-repeat:repeat;background-size:40px 40px;z-index:-1;opacity:.05}.dark .mercedes-star-bg:after{opacity:.02;filter:invert(1) brightness(.4)}.glass-effect{backdrop-filter:blur(20px) saturate(180%) brightness(110%);-webkit-backdrop-filter:blur(20px) saturate(180%) brightness(110%);background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);box-shadow:0 8px 32px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.3)}.dark .glass-effect{background:rgba(0,0,0,.3);border:1px solid hsla(0,0%,100%,.1);box-shadow:0 8px 32px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.15)}.glass-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.glass-hover:hover{transform:translateY(-2px);backdrop-filter:blur(25px) saturate(200%) brightness(120%);-webkit-backdrop-filter:blur(25px) saturate(200%) brightness(120%);box-shadow:0 20px 40px rgba(0,0,0,.15),0 8px 16px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.4)}.dark .glass-hover:hover{box-shadow:0 20px 40px rgba(0,0,0,.4),0 8px 16px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.2)}.printer-card-new{position:relative;overflow:hidden;border-radius:12px;border-width:1px;border-color:rgba(229,231,235,.7);background-image:linear-gradient(to bottom right,var(--tw-gradient-stops));--tw-gradient-from:hsla(0,0%,100%,.9) var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:hsla(0,0%,100%,.7) var(--tw-gradient-to-position);padding:1.25rem;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);--tw-backdrop-blur:blur(40px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.printer-card-new:hover{--tw-translate-y:-0.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.printer-card-new:is(.dark *){border-color:rgba(51,65,85,.3);--tw-gradient-from:rgba(30,41,59,.9) var(--tw-gradient-from-position);--tw-gradient-to:rgba(30,41,59,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:rgba(15,23,42,.7) var(--tw-gradient-to-position)}.printer-card-new{box-shadow:0 20px 40px rgba(0,0,0,.08),0 10px 20px rgba(0,0,0,.06),0 0 0 1px hsla(0,0%,100%,.1);border-radius:var(--card-radius,1rem)}.dark .printer-card-new{box-shadow:0 20px 40px rgba(0,0,0,.4),0 10px 20px rgba(0,0,0,.3),0 0 0 1px hsla(0,0%,100%,.05)}.printer-card-new.online{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1));background-image:linear-gradient(to bottom right,var(--tw-gradient-stops));--tw-gradient-from:rgba(240,253,244,.9) var(--tw-gradient-from-position);--tw-gradient-to:rgba(240,253,244,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:rgba(236,253,245,.8) var(--tw-gradient-to-position)}.printer-card-new.online:is(.dark *){border-color:rgba(21,128,61,.5);--tw-gradient-from:rgba(20,83,45,.3) var(--tw-gradient-from-position);--tw-gradient-to:rgba(20,83,45,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:rgba(6,78,59,.2) var(--tw-gradient-to-position)}.printer-card-new.online{box-shadow:0 20px 40px rgba(0,122,85,.08),0 10px 20px rgba(0,122,85,.06),0 0 0 1px rgba(209,250,229,.4)}.dark .printer-card-new.online{box-shadow:0 20px 40px rgba(0,0,0,.3),0 10px 20px rgba(0,0,0,.2),0 0 0 1px rgba(16,185,129,.2)}.status-badge-new{display:inline-flex;align-items:center}.status-badge-new>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.status-badge-new{border-radius:9999px;padding:.25rem .625rem;font-size:.75rem;line-height:1rem;font-weight:500;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);background:hsla(0,0%,100%,.9);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 2px 5px rgba(0,0,0,.05)}.dark .status-badge-new{background:rgba(30,41,59,.7);box-shadow:0 2px 5px rgba(0,0,0,.2)}.status-badge-new.online{background-color:rgba(220,252,231,.9);--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.status-badge-new.online:is(.dark *){background-color:rgba(20,83,45,.6);--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.status-badge-new.offline{background-color:hsla(0,93%,94%,.9);--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.status-badge-new.offline:is(.dark *){background-color:rgba(127,29,29,.6);--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.filter-bar-new{border-radius:.5rem;border-width:1px;border-color:rgba(229,231,235,.6);background-color:hsla(0,0%,100%,.8);padding:.375rem;--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);--tw-backdrop-blur:blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.filter-bar-new:is(.dark *){border-color:rgba(51,65,85,.3);background-color:rgba(30,41,59,.8)}.filter-bar-new{box-shadow:0 10px 25px rgba(0,0,0,.05),0 5px 10px rgba(0,0,0,.03),0 0 0 1px hsla(0,0%,100%,.2)}.dark .filter-bar-new{box-shadow:0 10px 25px rgba(0,0,0,.2),0 5px 10px rgba(0,0,0,.15),0 0 0 1px hsla(0,0%,100%,.05)}.filter-btn-new{border-radius:.375rem;padding:.5rem .875rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.filter-btn-new.active{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.filter-btn-new.active:is(.dark *){--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.filter-btn-new.active{box-shadow:0 4px 10px rgba(0,0,0,.1)}.dark .filter-btn-new.active{box-shadow:0 4px 10px rgba(0,0,0,.3)}.action-btn-new{display:flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.5rem;padding:.625rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.action-btn-new:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.action-btn-new{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.action-btn-new.primary{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.action-btn-new.primary:hover{--tw-bg-opacity:1;background-color:rgb(67 56 202/var(--tw-bg-opacity,1))}.action-btn-new.primary:is(.dark *){--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.action-btn-new.primary:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.action-btn-new.primary{box-shadow:0 5px 15px rgba(79,70,229,.2)}.dark .action-btn-new.primary{box-shadow:0 5px 15px rgba(79,70,229,.3)}.action-btn-new.success{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.action-btn-new.success:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.action-btn-new.success:is(.dark *){--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.action-btn-new.success:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.action-btn-new.success{box-shadow:0 5px 15px rgba(16,185,129,.2)}.dark .action-btn-new.success{box-shadow:0 5px 15px rgba(16,185,129,.3)}.action-btn-new.danger{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.action-btn-new.danger:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.action-btn-new.danger:is(.dark *){--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.action-btn-new.danger:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.action-btn-new.danger{box-shadow:0 5px 15px rgba(239,68,68,.2)}.dark .action-btn-new.danger{box-shadow:0 5px 15px rgba(239,68,68,.3)}.printer-info-row{margin-bottom:.375rem;display:flex;align-items:center;gap:.5rem;font-size:.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.printer-info-row:is(.dark *){--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}@media (min-width:640px){.printer-info-row{font-size:.875rem;line-height:1.25rem}}.printer-info-icon{height:.875rem;width:.875rem;flex-shrink:0;--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.printer-info-icon:is(.dark *){--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}@media (min-width:640px){.printer-info-icon{height:1rem;width:1rem}}.online-indicator{position:absolute;top:.625rem;right:.625rem;height:.75rem;width:.75rem;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1));--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:0 0 0 rgba(16,185,129,.6);animation:pulse-ring 2s cubic-bezier(.455,.03,.515,.955) infinite}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 rgba(16,185,129,.6)}70%{box-shadow:0 0 0 6px rgba(16,185,129,0)}to{box-shadow:0 0 0 0 rgba(16,185,129,0)}}.status-overview-new{display:flex;flex-wrap:wrap;gap:.75rem;border-radius:.5rem;border-width:1px;border-color:rgba(229,231,235,.6);background-color:hsla(0,0%,100%,.6);padding:.75rem;font-size:.75rem;line-height:1rem;--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);--tw-backdrop-blur:blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.status-overview-new:is(.dark *){border-color:rgba(51,65,85,.3);background-color:rgba(30,41,59,.6)}@media (min-width:640px){.status-overview-new{font-size:.875rem;line-height:1.25rem}}.status-overview-new{box-shadow:0 10px 25px rgba(0,0,0,.04),0 5px 10px rgba(0,0,0,.02),0 0 0 1px hsla(0,0%,100%,.1)}.dark .status-overview-new{box-shadow:0 10px 25px rgba(0,0,0,.15),0 5px 10px rgba(0,0,0,.1),0 0 0 1px hsla(0,0%,100%,.03)}.status-dot{height:.625rem;width:.625rem;border-radius:9999px}.status-dot.online{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1));animation:pulse-dot 2s cubic-bezier(.455,.03,.515,.955) infinite}.status-dot.offline{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}@keyframes pulse-dot{0%{transform:scale(.95);opacity:1}50%{transform:scale(1.1);opacity:.8}to{transform:scale(.95);opacity:1}}.modal-new{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background-color:rgba(0,0,0,.4);padding:1rem;--tw-backdrop-blur:blur(4px)}.modal-content-new,.modal-new{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.modal-content-new{width:100%;max-width:28rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:16px;border-width:1px;border-color:rgba(229,231,235,.6);background-color:hsla(0,0%,100%,.9);padding:1.5rem;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);--tw-backdrop-blur:blur(40px);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.modal-content-new:is(.dark *){border-color:rgba(51,65,85,.3);background-color:rgba(30,41,59,.9)}.modal-content-new{box-shadow:0 25px 50px rgba(0,0,0,.15),0 15px 30px rgba(0,0,0,.1),0 20px 25px -5px rgba(0,0,0,.5),0 10px 10px -5px rgba(0,0,0,.3)}.user-dropdown-item{display:flex;cursor:pointer;align-items:center;padding:.75rem 1rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.user-dropdown-item:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.user-dropdown-item:is(.dark *){--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.user-dropdown-item:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.user-dropdown-item:first-child{border-top-left-radius:12px;border-top-right-radius:12px}.user-dropdown-item:last-child{border-bottom-right-radius:12px;border-bottom-left-radius:12px}.user-dropdown-item:hover{background:rgba(248,250,252,.8);transform:translateX(2px)}.dark .user-dropdown-item:hover{background:rgba(30,41,59,.8)}.user-dropdown-icon{margin-right:.75rem;height:1rem;width:1rem;--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.user-dropdown-icon:is(.dark *){--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.user-dropdown-item:hover .user-dropdown-icon{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.user-dropdown-item:hover .user-dropdown-icon:is(.dark *){--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.user-dropdown-divider{margin-top:.25rem;margin-bottom:.25rem;border-top-width:1px;--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.user-dropdown-divider:is(.dark *){--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.user-info-section{border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1));padding:.75rem 1rem}.user-info-section:is(.dark *){--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.user-info-section{background:rgba(248,250,252,.5)}.dark .user-info-section{background:rgba(30,41,59,.5)}.user-info-name{font-size:.875rem;line-height:1.25rem;font-weight:600;--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.user-info-name:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.user-info-role{margin-top:.25rem;font-size:.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.user-info-role:is(.dark *){--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:left-\[2px\]:after{content:var(--tw-content);left:2px}.after\:top-\[2px\]:after{content:var(--tw-content);top:2px}.after\:h-5:after{content:var(--tw-content);height:1.25rem}.after\:w-5:after{content:var(--tw-content);width:1.25rem}.after\:rounded-full:after{content:var(--tw-content);border-radius:9999px}.after\:border:after{content:var(--tw-content);border-width:1px}.after\:border-gray-300:after{content:var(--tw-content);--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.after\:bg-white:after{content:var(--tw-content);--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.after\:transition-all:after{content:var(--tw-content);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.hover\:-translate-y-0\.5:hover{--tw-translate-y:-0.125rem}.hover\:-translate-y-0\.5:hover,.hover\:-translate-y-1:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:-translate-y-1:hover{--tw-translate-y:-0.25rem}.hover\:-translate-y-2:hover{--tw-translate-y:-0.5rem}.hover\:-translate-y-2:hover,.hover\:scale-105:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:scale-110:hover,.hover\:transform:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-blue-600:hover{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.hover\:border-emerald-600:hover{--tw-border-opacity:1;border-color:rgb(5 150 105/var(--tw-border-opacity,1))}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.hover\:border-mercedes-blue:hover{--tw-border-opacity:1;border-color:rgb(0 115 206/var(--tw-border-opacity,1))}.hover\:bg-amber-100:hover{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.hover\:bg-black\/5:hover{background-color:rgba(0,0,0,.05)}.hover\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\:bg-emerald-700:hover{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity,1))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-gray-300:hover{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.hover\:bg-gray-400:hover{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.hover\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.hover\:bg-indigo-600:hover{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.hover\:bg-mercedes-blue:hover{--tw-bg-opacity:1;background-color:rgb(0 115 206/var(--tw-bg-opacity,1))}.hover\:bg-mercedes-silver:hover{--tw-bg-opacity:1;background-color:rgb(170 169 173/var(--tw-bg-opacity,1))}.hover\:bg-orange-600:hover{--tw-bg-opacity:1;background-color:rgb(234 88 12/var(--tw-bg-opacity,1))}.hover\:bg-orange-700:hover{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.hover\:bg-purple-100:hover{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.hover\:bg-purple-600:hover{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.hover\:bg-purple-700:hover{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.hover\:bg-red-100:hover{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.hover\:bg-red-500\/20:hover{background-color:rgba(239,68,68,.2)}.hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.hover\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.hover\:bg-slate-100\/50:hover{background-color:rgba(241,245,249,.5)}.hover\:bg-slate-200:hover{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.hover\:bg-slate-300:hover{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity,1))}.hover\:bg-slate-400:hover{--tw-bg-opacity:1;background-color:rgb(148 163 184/var(--tw-bg-opacity,1))}.hover\:bg-slate-50:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.hover\:bg-slate-600:hover{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.hover\:bg-slate-700:hover{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.hover\:bg-teal-600:hover{--tw-bg-opacity:1;background-color:rgb(13 148 136/var(--tw-bg-opacity,1))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.hover\:bg-white\/10:hover{background-color:hsla(0,0%,100%,.1)}.hover\:bg-white\/20:hover{background-color:hsla(0,0%,100%,.2)}.hover\:bg-white\/25:hover{background-color:hsla(0,0%,100%,.25)}.hover\:bg-white\/50:hover{background-color:hsla(0,0%,100%,.5)}.hover\:bg-yellow-100:hover{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.hover\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.hover\:bg-yellow-700:hover{--tw-bg-opacity:1;background-color:rgb(161 98 7/var(--tw-bg-opacity,1))}.hover\:from-blue-600:hover{--tw-gradient-from:#2563eb var(--tw-gradient-from-position);--tw-gradient-to:rgba(37,99,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-green-600:hover{--tw-gradient-from:#16a34a var(--tw-gradient-from-position);--tw-gradient-to:rgba(22,163,74,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-orange-600:hover{--tw-gradient-from:#ea580c var(--tw-gradient-from-position);--tw-gradient-to:rgba(234,88,12,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-slate-600:hover{--tw-gradient-from:#475569 var(--tw-gradient-from-position);--tw-gradient-to:rgba(71,85,105,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:to-blue-700:hover{--tw-gradient-to:#1d4ed8 var(--tw-gradient-to-position)}.hover\:to-green-700:hover{--tw-gradient-to:#15803d var(--tw-gradient-to-position)}.hover\:to-red-600:hover{--tw-gradient-to:#dc2626 var(--tw-gradient-to-position)}.hover\:to-slate-700:hover{--tw-gradient-to:#334155 var(--tw-gradient-to-position)}.hover\:text-blue-400:hover{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.hover\:text-blue-500:hover{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.hover\:text-blue-700:hover{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.hover\:text-blue-800:hover{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.hover\:text-blue-900:hover{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity,1))}.hover\:text-emerald-600:hover{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.hover\:text-gray-200:hover{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.hover\:text-green-900:hover{--tw-text-opacity:1;color:rgb(20 83 45/var(--tw-text-opacity,1))}.hover\:text-mercedes-blue:hover{--tw-text-opacity:1;color:rgb(0 115 206/var(--tw-text-opacity,1))}.hover\:text-orange-900:hover{--tw-text-opacity:1;color:rgb(124 45 18/var(--tw-text-opacity,1))}.hover\:text-purple-900:hover{--tw-text-opacity:1;color:rgb(88 28 135/var(--tw-text-opacity,1))}.hover\:text-red-500:hover{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.hover\:text-red-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.hover\:text-red-900:hover{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.hover\:text-slate-600:hover{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.hover\:text-slate-700:hover{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.hover\:text-slate-800:hover{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.hover\:text-slate-900:hover{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-70:hover{opacity:.7}.hover\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.hover\:shadow-2xl:hover,.hover\:shadow-lg:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.hover\:shadow-md:hover,.hover\:shadow-xl:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.focus\:border-blue-600:focus{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.focus\:border-mercedes-blue:focus{--tw-border-opacity:1;border-color:rgb(0 115 206/var(--tw-border-opacity,1))}.focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.focus\:border-transparent:focus{border-color:transparent}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-1:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.focus\:ring-blue-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(37 99 235/var(--tw-ring-opacity,1))}.focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(74 222 128/var(--tw-ring-opacity,1))}.focus\:ring-green-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(34 197 94/var(--tw-ring-opacity,1))}.focus\:ring-mercedes-blue:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 115 206/var(--tw-ring-opacity,1))}.focus\:ring-red-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(248 113 113/var(--tw-ring-opacity,1))}.focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity,1))}.focus\:ring-yellow-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(234 179 8/var(--tw-ring-opacity,1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.active\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:bg-gray-200:active{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-gray-100:disabled{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.disabled\:opacity-50:disabled{opacity:.5}.group:focus-within .group-focus-within\:text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.group:hover .group-hover\:visible{visibility:visible}.group:hover .group-hover\:-translate-x-1{--tw-translate-x:-0.25rem}.group:hover .group-hover\:-translate-x-1,.group:hover .group-hover\:translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-full{--tw-translate-x:100%}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-mercedes-blue{--tw-text-opacity:1;color:rgb(0 115 206/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.group:hover .group-hover\:opacity-100{opacity:1}.group:disabled .group-disabled\:opacity-0{opacity:0}.group:disabled .group-disabled\:opacity-100{opacity:1}.peer:checked~.peer-checked\:border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.peer:checked~.peer-checked\:border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.peer:checked~.peer-checked\:border-slate-500{--tw-border-opacity:1;border-color:rgb(100 116 139/var(--tw-border-opacity,1))}.peer:checked~.peer-checked\:bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\:bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\:bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\:bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\:after\:translate-x-full:after{content:var(--tw-content);--tw-translate-x:100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.peer:checked~.peer-checked\:after\:border-white:after{content:var(--tw-content);--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.peer:focus~.peer-focus\:outline-none{outline:2px solid transparent;outline-offset:2px}.peer:focus~.peer-focus\:ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.peer:focus~.peer-focus\:ring-blue-300{--tw-ring-opacity:1;--tw-ring-color:rgb(147 197 253/var(--tw-ring-opacity,1))}.dark\:rotate-0:is(.dark *){--tw-rotate:0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:rotate-90:is(.dark *){--tw-rotate:90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:scale-100:is(.dark *){--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:scale-75:is(.dark *){--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:divide-gray-700:is(.dark *)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(55 65 81/var(--tw-divide-opacity,1))}.dark\:divide-slate-700:is(.dark *)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(51 65 85/var(--tw-divide-opacity,1))}.dark\:border-amber-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(146 64 14/var(--tw-border-opacity,1))}.dark\:border-blue-400:is(.dark *){--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.dark\:border-blue-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.dark\:border-blue-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(29 78 216/var(--tw-border-opacity,1))}.dark\:border-blue-700\/30:is(.dark *){border-color:rgba(29,78,216,.3)}.dark\:border-blue-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.dark\:border-blue-800\/50:is(.dark *){border-color:rgba(30,64,175,.5)}.dark\:border-emerald-700\/30:is(.dark *){border-color:rgba(4,120,87,.3)}.dark\:border-gray-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.dark\:border-gray-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.dark\:border-gray-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity,1))}.dark\:border-green-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(21 128 61/var(--tw-border-opacity,1))}.dark\:border-green-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.dark\:border-green-800\/50:is(.dark *){border-color:rgba(22,101,52,.5)}.dark\:border-indigo-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(55 48 163/var(--tw-border-opacity,1))}.dark\:border-indigo-800\/50:is(.dark *){border-color:rgba(55,48,163,.5)}.dark\:border-orange-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(194 65 12/var(--tw-border-opacity,1))}.dark\:border-orange-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.dark\:border-orange-800\/50:is(.dark *){border-color:rgba(154,52,18,.5)}.dark\:border-purple-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}.dark\:border-purple-800\/50:is(.dark *){border-color:rgba(107,33,168,.5)}.dark\:border-red-400:is(.dark *){--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.dark\:border-red-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity,1))}.dark\:border-red-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.dark\:border-red-800\/50:is(.dark *){border-color:rgba(153,27,27,.5)}.dark\:border-slate-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity,1))}.dark\:border-slate-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.dark\:border-slate-700\/30:is(.dark *){border-color:rgba(51,65,85,.3)}.dark\:border-slate-700\/50:is(.dark *){border-color:rgba(51,65,85,.5)}.dark\:border-white\/20:is(.dark *){border-color:hsla(0,0%,100%,.2)}.dark\:border-yellow-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(202 138 4/var(--tw-border-opacity,1))}.dark\:border-yellow-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(161 98 7/var(--tw-border-opacity,1))}.dark\:border-yellow-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(133 77 14/var(--tw-border-opacity,1))}.dark\:border-t-slate-700:is(.dark *){--tw-border-opacity:1;border-top-color:rgb(51 65 85/var(--tw-border-opacity,1))}.dark\:bg-amber-600:is(.dark *){--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.dark\:bg-amber-900\/20:is(.dark *){background-color:rgba(120,53,15,.2)}.dark\:bg-black:is(.dark *){--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.dark\:bg-black\/50:is(.dark *){background-color:rgba(0,0,0,.5)}.dark\:bg-black\/80:is(.dark *){background-color:rgba(0,0,0,.8)}.dark\:bg-blue-300:is(.dark *){--tw-bg-opacity:1;background-color:rgb(147 197 253/var(--tw-bg-opacity,1))}.dark\:bg-blue-500:is(.dark *){--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.dark\:bg-blue-600:is(.dark *){--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.dark\:bg-blue-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity,1))}.dark\:bg-blue-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.dark\:bg-blue-900\/10:is(.dark *){background-color:rgba(30,58,138,.1)}.dark\:bg-blue-900\/20:is(.dark *){background-color:rgba(30,58,138,.2)}.dark\:bg-blue-900\/30:is(.dark *){background-color:rgba(30,58,138,.3)}.dark\:bg-blue-900\/50:is(.dark *){background-color:rgba(30,58,138,.5)}.dark\:bg-cyan-900\/50:is(.dark *){background-color:rgba(22,78,99,.5)}.dark\:bg-emerald-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(6 78 59/var(--tw-bg-opacity,1))}.dark\:bg-emerald-900\/20:is(.dark *){background-color:rgba(6,78,59,.2)}.dark\:bg-emerald-900\/50:is(.dark *){background-color:rgba(6,78,59,.5)}.dark\:bg-gray-300:is(.dark *){--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.dark\:bg-gray-600:is(.dark *){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\:bg-gray-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.dark\:bg-gray-900\/20:is(.dark *){background-color:rgba(17,24,39,.2)}.dark\:bg-gray-900\/30:is(.dark *){background-color:rgba(17,24,39,.3)}.dark\:bg-green-300:is(.dark *){--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity,1))}.dark\:bg-green-600:is(.dark *){--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.dark\:bg-green-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.dark\:bg-green-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(22 101 52/var(--tw-bg-opacity,1))}.dark\:bg-green-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.dark\:bg-green-900\/10:is(.dark *){background-color:rgba(20,83,45,.1)}.dark\:bg-green-900\/20:is(.dark *){background-color:rgba(20,83,45,.2)}.dark\:bg-green-900\/30:is(.dark *){background-color:rgba(20,83,45,.3)}.dark\:bg-green-900\/50:is(.dark *){background-color:rgba(20,83,45,.5)}.dark\:bg-indigo-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(67 56 202/var(--tw-bg-opacity,1))}.dark\:bg-indigo-900\/10:is(.dark *){background-color:rgba(49,46,129,.1)}.dark\:bg-indigo-900\/20:is(.dark *){background-color:rgba(49,46,129,.2)}.dark\:bg-indigo-900\/50:is(.dark *){background-color:rgba(49,46,129,.5)}.dark\:bg-orange-300:is(.dark *){--tw-bg-opacity:1;background-color:rgb(253 186 116/var(--tw-bg-opacity,1))}.dark\:bg-orange-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}.dark\:bg-orange-900\/10:is(.dark *){background-color:rgba(124,45,18,.1)}.dark\:bg-orange-900\/20:is(.dark *){background-color:rgba(124,45,18,.2)}.dark\:bg-orange-900\/30:is(.dark *){background-color:rgba(124,45,18,.3)}.dark\:bg-orange-900\/50:is(.dark *){background-color:rgba(124,45,18,.5)}.dark\:bg-purple-600:is(.dark *){--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.dark\:bg-purple-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.dark\:bg-purple-900\/10:is(.dark *){background-color:rgba(88,28,135,.1)}.dark\:bg-purple-900\/20:is(.dark *){background-color:rgba(88,28,135,.2)}.dark\:bg-purple-900\/30:is(.dark *){background-color:rgba(88,28,135,.3)}.dark\:bg-purple-900\/50:is(.dark *){background-color:rgba(88,28,135,.5)}.dark\:bg-red-300:is(.dark *){--tw-bg-opacity:1;background-color:rgb(252 165 165/var(--tw-bg-opacity,1))}.dark\:bg-red-600:is(.dark *){--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.dark\:bg-red-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.dark\:bg-red-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(153 27 27/var(--tw-bg-opacity,1))}.dark\:bg-red-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.dark\:bg-red-900\/10:is(.dark *){background-color:rgba(127,29,29,.1)}.dark\:bg-red-900\/20:is(.dark *){background-color:rgba(127,29,29,.2)}.dark\:bg-red-900\/30:is(.dark *){background-color:rgba(127,29,29,.3)}.dark\:bg-red-900\/40:is(.dark *){background-color:rgba(127,29,29,.4)}.dark\:bg-red-900\/50:is(.dark *){background-color:rgba(127,29,29,.5)}.dark\:bg-slate-500:is(.dark *){--tw-bg-opacity:1;background-color:rgb(100 116 139/var(--tw-bg-opacity,1))}.dark\:bg-slate-600:is(.dark *){--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.dark\:bg-slate-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.dark\:bg-slate-700\/30:is(.dark *){background-color:rgba(51,65,85,.3)}.dark\:bg-slate-700\/40:is(.dark *){background-color:rgba(51,65,85,.4)}.dark\:bg-slate-700\/50:is(.dark *){background-color:rgba(51,65,85,.5)}.dark\:bg-slate-700\/60:is(.dark *){background-color:rgba(51,65,85,.6)}.dark\:bg-slate-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.dark\:bg-slate-800\/30:is(.dark *){background-color:rgba(30,41,59,.3)}.dark\:bg-slate-800\/40:is(.dark *){background-color:rgba(30,41,59,.4)}.dark\:bg-slate-800\/50:is(.dark *){background-color:rgba(30,41,59,.5)}.dark\:bg-slate-800\/60:is(.dark *){background-color:rgba(30,41,59,.6)}.dark\:bg-slate-800\/80:is(.dark *){background-color:rgba(30,41,59,.8)}.dark\:bg-slate-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.dark\:bg-slate-900\/50:is(.dark *){background-color:rgba(15,23,42,.5)}.dark\:bg-slate-900\/60:is(.dark *){background-color:rgba(15,23,42,.6)}.dark\:bg-slate-900\/80:is(.dark *){background-color:rgba(15,23,42,.8)}.dark\:bg-slate-900\/90:is(.dark *){background-color:rgba(15,23,42,.9)}.dark\:bg-teal-900\/50:is(.dark *){background-color:rgba(19,78,74,.5)}.dark\:bg-white\/10:is(.dark *){background-color:hsla(0,0%,100%,.1)}.dark\:bg-yellow-300:is(.dark *){--tw-bg-opacity:1;background-color:rgb(253 224 71/var(--tw-bg-opacity,1))}.dark\:bg-yellow-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(113 63 18/var(--tw-bg-opacity,1))}.dark\:bg-yellow-900\/20:is(.dark *){background-color:rgba(113,63,18,.2)}.dark\:bg-yellow-900\/30:is(.dark *){background-color:rgba(113,63,18,.3)}.dark\:bg-yellow-900\/50:is(.dark *){background-color:rgba(113,63,18,.5)}.dark\:bg-opacity-95:is(.dark *){--tw-bg-opacity:0.95}.dark\:from-blue-400:is(.dark *){--tw-gradient-from:#60a5fa var(--tw-gradient-from-position);--tw-gradient-to:rgba(96,165,250,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-blue-400\/20:is(.dark *){--tw-gradient-from:rgba(96,165,250,.2) var(--tw-gradient-from-position);--tw-gradient-to:rgba(96,165,250,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-blue-400\/5:is(.dark *){--tw-gradient-from:rgba(96,165,250,.05) var(--tw-gradient-from-position);--tw-gradient-to:rgba(96,165,250,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-blue-900\/10:is(.dark *){--tw-gradient-from:rgba(30,58,138,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(30,58,138,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-blue-900\/20:is(.dark *){--tw-gradient-from:rgba(30,58,138,.2) var(--tw-gradient-from-position);--tw-gradient-to:rgba(30,58,138,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-blue-900\/30:is(.dark *){--tw-gradient-from:rgba(30,58,138,.3) var(--tw-gradient-from-position);--tw-gradient-to:rgba(30,58,138,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-emerald-900\/20:is(.dark *){--tw-gradient-from:rgba(6,78,59,.2) var(--tw-gradient-from-position);--tw-gradient-to:rgba(6,78,59,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-gray-900:is(.dark *){--tw-gradient-from:#111827 var(--tw-gradient-from-position);--tw-gradient-to:rgba(17,24,39,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-green-400:is(.dark *){--tw-gradient-from:#4ade80 var(--tw-gradient-from-position);--tw-gradient-to:rgba(74,222,128,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-green-400\/20:is(.dark *){--tw-gradient-from:rgba(74,222,128,.2) var(--tw-gradient-from-position);--tw-gradient-to:rgba(74,222,128,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-green-900\/10:is(.dark *){--tw-gradient-from:rgba(20,83,45,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(20,83,45,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-green-900\/20:is(.dark *){--tw-gradient-from:rgba(20,83,45,.2) var(--tw-gradient-from-position);--tw-gradient-to:rgba(20,83,45,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-green-900\/30:is(.dark *){--tw-gradient-from:rgba(20,83,45,.3) var(--tw-gradient-from-position);--tw-gradient-to:rgba(20,83,45,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-orange-400:is(.dark *){--tw-gradient-from:#fb923c var(--tw-gradient-from-position);--tw-gradient-to:rgba(251,146,60,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-orange-400\/20:is(.dark *){--tw-gradient-from:rgba(251,146,60,.2) var(--tw-gradient-from-position);--tw-gradient-to:rgba(251,146,60,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-orange-900\/10:is(.dark *){--tw-gradient-from:rgba(124,45,18,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(124,45,18,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-purple-900\/20:is(.dark *){--tw-gradient-from:rgba(88,28,135,.2) var(--tw-gradient-from-position);--tw-gradient-to:rgba(88,28,135,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-purple-900\/30:is(.dark *){--tw-gradient-from:rgba(88,28,135,.3) var(--tw-gradient-from-position);--tw-gradient-to:rgba(88,28,135,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-red-400:is(.dark *){--tw-gradient-from:#f87171 var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,91%,71%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-red-400\/20:is(.dark *){--tw-gradient-from:hsla(0,91%,71%,.2) var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,91%,71%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-slate-800:is(.dark *){--tw-gradient-from:#1e293b var(--tw-gradient-from-position);--tw-gradient-to:rgba(30,41,59,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-slate-900:is(.dark *){--tw-gradient-from:#0f172a var(--tw-gradient-from-position);--tw-gradient-to:rgba(15,23,42,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-slate-950:is(.dark *){--tw-gradient-from:#020617 var(--tw-gradient-from-position);--tw-gradient-to:rgba(2,6,23,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-white:is(.dark *){--tw-gradient-from:#fff var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:via-blue-200:is(.dark *){--tw-gradient-to:rgba(191,219,254,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#bfdbfe var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:via-blue-900:is(.dark *){--tw-gradient-to:rgba(30,58,138,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#1e3a8a var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:via-blue-900\/20:is(.dark *){--tw-gradient-to:rgba(30,58,138,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(30,58,138,.2) var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:via-blue-950:is(.dark *){--tw-gradient-to:rgba(23,37,84,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#172554 var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:via-emerald-900\/20:is(.dark *){--tw-gradient-to:rgba(6,78,59,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(6,78,59,.2) var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:via-red-900\/20:is(.dark *){--tw-gradient-to:rgba(127,29,29,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(127,29,29,.2) var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:via-slate-800:is(.dark *){--tw-gradient-to:rgba(30,41,59,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#1e293b var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:to-blue-500:is(.dark *){--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.dark\:to-blue-800\/30:is(.dark *){--tw-gradient-to:rgba(30,64,175,.3) var(--tw-gradient-to-position)}.dark\:to-emerald-400\/20:is(.dark *){--tw-gradient-to:rgba(52,211,153,.2) var(--tw-gradient-to-position)}.dark\:to-emerald-900\/10:is(.dark *){--tw-gradient-to:rgba(6,78,59,.1) var(--tw-gradient-to-position)}.dark\:to-emerald-900\/20:is(.dark *){--tw-gradient-to:rgba(6,78,59,.2) var(--tw-gradient-to-position)}.dark\:to-gray-200:is(.dark *){--tw-gradient-to:#e5e7eb var(--tw-gradient-to-position)}.dark\:to-gray-800:is(.dark *){--tw-gradient-to:#1f2937 var(--tw-gradient-to-position)}.dark\:to-green-500:is(.dark *){--tw-gradient-to:#22c55e var(--tw-gradient-to-position)}.dark\:to-green-800\/30:is(.dark *){--tw-gradient-to:rgba(22,101,52,.3) var(--tw-gradient-to-position)}.dark\:to-green-900\/20:is(.dark *){--tw-gradient-to:rgba(20,83,45,.2) var(--tw-gradient-to-position)}.dark\:to-indigo-400\/20:is(.dark *){--tw-gradient-to:rgba(129,140,248,.2) var(--tw-gradient-to-position)}.dark\:to-indigo-400\/5:is(.dark *){--tw-gradient-to:rgba(129,140,248,.05) var(--tw-gradient-to-position)}.dark\:to-indigo-900:is(.dark *){--tw-gradient-to:#312e81 var(--tw-gradient-to-position)}.dark\:to-indigo-900\/10:is(.dark *){--tw-gradient-to:rgba(49,46,129,.1) var(--tw-gradient-to-position)}.dark\:to-indigo-900\/20:is(.dark *){--tw-gradient-to:rgba(49,46,129,.2) var(--tw-gradient-to-position)}.dark\:to-indigo-950:is(.dark *){--tw-gradient-to:#1e1b4b var(--tw-gradient-to-position)}.dark\:to-orange-500:is(.dark *){--tw-gradient-to:#f97316 var(--tw-gradient-to-position)}.dark\:to-orange-900\/20:is(.dark *){--tw-gradient-to:rgba(124,45,18,.2) var(--tw-gradient-to-position)}.dark\:to-pink-400\/20:is(.dark *){--tw-gradient-to:rgba(244,114,182,.2) var(--tw-gradient-to-position)}.dark\:to-pink-900\/20:is(.dark *){--tw-gradient-to:rgba(131,24,67,.2) var(--tw-gradient-to-position)}.dark\:to-purple-800\/30:is(.dark *){--tw-gradient-to:rgba(107,33,168,.3) var(--tw-gradient-to-position)}.dark\:to-red-400\/20:is(.dark *){--tw-gradient-to:hsla(0,91%,71%,.2) var(--tw-gradient-to-position)}.dark\:to-red-500:is(.dark *){--tw-gradient-to:#ef4444 var(--tw-gradient-to-position)}.dark\:to-red-900\/10:is(.dark *){--tw-gradient-to:rgba(127,29,29,.1) var(--tw-gradient-to-position)}.dark\:to-slate-200:is(.dark *){--tw-gradient-to:#e2e8f0 var(--tw-gradient-to-position)}.dark\:to-slate-300:is(.dark *){--tw-gradient-to:#cbd5e1 var(--tw-gradient-to-position)}.dark\:to-slate-700:is(.dark *){--tw-gradient-to:#334155 var(--tw-gradient-to-position)}.dark\:to-slate-800:is(.dark *){--tw-gradient-to:#1e293b var(--tw-gradient-to-position)}.dark\:to-slate-900:is(.dark *){--tw-gradient-to:#0f172a var(--tw-gradient-to-position)}.dark\:text-amber-200:is(.dark *){--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.dark\:text-amber-300:is(.dark *){--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.dark\:text-amber-400:is(.dark *){--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.dark\:text-blue-100:is(.dark *){--tw-text-opacity:1;color:rgb(219 234 254/var(--tw-text-opacity,1))}.dark\:text-blue-200:is(.dark *){--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity,1))}.dark\:text-blue-300:is(.dark *){--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.dark\:text-blue-400:is(.dark *){--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.dark\:text-blue-500:is(.dark *){--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.dark\:text-cyan-400:is(.dark *){--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity,1))}.dark\:text-emerald-300:is(.dark *){--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.dark\:text-emerald-400:is(.dark *){--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.dark\:text-gray-100:is(.dark *){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.dark\:text-gray-200:is(.dark *){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.dark\:text-gray-500:is(.dark *){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\:text-gray-600:is(.dark *){--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.dark\:text-green-100:is(.dark *){--tw-text-opacity:1;color:rgb(220 252 231/var(--tw-text-opacity,1))}.dark\:text-green-200:is(.dark *){--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.dark\:text-green-300:is(.dark *){--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.dark\:text-green-400:is(.dark *){--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.dark\:text-indigo-200:is(.dark *){--tw-text-opacity:1;color:rgb(199 210 254/var(--tw-text-opacity,1))}.dark\:text-indigo-300:is(.dark *){--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity,1))}.dark\:text-indigo-400:is(.dark *){--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.dark\:text-orange-200:is(.dark *){--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.dark\:text-orange-300:is(.dark *){--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.dark\:text-orange-400:is(.dark *){--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.dark\:text-purple-200:is(.dark *){--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.dark\:text-purple-300:is(.dark *){--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.dark\:text-purple-400:is(.dark *){--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.dark\:text-red-100:is(.dark *){--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.dark\:text-red-200:is(.dark *){--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.dark\:text-red-300:is(.dark *){--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.dark\:text-red-600:is(.dark *){--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.dark\:text-slate-100:is(.dark *){--tw-text-opacity:1;color:rgb(241 245 249/var(--tw-text-opacity,1))}.dark\:text-slate-200:is(.dark *){--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.dark\:text-slate-300:is(.dark *){--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.dark\:text-slate-400:is(.dark *){--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.dark\:text-slate-500:is(.dark *){--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.dark\:text-slate-600:is(.dark *){--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.dark\:text-teal-400:is(.dark *){--tw-text-opacity:1;color:rgb(45 212 191/var(--tw-text-opacity,1))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:text-yellow-200:is(.dark *){--tw-text-opacity:1;color:rgb(254 240 138/var(--tw-text-opacity,1))}.dark\:text-yellow-300:is(.dark *){--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}.dark\:text-yellow-400:is(.dark *){--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.dark\:placeholder-slate-400:is(.dark *)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(148 163 184/var(--tw-placeholder-opacity,1))}.dark\:placeholder-slate-400:is(.dark *)::placeholder{--tw-placeholder-opacity:1;color:rgb(148 163 184/var(--tw-placeholder-opacity,1))}.dark\:opacity-0:is(.dark *){opacity:0}.dark\:opacity-100:is(.dark *){opacity:1}.dark\:opacity-5:is(.dark *){opacity:.05}.dark\:shadow-2xl:is(.dark *){--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.dark\:hover\:border-blue-400:hover:is(.dark *){--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.dark\:hover\:border-emerald-400:hover:is(.dark *){--tw-border-opacity:1;border-color:rgb(52 211 153/var(--tw-border-opacity,1))}.dark\:hover\:bg-amber-900\/30:hover:is(.dark *){background-color:rgba(120,53,15,.3)}.dark\:hover\:bg-black\/10:hover:is(.dark *){background-color:rgba(0,0,0,.1)}.dark\:hover\:bg-blue-500:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.dark\:hover\:bg-blue-600:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.dark\:hover\:bg-blue-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.dark\:hover\:bg-blue-900\/20:hover:is(.dark *){background-color:rgba(30,58,138,.2)}.dark\:hover\:bg-blue-900\/30:hover:is(.dark *){background-color:rgba(30,58,138,.3)}.dark\:hover\:bg-gray-500:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-600:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:hover\:bg-green-500:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.dark\:hover\:bg-green-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.dark\:hover\:bg-green-900\/30:hover:is(.dark *){background-color:rgba(20,83,45,.3)}.dark\:hover\:bg-purple-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.dark\:hover\:bg-purple-900\/30:hover:is(.dark *){background-color:rgba(88,28,135,.3)}.dark\:hover\:bg-red-500:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.dark\:hover\:bg-red-600:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.dark\:hover\:bg-red-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.dark\:hover\:bg-red-900\/30:hover:is(.dark *){background-color:rgba(127,29,29,.3)}.dark\:hover\:bg-slate-500:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(100 116 139/var(--tw-bg-opacity,1))}.dark\:hover\:bg-slate-600:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.dark\:hover\:bg-slate-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.dark\:hover\:bg-slate-700\/50:hover:is(.dark *){background-color:rgba(51,65,85,.5)}.dark\:hover\:bg-slate-800:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.dark\:hover\:bg-slate-800\/50:hover:is(.dark *){background-color:rgba(30,41,59,.5)}.dark\:hover\:bg-white\/15:hover:is(.dark *){background-color:hsla(0,0%,100%,.15)}.dark\:hover\:bg-white\/5:hover:is(.dark *){background-color:hsla(0,0%,100%,.05)}.dark\:hover\:bg-yellow-900\/30:hover:is(.dark *){background-color:rgba(113,63,18,.3)}.dark\:hover\:text-blue-200:hover:is(.dark *){--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity,1))}.dark\:hover\:text-blue-300:hover:is(.dark *){--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.dark\:hover\:text-blue-400:hover:is(.dark *){--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.dark\:hover\:text-emerald-400:hover:is(.dark *){--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.dark\:hover\:text-gray-200:hover:is(.dark *){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.dark\:hover\:text-gray-300:hover:is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\:hover\:text-green-300:hover:is(.dark *){--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.dark\:hover\:text-orange-300:hover:is(.dark *){--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.dark\:hover\:text-purple-300:hover:is(.dark *){--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.dark\:hover\:text-red-200:hover:is(.dark *){--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.dark\:hover\:text-red-300:hover:is(.dark *){--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.dark\:hover\:text-slate-200:hover:is(.dark *){--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.dark\:hover\:text-slate-300:hover:is(.dark *){--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.dark\:hover\:text-white:hover:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:hover\:shadow-slate-900\/50:hover:is(.dark *){--tw-shadow-color:rgba(15,23,42,.5);--tw-shadow:var(--tw-shadow-colored)}.dark\:focus\:ring-blue-400:focus:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(96 165 250/var(--tw-ring-opacity,1))}.dark\:focus\:ring-blue-600:focus:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(37 99 235/var(--tw-ring-opacity,1))}.dark\:disabled\:bg-slate-800:disabled:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.group:hover .dark\:group-hover\:text-slate-300:is(.dark *){--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.group:hover .dark\:group-hover\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.peer:checked~.dark\:peer-checked\:bg-blue-900\/20:is(.dark *){background-color:rgba(30,58,138,.2)}.peer:checked~.dark\:peer-checked\:bg-green-900\/20:is(.dark *){background-color:rgba(20,83,45,.2)}.peer:checked~.dark\:peer-checked\:bg-slate-900\/20:is(.dark *){background-color:rgba(15,23,42,.2)}.peer:focus~.dark\:peer-focus\:ring-blue-800:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(30 64 175/var(--tw-ring-opacity,1))}@media (min-width:640px){.sm\:mx-0{margin-left:0;margin-right:0}.sm\:my-8{margin-top:2rem;margin-bottom:2rem}.sm\:ml-3{margin-left:.75rem}.sm\:ml-4{margin-left:1rem}.sm\:mt-0{margin-top:0}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:h-10{height:2.5rem}.sm\:h-5{height:1.25rem}.sm\:w-10{width:2.5rem}.sm\:w-5{width:1.25rem}.sm\:w-auto{width:auto}.sm\:w-full{width:100%}.sm\:max-w-lg{max-width:32rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:items-start{align-items:flex-start}.sm\:items-center{align-items:center}.sm\:justify-center{justify-content:center}.sm\:justify-between{justify-content:space-between}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.sm\:p-0{padding:0}.sm\:p-6{padding:1.5rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pb-4{padding-bottom:1rem}.sm\:text-left{text-align:left}.sm\:align-middle{vertical-align:middle}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.md\:ml-2{margin-left:.5rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.md\:p-12{padding:3rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-8xl{font-size:6rem;line-height:1}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:1024px){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:ml-0{margin-left:0}.lg\:mt-0{margin-top:0}.lg\:block{display:block}.lg\:inline{display:inline}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-between{justify-content:space-between}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lg\:p-12{padding:3rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:text-right{text-align:right}.lg\:text-6xl{font-size:3.75rem;line-height:1}}@media (min-width:1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}} \ No newline at end of file diff --git a/backend/static/js/admin-unified.js b/backend/static/js/admin-unified.js index 7447e0fbc..26513ac2f 100644 --- a/backend/static/js/admin-unified.js +++ b/backend/static/js/admin-unified.js @@ -258,6 +258,14 @@ class AdminDashboard { this.showPrinterSettings(printerId); } + // Drucker-Konfiguration Button + if (e.target.closest('.configure-printer-btn')) { + e.preventDefault(); + e.stopPropagation(); + const printerId = e.target.closest('button').dataset.printerId; + this.showPrinterConfiguration(printerId); + } + // Smart-Plug Ein/Aus Toggle für Drucker if (e.target.closest('.toggle-printer-power-btn')) { e.preventDefault(); @@ -1374,6 +1382,51 @@ class AdminDashboard { window.location.href = `/admin/printers/${printerId}/settings`; } + /** + * Drucker-Konfigurationsseite laden - Backend-Only-Architektur + * Implementiert die angeforderte function() für Drucker-Konfiguration + */ + showPrinterConfiguration(printerId) { + console.log(`🔧 Drucker-Konfiguration ${printerId} wird geöffnet (Backend-Only)`); + this.showNotification(`Konfiguration für Drucker ${printerId} wird geöffnet...`, 'info'); + + // Validierung der Drucker-ID + if (!printerId || isNaN(printerId)) { + this.showNotification('Ungültige Drucker-ID für Konfiguration', 'error'); + return; + } + + // Backend-Redirect zur erweiterten Konfigurationsseite + window.location.href = `/admin/printers/${printerId}/configure`; + } + + /** + * Alternative Event-Handler-Funktion für data-printer-id Attribute + * Kann direkt an HTML-Elemente gebunden werden + */ + static handlePrinterConfiguration(event) { + const element = event.target.closest('[data-printer-id]'); + if (!element) { + console.error('❌ Kein Element mit data-printer-id gefunden'); + return; + } + + const printerId = element.dataset.printerId; + if (!printerId) { + console.error('❌ Keine Drucker-ID im data-printer-id Attribut'); + return; + } + + // AdminDashboard-Instanz verwenden falls verfügbar + if (window.adminDashboard && typeof window.adminDashboard.showPrinterConfiguration === 'function') { + window.adminDashboard.showPrinterConfiguration(printerId); + } else { + // Fallback: Direkte Navigation + console.log(`🔧 Direkte Navigation zu Drucker-Konfiguration ${printerId}`); + window.location.href = `/admin/printers/${printerId}/configure`; + } + } + // Smart-Plug Ein/Aus Toggle für Drucker async togglePrinterPower(printerId, printerName, button) { console.log(`🔌 Smart-Plug Toggle für Drucker ${printerId} (${printerName})`); @@ -2009,4 +2062,83 @@ document.addEventListener('DOMContentLoaded', function() { }); // Export für globalen Zugriff -window.AdminDashboard = AdminDashboard; \ No newline at end of file +window.AdminDashboard = AdminDashboard; + +// ===== GLOBALE FUNKTIONEN FÜR DIREKTE VERWENDUNG ===== + +/** + * Globale Funktion für Drucker-Konfiguration - Direkter Zugriff ohne AdminDashboard-Instanz + * Entspricht der angeforderten function() { showNotification... } Implementierung + */ +window.showPrinterConfiguration = function() { + const printerId = this.dataset.printerId; + + if (!printerId) { + console.error('❌ Keine Drucker-ID im data-printer-id Attribut gefunden'); + return; + } + + // Notification anzeigen wie angefordert + showNotification(`Konfiguration für Drucker ${printerId} wird geöffnet...`, 'info'); + + // Backend-Redirect zur erweiterten Konfiguration + window.location.href = `/admin/printers/${printerId}/configure`; +}; + +/** + * Globale showNotification Funktion - falls sie nicht bereits existiert + */ +if (typeof window.showNotification !== 'function') { + window.showNotification = function(message, type = 'info') { + // Erstelle temporäre Notification mit Mercedes-Benz Design + const notification = document.createElement('div'); + notification.className = `fixed top-6 right-6 z-50 p-4 rounded-xl shadow-2xl max-w-sm transition-all duration-500 transform translate-x-full opacity-0 backdrop-blur-xl border ${ + type === 'success' ? 'bg-gradient-to-r from-green-500 to-green-600 text-white border-green-400' : + type === 'error' ? 'bg-gradient-to-r from-red-500 to-red-600 text-white border-red-400' : + type === 'warning' ? 'bg-gradient-to-r from-yellow-500 to-yellow-600 text-white border-yellow-400' : + 'bg-gradient-to-r from-blue-500 to-blue-600 text-white border-blue-400' + }`; + + notification.innerHTML = ` +

+
+ ${type === 'success' ? + '' : + type === 'error' ? + '' : + type === 'warning' ? + '' : + '' + } +
+
${message}
+ +
+ `; + + document.body.appendChild(notification); + + // Animation einblenden + setTimeout(() => { + notification.style.transform = 'translateX(0)'; + notification.style.opacity = '1'; + }, 100); + + // Automatisch entfernen nach 5 Sekunden + setTimeout(() => { + if (notification.parentNode) { + notification.style.transform = 'translateX(100%)'; + notification.style.opacity = '0'; + setTimeout(() => { + if (notification.parentNode) { + notification.parentNode.removeChild(notification); + } + }, 500); + } + }, 5000); + }; +} \ No newline at end of file diff --git a/backend/templates/admin.html b/backend/templates/admin.html index 038f35e5e..90ab5d5aa 100644 --- a/backend/templates/admin.html +++ b/backend/templates/admin.html @@ -238,14 +238,6 @@ document.addEventListener('DOMContentLoaded', function() { Benutzer - - - - - Drucker-Steckdosen - - @@ -284,7 +276,7 @@ document.addEventListener('DOMContentLoaded', function() { - 🔑 OTP-Codes + 🔑 Codes - Tapo-Monitoring + Steckdosen diff --git a/backend/templates/admin_printer_configuration.html b/backend/templates/admin_printer_configuration.html new file mode 100644 index 000000000..a2b201058 --- /dev/null +++ b/backend/templates/admin_printer_configuration.html @@ -0,0 +1,223 @@ +{% extends "base.html" %} + +{% block title %}{{ config_data.printer.name }} - Erweiterte Konfiguration - Mercedes-Benz MYP Platform{% endblock %} + +{% block head %} +{{ super() }} + +{% endblock %} + +{% block content %} +
+
+ + +
+
+
+

{{ config_data.printer.name }} - Erweiterte Konfiguration

+

Umfassende Drucker-Konfiguration und Hardware-Integration

+
+ +
+
+ + +
+
+

+ + + + Verbindungsstatus +

+ +
+ +
+
+ Drucker ({{ config_data.printer.ip_address }}) +
+
+ + {% if config_data.connectivity.printer_reachable %}Online{% else %}Offline{% endif %} + +
+
+ {% if config_data.connectivity.response_time %} +

Response: {{ config_data.connectivity.response_time }}ms

+ {% endif %} +
+ + +
+
+ Smart-Plug ({{ config_data.printer.plug_ip or 'Nicht konfiguriert' }}) +
+
+ + {% if config_data.connectivity.plug_reachable %}Online{% else %}Offline{% endif %} + +
+
+ {% if config_data.connectivity.plug_status %} +

Status: {{ config_data.connectivity.plug_status|title }}

+ {% endif %} +
+
+
+
+ + +
+ {% for category_key, category in config_data.config_categories.items() %} +
+
+
+ {% if category.icon == 'cog' %} + + + + + {% elif category.icon == 'wifi' %} + + + + {% elif category.icon == 'cpu' %} + + + + {% elif category.icon == 'zap' %} + + + + {% elif category.icon == 'tool' %} + + + + {% else %} + + + + {% endif %} +
+
+

{{ category.name }}

+

{{ category.description }}

+
+
+ +
+ + {% if category_key == 'basic' %} +
+
+ Name: + {{ config_data.printer.name }} +
+
+ Modell: + {{ config_data.printer.model or 'Nicht gesetzt' }} +
+
+ Standort: + {{ config_data.printer.location or 'Nicht gesetzt' }} +
+
+ {% elif category_key == 'network' %} +
+
+ Drucker-IP: + {{ config_data.printer.ip_address or 'Nicht gesetzt' }} +
+
+ Smart-Plug-IP: + {{ config_data.printer.plug_ip or 'Nicht gesetzt' }} +
+
+ {% elif category_key == 'hardware' %} +
+
+ Smart-Plug Status: + + {% if config_data.connectivity.plug_reachable %}Online{% else %}Offline{% endif %} + +
+ {% if config_data.hardware_status.energy_usage %} +
+ Energieverbrauch: + {{ config_data.hardware_status.energy_usage.power or 'N/A' }}W +
+ {% endif %} +
+ {% endif %} +
+ +
+ +
+
+ {% endfor %} +
+ + +
+
+

+ + + + Schnellaktionen +

+ +
+ {% for action in config_data.available_actions %} + + {% endfor %} +
+
+
+
+
+{% endblock %} \ No newline at end of file diff --git a/backend/templates/admin_tapo_monitoring.html b/backend/templates/admin_tapo_monitoring.html index 73497adf3..2fd4a4652 100644 --- a/backend/templates/admin_tapo_monitoring.html +++ b/backend/templates/admin_tapo_monitoring.html @@ -421,7 +421,7 @@

Es wurden noch keine Drucker mit Tapo-Steckdosen eingerichtet.

- + diff --git a/backend/templates/energy_dashboard.html b/backend/templates/energy_dashboard.html index 1ee93b8c1..c950e6140 100644 --- a/backend/templates/energy_dashboard.html +++ b/backend/templates/energy_dashboard.html @@ -215,78 +215,129 @@ {% else %} - +
-
-
-

Gesamtverbrauch

-

{{ stats.total_power_consumption or '0.0' }} kWh

+
+
+
+ + + +
+

Gesamtverbrauch

+

{{ stats.total_power_consumption or '0.0' }} kWh

+

24h Periode

-
-
-

Aktuelle Leistung

-

{{ stats.current_power or '0.0' }} W

+
+
+
+ + + +
+

Aktuelle Leistung

+

{{ stats.current_power or '0.0' }} W

+

Momentan

-
-
-

Aktive Geräte

-

{{ stats.active_devices or '0' }}

+
+
+
+ + + +
+

Aktive Geräte

+

{{ stats.active_devices or '0' }}

+

Von 6 Druckern

-
-
-

Kosten (€/kWh 0.30)

-

{{ "%.2f"|format((stats.total_power_consumption or 0) * 0.30) }} €

+
+
+
+ + + +
+

Kosten (€/kWh 0.30)

+

{{ "%.2f"|format((stats.total_power_consumption or 0) * 0.30) }} €

+

24h Periode

- +
-
-

Verbrauch der letzten 24 Stunden

-
+
+
+

Verbrauch der letzten 24 Stunden

+
+ + + +
+
+
-
-

Verbrauch nach Gerät

-
+
+
+

Verbrauch nach Gerät

+
+ + + + +
+
+
- -
-

Geräteübersicht

+ +
+
+
+

Geräteübersicht

+
+
+ + + +
+ Live-Updates +
+
+
- - +
+ - - - - - + + + + + - +
GerätStatusAktuelle LeistungTagesverbrauchAktionenGerätStatusAktuelle LeistungTagesverbrauchAktionen
@@ -444,8 +495,14 @@ function updateDeviceTable(devices) { if (devices.length === 0) { tbody.innerHTML = ` - - Keine Geräte gefunden + +
+ + + +

Keine Geräte gefunden

+

Überprüfen Sie die Hardware-Verbindungen

+
`; @@ -454,34 +511,46 @@ function updateDeviceTable(devices) { devices.forEach(device => { const row = document.createElement('tr'); - row.className = ''; - row.style.transition = 'background-color 0.2s ease'; - row.addEventListener('mouseenter', () => row.style.backgroundColor = 'var(--hover-card)'); - row.addEventListener('mouseleave', () => row.style.backgroundColor = 'transparent'); + row.className = 'hover:bg-slate-50 dark:hover:bg-slate-700 transition-colors duration-200'; - const statusClass = device.status === 'online' ? 'status-badge-online' : 'status-badge-offline'; - const statusText = device.status === 'online' ? 'Online' : 'Offline'; + const isOnline = device.status === 'online'; + const statusClass = isOnline + ? 'bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-400' + : 'bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-400'; + const statusText = isOnline ? 'Online' : 'Offline'; + const statusIcon = isOnline + ? '
' + : '
'; row.innerHTML = `
-
${device.name}
-
${device.model || ''}
+
+ + + +
+
+
${device.name}
+
${device.model || 'Unbekanntes Modell'}
+
- ${statusText} + ${statusIcon}${statusText} - - ${device.current_power || '0.0'} W + +
${device.current_power || '0.0'} W
+
Momentan
- - ${device.daily_consumption || '0.0'} kWh + +
${device.daily_consumption || '0.0'} kWh
+
Heute
- + Details anzeigen