@font-face{font-family:Poppins;font-style:normal;font-weight:300;font-display:swap;src:url(../media/7e832ad540183e91-s.a2f18b1a.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:300;font-display:swap;src:url(../media/2094fb60fd9c8287-s.3ed55436.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:300;font-display:swap;src:url(../media/c875c6f5d3e977ac-s.p.80fc2c9e.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(../media/41e95f694c5c4549-s.666bad7d.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6c55a692938ebbbc-s.0a77efb4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a218039a3287bcfd-s.p.4a23d71b.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(../media/bdc7e24a509eb931-s.43b0b13e.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0da9c7f357bd9d4d-s.b2288445.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(../media/8e6fa89aa22d24ec-s.p.3aec397d.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0a7740363b4d4863-s.95e4158a.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5f9d24ebef5d5292-s.bd593fbe.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e2334d715941921e-s.p.d82a9aff.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b53057dbf91a7acf-s.c55744ae.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(../media/798ea22d9983e047-s.b460e02c.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(../media/47fe1b7cd6e6ed85-s.p.855a563b.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:800;font-display:swap;src:url(../media/99ce71e74c11bc20-s.1db2973a.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:800;font-display:swap;src:url(../media/8cf1ea7b03cdeb83-s.da3cbacd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:800;font-display:swap;src:url(../media/829ba4228c966254-s.p.a61bc753.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins Fallback;src:local(Arial);ascent-override:93.62%;descent-override:31.21%;line-gap-override:8.92%;size-adjust:112.16%}.poppins_3f4385-module__fHFuTG__className{font-family:Poppins,Poppins Fallback;font-style:normal}.poppins_3f4385-module__fHFuTG__variable{--font-heading:"Poppins","Poppins Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.f2220059.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.f6f1950f.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.bd5f4d11.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.51c18f09.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.23358719.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.15008bfb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_6104e6b7-module__s6uLTa__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_6104e6b7-module__s6uLTa__variable{--font-mono:"JetBrains Mono","JetBrains Mono Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}.flex{display:flex}.grid{display:grid}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.italic{font-style:italic}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.delay-1{transition-delay:1ms}.delay-2{transition-delay:2ms}:root,[data-theme=light]{--bg-color:#f5f3f0;--bg-secondary:#eae7e2;--card-bg:#ffffffd9;--card-border:#00000014;--card-border-hover:#e8854a66;--text-main:#2d2d2d;--text-secondary:#4a4a4a;--text-muted:#6b7280;--text-dim:#9ca3af;--accent-primary:#e8854a;--accent-glow:#e8854a4d;--accent-secondary:#f0a06a;--accent-light:#d4723a;--accent-subtle:#e8854a14;--danger:#e54d4d;--danger-bg:#e54d4d14;--success:#2eae5b;--success-bg:#2eae5b14;--warning:#d4943a;--warning-bg:#d4943a14;--slate:#64748b;--slate-light:#94a3b8;--slate-bg:#64748b0f;--input-bg:#fff;--input-border:#d1d5db;--shadow-card:0 8px 32px #00000014;--shadow-glow:0 0 40px #e8854a1a;--navbar-bg:#f5f3f0d9;--navbar-border:#0000000f;--modal-overlay:#f5f3f0b3}[data-theme=dark]{--bg-color:#111318;--bg-secondary:#181b22;--card-bg:#1a1d26d9;--card-border:#ffffff14;--card-border-hover:#e8854a59;--text-main:#f0ede8;--text-secondary:#c8c4be;--text-muted:#8b8d94;--text-dim:#555860;--accent-primary:#e8854a;--accent-glow:#e8854a66;--accent-secondary:#f0a06a;--accent-light:#f5b88a;--accent-subtle:#e8854a1a;--danger:#ff6b6b;--danger-bg:#ff6b6b1a;--success:#4ade80;--success-bg:#4ade801a;--warning:#fbbf24;--warning-bg:#fbbf241a;--slate:#94a3b8;--slate-light:#64748b;--slate-bg:#64748b1a;--input-bg:#0f1116cc;--input-border:#64748b40;--shadow-card:0 8px 32px #0009;--shadow-glow:0 0 40px #e8854a26;--navbar-bg:#111318d9;--navbar-border:#ffffff0f;--modal-overlay:#0b0d12bf}:root{--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--transition:.25s cubic-bezier(.4,0,.2,1)}*,:before,:after{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--slate-light)#0000;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg-color);color:var(--text-main);font-family:var(--font-heading),"Poppins","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.6;transition:background-color .3s,color .3s}.mono{font-variant-numeric:tabular-nums;font-family:var(--font-mono),"JetBrains Mono","Fira Code",monospace!important}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:.45s ease-out fadeInUp}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.gradient-text{text-align:center;background:linear-gradient(135deg,var(--text-main)0%,var(--accent-primary)60%,var(--accent-secondary)100%);-webkit-text-fill-color:#0000;-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:700;line-height:1.3}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--slate-light);background-clip:padding-box;border:2px solid #0000;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--slate);background-clip:padding-box;border:2px solid #0000}.glass-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow-card);transition:border-color var(--transition),box-shadow var(--transition),background var(--transition),transform var(--transition);padding:32px}.glass-card:hover{border-color:var(--card-border-hover)}@media (max-width:480px){.glass-card{border-radius:var(--radius-md);padding:20px}}.app-shell{flex-direction:column;min-height:calc(100vh - 70px);display:flex}.navbar{z-index:100;background:var(--navbar-bg);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--navbar-border);transition:background var(--transition),border-color var(--transition);position:sticky;top:0;box-shadow:0 4px 20px #00000008}.navbar-inner{justify-content:space-between;align-items:center;gap:16px;max-width:1200px;height:64px;margin:0 auto;padding:0 24px;display:flex}.navbar-brand{color:var(--text-main);transition:opacity var(--transition);align-items:center;gap:8px;font-size:1.1rem;font-weight:700;text-decoration:none;display:flex}.navbar-brand:hover{opacity:.8}.brand-icon{font-size:1.4rem}.brand-text{background:linear-gradient(135deg,var(--text-main),var(--accent-primary));-webkit-text-fill-color:#0000;-webkit-background-clip:text;background-clip:text}.navbar-links{gap:4px;display:flex}.nav-link{border-radius:var(--radius-sm);color:var(--text-muted);transition:all var(--transition);align-items:center;gap:6px;padding:8px 16px;font-size:.9rem;font-weight:500;text-decoration:none;display:flex}.nav-link:hover{color:var(--text-main);background:var(--accent-subtle)}.nav-link.active{color:var(--accent-primary);background:var(--accent-subtle);font-weight:600}.navbar-right,.navbar-user{align-items:center;gap:12px;display:flex}.user-name{color:var(--text-muted);font-size:.85rem}.btn-logout{background:var(--danger-bg);color:var(--danger);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);border:1px solid #e54d4d1a;padding:6px 14px;font-size:.8rem;font-weight:600}.btn-logout:hover{background:#e54d4d26;border-color:#e54d4d33}.theme-toggle{background:var(--input-bg);border:1px solid var(--card-border);border-radius:20px;gap:4px;padding:4px;display:flex;box-shadow:inset 0 1px 3px #0000000d}.theme-btn{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.theme-btn:hover{color:var(--text-main);background:var(--accent-subtle)}.theme-btn.active{background:var(--card-bg);color:var(--text-main);border:1px solid var(--card-border);transform:scale(1.05);box-shadow:0 2px 6px #0000001a}.theme-btn-icon{line-height:1}.main-content{flex:1;width:100%;max-width:560px;margin:0 auto;padding:32px 20px}.main-content.calendar-page,.main-content.dashboard-page,.main-content.admin-page{max-width:1100px}@media (max-width:768px){.navbar-inner{padding:0 16px}.user-name{display:none}}@media (max-width:480px){.navbar-links{gap:2px}.nav-link svg,.nav-link i{display:none}}.modal-overlay{background:var(--modal-overlay);-webkit-backdrop-filter:blur(8px);z-index:200;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow-card);transition:border-color var(--transition),box-shadow var(--transition),background var(--transition),transform var(--transition);padding:32px}.modal-card:hover{border-color:var(--card-border-hover)}@media (max-width:480px){.modal-card{border-radius:var(--radius-md);padding:20px}}.modal-card{border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(24px);width:100%;max-width:440px;box-shadow:var(--shadow-card),var(--shadow-glow);animation:.35s ease-out fadeInUp}.modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-header-centered{text-align:center;flex-direction:column;align-items:center;gap:8px;width:100%;margin-bottom:28px;display:flex}.modal-header h2{font-size:1.2rem;font-weight:700}.modal-header-centered h2{color:var(--text-main);font-size:1.3rem}.modal-close{color:var(--text-muted);cursor:pointer;transition:color var(--transition);background:0 0;border:none;padding:4px;font-size:1.2rem}.modal-close:hover{color:var(--text-main)}.modal-body{flex-direction:column;gap:14px;display:flex}.manual-entry-modal-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow-card);transition:border-color var(--transition),box-shadow var(--transition),background var(--transition),transform var(--transition);padding:32px}.manual-entry-modal-card:hover{border-color:var(--card-border-hover)}@media (max-width:480px){.manual-entry-modal-card{border-radius:var(--radius-md);padding:20px}}.manual-entry-modal-card{border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(24px);width:500px;max-width:95vw;max-height:90vh;box-shadow:var(--shadow-card),var(--shadow-glow);flex-direction:column;gap:16px;padding:24px;animation:.35s ease-out fadeInUp;display:flex;position:relative;overflow-y:auto}.manual-entry-modal-header{justify-content:flex-end;margin-bottom:-8px;display:flex}.detail-row{border-bottom:1px solid var(--card-border);justify-content:space-between;align-items:center;padding:8px 0;display:flex}.detail-row:last-child{border-bottom:none}.detail-label{color:var(--text-muted);font-size:.85rem}.detail-value{color:var(--text-main);font-size:.9rem;font-weight:500}.detail-value.highlight{color:var(--accent-primary);font-size:1rem;font-weight:700}.status-badge-small{border-radius:12px;padding:3px 10px;font-size:.75rem;font-weight:600}.status-badge-small.active{background:var(--success-bg);color:var(--success)}.status-badge-small.completed{background:var(--accent-subtle);color:var(--accent-primary)}.modal-actions{justify-content:flex-end;margin-top:20px;display:flex}.modal-card-sm{max-width:340px}.modal-icon{font-size:2.2rem;line-height:1}.modal-subtitle{color:var(--text-muted);margin-top:2px;font-size:.85rem}.modal-form{flex-direction:column;gap:20px;display:flex}.modal-time-row{align-items:flex-end;gap:12px;display:flex}.modal-time-row .form-group{flex:1}.modal-time-arrow{color:var(--text-muted);flex-shrink:0;padding-bottom:14px;font-size:1.2rem}.modal-footer{gap:12px;padding-top:4px;display:flex}.modal-footer>*{flex:1}.dm-confirm-box{background:var(--slate-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);flex-direction:column;gap:12px;padding:16px 18px;animation:.25s slideDown;display:flex}.dm-confirm-icon{font-size:1.5rem;line-height:1}.dm-confirm-text{color:var(--text-secondary);font-size:.9rem;line-height:1.5}.dm-confirm-actions{gap:10px;display:flex}.dm-btn-cancel{border:1px solid var(--card-border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.85rem;font-weight:600;font-family:var(--font-heading);cursor:pointer;transition:all var(--transition);background:0 0;flex:1;padding:9px 16px}.dm-btn-cancel:hover{border-color:var(--text-muted);color:var(--text-main);background:var(--accent-subtle)}.dm-btn-confirm{border-radius:var(--radius-sm);background:var(--danger);color:#fff;font-size:.85rem;font-weight:700;font-family:var(--font-heading);cursor:pointer;transition:all var(--transition);border:none;flex:1;padding:9px 16px;box-shadow:0 2px 8px #ff52524d}.dm-btn-confirm:hover{background:#f31616;transform:translateY(-1px);box-shadow:0 4px 14px #ff525273}.dm-message{border-radius:var(--radius-sm);align-items:center;gap:8px;padding:10px 14px;font-size:.85rem;font-weight:500;animation:.3s fadeIn;display:flex}.dm-message-error{background:var(--danger-bg);color:var(--danger);border:1px solid #ff525233}.dm-message-success{background:var(--success-bg);color:var(--success);border:1px solid #2eae5b33}.dm-msg-icon{flex-shrink:0;font-size:1rem}.dm-footer-hint{color:var(--text-dim);text-align:center;opacity:.7;padding-top:4px;font-size:.72rem}.offline-banner{letter-spacing:.01em;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;margin-left:.5rem;padding:.2rem .6rem;font-size:.75rem;font-weight:500;animation:.25s fadeInBadge;display:inline-flex}.offline-banner--offline{color:#fca5a5;background:linear-gradient(90deg,#ef444426,#ef444414);border-bottom:1px solid #ef44444d}.offline-banner--syncing{color:#c4b5fd;background:linear-gradient(90deg,#7c3aed26,#7c3aed14);border-bottom:1px solid #7c3aed4d}.offline-banner--synced{color:#6ee7b7;background:linear-gradient(90deg,#10b98126,#10b98114);border-bottom:1px solid #10b9814d}.offline-banner__icon{flex-shrink:0;align-items:center;display:flex}.offline-banner__text{align-items:center;gap:.5rem;display:flex}.offline-banner__badge{color:#fca5a5;background:#ef444433;border:1px solid #ef44444d;border-radius:999px;align-items:center;padding:.1rem .5rem;font-size:.72rem;font-weight:600;display:inline-flex}.offline-banner__spin{animation:1s linear infinite spin}@keyframes fadeInBadge{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.calendar-offline-mode .fc-toolbar{pointer-events:none;opacity:.35;-webkit-user-select:none;user-select:none}.calendar-offline-notice{color:#fca5a5;background:#ef444414;border:1px solid #ef444433;border-radius:8px;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.55rem 1rem;font-size:.8rem;font-weight:500;display:flex}.calendar-offline-notice .calendar-offline-notice__icon{opacity:.8;flex-shrink:0;align-items:center;display:flex}.btn-primary{background:linear-gradient(135deg,var(--accent-primary)0%,#d4723a 100%);color:#fff;border-radius:var(--radius-md);font-size:1rem;font-weight:600;font-family:var(--font-heading);cursor:pointer;transition:all var(--transition);box-shadow:0 4px 16px var(--accent-glow);border:none;padding:14px 24px;position:relative;overflow:hidden}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 24px #e8854a59}.btn-primary:active{transform:translateY(0)scale(.98)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-full{width:100%}.btn-danger-outline{border:1px solid var(--danger);color:var(--danger);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition);background:0 0;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:.85rem;font-weight:600;display:flex}.btn-danger-outline:hover{background:var(--danger-bg);transform:translateY(-2px);box-shadow:0 4px 12px #e54d4d1a}.btn-danger{background:var(--danger);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition);border:none;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:.85rem;font-weight:600;display:flex}.btn-danger:hover{background:#c83b3b;transform:translateY(-2px);box-shadow:0 4px 12px #e54d4d4d}.btn-danger-small{background:var(--danger-bg);color:var(--danger);border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;font-family:var(--font-heading);cursor:pointer;transition:all var(--transition);border:1px solid #e54d4d26;padding:8px 16px}.btn-danger-small:hover{background:#e54d4d26}.btn-secondary{background:var(--slate-bg);border:1px solid var(--card-border);color:var(--text-secondary);border-radius:var(--radius-md);font-size:.95rem;font-weight:600;font-family:var(--font-heading);cursor:pointer;transition:all var(--transition);padding:12px 24px}.btn-secondary:hover{border-color:var(--slate);color:var(--text-main);background:var(--slate-bg)}.btn-add-record{border:1.5px dashed var(--accent-primary);color:var(--accent-primary);border-radius:var(--radius-sm);text-align:center;transition:all var(--transition);cursor:pointer;background:0 0;padding:10px 14px;font-size:.85rem;font-weight:500}.btn-add-record:hover{background:var(--accent-subtle);border-style:solid}.page-loader{justify-content:center;align-items:center;min-height:100vh;display:flex}.loader-spinner{border:3px solid var(--accent-subtle);border-top-color:var(--accent-primary);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}.btn-loading{justify-content:center;align-items:center;gap:8px;display:flex}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin;display:inline-block}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-size:.8rem;font-weight:600}input[type=text],input[type=email],input[type=password],input[type=number],input[type=time],input[type=date]{background:var(--input-bg);border:1px solid var(--input-border);color:var(--text-main);border-radius:var(--radius-md);font-size:1rem;font-family:var(--font-mono);transition:all var(--transition);outline:none;width:100%;padding:12px 16px}textarea{background:var(--input-bg);border:1px solid var(--input-border);color:var(--text-main);border-radius:var(--radius-md);transition:all var(--transition);outline:none;width:100%;padding:12px 16px;font-family:inherit;font-size:.95rem}input:focus,textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-glow)}input::placeholder,textarea::placeholder{color:var(--text-dim)}.notes-card{flex-direction:column;gap:12px;padding:0;display:flex}.notes-header{border-bottom:1px solid var(--card-border);align-items:center;gap:10px;padding:18px 20px 14px;display:flex}.notes-header-icon{color:var(--accent-primary);flex-shrink:0}.notes-title{color:var(--text-main);flex:1;font-size:.9rem;font-weight:700}.notes-status{color:var(--text-muted);font-size:.72rem;font-weight:500}.notes-body{padding:16px 20px 20px}.notes-textarea{resize:none;min-height:120px;max-height:340px;line-height:1.5}.password-field-wrapper{width:100%;display:block;position:relative}.password-field-wrapper input[type=password],.password-field-wrapper input[type=text]{padding-right:46px}.password-eye-btn{color:var(--text-muted);cursor:pointer;transition:color var(--transition),background var(--transition);z-index:2;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;line-height:0;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.password-eye-btn:hover{color:var(--accent-primary);background:var(--accent-subtle)}.setup-card{flex-direction:column;gap:20px;display:flex}.card-header{text-align:center;margin-bottom:8px}.subtitle{color:var(--text-muted);margin-top:4px;font-size:.9rem}.dual-input{gap:12px;display:flex}.input-half{flex-direction:column;flex:1;gap:4px;display:flex}.input-label-small{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;font-size:.7rem}.radio-group{gap:16px;margin-top:4px;display:flex}.radio-group.row-radio{flex-direction:row}.radio-label{cursor:pointer;color:var(--text-main);transition:opacity var(--transition);align-items:center;gap:8px;font-size:.95rem;display:flex}.radio-label:hover{opacity:.8}.radio-label input[type=radio]{appearance:none;background-color:var(--input-bg);font:inherit;color:var(--accent-primary);border:1px solid var(--input-border);cursor:pointer;width:1.15em;height:1.15em;transition:all var(--transition);border-radius:50%;place-content:center;margin:0;display:grid}.radio-label input[type=radio]:before{content:"";width:.65em;height:.65em;box-shadow:inset 1em 1em var(--accent-primary);border-radius:50%;transition:transform .12s ease-in-out;transform:scale(0)}.radio-label input[type=radio]:checked:before{transform:scale(1)}.radio-label input[type=radio]:checked{border-color:var(--accent-primary)}.auth-container{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative;overflow:hidden}.auth-glow{background:radial-gradient(circle,var(--accent-glow),transparent 70%);pointer-events:none;z-index:0;width:500px;height:500px;position:absolute;top:30%;left:50%;transform:translate(-50%,-50%)}.auth-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(24px);box-shadow:var(--shadow-card),var(--shadow-glow);z-index:1;width:100%;max-width:420px;padding:40px;animation:.6s ease-out fadeInUp}.auth-header{text-align:center;margin-bottom:32px}.auth-icon{margin-bottom:12px;font-size:3rem}.auth-header h1{background:linear-gradient(135deg,var(--text-main),var(--accent-primary));-webkit-text-fill-color:#0000;-webkit-background-clip:text;background-clip:text;font-size:1.8rem;font-weight:700}.auth-subtitle{color:var(--text-muted);margin-top:6px;font-size:.9rem}.auth-form{flex-direction:column;gap:18px;display:flex}.auth-error{background:var(--danger-bg);color:var(--danger);border-radius:var(--radius-sm);text-align:center;border:1px solid #e54d4d26;padding:10px 14px;font-size:.85rem}.auth-footer{text-align:center;color:var(--text-muted);margin-top:20px;font-size:.85rem}.auth-link{color:var(--accent-primary);transition:color var(--transition);font-weight:600;text-decoration:none}.auth-link:hover{color:var(--accent-light)}@media (max-width:480px){.auth-card{padding:28px}}.dashboard-grid{grid-template-columns:minmax(0,1fr) minmax(0,380px);align-items:start;gap:24px;width:100%;max-width:1100px;margin:0 auto;display:grid}@media (max-width:860px){.dashboard-grid{grid-template-columns:1fr}}.session-panel{flex-direction:column;gap:0;padding:0;display:flex;overflow:hidden}.session-panel-header{border-bottom:1px solid var(--card-border);align-items:center;gap:10px;padding:18px 20px 14px;display:flex}.session-panel-icon{color:var(--accent-primary);flex-shrink:0;font-size:1.1rem}.session-panel-title{color:var(--text-main);flex:1;font-size:.9rem;font-weight:700}.session-panel-count{background:var(--accent-subtle);color:var(--accent-primary);border-radius:12px;padding:2px 8px;font-size:.72rem;font-weight:700}.session-panel-empty{color:var(--text-dim);flex-direction:column;align-items:center;gap:8px;padding:40px 20px;font-size:.85rem;display:flex}.session-panel-empty i{opacity:.5;font-size:1.6rem}.session-panel-list{flex-direction:column;padding:8px 0;display:flex}.session-panel-row{border-bottom:1px solid var(--card-border);transition:all var(--transition);justify-content:space-between;align-items:center;gap:10px;padding:12px 20px;display:flex;position:relative}.session-panel-row:last-child{border-bottom:none}.session-panel-row:hover{background:var(--accent-subtle);transform:translate(4px)}.session-panel-row-active{background:#2eae5b0a}.session-panel-main{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.session-panel-num{background:var(--accent-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.65rem;font-weight:700;display:flex}.session-panel-row-active .session-panel-num{background:var(--success)}.session-panel-times{align-items:center;gap:8px;min-width:0;display:flex}.session-panel-time{color:var(--text-main);white-space:nowrap;font-size:.82rem}.session-panel-arrow{color:var(--text-dim);flex-shrink:0;font-size:.75rem}.session-panel-dur{color:var(--text-muted);white-space:nowrap;margin-left:auto;padding-right:12px;font-size:.78rem}.session-panel-actions{opacity:0;transition:opacity var(--transition);align-items:center;gap:6px;display:flex}.session-panel-row:hover .session-panel-actions{opacity:1}.session-action-btn{border:1px solid var(--card-border);background:var(--card-bg);width:28px;height:28px;color:var(--text-dim);cursor:pointer;transition:all var(--transition);border-radius:6px;justify-content:center;align-items:center;display:flex}.session-action-btn:hover{background:var(--accent-subtle);border-color:var(--accent-primary);color:var(--accent-primary);transform:translateY(-1px)}.session-action-btn.delete:hover{background:var(--danger-bg);border-color:var(--danger);color:var(--danger)}@media (max-width:640px){.session-panel-actions{opacity:1}}.session-panel-live-dot{background:var(--success);border-radius:50%;width:7px;height:7px;animation:1.5s ease-in-out infinite pulse-dot;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.dashboard-card{flex-direction:column;gap:24px;display:flex}.dash-header{justify-content:space-between;align-items:center;display:flex}.status-badge{text-transform:uppercase;letter-spacing:1px;border-radius:20px;align-items:center;gap:4px;padding:5px 14px;font-size:.75rem;font-weight:700;display:inline-flex}.status-badge.working{background:var(--success-bg);color:var(--success)}.status-badge.on-break{background:var(--warning-bg);color:var(--warning)}.clock-display{color:var(--text-muted);font-size:.95rem}.timer-hero{text-align:center;background:radial-gradient(circle at center,var(--accent-subtle)0%,transparent 70%);border-radius:var(--radius-md);padding:24px 0}.timer-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;font-size:.85rem;display:block}.timer-value{letter-spacing:-2px;color:var(--text-main);font-size:3.5rem;font-weight:700;line-height:1}.timer-value.overtime{color:var(--success)!important}@media (max-width:480px){.timer-value{font-size:2.8rem}}.sync-status{color:var(--text-dim);justify-content:center;align-items:center;gap:6px;padding:4px 0;font-size:.75rem;display:flex}.sync-dot{background:var(--success);border-radius:50%;width:6px;height:6px;display:inline-block}.stats-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.stat-card{background:var(--slate-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);transition:border-color var(--transition),background var(--transition),transform var(--transition),box-shadow var(--transition);flex-direction:column;gap:6px;padding:16px;display:flex}.stat-card:hover{border-color:var(--accent-primary);box-shadow:0 4px 12px var(--accent-glow);transform:translateY(-2px)}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-size:.7rem}.stat-value{color:var(--text-main);font-size:1.25rem;font-weight:600}.stat-value.danger{color:var(--danger)!important}@media (max-width:480px){.stats-grid{gap:8px}.stat-card{padding:12px}.stat-value{font-size:1rem}}.activity-section{border-top:1px solid var(--card-border);padding-top:16px}.activity-section h3{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;font-size:.85rem}.activity-list{max-height:160px;list-style:none;overflow-y:auto}.activity-item{border-bottom:1px solid var(--card-border);color:var(--text-secondary);justify-content:space-between;align-items:center;padding:8px 0;font-size:.9rem;display:flex}.activity-item:last-child{border-bottom:none}.log-time{color:var(--text-muted);font-size:.85rem}.session-table-wrapper{border-radius:var(--radius-sm);border:1px solid var(--card-border);overflow-x:auto}.session-table{border-collapse:collapse;width:100%;font-size:.875rem}.session-table thead tr{background:var(--slate-bg)}.session-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;border-bottom:1px solid var(--card-border);white-space:nowrap;padding:8px 14px;font-size:.7rem;font-weight:700}.session-table td{color:var(--text-secondary);border-bottom:1px solid var(--card-border);padding:9px 14px}.session-table tbody tr:last-child td{border-bottom:none}.session-table tbody tr:hover{background:var(--accent-subtle)}.session-row-active td{background:var(--success-bg)}.session-row-active:hover td{background:var(--success-bg)!important}.session-num{color:var(--text-dim);width:28px;font-size:.75rem}.session-ongoing{color:var(--success);font-size:.8rem;font-style:italic;font-weight:600}.session-duration{color:var(--text-muted);font-size:.82rem}.leave-time-display{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:.25rem;margin-top:1rem;font-size:.9rem;display:flex}.leave-time-label{opacity:.8;text-transform:uppercase;letter-spacing:.5px;font-size:.85rem}.leave-time-value{color:var(--text-main);font-size:1.1rem;font-weight:600}.punch-actions{flex-direction:column;gap:10px;display:flex}.btn-break{border:1.5px dashed var(--accent-primary);color:var(--accent-primary);border-radius:var(--radius-md);font-size:.95rem;font-weight:600;font-family:var(--font-heading);cursor:pointer;transition:all var(--transition);background:0 0;justify-content:center;align-items:center;gap:8px;padding:13px 24px;display:flex}.btn-break:hover{background:var(--accent-subtle);border-style:solid}.btn-late-punchin{border:1.5px dashed var(--slate);color:var(--slate);border-radius:var(--radius-md);font-size:.95rem;font-weight:600;font-family:var(--font-heading);cursor:pointer;transition:all var(--transition);background:0 0;justify-content:center;align-items:center;gap:8px;padding:13px 24px;display:flex}.btn-late-punchin:hover{background:var(--slate-bg);color:var(--text-main);border-style:solid}.btn-punch-out{background:var(--slate);color:#fff;border-radius:var(--radius-md);font-size:1.1rem;font-weight:700;font-family:var(--font-heading);cursor:pointer;transition:all var(--transition);border:none;justify-content:center;align-items:center;gap:8px;padding:16px 24px;display:flex}.btn-punch-out:hover{opacity:.9;transform:translateY(-2px)}.btn-punch-in{background:linear-gradient(135deg,var(--accent-primary),#d4723a);color:#fff;border-radius:var(--radius-md);font-size:1.1rem;font-weight:700;font-family:var(--font-heading);cursor:pointer;box-shadow:0 4px 16px var(--accent-glow);transition:all var(--transition);border:none;justify-content:center;align-items:center;gap:8px;padding:16px 24px;display:flex}.btn-punch-in:hover{transform:translateY(-2px);box-shadow:0 6px 24px #e8854a59}.danger-zone{border-top:1px dashed #e54d4d66;flex-direction:column;gap:12px;margin-top:24px;padding-top:20px;display:flex}.danger-zone-header{align-items:center;gap:8px;margin-bottom:4px;display:flex}.danger-zone-header svg{color:var(--danger);font-size:1.2rem}.danger-zone-title{text-transform:uppercase;letter-spacing:.05em;color:var(--danger);opacity:.9;font-size:.8rem;font-weight:700}.danger-actions{gap:12px;display:flex}.danger-actions>button{flex:1}@media (max-width:480px){.danger-actions{flex-direction:column}}.preferences-summary{gap:12px;margin-top:10px;display:flex}.pref-badge{background:var(--slate-bg);border:1px solid var(--card-border);border-radius:var(--radius-sm);flex-direction:column;flex:1;gap:4px;padding:12px 16px;display:flex}.pref-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;font-size:.7rem;font-weight:600}.pref-value{color:var(--text-main);font-size:1rem;font-weight:700}.stale-timer-banner{border-radius:var(--radius-md);background:var(--warning-bg,#f5a62314);border:1.5px solid var(--warning,#f5a623);justify-content:space-between;align-items:center;gap:16px;width:100%;max-width:1100px;margin-bottom:20px;margin-left:auto;margin-right:auto;padding:16px 20px;display:flex}.stale-timer-content{color:var(--warning,#f5a623);flex:1;align-items:flex-start;gap:12px;min-width:0;display:flex}.stale-timer-content>svg{flex-shrink:0;margin-top:2px}.stale-timer-text{flex-direction:column;gap:2px;display:flex}.stale-timer-text strong{color:var(--text-main);font-size:.9rem}.stale-timer-text span{color:var(--text-muted);font-size:.8rem}.btn-terminate{white-space:nowrap;border-radius:var(--radius-md);background:var(--warning,#f5a623);color:#fff;font-size:.85rem;font-weight:700;font-family:var(--font-heading);cursor:pointer;transition:all var(--transition);border:none;align-items:center;gap:6px;padding:10px 18px;display:flex}.btn-terminate:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 4px 16px #f5a6234d}@media (max-width:640px){.stale-timer-banner{flex-direction:column;align-items:stretch}.btn-terminate{justify-content:center}}.calendar-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.calendar-header h1{text-align:left}.calendar-header-right{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.calendar-stats{gap:20px;display:flex}.mini-stat{flex-direction:column;align-items:center;gap:2px;display:flex}.mini-stat-value{color:var(--accent-primary);font-size:1.3rem;font-weight:700}.mini-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.7rem}.calendar-wrapper{padding:24px}.calendar-wrapper .fc{--fc-border-color:var(--card-border);--fc-button-bg-color:var(--accent-subtle);--fc-button-border-color:var(--accent-glow);--fc-button-text-color:var(--accent-primary);--fc-button-hover-bg-color:#e8854a26;--fc-button-hover-border-color:#e8854a4d;--fc-button-active-bg-color:var(--accent-primary);--fc-button-active-border-color:var(--accent-primary);--fc-today-bg-color:var(--accent-subtle);--fc-neutral-bg-color:var(--slate-bg);--fc-page-bg-color:var(--bg-color);--fc-now-indicator-color:var(--accent-primary);font-family:var(--font-heading)}.calendar-wrapper .fc .fc-toolbar-title{color:var(--text-main);font-size:1.3rem;font-weight:700}.fc-unavailable-day{background:var(--slate-bg);position:relative}.fc-unavailable-day:after{content:"work-off";color:var(--danger);opacity:.8;font-size:11px;position:absolute;bottom:0;right:4px}.calendar-wrapper .fc .fc-col-header-cell{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;padding:10px 0;font-size:.8rem}.calendar-wrapper .fc .fc-daygrid-day-frame{min-height:145px}.calendar-wrapper .fc .fc-daygrid-day-number{color:var(--text-muted);padding:6px 10px;font-size:.85rem}.calendar-wrapper .fc .fc-daygrid-day.fc-day-today .fc-daygrid-day-number{color:var(--accent-primary);font-weight:700}.calendar-wrapper .fc .fc-event{cursor:pointer;border-radius:6px;padding:3px 6px;font-size:.78rem;font-weight:600;transition:transform .15s}.fc .fc-popover{z-index:10!important}.calendar-wrapper .fc .fc-event:hover{transform:scale(1.02)}.calendar-wrapper .fc .fc-button{transition:all var(--transition);padding:6px 14px;font-size:.85rem;font-weight:600;border-radius:var(--radius-sm)!important}.calendar-wrapper .fc .fc-button-group .fc-button{border-radius:0!important}.calendar-wrapper .fc .fc-button-group .fc-button-active{color:#fff}.calendar-wrapper .fc .fc-button-group .fc-button:first-child{border-radius:var(--radius-sm)0 0 var(--radius-sm)!important}.calendar-wrapper .fc .fc-button-group .fc-button:last-child{border-radius:0 var(--radius-sm)var(--radius-sm)0!important}.calendar-wrapper .fc .fc-scrollgrid{border:none}.calendar-wrapper .fc td,.calendar-wrapper .fc th{border-color:var(--card-border)}@media (max-width:768px){.calendar-header{flex-direction:column;align-items:flex-start}.calendar-stats{justify-content:space-between;width:100%}.calendar-wrapper{padding:16px}.calendar-wrapper .fc .fc-toolbar{flex-direction:column;align-items:flex-start;gap:10px}}.calendar-skeleton{width:100%;animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.calendar-skeleton-header{background:var(--slate-bg);border-radius:var(--radius-md);height:60px;margin-bottom:20px}.calendar-skeleton-grid{background:var(--card-border);border:1px solid var(--card-border);border-radius:var(--radius-md);grid-template-columns:repeat(7,1fr);gap:1px;display:grid;overflow:hidden}.calendar-skeleton-cell{background:var(--card-bg);height:145px}.calendar-data-loading{z-index:10;pointer-events:none;position:absolute;top:20px;right:20px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.calendar-main-layout{grid-template-columns:1fr 340px;align-items:start;gap:24px;display:grid}@media (max-width:900px){.calendar-main-layout{grid-template-columns:1fr}}.fc-day-cell-inner{flex-direction:column;align-items:flex-end;gap:2px;width:100%;min-width:100px;height:100%;padding:2px 4px;display:flex;position:relative}.fc-day-cell-inner.has-holiday{padding-bottom:20px}.day-cell-summary{flex-direction:column;align-items:flex-end;gap:1px;width:100%;display:flex}.dcs-work{color:var(--accent-primary);white-space:nowrap;font-size:.8rem;font-weight:600}.dcs-break{color:var(--warning);white-space:nowrap;font-size:.8rem}.dcs-overtime{color:var(--success);white-space:nowrap;margin-top:2px;font-size:.75rem;font-weight:600}.dcs-early{color:var(--danger);white-space:nowrap;margin-top:2px;font-size:.75rem;font-weight:600}.dcs-note{color:var(--slate);opacity:.6;white-space:nowrap;margin-top:2px;font-size:.75rem;font-weight:400}.doc-holiday-wrapper{flex-direction:column;align-items:center;gap:1px;display:flex;position:absolute;bottom:2px;left:2px;right:2px}.doc-holiday{text-align:right;white-space:nowrap;text-overflow:ellipsis;width:100%;padding-right:1px;font-size:.7rem;font-style:italic;overflow:hidden}.doc-holiday-full{color:var(--text-muted)}.doc-holiday-partial{color:var(--accent-primary)}.day-modal-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(24px);width:100%;max-width:520px;box-shadow:var(--shadow-card),var(--shadow-glow);flex-direction:column;max-height:85vh;display:flex;overflow:hidden}.day-modal-header{justify-content:space-between;align-items:flex-start;gap:16px;padding:0 0 12px;display:flex}.day-modal-scroll-body{flex-direction:column;flex:1;gap:20px;padding:12px 12px 0;display:flex;overflow-y:auto}.day-modal-title-block{flex-direction:column;gap:8px;display:flex}.day-modal-date{color:var(--text-main);align-items:center;gap:12px;font-size:1rem;font-weight:700;display:flex}.day-modal-totals{flex-wrap:wrap;gap:8px;display:flex}.dmt-chip{border-radius:20px;align-items:center;gap:4px;padding:3px 10px;font-size:.78rem;font-weight:600;display:inline-flex}.dmt-chip.dmt-work{background:var(--accent-subtle);color:var(--accent-primary)}.dmt-chip.dmt-break{background:var(--warning-bg);color:var(--warning)}.dmt-chip.dmt-overtime{background:var(--success-bg);color:var(--success)}.dmt-chip.dmt-early,.dmt-chip.dmt-holiday-full{background:var(--danger-bg);color:var(--danger)}.dmt-chip.dmt-holiday-partial{background:var(--accent-subtle);color:var(--accent-primary)}.day-modal-empty{color:var(--text-muted);text-align:center;padding:24px 0;font-size:.9rem}.day-timeline{flex-direction:column;gap:0;display:flex}.timeline-item{border-radius:var(--radius-sm);transition:background var(--transition);align-items:stretch;gap:12px;padding:10px 10px 10px 0;display:flex}.timeline-item:hover{background:var(--accent-subtle)}.timeline-dot-col{flex-direction:column;flex-shrink:0;align-items:center;width:20px;display:flex}.timeline-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:4px}.timeline-item-work .timeline-dot{background:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-subtle)}.timeline-item-break .timeline-dot{background:var(--warning);box-shadow:0 0 0 3px var(--warning-bg)}.timeline-active .timeline-dot{background:var(--success);box-shadow:0 0 0 3px var(--success-bg);animation:1.5s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 3px var(--success-bg)}50%{box-shadow:0 0 0 6px var(--success-bg)}}.timeline-connector{background:var(--card-border);flex:1;width:2px;margin:4px 0}.timeline-body{flex-direction:column;flex:1;gap:4px;display:flex}.timeline-times{color:var(--text-main);align-items:center;gap:6px;font-size:.9rem;font-weight:500;display:flex}.timeline-arrow{color:var(--text-dim);font-size:.8rem}.timeline-meta-row{align-items:center;gap:8px;display:flex}.tl-badge{border-radius:10px;align-items:center;gap:4px;padding:2px 8px;font-size:.7rem;font-weight:700;display:inline-flex}.tl-badge.work,.tl-badge-work{background:var(--accent-subtle);color:var(--accent-primary)}.tl-badge.break,.tl-badge-break{background:var(--warning-bg);color:var(--warning)}.tl-duration{color:var(--text-muted);font-size:.8rem}.tl-delete-btn{color:var(--text-dim);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-self:center;align-items:center;padding:4px 8px;font-size:1rem;display:flex}.tl-delete-btn:hover:not(:disabled){border-color:var(--danger);background:var(--danger-bg);color:var(--danger)}.tl-delete-btn:disabled{opacity:.5;cursor:not-allowed}.timeline-item-pending{border-radius:var(--radius-sm);outline:1.5px dashed var(--warning);background:var(--warning-bg)!important}.timeline-item-deleting{opacity:.5;pointer-events:none;transition:opacity .3s}.tl-delete-btn-pending{border-color:var(--warning)!important;color:var(--warning)!important;background:var(--warning-bg)!important}.tl-position-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.8px;margin-top:1px;font-size:.65rem;font-weight:600}.tl-active-dot{background:var(--success);vertical-align:middle;border-radius:50%;width:7px;height:7px;margin-left:5px;animation:1.5s ease-in-out infinite pulse-dot;display:inline-block}.tooltip-container{cursor:pointer;align-items:center;display:inline-flex;position:relative}.tooltip-container:hover .tooltip-text{visibility:visible;opacity:1;transform:translate(-50%)translateY(0)}.tooltip-text{visibility:hidden;border:1px solid var(--accent-glow);width:240px;color:var(--text-muted);text-align:center;border-radius:var(--radius-md);z-index:100;opacity:0;font-size:.72rem;font-family:var(--font-heading);box-shadow:0 4px 20px #0009,var(--shadow-glow);pointer-events:none;text-transform:none;letter-spacing:normal;background:#111113;padding:8px 12px;font-weight:500;line-height:1.4;transition:all .2s cubic-bezier(.4,0,.2,1);position:absolute;top:130%;left:50%;transform:translate(-50%)translateY(-5px)}.tooltip-text:after{content:"";border-style:solid;border-width:5px;border-color:#0000 #0000 var(--accent-glow)#0000;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.manual-entry-section{background:var(--card-bg);border-radius:var(--radius-md);border:1px solid var(--card-border);flex-direction:column;gap:12px;margin-bottom:20px;padding:16px;display:flex}.manual-toggle-label{color:var(--text-secondary);cursor:pointer;align-items:center;gap:10px;font-size:.9rem;font-weight:500;display:flex}.manual-toggle-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent-primary);cursor:pointer}.manual-input-group{flex-direction:column;gap:8px;animation:.3s cubic-bezier(.4,0,.2,1) slideDown;display:flex}.manual-time-input{border:1px solid var(--input-border);border-radius:var(--radius-sm);width:100%;font-size:1rem;font-family:var(--font-mono);color:var(--text-main);background:var(--input-bg);padding:10px 14px}.manual-time-input:focus{border-color:var(--accent-primary);outline:none}.error-text{color:var(--danger);font-size:.8rem;font-weight:500;animation:.3s fadeIn}.manual-entry-panel{flex-direction:column;gap:18px;display:flex;position:sticky;top:88px}.mep-header{align-items:flex-start;gap:14px;display:flex}.mep-header-icon{flex-shrink:0;font-size:2rem;line-height:1}.mep-title{color:var(--text-main);margin-bottom:2px;font-size:1.05rem;font-weight:700}.mep-subtitle{color:var(--text-muted);font-size:.78rem}.mep-sessions-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:-10px;font-size:.72rem;font-weight:700}.mep-sessions{flex-direction:column;gap:0;display:flex}.mep-session-row{background:var(--slate-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);transition:border-color var(--transition);align-items:flex-end;gap:8px;padding:12px 12px 10px;display:flex}.mep-session-row:focus-within{border-color:var(--accent-primary)}.mep-session-num{background:var(--accent-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-bottom:2px;font-size:.65rem;font-weight:700;display:flex}.mep-time-pair{flex:1;align-items:flex-end;gap:6px;display:flex}.mep-arrow{color:var(--text-dim);flex-shrink:0;padding-bottom:14px;font-size:.95rem}.mep-remove-btn{border:1px solid var(--card-border);color:var(--text-dim);cursor:pointer;width:28px;height:28px;transition:all var(--transition);background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;display:flex}.mep-remove-btn:hover{background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}.mep-break-indicator{align-items:center;gap:8px;margin:6px 0;display:flex}.mep-break-line{background:dashed 1px var(--card-border);flex:1;height:1.5px}.mep-break-label{color:var(--warning);background:var(--warning-bg);border-radius:12px;padding:2px 10px;font-size:.75rem;font-weight:600}.mep-add-session-btn{border:1.5px dashed var(--slate-light);color:var(--slate);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition);background:0 0;margin-top:-4px;padding:10px;font-size:.85rem;font-weight:600}.mep-add-session-btn:hover{background:var(--slate-bg);border-color:var(--slate);color:var(--text-main)}.mep-summary{background:var(--card-bg);border-radius:var(--radius-md);border:1px solid var(--card-border);justify-content:center;gap:12px;padding:14px;display:flex}.mep-summary-chip{align-items:center;gap:6px;font-size:.9rem;display:flex}.mep-summary-chip.work strong{color:var(--accent-primary)}.mep-summary-chip.break strong{color:var(--warning)}.mep-success{background:var(--success-bg);color:var(--success);border-radius:var(--radius-md);text-align:center;border:1px solid #2eae5b33;padding:12px;font-size:.85rem;font-weight:500}.settings-container{flex-direction:column;gap:32px;max-width:800px;margin:0 auto;display:flex}.settings-header{text-align:left;margin-bottom:8px}.settings-header h1{color:var(--text-main);letter-spacing:-.5px;margin-bottom:8px;font-size:2rem;font-weight:700}.settings-header p{color:var(--text-muted);font-size:.95rem}.settings-stack{flex-direction:column;gap:32px;display:flex}.settings-section{border:1px solid var(--card-border);background:var(--card-bg);box-shadow:var(--shadow-card);padding:0;overflow:hidden}.settings-section-header{border-bottom:1px solid var(--card-border);padding:24px 32px}.settings-section-header .title{align-items:center;gap:12px;margin-bottom:8px;display:flex}.settings-section-header .title i,.settings-section-header .title svg{color:var(--text-main);opacity:.8}.settings-section-header h2{color:var(--text-main);letter-spacing:-.3px;font-size:1.15rem;font-weight:600}.settings-section-header p{color:var(--text-muted);margin-left:32px;font-size:.9rem}.settings-section-body{padding:0 32px}.settings-row{border-bottom:1px solid var(--card-border);justify-content:space-between;align-items:flex-start;gap:24px;padding:24px 0;display:flex}.settings-row:last-child{border-bottom:none}.settings-row-info{flex-direction:column;flex:50%;gap:6px;display:flex}.settings-row-info label{color:var(--text-main);font-size:.95rem;font-weight:600}.settings-row-info p{color:var(--text-muted);font-size:.85rem;line-height:1.4}.settings-row-control{flex-direction:column;flex:50%;align-items:flex-start;display:flex}.settings-row-control input:not([type=radio]):not([type=checkbox]){width:100%;max-width:320px}.settings-card-footer{border-top:1px solid var(--card-border);background:#00000005;justify-content:flex-end;align-items:center;padding:16px 32px;display:flex}[data-theme=dark] .settings-card-footer{background:#ffffff05}.input-disabled{opacity:.6;cursor:not-allowed;background:var(--slate-bg)!important}.toggle-wrapper{cursor:pointer;flex-shrink:0;width:44px;height:24px;display:inline-block;position:relative}.toggle-checkbox{opacity:0;width:0;height:0;position:absolute}.toggle-slider{background-color:var(--card-border);border-radius:24px;transition:all .3s cubic-bezier(.4,0,.2,1);position:absolute;inset:0}.toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .3s cubic-bezier(.4,0,.2,1);position:absolute;bottom:3px;left:3px;box-shadow:0 1px 3px #0003}.toggle-checkbox:checked+.toggle-slider{background-color:var(--accent-primary)}.toggle-checkbox:checked+.toggle-slider:before{transform:translate(20px)}.settings-container .password-field-wrapper{align-items:center;width:100%;max-width:320px;display:flex;position:relative}.settings-container .password-field-wrapper input{width:100%;padding-right:40px}.password-toggle-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .15s;display:flex;position:absolute;right:12px}.password-toggle-btn:hover{color:var(--text-main)}@media (max-width:640px){.settings-row{flex-direction:column;gap:16px;padding:20px 0}.settings-row-control{width:100%}.settings-row-control input:not([type=radio]):not([type=checkbox]){max-width:100%}.settings-section-header{padding:20px}.settings-section-header p{margin-top:8px;margin-left:0}.settings-section-body{padding:0 20px}.settings-card-footer{padding:16px 20px}}.admin-header{margin-bottom:24px}.admin-tabs{border-bottom:1px solid var(--card-border);gap:10px;margin-bottom:24px;padding-bottom:12px;display:flex}.tab-btn{color:var(--text-main);cursor:pointer;transition:all var(--transition);background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-weight:600;display:flex}.tab-btn:hover{background:var(--slate-bg)}.tab-btn.active{background:var(--accent-primary);color:#fff}.manage-holidays-form{background:var(--card-bg-light);border:1px solid var(--card-border);border-radius:12px;margin-bottom:32px;padding:20px}.manage-holidays-form .holidays-form-row{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:16px;display:grid}.manage-holidays-form .form-group{margin-bottom:0}.manage-holidays-form .form-group label{color:var(--text-main);font-size:.9rem;font-weight:600}.manage-holidays-form .form-group input,.manage-holidays-form .form-group select{border:1px solid var(--card-border);background:var(--input-bg);width:100%;color:var(--text-main);border-radius:10px;padding:12px}.manage-holidays-form .duration-inputs{gap:10px;display:flex}.manage-holidays-form .duration-inputs input{width:50%}.manage-holidays-form .form-actions{justify-content:flex-end;margin-top:16px;display:flex}.manage-holidays-form .form-actions .btn-primary{padding:10px 20px}.status-badge.holiday-full{background:var(--slate-bg);color:var(--text-muted)}.status-badge.holiday-partial{background:var(--accent-subtle);color:var(--accent-primary)}.btn-delete-sm{color:var(--danger);border-color:#e54d4d4d;padding:6px 12px;font-size:.8rem}.btn-delete-sm:hover{background:var(--danger-bg)}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
