@font-face{font-family:Inter Tight;font-style:normal;font-weight:400 800;font-display:swap;src:url(../../../fonts/inter-tight-v9-latin-ext.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:Inter Tight;font-style:normal;font-weight:400 800;font-display:swap;src:url(../../../fonts/inter-tight-v9-latin.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;font-style:normal;font-weight:400 600;font-display:swap;src:url(../../../fonts/jetbrains-mono-v24-latin-ext.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:400 600;font-display:swap;src:url(../../../fonts/jetbrains-mono-v24-latin.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}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-mode=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root{--font-sans:"Jost", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-serif:"Cormorant Garamond", "Cormorant", Georgia, serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, monospace;--r-sm:6px;--r-md:10px;--r-lg:16px;--r-xl:24px;--r-pill:999px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--s-16:64px;--brand:#80377b;--brand-light:#a85ca3;--brand-dark:#5c2858;--brand-soft:#a85ca324;--bg:#faf9f7;--bg-alt:#f3eff0;--bg-card:#fff;--bg-elevated:#fff;--bg-subtle:#f7f4f5;--border:#e8e0ea;--border-strong:#d9cfdc;--text:#29232a;--text-muted:#6e6470;--text-faint:#9a8fa0;--text-on-brand:#fff;--good:#2d6a4f;--good-soft:#2d6a4f1f;--warn:#b45309;--warn-soft:#b453091f;--bad:#b42318;--bad-soft:#b423181a;--star:#f59e0b;--shadow-sm:0 1px 2px #28192d0d;--shadow-md:0 4px 14px #28192d14;--shadow-lg:0 18px 40px #28192d1a;--shadow-brand:0 4px 16px #80377b47;--shadow-brand-lg:0 12px 32px #80377b4d;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease:cubic-bezier(.4, 0, .2, 1);--sidebar-w:232px;--topbar-h:60px;--row-h:44px;--pad-card:24px;--shift-blue:#3b82f6;--shift-green:#2d6a4f;--shift-amber:#b45309;--shift-rose:#b42318;--shift-violet:#80377b;--shift-slate:#6e6470;--leave-type-vacation:#4caf6f;--leave-type-sick:#d97706;--leave-type-sick-child:#ea580c;--leave-type-special:#4f46e5;--leave-type-overtime:#0891b2;--leave-type-education:#2563eb;--leave-type-unpaid:#6b7280;--leave-type-holiday:#7c3aed;--leave-type-maternity:#db2777;--leave-type-parental:#be185d;--leave-type-absent:#475569;--leave-type-absent-muted:#94a3b8;--leave-type-default:#6b7280}[data-theme=nacht]{--brand:#3d4dad;--brand-light:#6b7bd8;--brand-dark:#232e78;--brand-soft:#6b7bd824;--shadow-brand:0 4px 16px #3d4dad47;--shadow-brand-lg:0 12px 32px #3d4dad4d}[data-theme=wald]{--brand:#2d6a4f;--brand-light:#52b788;--brand-dark:#1b4332;--brand-soft:#52b78829;--shadow-brand:0 4px 16px #2d6a4f4d;--shadow-brand-lg:0 12px 32px #2d6a4f4d}[data-mode=dark]{--bg:#14101a;--bg-alt:#1a1320;--bg-card:#1f1827;--bg-elevated:#261e30;--bg-subtle:#1a1320;--border:#ffffff12;--border-strong:#ffffff24;--text:#f0ece6;--text-muted:#f0ece69e;--text-faint:#f0ece65c;--good-soft:#52b78829;--warn-soft:#f59e0b29;--bad-soft:#f8717124;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 14px #00000059;--shadow-lg:0 18px 40px #0000008c;--leave-type-vacation:#5ec78a;--leave-type-sick:#fbbf24;--leave-type-sick-child:#fb923c;--leave-type-special:#818cf8;--leave-type-overtime:#22d3ee;--leave-type-education:#60a5fa;--leave-type-unpaid:#9ca3af;--leave-type-holiday:#a78bfa;--leave-type-maternity:#f472b6;--leave-type-parental:#f9a8d4;--leave-type-absent:#cbd5e1;--leave-type-absent-muted:#64748b;--leave-type-default:#9ca3af}[data-density=compact]{--row-h:36px;--pad-card:16px}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.clock{font-family:var(--font-serif);font-variant-numeric:tabular-nums;letter-spacing:0;font-weight:300;line-height:1}[data-skin=modern]{--font-sans:"Inter Tight", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-serif:"Inter Tight", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, monospace;--r-sm:8px;--r-md:14px;--r-lg:20px;--r-xl:28px;--pad-card:28px}[data-skin=modern][data-density=compact]{--pad-card:16px}[data-skin=modern][data-theme=pflaume]{--brand:#b879f0;--brand-light:#d9a5ff;--brand-dark:#6f3fa8;--brand-soft:#b879f029;--shadow-brand:0 4px 24px #b879f052;--shadow-brand-lg:0 16px 48px #b879f05c}[data-skin=modern][data-theme=nacht]{--brand:#7c8cff;--brand-light:#a3afff;--brand-dark:#4d5bd8;--brand-soft:#7c8cff29;--shadow-brand:0 4px 24px #7c8cff52;--shadow-brand-lg:0 16px 48px #7c8cff5c}[data-skin=modern][data-theme=wald]{--brand:#4ade80;--brand-light:#86efac;--brand-dark:#16a34a;--brand-soft:#4ade8029;--shadow-brand:0 4px 24px #4ade8052;--shadow-brand-lg:0 16px 48px #4ade805c}[data-skin=modern][data-mode=dark]{--bg:#050507;--bg-alt:#0a0a0d;--bg-card:#ffffff0a;--bg-elevated:#ffffff0f;--bg-subtle:#ffffff08;--border:#ffffff14;--border-strong:#ffffff29;--text:#f4f4f7;--text-muted:#f4f4f7a8;--text-faint:#f4f4f766;--text-on-brand:#fff;--shadow-sm:0 1px 2px #00000080;--shadow-md:0 8px 24px #00000073;--shadow-lg:0 24px 64px #0009}[data-skin=modern][data-mode=light]{--bg:#f7f7f8;--bg-alt:#efeff1;--bg-card:#ffffffb8;--bg-elevated:#ffffffeb;--bg-subtle:#ffffff80;--border:#14141e14;--border-strong:#14141e29;--text:#14141a;--text-muted:#14141aa3;--text-faint:#14141a66;--text-on-brand:#fff;--shadow-sm:0 1px 2px #14141e0f;--shadow-md:0 8px 24px #14141e14;--shadow-lg:0 24px 64px #14141e1f}@font-face{font-family:DM Sans;font-style:normal;font-weight:300 700;font-display:swap;src:url(../../../fonts/dmsans-v17-latin-ext.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:DM Sans;font-style:normal;font-weight:300 700;font-display:swap;src:url(../../../fonts/dmsans-v17-latin.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:Fraunces;font-style:normal;font-weight:300 600;font-display:swap;src:url(../../../fonts/fraunces-v38-vietnamese.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:Fraunces;font-style:normal;font-weight:300 600;font-display:swap;src:url(../../../fonts/fraunces-v38-latin-ext.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:Fraunces;font-style:normal;font-weight:300 600;font-display:swap;src:url(../../../fonts/fraunces-v38-latin.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:Jost;font-style:normal;font-weight:300 700;font-display:swap;src:url(../../../fonts/jost-v20-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Jost;font-style:normal;font-weight:300 700;font-display:swap;src:url(../../../fonts/jost-v20-latin-ext.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:Jost;font-style:normal;font-weight:300 700;font-display:swap;src:url(../../../fonts/jost-v20-latin.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:Cormorant Garamond;font-style:normal;font-weight:300;font-display:swap;src:url(../../../fonts/cormorant-garamond-v21-latin-ext-300.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:Cormorant Garamond;font-style:normal;font-weight:300;font-display:swap;src:url(../../../fonts/cormorant-garamond-v21-latin-300.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:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../../../fonts/cormorant-garamond-v21-latin-ext-400.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:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../../../fonts/cormorant-garamond-v21-latin-400.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:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../../../fonts/cormorant-garamond-v21-latin-ext-500.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:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../../../fonts/cormorant-garamond-v21-latin-500.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:Cormorant Garamond;font-style:italic;font-weight:300;font-display:swap;src:url(../../../fonts/cormorant-garamond-v21-latin-ext-300italic.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:Cormorant Garamond;font-style:italic;font-weight:300;font-display:swap;src:url(../../../fonts/cormorant-garamond-v21-latin-300italic.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:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(../../../fonts/cormorant-garamond-v21-latin-ext-400italic.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:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(../../../fonts/cormorant-garamond-v21-latin-400italic.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}body:before{content:"";pointer-events:none;z-index:-1;background:var(--body-gradient);position:fixed;inset:0}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-sans);color:var(--text);background-color:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;line-height:1.65;transition:background-color .25s,color .25s}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);color:var(--text);text-wrap:balance;font-weight:600;line-height:1.3}a:not(.btn):not(.nav-item):not(.admin-tab):not(.mobile-nav-item):not(.sidebar-user):not(.sidebar-brand){text-decoration-line:underline;-webkit-text-decoration-color:var(--brand-light);text-decoration-color:var(--brand-light);text-underline-offset:2px;text-decoration-thickness:1px}a:not(.btn):not(.nav-item):not(.admin-tab):not(.mobile-nav-item):not(.sidebar-user):not(.sidebar-brand):hover{-webkit-text-decoration-color:var(--brand);text-decoration-color:var(--brand)}h1{font-size:1.75rem;font-weight:700}h2{font-size:1.25rem;font-weight:600}h3{font-size:1rem;font-weight:600}h4{font-size:1.0625rem}p{line-height:1.65}a{color:var(--brand);text-decoration:none}a:hover{color:var(--brand-dark)}input,select,textarea,button{font-family:var(--font-sans)}.btn{border-radius:var(--r-sm);min-height:44px;font-family:var(--font-sans);cursor:pointer;white-space:nowrap;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:1px solid #0000;justify-content:center;align-items:center;gap:.4rem;padding:.625rem 1.35rem;font-size:1rem;font-weight:500;line-height:1.4;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform .1s;display:inline-flex}.btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary{background-color:var(--brand);color:#fff;border-color:var(--brand);border-radius:9999px;box-shadow:0 2px 8px #00000026}.btn-primary:hover:not(:disabled){background-color:var(--brand-dark);border-color:var(--brand-dark);color:#fff;transform:translateY(-1px);box-shadow:0 6px 20px #0003}.btn-secondary{background-color:var(--brand-soft);color:var(--brand);border-color:var(--border);border-radius:9999px}.btn-secondary:hover:not(:disabled){background-color:var(--brand-soft);color:var(--brand-dark);box-shadow:var(--shadow-xs);transform:translateY(-1px)}.btn-outline{color:var(--brand);border-color:var(--brand);background-color:#0000}.btn-outline:hover:not(:disabled){background-color:var(--brand-soft);box-shadow:var(--shadow-xs);transform:translateY(-1px)}.btn-ghost{color:var(--text-muted);background-color:#0000;border-color:#0000}.btn-ghost:hover:not(:disabled){background-color:var(--bg-subtle);color:var(--text);transform:translateY(-1px)}.btn-sm{min-height:44px;padding:.4rem .85rem;font-size:.875rem}.page-title{color:var(--text);margin-bottom:1rem;font-size:1.375rem;font-weight:700;line-height:1.3}.btn-danger{background-color:var(--bad);color:#fff;border-color:var(--bad)}.btn-danger:hover:not(:disabled){color:#fff;background-color:#b91c1c;border-color:#b91c1c;transform:translateY(-1px);box-shadow:0 4px 12px #dc26264d}.btn-icon{aspect-ratio:1;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:.5rem;display:inline-flex}.theme-picker{align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.theme-dot{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:2.75rem;min-width:44px;height:2.75rem;min-height:44px;padding:3px;transition:border-color .15s,transform .15s;display:flex}.theme-dot[aria-checked=true]{border-color:var(--brand)}.theme-dot:hover{transform:scale(1.1)}.theme-dot:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.theme-dot-inner{border-radius:50%;width:100%;height:100%;display:block}.card{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-md), none;-webkit-backdrop-filter:blur()saturate();border-radius:18px;transition:background-color .25s,border-color .25s,box-shadow .25s;overflow:clip}.card-body{padding:1.75rem}.card:hover{box-shadow:var(--shadow-sm)}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.card,.stat-card,.table-wrapper,.dialog-content{background:var(--bg-card);-webkit-backdrop-filter:none}body:before{display:none}}@media (prefers-reduced-transparency:reduce){.card,.stat-card,.table-wrapper,.dialog-content{-webkit-backdrop-filter:none;background:var(--bg-card)}body:before{display:none}}.card-header{border-bottom:1px solid var(--border);padding:1.25rem 1.75rem}.badge{white-space:nowrap;letter-spacing:.02em;border-radius:999px;align-items:center;gap:.3rem;padding:4px 8px;font-size:.8125rem;font-weight:400;line-height:1.4;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.badge-green{background-color:var(--good-soft);color:var(--good);border:1px solid var(--good-soft)}.badge-yellow{background-color:var(--warn-soft);color:var(--warn);border:1px solid var(--warn-soft)}.badge-red{background-color:var(--bad-soft);color:var(--bad);border:1px solid var(--bad-soft)}.badge-blue{color:#2563eb;background-color:#2563eb1a;border:1px solid #2563eb33}.badge-purple{background-color:var(--brand-soft);color:var(--brand);border:1px solid var(--brand-soft)}.badge-gray{background-color:var(--bg-subtle);color:var(--text-muted);border:1px solid var(--border)}.badge-orange{color:#c2410c;background-color:#c2410c1a;border:1px solid #c2410c33}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-label{color:var(--text);font-size:.9375rem;font-weight:500}.form-input{border:1px solid var(--border);border-radius:var(--r-sm);width:100%;font-family:var(--font-sans);color:var(--text);background-color:var(--bg-card);appearance:none;touch-action:manipulation;outline:none;padding:.65rem 1rem;font-size:1rem;transition:border-color .15s,box-shadow .15s,background-color .25s}.form-input::placeholder{color:var(--text-faint)}.form-input:focus-visible,.form-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft), 0 2px 8px #0000000f}.form-input:disabled{background-color:var(--bg-subtle);color:var(--text-muted);cursor:not-allowed}@media (width<=640px){.form-input,textarea{font-size:16px}}select.form-input{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b6760' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding-right:2.5rem}.form-hint{color:var(--text-muted);font-size:.8125rem}.form-error{color:var(--bad);font-size:.8125rem}.input,.select{border:1px solid var(--border,var(--border));border-radius:var(--r-md,var(--r-sm));width:100%;font-family:var(--font-sans);color:var(--text,var(--text));background-color:var(--bg-card,var(--bg-card));appearance:none;touch-action:manipulation;outline:none;padding:.5rem .75rem;font-size:.9375rem;transition:border-color .15s,box-shadow .15s,background-color .25s}.input::placeholder{color:var(--text-faint,var(--text-faint))}.input:focus-visible,.input:focus,.select:focus-visible,.select:focus{border-color:var(--brand,var(--brand));box-shadow:0 0 0 3px var(--brand-soft,var(--brand-soft))}.input:disabled,.select:disabled{background-color:var(--bg-subtle,var(--bg-subtle));color:var(--text-muted,var(--text-muted));cursor:not-allowed}.page-header h1{color:var(--text);margin-bottom:.25rem;font-size:1.875rem;font-weight:600}.page-header p{color:var(--text-muted);font-size:1rem}.page-header-compact{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.page-header-compact h1{color:var(--text);margin:0;font-size:1.375rem;font-weight:600}.page-header-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur();padding:1.5rem 1.75rem;transition:background-color .25s,box-shadow .25s}.stat-card .stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.5rem;font-size:.875rem;font-weight:500}.stat-card .stat-value{color:var(--text);font-size:2.125rem;font-weight:700;line-height:1.1}.stat-card .stat-sub{color:var(--text-muted);margin-top:.25rem;font-size:.8125rem}.stat-card .stat-trend-up{color:var(--good)}.stat-card .stat-trend-down{color:var(--bad)}.table-wrap,.table-wrapper{-webkit-overflow-scrolling:touch;border-radius:var(--r-md);border:1px solid var(--border);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur();overflow-x:auto}.data-table{border-collapse:collapse;background-color:#0000;width:100%;font-size:.9375rem;transition:background-color .25s}.data-table thead tr{background-color:var(--bg-card);border-bottom:1px solid var(--border)}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);white-space:nowrap;padding:.875rem 1.125rem;font-size:.8125rem;font-weight:600}.data-table td{color:var(--text);border-bottom:1px solid var(--border);vertical-align:middle;font-variant-numeric:tabular-nums;padding:1rem 1.125rem}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:nth-child(2n){background-color:var(--bg-card)}.data-table tbody tr:hover{background-color:var(--brand-soft)}.data-table tbody tr{transition:background-color .15s}.alert{border-radius:var(--r-sm);border:1px solid #0000;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;font-size:.9375rem;display:flex}.alert-info{color:#2563eb;background-color:#2563eb1a;border-color:#2563eb33}.alert-warning{background-color:var(--warn-soft);color:#92400e;border-color:var(--warn-soft)}.alert-error{background-color:var(--bad-soft);color:var(--bad);border-color:var(--bad-soft)}.alert-success{background-color:var(--good-soft);color:var(--good);border-color:var(--good-soft)}.divider{background-color:var(--border);border:none;height:1px;margin:1.5rem 0}.skeleton{background:linear-gradient(90deg, var(--bg-subtle) 25%, var(--border) 50%, var(--bg-subtle) 75%);border-radius:var(--r-sm);background-size:200% 100%;animation:1.5s infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.text-muted{color:var(--text-muted)}.text-brand{color:var(--brand)}.text-green{color:var(--good)}.text-yellow{color:var(--warn)}.text-red{color:var(--bad)}.font-mono{font-family:var(--font-mono)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.view-tabs{border-bottom:2px solid var(--border);gap:.25rem;margin-bottom:1rem;display:flex}.view-tab{cursor:pointer;min-height:44px;font-family:var(--font-sans);color:var(--text-muted);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:4px 4px 0 0;margin-bottom:-2px;padding:.6875rem 1.125rem;font-size:.875rem;font-weight:500;transition:color .15s,border-color .15s}.view-tab:hover{color:var(--text)}.view-tab--active{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}.tab-badge{background:var(--bad);color:#fff;border-radius:9999px;justify-content:center;align-items:center;min-width:1.125rem;height:1.125rem;margin-left:.375rem;padding:0 .3rem;font-size:.6875rem;font-weight:700;line-height:1;display:inline-flex}.filter-bar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.filter-bar .form-input{width:auto;min-width:0}.filter-search{flex:1;min-width:180px;max-width:320px}.filter-select{width:auto;min-width:130px}.filter-count{color:var(--text-muted);white-space:nowrap;margin-left:auto;font-size:.8125rem}@keyframes page-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-enter{animation:page-enter .3s var(--ease-out) both}@keyframes card-enter{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.stat-card{transition:background-color .25s ease, box-shadow .25s ease, transform .2s var(--ease-out)}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.card-interactive{transition:background-color .25s ease, box-shadow .25s ease, transform .2s var(--ease-out);cursor:default}.card-interactive:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}@keyframes count-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.stat-value-animate{animation:count-up .5s var(--ease-out) both;animation-delay:.2s}@keyframes pulse-ring{0%{box-shadow:0 0 #16a34a66}70%{box-shadow:0 0 0 10px #16a34a00}to{box-shadow:0 0 #16a34a00}}.pulse-active{animation:2s infinite pulse-ring}.btn-press:active:not(:disabled){transform:scale(.97)}.skeleton-text{border-radius:4px;height:1em}.skeleton-heading{border-radius:var(--r-sm);width:60%;height:2rem}.skeleton-stat{border-radius:var(--r-sm);width:80%;height:2.5rem}.skeleton-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);min-height:120px;padding:1.5rem 1.75rem}.section-gap{margin-bottom:2.5rem}.section-gap-sm{margin-bottom:1.75rem}.page-header{margin-bottom:2.25rem}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:var(--text-faint);pointer-events:none;z-index:1;transition:color .15s;position:absolute;left:.875rem}.input-wrapper:focus-within .input-icon{color:var(--brand)}.form-input--icon{padding-left:2.5rem}.form-input--password{padding-right:2.75rem}.password-toggle{cursor:pointer;border-radius:var(--r-sm);color:var(--text-faint);background:0 0;border:none;justify-content:center;align-items:center;padding:.375rem;transition:color .15s,background-color .15s;display:flex;position:absolute;right:.5rem}.password-toggle:hover{color:var(--text);background-color:var(--bg-subtle)}.form-input{transition:border-color .2s var(--ease-out), box-shadow .2s var(--ease-out), background-color .25s}input[type=date].form-input,input[type=time].form-input,input[type=datetime-local].form-input{cursor:pointer}input[type=date].form-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.5;transition:opacity .15s}input[type=time].form-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.5;transition:opacity .15s}input[type=date].form-input::-webkit-calendar-picker-indicator:hover{opacity:1}input[type=time].form-input::-webkit-calendar-picker-indicator:hover{opacity:1}textarea.form-input{resize:vertical;min-height:80px}.data-table thead tr{z-index:10;background-color:var(--bg-card);position:sticky;top:0}.data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s}.data-table th.sortable:hover{color:var(--brand)}.data-table th .sort-indicator{opacity:.4;margin-left:.25rem;transition:opacity .15s;display:inline-flex}.data-table th.sortable:hover .sort-indicator{opacity:.7}.data-table th.sorted .sort-indicator{opacity:1;color:var(--brand)}.data-table .row-actions{opacity:0;align-items:center;gap:.25rem;transition:opacity .15s;display:flex}.data-table tbody tr:hover .row-actions{opacity:1}.data-table--compact td,.data-table--compact th{padding:.625rem 1rem}.skip-to-content{background:var(--brand);color:#fff;border-radius:0 0 var(--r-sm) var(--r-sm);z-index:10000;padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:top .2s;position:absolute;top:-100%;left:50%;transform:translate(-50%)}.skip-to-content:focus{top:0}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}:focus:not(:focus-visible){outline:none}@media (forced-colors:active){.badge,.btn,.alert{border:1px solid buttontext}}.dialog-backdrop{z-index:500;background:#0006;animation:.15s backdrop-in;position:fixed;inset:0}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}.dialog-content{background:var(--bg-card);-webkit-backdrop-filter:blur();border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);z-index:501;max-width:90vw;max-height:90vh;animation:dialog-in .2s var(--ease-out);position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}@keyframes dialog-in{0%{opacity:0;transform:translate(-50%,-48%)}to{opacity:1;transform:translate(-50%,-50%)}}.dialog-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.dialog-header h2{font-size:1.125rem;font-weight:600}.dialog-body{padding:1.5rem}.dialog-footer{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:.75rem;padding:1rem 1.5rem;display:flex}.cal-cell.cal-holiday:not(.cal-other):not(.cal-selected){background:var(--brand-soft)!important}.cal-cell.cal-holiday:not(.cal-other):not(.cal-selected):before{content:"";background:var(--brand);z-index:2;pointer-events:none;border-radius:6px 0 0 6px;width:3px;position:absolute;top:0;bottom:0;left:0}.cal-cell.cal-weekend:not(.cal-other):not(.cal-selected){background:var(--bg-subtle)!important}.cal-cell.cal-abs-vacation:not(.cal-selected){opacity:1;background:color-mix(in srgb, var(--leave-type-vacation) 15%, var(--bg-card))!important}.cal-cell.cal-abs-sick:not(.cal-selected){opacity:1;background:color-mix(in srgb, var(--leave-type-sick) 15%, var(--bg-card))!important}.cal-cell.cal-abs-special:not(.cal-selected){opacity:1;background:color-mix(in srgb, var(--leave-type-special) 15%, var(--bg-card))!important}.cal-cell.cal-abs-overtime_comp:not(.cal-selected){opacity:1;background:color-mix(in srgb, var(--leave-type-overtime) 15%, var(--bg-card))!important}.cal-cell.cal-abs-education:not(.cal-selected){opacity:1;background:color-mix(in srgb, var(--leave-type-education) 15%, var(--bg-card))!important}.cal-cell.cal-abs-unpaid:not(.cal-selected){opacity:1;background:color-mix(in srgb, var(--leave-type-unpaid) 15%, var(--bg-card))!important}.cal-section{margin-bottom:1rem;padding:0;overflow:hidden}.cal-header-row{border-bottom:1.5px solid var(--border);background:var(--bg-card)}.cal-dow{text-align:center;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:.5rem;font-size:.75rem;font-weight:700}.page{gap:var(--s-6);flex-direction:column;display:flex}.table-scroll{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.cal-grid{grid-template-columns:repeat(7,1fr);gap:3px;padding:3px;display:grid}.cal-cell{appearance:none;font:inherit;text-align:inherit;color:inherit;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;min-height:86px;transition:border-color .16s var(--ease), background .16s var(--ease);flex-direction:column;gap:6px;padding:8px;display:flex;position:relative}.cal-cell:disabled{cursor:default}.cal-cell:not(.cal-other):hover{border-color:var(--brand-light)}.cal-cell.cal-today{outline:1.5px solid var(--brand-light);outline-offset:-1.5px}.cal-cell.cal-weekend:not(.cal-today){background:var(--bg-subtle)}.cal-cell.cal-cell--disabled{opacity:.4;pointer-events:none;cursor:default;background:var(--bg-subtle)!important}.cal-cell--ok{border-left:3px solid var(--good)}.cal-cell--partial{border-left:3px solid var(--warn)}.cal-cell--missing{border-left:3px solid var(--bad)}.cal-cell--today-ok{border-left:3px solid var(--good)}.cal-cell--today-partial{border-left:3px solid var(--warn)}.cal-cell.cal-cell--arbzg-warn{border-color:var(--warn)}.cal-cell.cal-cell--arbzg-warn:after{content:"⚠";color:var(--warn);pointer-events:none;font-size:12px;line-height:1;position:absolute;top:6px;right:6px}.cal-cell .day-worked{font-family:var(--font-serif);font-variant-numeric:tabular-nums;color:var(--text);font-size:18px;font-weight:400;line-height:1}.cal-cell.cal-cell--arbzg-warn .day-worked{color:var(--bad)}.cal-cell .day-bal{font-size:.6875rem;font-family:var(--font-mono);font-weight:600}.cal-cell .day-bal.pos{color:var(--good)}.cal-cell .day-bal.neg{color:var(--bad)}.cal-cell .day-missing{font-size:.7rem;font-family:var(--font-mono);color:var(--bad);opacity:.75}.cal-cell .day-before-hire{color:var(--text-muted);opacity:.5;font-size:.75rem}.cal-cell .cal-abs-type{text-transform:uppercase;letter-spacing:.04em;opacity:.65;text-overflow:ellipsis;white-space:nowrap;font-size:.6rem;font-weight:700;line-height:1.2;display:block;overflow:hidden}.cal-cell.skeleton{background:linear-gradient(90deg, var(--bg-subtle) 25%, var(--border) 50%, var(--bg-subtle) 75%);background-size:200% 100%;animation:1.5s infinite skeleton-shimmer}.cal-cell.cal-other:not(.cal-selected){opacity:.35;cursor:default;background:var(--bg-card)}.cal-today{box-shadow:inset 0 0 0 2px var(--brand)}.cal-cell.cal-selected:not(.cal-other){z-index:1;background-color:var(--brand)!important;box-shadow:0 0 0 2px var(--brand), 0 4px 12px #00000026!important}.cal-cell.cal-selected:not(.cal-other) .cal-day-num,.cal-cell.cal-selected:not(.cal-other) .day-worked,.cal-cell.cal-selected:not(.cal-other) .day-bal,.cal-cell.cal-selected:not(.cal-other) .day-missing,.cal-cell.cal-selected:not(.cal-other) .cal-abs-type,.cal-cell.cal-selected:not(.cal-other) .cal-holiday-label{color:#fff!important}.cal-cell.cal-selected.cal-today:not(.cal-other){background-color:var(--bg-subtle)!important;box-shadow:inset 0 0 0 2px var(--brand)!important}.cal-cell.cal-selected.cal-today:not(.cal-other) .day-worked,.cal-cell.cal-selected.cal-today:not(.cal-other) .day-bal,.cal-cell.cal-selected.cal-today:not(.cal-other) .day-missing,.cal-cell.cal-selected.cal-today:not(.cal-other) .cal-abs-type,.cal-cell.cal-selected.cal-today:not(.cal-other) .cal-holiday-label{color:var(--text-muted)!important}.cal-day-num{color:var(--text-muted);flex-shrink:0;font-size:.8rem;font-weight:600;line-height:1}.cal-today .cal-day-num{background:var(--brand);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.7rem;display:flex}.cal-holiday-label{color:var(--brand);text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem;font-weight:600;line-height:1.2;display:block;overflow:hidden}.cal-nav{border-bottom:1px solid var(--border);background:var(--bg-card);grid-template-columns:auto 1fr auto;align-items:center;padding:1rem 1.25rem;display:grid}.cal-nav-center{justify-self:center;position:relative}.nav-btn{background:var(--bg-card);border:1.5px solid var(--border);cursor:pointer;min-height:44px;color:var(--text);box-shadow:var(--shadow-xs);border-radius:8px;align-items:center;padding:.6875rem;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;display:flex}.nav-btn:hover{background:var(--brand-soft);border-color:var(--brand-light);color:var(--brand)}.cal-nav-title{text-transform:capitalize;color:var(--text);letter-spacing:-.01em;cursor:pointer;border-radius:var(--r-sm);background:0 0;border:none;align-items:center;gap:.375rem;min-height:44px;padding:.6875rem .5rem;font-size:1.125rem;font-weight:700;transition:background .15s;display:flex}.cal-nav-title:hover{background:var(--bg-subtle)}.month-picker-backdrop{z-index:19;position:fixed;inset:0}.month-picker{z-index:20;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);min-width:240px;margin-top:.25rem;padding:.75rem;position:absolute;top:100%;left:50%;transform:translate(-50%)}.month-picker-year{justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.9375rem;font-weight:700;display:flex}.month-picker-year button{cursor:pointer;border-radius:var(--r-sm);color:var(--text-muted);background:0 0;border:none;padding:.25rem .5rem;font-size:1.25rem}.month-picker-year button:hover{background:var(--bg-subtle);color:var(--text)}.month-picker-grid{grid-template-columns:repeat(3,1fr);gap:.25rem;display:grid}.month-picker-btn{border-radius:var(--r-sm);cursor:pointer;color:var(--text);background:0 0;border:none;padding:.375rem;font-size:.8125rem;font-weight:500;transition:background .15s,color .15s}.month-picker-btn:hover{background:var(--brand-soft);color:var(--brand)}.month-picker-btn.active{background:var(--brand);color:#fff}.month-picker-today{border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;width:100%;color:var(--brand);background:0 0;margin-top:.5rem;padding:.375rem;font-size:.8125rem;font-weight:500}.month-picker-today:hover{background:var(--brand-soft)}.widget-action{color:var(--brand);white-space:nowrap;font-size:.8125rem;font-weight:400;text-decoration:none;transition:opacity .15s ease-out}.widget-action:hover{opacity:.75}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--pad-card);position:relative}.card.dark-fill{background:var(--bg-elevated)}.card-hd{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.card-title{letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);font-size:11px;font-weight:600}.card-sub{font-family:var(--font-serif);color:var(--brand-light);margin-top:2px;font-size:13px;font-style:italic}.card-hd-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.card-foot{border-top:1px solid var(--border);color:var(--text-muted);align-items:center;gap:10px;margin-top:14px;padding-top:14px;font-size:12px;display:flex}.kpi{flex-direction:column;gap:4px;display:flex}.kpi .label,.kpi-label{letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);font-size:11px;font-weight:600}.kpi .value,.kpi-value{font-family:var(--font-serif);letter-spacing:.005em;font-variant-numeric:tabular-nums;color:var(--text);align-items:baseline;gap:6px;font-size:38px;font-weight:400;line-height:1;display:flex}.kpi .value .u,.kpi-unit{color:var(--text-muted);font-size:14px;font-family:var(--font-sans);font-variant-numeric:normal}.kpi .delta,.kpi-delta{color:var(--text-muted);align-items:center;gap:4px;font-size:12px;display:flex}.kpi .delta.up,.kpi-delta-good{color:var(--good)}.kpi .delta.down,.kpi-delta-bad{color:var(--bad)}.kpi-delta-warn{color:var(--warn)}.kpi .bar{background:var(--bg-subtle);border-radius:var(--r-pill);height:8px;margin-top:8px;position:relative;overflow:hidden}.kpi .bar-fill{background:var(--brand);border-radius:inherit;height:100%;transition:width .4s var(--ease-out)}.btn{border-radius:var(--r-sm);font-family:var(--font-sans);cursor:pointer;transition:background .16s var(--ease), color .16s var(--ease), border-color .16s var(--ease), box-shadow .16s var(--ease), transform .16s var(--ease);white-space:nowrap;letter-spacing:.005em;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:0;padding:9px 16px;font-size:13.5px;font-weight:500;line-height:1.2;display:inline-flex}.btn-primary{background:var(--brand);color:var(--text-on-brand);box-shadow:var(--shadow-brand);border-radius:var(--r-sm);border-color:#0000}.btn-primary:hover:not(:disabled){background:var(--brand-light);box-shadow:var(--shadow-brand-lg);transform:translateY(-1px)}.btn-outline{border-color:var(--border-strong);color:var(--text);border-radius:var(--r-sm);background:0 0}.btn-outline:hover:not(:disabled){background:var(--bg-subtle)}.btn-ghost{color:var(--text-muted);border-radius:var(--r-sm);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--bg-subtle);color:var(--text)}.btn-danger{color:var(--bad);border-radius:var(--r-sm);background:0 0;border-color:#b423184d}.btn-danger:hover:not(:disabled){background:var(--bad-soft)}.btn.lg{padding:12px 22px;font-size:14.5px}.btn.sm{padding:6px 12px;font-size:12.5px}.btn.xs{padding:4px 9px;font-size:12px}.btn:disabled{opacity:.5;cursor:not-allowed}.chip{border-radius:var(--r-pill);letter-spacing:.02em;background:var(--bg-subtle);color:var(--text-muted);border:1px solid var(--border);align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.chip .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.chip-good{color:var(--good);background:var(--good-soft);border-color:#0000}.chip-warn{color:var(--warn);background:var(--warn-soft);border-color:#0000}.chip-bad{color:var(--bad);background:var(--bad-soft);border-color:#0000}.chip-brand{color:var(--brand);background:var(--brand-soft);border-color:#0000}[data-mode=dark] .chip-brand{color:var(--brand-light)}[data-mode=dark] .chip-good{color:#6bd49a}[data-mode=dark] .chip-warn{color:#fbbf24}[data-mode=dark] .chip-bad{color:#f87171}:where(button,a,input,select,textarea,[tabindex],summary):focus-visible{outline:2px solid var(--brand-light);outline-offset:2px;border-radius:var(--r-sm)}:where(button,a,input,select,textarea,[tabindex],summary):focus:not(:focus-visible){outline:none}.card.hover-lift{transition:transform .16s var(--ease), box-shadow .16s var(--ease);will-change:transform}.card.hover-lift:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.card-animate{animation:fadeUp .4s var(--ease-out) both}.card-animate:first-child{animation-delay:0s}.card-animate:nth-child(2){animation-delay:60ms}.card-animate:nth-child(3){animation-delay:.12s}.card-animate:nth-child(4){animation-delay:.18s}.card-animate:nth-child(5){animation-delay:.24s}.card-animate:nth-child(6){animation-delay:.3s}.fade-up{animation:fadeUp .4s var(--ease-out) both}.brand-rule{background:var(--brand);border-radius:1px;width:42px;height:2px;margin-bottom:14px}.serif-eyebrow{font-family:var(--font-serif);color:var(--brand-light);letter-spacing:.02em;font-size:14px;font-style:italic}.grid{gap:16px;display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-12{grid-template-columns:repeat(12,1fr);gap:18px}.col-4{grid-column:span 4}.col-5{grid-column:span 5}.col-6{grid-column:span 6}.col-7{grid-column:span 7}.col-8{grid-column:span 8}.col-12{grid-column:span 12}@media (width<=960px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.grid-12{grid-template-columns:repeat(6,1fr)}.col-4,.col-5,.col-6,.col-7,.col-8{grid-column:span 6}}.timer-card{background:linear-gradient(135deg, var(--brand-dark), var(--brand));color:#fff;border:0;position:relative;overflow:hidden}.timer-card:before{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff1f,#0000 70%);width:280px;height:280px;position:absolute;top:-40%;right:-20%}.timer-card .timer-display{font-family:var(--font-serif);letter-spacing:.01em;font-variant-numeric:tabular-nums;margin:12px 0 8px;font-size:96px;font-weight:300;line-height:1}.timer-card .timer-sub{font-style:italic;font-family:var(--font-serif);opacity:.85;font-size:15px}.timer-card .card-title{color:#ffffffb3}.timer-card .card-foot{border-color:#ffffff2e}.live-dot{background:#6bd49a;border-radius:50%;width:8px;height:8px;animation:2s infinite pulse-dot;display:inline-block;box-shadow:0 0 #6bd49a80}@keyframes pulse-dot{0%{box-shadow:0 0 #6bd49a66}50%{box-shadow:0 0 0 6px #0000}to{box-shadow:0 0 #0000}}.callout{border-radius:var(--r-md);background:var(--warn-soft);color:var(--warn);border:1px solid #0000;align-items:flex-start;gap:12px;padding:12px 14px;font-size:13px;display:flex}.callout.brand{background:var(--brand-soft);color:var(--brand)}[data-mode=dark] .callout.brand{color:var(--brand-light)}[data-mode=dark] .callout{color:#fbbf24}.callout.error{background:var(--bad-soft);color:var(--bad)}[data-mode=dark] .callout.error{color:#f87171}.callout .ico{flex-shrink:0;margin-top:1px}.callout b{font-weight:700}.callout p{color:inherit;margin:0;line-height:1.5}.modal-body .callout+.callout{margin-top:-4px}.scrim{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;overscroll-behavior:contain;animation:fadeUp .2s var(--ease-out);background:#1410188c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);flex-direction:column;width:min(560px,100vw - 32px);max-height:calc(100vh - 64px);display:flex;overflow:hidden;box-shadow:0 24px 60px #14101847}.modal-hd{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:14px;padding:22px 26px;display:flex}.modal-hd h3{font-family:var(--font-serif);color:var(--text);margin:4px 0 0;font-size:22px;font-weight:400;line-height:1.2}.modal-body{color:var(--text);flex-direction:column;gap:14px;padding:22px 26px;font-size:13.5px;line-height:1.55;display:flex;overflow-y:auto}.modal-foot{border-top:1px solid var(--border);background:var(--bg-subtle);align-items:center;gap:10px;padding:16px 26px;display:flex}.modal-foot .spacer{flex:1}.modal-close{border-radius:var(--r-sm);width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;flex-shrink:0;place-items:center;display:grid}.modal-close:hover{background:var(--bg-subtle);color:var(--text)}.mini-stat{flex-direction:column;gap:4px;display:flex}.mini-stat .label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);font-size:11px;font-weight:600}.mini-stat .value{font-family:var(--font-serif);color:var(--text);font-variant-numeric:tabular-nums;font-size:20px;font-weight:400}.approval-row{appearance:none;font:inherit;color:inherit;text-align:inherit;border:0;border-bottom:1px solid var(--border);cursor:pointer;width:100%;transition:background .12s var(--ease);background:0 0;grid-template-columns:44px 1fr auto auto;align-items:center;gap:14px;padding:14px 18px;display:grid}button.approval-row:disabled{cursor:default}.approval-row:last-child{border-bottom:0}.approval-row:hover{background:var(--bg-subtle)}.approval-row .avatar{background:var(--brand-soft);width:32px;height:32px;color:var(--brand);border-radius:50%;place-items:center;font-size:13px;font-weight:600;display:grid}[data-mode=dark] .approval-row .avatar{color:var(--brand-light)}.approval-row .who-name{color:var(--text);font-size:13.5px;font-weight:600}.approval-row .who-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:2px;font-size:12px;display:flex}.approval-row .dates{text-align:right;font-variant-numeric:tabular-nums;color:var(--text);font-size:13px}.approval-row .dates .days-sub{color:var(--text-muted);margin-top:2px;font-size:11.5px}.approval-row .actions{gap:6px;display:flex}.approval-row .approval-avatar{background:var(--brand-soft);width:32px;height:32px;color:var(--brand);border-radius:50%;place-items:center;font-size:13px;font-weight:600;display:grid}[data-mode=dark] .approval-row .approval-avatar{color:var(--brand-light)}.approval-row .approval-name-meta{min-width:0}.approval-row .approval-name{color:var(--text);font-size:13.5px;font-weight:600}.approval-row .approval-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:2px;font-size:12px;display:flex}.approval-row .approval-dates{text-align:right;font-variant-numeric:tabular-nums;color:var(--text);font-size:13px}.approval-row .approval-actions{gap:6px;display:flex}.tab-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px;padding:14px 18px;display:flex}.tab-bar .spacer{flex:1}.tab-bar .count-pill{border-radius:var(--r-pill);background:var(--bg-subtle);color:var(--text-faint);margin-left:4px;padding:1px 6px;font-size:11px}.tab-bar .btn-primary .count-pill{color:#fff;background:#ffffff38}.shift-grid{background:var(--border);border-radius:var(--r-sm);grid-template-columns:160px repeat(7,1fr);gap:2px;display:grid;overflow:hidden}.shift-grid .head{background:var(--bg-card);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);text-align:center;padding:12px 10px;font-size:11px;font-weight:600}.shift-grid .head.today-col{background:var(--brand-soft);color:var(--brand)}.shift-grid .who-cell{background:var(--bg-card);flex-direction:column;gap:2px;padding:14px 12px;display:flex}.shift-grid .who-cell .name{color:var(--text);font-size:13px;font-weight:600}.shift-grid .who-cell .role{color:var(--text-muted);font-size:11px}.shift-grid .shift-cell{background:var(--bg-card);place-items:center;min-height:56px;padding:6px;display:grid}.shift-grid .shift-cell.off{color:var(--text-faint);font-size:12px;font-style:italic}.shift-pill{background:var(--brand-soft);color:var(--brand);border-radius:var(--r-sm);font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap;text-overflow:ellipsis;width:100%;padding:6px 10px;font-size:12.5px;font-weight:600;line-height:1.2;overflow:hidden}[data-mode=dark] .shift-pill{color:var(--brand-light)}.shift-pill.late{background:color-mix(in srgb, var(--brand) 14%, transparent)}[data-skin=modern] body{background:radial-gradient(circle at 12% 18%, #b879f01f, transparent 42%), radial-gradient(circle at 88% 84%, #7c8cff1a, transparent 46%), var(--bg);background-attachment:fixed}[data-skin=modern][data-mode=dark] body{background-image:radial-gradient(circle at 12% 18%,#b879f038,#0000 44%),radial-gradient(circle at 88% 84%,#7c8cff29,#0000 48%),radial-gradient(#ffffff0d 1px,#0000 1px);background-size:auto,auto,24px 24px}[data-skin=modern][data-mode=light] body{background-image:radial-gradient(circle at 12% 18%,#b879f01a,#0000 44%),radial-gradient(circle at 88% 84%,#7c8cff14,#0000 48%),radial-gradient(#14141e0f 1px,#0000 1px);background-size:auto,auto,24px 24px}[data-skin=modern] .sidebar,[data-skin=modern] .topbar{background:var(--bg-card);-webkit-backdrop-filter:blur(20px)saturate(140%);border-color:var(--border)}[data-skin=modern] .sidebar{border-right:1px solid var(--border)}[data-skin=modern] .topbar{border-bottom:1px solid var(--border)}[data-skin=modern] .nav-item{border-radius:var(--r-pill);transition:background .16s var(--ease-out), color .16s var(--ease-out);font-weight:500}[data-skin=modern] .nav-item:hover{background:var(--brand-soft);color:var(--text)}[data-skin=modern] .nav-item.active,[data-skin=modern] .nav-item[aria-current=page]{background:var(--brand-soft);color:var(--brand)}[data-skin=modern] h1{font-family:var(--font-sans);letter-spacing:-.02em;font-weight:700}[data-skin=modern] h1 em{background:linear-gradient(135deg, var(--brand-light), var(--brand));color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal;font-weight:800}[data-skin=modern] .eyebrow,[data-skin=modern] .page-eyebrow{border-radius:var(--r-pill);background:var(--brand-soft);color:var(--brand);font-family:var(--font-sans);letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;font-size:11px;font-style:normal;font-weight:600;display:inline-block}[data-skin=modern] .card:not(.timer-card){background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);-webkit-backdrop-filter:blur(16px)saturate(140%);position:relative;overflow:hidden}[data-skin=modern] .card:not(.timer-card):before{content:"";border-radius:inherit;pointer-events:none;opacity:.8;background:linear-gradient(135deg,#ffffff1a,#0000 40%);position:absolute;inset:0}[data-skin=modern][data-mode=light] .card:not(.timer-card):before{background:linear-gradient(135deg,#ffffff8c,#0000 40%)}[data-skin=modern] .timer-card{background:linear-gradient(135deg, var(--brand-dark), var(--brand));color:#fff;-webkit-backdrop-filter:none;box-shadow:var(--shadow-brand,0 18px 60px #b879f073);border:0}[data-skin=modern] .kpi .value{font-family:var(--font-sans);letter-spacing:-.03em;font-size:48px;font-weight:800;line-height:1}[data-skin=modern] .kpi .value .unit,[data-skin=modern] .kpi .unit{font-family:var(--font-mono);color:var(--text-muted);margin-left:.25em;font-size:.55em;font-weight:500}[data-skin=modern] .btn{border-radius:var(--r-pill);font-family:var(--font-sans);letter-spacing:0;font-weight:600}[data-skin=modern] .btn-primary,[data-skin=modern] .btn.primary,[data-skin=modern] .btn-brand{background:linear-gradient(135deg, var(--brand-light), var(--brand));color:var(--text-on-brand);box-shadow:var(--shadow-brand);border:0}[data-skin=modern][data-mode=dark] .btn-primary,[data-skin=modern][data-mode=dark] .btn.primary,[data-skin=modern][data-mode=dark] .btn-brand{color:#0a0a10}[data-skin=modern] .btn-primary:hover,[data-skin=modern] .btn.primary:hover,[data-skin=modern] .btn-brand:hover{box-shadow:var(--shadow-brand-lg);transform:translateY(-1px)}[data-skin=modern] .table td.num,[data-skin=modern] table td.num,[data-skin=modern] .tabular{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:500}[data-skin=modern] .cal-cell.cal-today{box-shadow:0 0 0 2px var(--brand), 0 0 18px var(--brand-soft);position:relative}[data-skin=modern] .serif{font-family:var(--font-sans);font-style:normal;font-weight:600}.av-pill{align-items:center;gap:var(--s-1);border-radius:var(--r-pill);font-size:11.5px;font-weight:500;font-family:var(--font-sans);background:var(--bg-card);color:var(--text-muted);border:1px solid var(--border);min-height:24px;padding:4px 8px;line-height:1;display:inline-flex}.av-pill--available{color:var(--good);background:var(--good-soft);border-color:var(--good)}.av-pill--unavailable{color:var(--bad);background:var(--bad-soft);border-color:var(--bad)}.av-pill--preferred{color:var(--brand);background:var(--brand-soft);border-color:var(--brand)}.av-pill--default{color:var(--text-muted)}.sp-avail-badge--unavailable{color:var(--bad);background:var(--bad-soft);border-color:var(--bad)}.sp-avail-badge--preferred{color:var(--brand);background:var(--brand-soft);border-color:var(--brand)}.sp-cell--drop-target{outline:2px dashed var(--brand);outline-offset:-2px;background:color-mix(in srgb, var(--brand) 8%, transparent);transition:background .12s var(--ease)}.sp-cell--drop-hover{background:color-mix(in srgb, var(--brand) 18%, transparent)}.sp-tpl-chip{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.sp-tpl-chip:active{cursor:grabbing}.sp-tpl-chip--dragging{opacity:.55}.sp-tpl-chip--shadow{visibility:hidden}.dnd-action-dragged-el{box-shadow:var(--shadow-md);border-radius:var(--r-md)}.dnd-action-dragged-el,.dnd-action-dragged-el.card-animate,.sp-tpl-chip.dnd-action-dragged-el,.sp-shift-pill.dnd-action-dragged-el{animation:none!important}.sp-shift-pill{touch-action:none;-webkit-user-select:none;user-select:none}.sp-shift-pill--dragging{opacity:.55}.sp-cell--drop-blocked{cursor:not-allowed}.toast-container.svelte-zemmny{z-index:9999;pointer-events:none;flex-direction:column;gap:.625rem;width:calc(100vw - 3rem);max-width:420px;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.toast.svelte-zemmny{border-radius:var(--r-sm);background:var(--bg-card);-webkit-backdrop-filter:blur();border:1px solid var(--toast-border);box-shadow:var(--shadow-md);color:var(--text);pointer-events:auto;will-change:transform, opacity;align-items:flex-start;gap:.625rem;padding:.875rem 1rem .875rem calc(1rem + 6px);font-size:.9375rem;line-height:1.45;display:flex;position:relative}.toast-icon.svelte-zemmny{color:var(--toast-color);flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;display:flex}.toast-message.svelte-zemmny{word-break:break-word;flex:1;min-width:0}.toast-close.svelte-zemmny{width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;margin:-10px -10px -10px 0;padding:10px;transition:background-color .15s,color .15s;display:flex}.toast-close.svelte-zemmny:hover{background-color:var(--bg-alt);color:var(--text)}.toast.svelte-zemmny:before{content:"";background:var(--toast-color);border-radius:var(--r-sm) 0 0 var(--r-sm);width:3px;position:absolute;top:0;bottom:0;left:0}@media (width<=480px){.toast-container.svelte-zemmny{width:auto;max-width:none;bottom:1rem;left:1rem;right:1rem}}
