:root{color-scheme:light;--bg: hsl(187, 25%, 99%);--surface: #ffffff;--surface-muted: hsl(187, 12%, 97%);--surface-raised: #ffffff;--surface-2: hsl(187, 14%, 95%);--border: #eaecf0;--border-strong: #dbe2ea;--input-bg: #ffffff;--text: #0f172a;--text-soft: #334155;--muted: #64748b;--muted-light: #94a3b8;--primary: #468189;--primary-dark: #35676e;--primary-tint: #eaf2f3;--primary-tint-hover: #d5e5e7;--focus-ring: rgba(70, 129, 137, .22);--secondary: #0f172a;--on-primary: #ffffff;--success: #03c95a;--success-tint: #e8faf0;--success-text: #03934a;--danger: #e70d0d;--danger-text: #e70d0d;--danger-tint: #fae7e7;--warning: #ffc107;--warning-tint: #fff9e9;--warning-text: #b7791f;--info: #356598;--info-tint: #f0f4f9;--neutral-tint: hsl(187, 14%, 95%);--neutral-text: #64748b;--toggle-off: #cbd5e1;--weekday-bg: var(--success-tint);--weekday-border: #12a150;--weekday-text: #03703a;--weekend-bg: #d92d20;--weekend-text: #ffffff;--unsaved-dot: #f59e0b;--shadow: none;--shadow-lg: none;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--space-page: 24px;--topbar-height: 64px;--sidebar-width: 260px;--sidebar-mini-width: 78px;--font-body: "Mona Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-heading: "Mona Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-scale: 1;--text-xs: calc(12px * var(--font-scale));--text-sm: calc(14px * var(--font-scale));--text-md: calc(14px * var(--font-scale));--text-lg: calc(16px * var(--font-scale));--text-xl: calc(20px * var(--font-scale));--text-2xl: calc(24px * var(--font-scale));font-family:var(--font-body)}html[lang=bn]{--font-body: "Anek Bangla", "Noto Sans Bengali", "Noto Sans", sans-serif;--font-heading: "Anek Bangla", "Noto Sans Bengali", "Noto Sans", sans-serif;font-family:var(--font-body)}:root[data-theme=sky]{--bg: hsl(201, 35%, 99%);--surface-muted: hsl(201, 16%, 97%);--surface-2: hsl(201, 18%, 95%);--neutral-tint: hsl(201, 18%, 95%);--primary: #0284c7;--primary-dark: #0369a1;--primary-tint: #e0f2fe;--primary-tint-hover: #bae6fd;--focus-ring: rgba(2, 132, 199, .2);--secondary: #0f172a;--on-primary: #ffffff}:root[data-theme=indigo]{--bg: hsl(239, 35%, 99%);--surface-muted: hsl(239, 16%, 97%);--surface-2: hsl(239, 18%, 95%);--neutral-tint: hsl(239, 18%, 95%);--primary: #4f46e5;--primary-dark: #4338ca;--primary-tint: #eef2ff;--primary-tint-hover: #e0e7ff;--focus-ring: rgba(79, 70, 229, .2);--secondary: #0f172a;--on-primary: #ffffff}:root[data-theme=cyan]{--bg: hsl(189, 35%, 99%);--surface-muted: hsl(189, 16%, 97%);--surface-2: hsl(189, 18%, 95%);--neutral-tint: hsl(189, 18%, 95%);--primary: #0891b2;--primary-dark: #0e7490;--primary-tint: #ecfeff;--primary-tint-hover: #cffafe;--focus-ring: rgba(8, 145, 178, .2);--secondary: #0f172a;--on-primary: #ffffff}:root[data-theme=teal]{--bg: hsl(175, 35%, 99%);--surface-muted: hsl(175, 16%, 97%);--surface-2: hsl(175, 18%, 95%);--neutral-tint: hsl(175, 18%, 95%);--primary: #0d9488;--primary-dark: #0f766e;--primary-tint: #f0fdfa;--primary-tint-hover: #ccfbf1;--focus-ring: rgba(13, 148, 136, .2);--secondary: #0f172a;--on-primary: #ffffff}:root[data-theme=emerald]{--bg: hsl(158, 35%, 99%);--surface-muted: hsl(158, 16%, 97%);--surface-2: hsl(158, 18%, 95%);--neutral-tint: hsl(158, 18%, 95%);--primary: #059669;--primary-dark: #047857;--primary-tint: #ecfdf5;--primary-tint-hover: #d1fae5;--focus-ring: rgba(5, 150, 105, .2);--secondary: #0f172a;--on-primary: #ffffff}:root[data-theme=lime]{--bg: hsl(84, 35%, 99%);--surface-muted: hsl(84, 16%, 97%);--surface-2: hsl(84, 18%, 95%);--neutral-tint: hsl(84, 18%, 95%);--primary: #4d7c0f;--primary-dark: #3f6212;--primary-tint: #f7fee7;--primary-tint-hover: #ecfccb;--focus-ring: rgba(77, 124, 15, .2);--secondary: #0f172a;--on-primary: #ffffff}:root[data-theme=amber]{--bg: hsl(38, 35%, 99%);--surface-muted: hsl(38, 16%, 97%);--surface-2: hsl(38, 18%, 95%);--neutral-tint: hsl(38, 18%, 95%);--primary: #b45309;--primary-dark: #92400e;--primary-tint: #fffbeb;--primary-tint-hover: #fef3c7;--focus-ring: rgba(180, 83, 9, .2);--secondary: #0f172a;--on-primary: #ffffff}:root[data-theme=fuchsia]{--bg: hsl(292, 35%, 99%);--surface-muted: hsl(292, 16%, 97%);--surface-2: hsl(292, 18%, 95%);--neutral-tint: hsl(292, 18%, 95%);--primary: #c026d3;--primary-dark: #a21caf;--primary-tint: #fdf4ff;--primary-tint-hover: #fae8ff;--focus-ring: rgba(192, 38, 211, .2);--secondary: #0f172a;--on-primary: #ffffff}:root[data-theme=rose]{--bg: hsl(345, 35%, 99%);--surface-muted: hsl(345, 16%, 97%);--surface-2: hsl(345, 18%, 95%);--neutral-tint: hsl(345, 18%, 95%);--primary: #e11d48;--primary-dark: #be123c;--primary-tint: #fff1f2;--primary-tint-hover: #ffe4e6;--focus-ring: rgba(225, 29, 72, .2);--secondary: #0f172a;--on-primary: #ffffff}:root[data-theme=bluegray]{--bg: hsl(215, 25%, 99%);--surface-muted: hsl(215, 14%, 97%);--surface-2: hsl(215, 16%, 95%);--neutral-tint: hsl(215, 16%, 95%);--primary: #475569;--primary-dark: #334155;--primary-tint: #f1f5f9;--primary-tint-hover: #e2e8f0;--focus-ring: rgba(71, 85, 105, .2);--secondary: #0f172a;--on-primary: #ffffff}:root[data-theme=neutralgray]{--bg: hsl(240, 15%, 99%);--surface-muted: hsl(240, 10%, 97%);--surface-2: hsl(240, 12%, 95%);--neutral-tint: hsl(240, 12%, 95%);--primary: #52525b;--primary-dark: #3f3f46;--primary-tint: #f4f4f5;--primary-tint-hover: #e4e4e7;--focus-ring: rgba(82, 82, 91, .2);--secondary: #0f172a;--on-primary: #ffffff}:root[data-theme=warmgray]{--bg: hsl(30, 15%, 99%);--surface-muted: hsl(30, 10%, 97%);--surface-2: hsl(30, 12%, 95%);--neutral-tint: hsl(30, 12%, 95%);--primary: #57534e;--primary-dark: #44403c;--primary-tint: #f5f5f4;--primary-tint-hover: #e7e5e4;--focus-ring: rgba(87, 83, 78, .2);--secondary: #1c1917;--on-primary: #ffffff}:root[data-theme=smarthr]{--bg: hsl(20, 40%, 99%);--surface-muted: hsl(20, 16%, 97%);--surface-2: hsl(20, 18%, 95%);--neutral-tint: hsl(20, 18%, 95%);--primary: #f26522;--primary-dark: #d9531a;--primary-tint: #fef2eb;--primary-tint-hover: #fde2d4;--focus-ring: rgba(242, 101, 34, .2);--secondary: #0f172a}:root[data-theme=violet]{--bg: hsl(262, 40%, 99%);--surface-muted: hsl(262, 16%, 97%);--surface-2: hsl(262, 18%, 95%);--neutral-tint: hsl(262, 18%, 95%);--primary: #7c3aed;--primary-dark: #6d28d9;--primary-tint: #f3e8ff;--primary-tint-hover: #e9d5ff;--focus-ring: rgba(124, 58, 237, .2);--secondary: #0f172a}:root[data-theme=coastal]{--bg: hsl(187, 24%, 98%);--surface-muted: hsl(187, 14%, 96%);--surface-2: hsl(187, 16%, 94%);--neutral-tint: hsl(187, 16%, 94%);--primary: #468189;--primary-dark: #37676e;--primary-tint: #dcebe8;--primary-tint-hover: #c7dfda;--focus-ring: rgba(70, 129, 137, .22);--secondary: #031926}:root[data-mode=dark]{color-scheme:dark;--weekday-border: #22c55e;--weekday-text: #86efac;--weekend-bg: #b42318;--bg: hsl(187, 18%, 7%);--surface: hsl(187, 16%, 11%);--surface-muted: hsl(187, 14%, 15%);--surface-raised: hsl(187, 14%, 15%);--surface-2: hsl(187, 14%, 15%);--border: hsl(187, 10%, 15%);--border-strong: hsl(187, 10%, 20%);--input-bg: hsl(187, 14%, 14%);--text: #f8fafc;--text-soft: #cbd5e1;--muted: #94a3b8;--muted-light: #64748b;--primary: #5ea6ad;--primary-dark: #4c8f96;--primary-tint: #132427;--primary-tint-hover: #1c3438;--focus-ring: rgba(94, 166, 173, .35);--secondary: #f8fafc;--on-primary: #05171a;--success-tint: #10311f;--success-text: #4ade80;--danger-text: #ff8a8a;--danger-tint: #37181a;--warning-tint: #33290f;--warning-text: #e6b13d;--info: #6ba6e2;--info-tint: #162436;--neutral-tint: hsl(187, 14%, 15%);--neutral-text: #94a3b8;--toggle-off: #334155;--shadow: none;--shadow-lg: none}:root[data-theme=sky][data-mode=dark]{--bg: hsl(201, 18%, 7%);--surface: hsl(201, 16%, 11%);--surface-muted: hsl(201, 14%, 15%);--surface-raised: hsl(201, 14%, 15%);--surface-2: hsl(201, 14%, 15%);--border: hsl(201, 10%, 15%);--border-strong: hsl(201, 10%, 20%);--input-bg: hsl(201, 14%, 14%);--primary: #38bdf8;--primary-dark: #0ea5e9;--primary-tint: #0c2333;--primary-tint-hover: #13334a;--focus-ring: rgba(56, 189, 248, .32);--on-primary: #041b26}:root[data-theme=indigo][data-mode=dark]{--bg: hsl(239, 18%, 7%);--surface: hsl(239, 16%, 11%);--surface-muted: hsl(239, 14%, 15%);--surface-raised: hsl(239, 14%, 15%);--surface-2: hsl(239, 14%, 15%);--border: hsl(239, 10%, 15%);--border-strong: hsl(239, 10%, 20%);--input-bg: hsl(239, 14%, 14%);--primary: #818cf8;--primary-dark: #6366f1;--primary-tint: #1e1b4b;--primary-tint-hover: #2e2a72;--focus-ring: rgba(129, 140, 248, .32);--on-primary: #0f113a}:root[data-theme=cyan][data-mode=dark]{--bg: hsl(189, 18%, 7%);--surface: hsl(189, 16%, 11%);--surface-muted: hsl(189, 14%, 15%);--surface-raised: hsl(189, 14%, 15%);--surface-2: hsl(189, 14%, 15%);--border: hsl(189, 10%, 15%);--border-strong: hsl(189, 10%, 20%);--input-bg: hsl(189, 14%, 14%);--primary: #22d3ee;--primary-dark: #06b6d4;--primary-tint: #082f49;--primary-tint-hover: #0e3f60;--focus-ring: rgba(34, 211, 238, .32);--on-primary: #04222a}:root[data-theme=teal][data-mode=dark]{--bg: hsl(175, 18%, 7%);--surface: hsl(175, 16%, 11%);--surface-muted: hsl(175, 14%, 15%);--surface-raised: hsl(175, 14%, 15%);--surface-2: hsl(175, 14%, 15%);--border: hsl(175, 10%, 15%);--border-strong: hsl(175, 10%, 20%);--input-bg: hsl(175, 14%, 14%);--primary: #2dd4bf;--primary-dark: #14b8a6;--primary-tint: #042f2e;--primary-tint-hover: #0d3d3b;--focus-ring: rgba(45, 212, 191, .32);--on-primary: #042220}:root[data-theme=emerald][data-mode=dark]{--bg: hsl(158, 18%, 7%);--surface: hsl(158, 16%, 11%);--surface-muted: hsl(158, 14%, 15%);--surface-raised: hsl(158, 14%, 15%);--surface-2: hsl(158, 14%, 15%);--border: hsl(158, 10%, 15%);--border-strong: hsl(158, 10%, 20%);--input-bg: hsl(158, 14%, 14%);--primary: #34d399;--primary-dark: #10b981;--primary-tint: #022c22;--primary-tint-hover: #064e3b;--focus-ring: rgba(52, 211, 153, .32);--on-primary: #02241b}:root[data-theme=lime][data-mode=dark]{--bg: hsl(84, 18%, 7%);--surface: hsl(84, 16%, 11%);--surface-muted: hsl(84, 14%, 15%);--surface-raised: hsl(84, 14%, 15%);--surface-2: hsl(84, 14%, 15%);--border: hsl(84, 10%, 15%);--border-strong: hsl(84, 10%, 20%);--input-bg: hsl(84, 14%, 14%);--primary: #a3e635;--primary-dark: #84cc16;--primary-tint: #1a2e05;--primary-tint-hover: #274208;--focus-ring: rgba(163, 230, 53, .32);--on-primary: #142003}:root[data-theme=amber][data-mode=dark]{--bg: hsl(38, 18%, 7%);--surface: hsl(38, 16%, 11%);--surface-muted: hsl(38, 14%, 15%);--surface-raised: hsl(38, 14%, 15%);--surface-2: hsl(38, 14%, 15%);--border: hsl(38, 10%, 15%);--border-strong: hsl(38, 10%, 20%);--input-bg: hsl(38, 14%, 14%);--primary: #fbbf24;--primary-dark: #f59e0b;--primary-tint: #321f06;--primary-tint-hover: #451a03;--focus-ring: rgba(251, 191, 36, .32);--on-primary: #291502}:root[data-theme=fuchsia][data-mode=dark]{--bg: hsl(292, 18%, 7%);--surface: hsl(292, 16%, 11%);--surface-muted: hsl(292, 14%, 15%);--surface-raised: hsl(292, 14%, 15%);--surface-2: hsl(292, 14%, 15%);--border: hsl(292, 10%, 15%);--border-strong: hsl(292, 10%, 20%);--input-bg: hsl(292, 14%, 14%);--primary: #e879f9;--primary-dark: #d946ef;--primary-tint: #3b0744;--primary-tint-hover: #52125e;--focus-ring: rgba(232, 121, 249, .32);--on-primary: #2d0434}:root[data-theme=rose][data-mode=dark]{--bg: hsl(345, 18%, 7%);--surface: hsl(345, 16%, 11%);--surface-muted: hsl(345, 14%, 15%);--surface-raised: hsl(345, 14%, 15%);--surface-2: hsl(345, 14%, 15%);--border: hsl(345, 10%, 15%);--border-strong: hsl(345, 10%, 20%);--input-bg: hsl(345, 14%, 14%);--primary: #fb7185;--primary-dark: #f43f5e;--primary-tint: #380a14;--primary-tint-hover: #500f1e;--focus-ring: rgba(251, 113, 133, .32);--on-primary: #2e050f}:root[data-theme=bluegray][data-mode=dark]{--bg: hsl(215, 18%, 7%);--surface: hsl(215, 16%, 11%);--surface-muted: hsl(215, 14%, 15%);--surface-raised: hsl(215, 14%, 15%);--surface-2: hsl(215, 14%, 15%);--border: hsl(215, 10%, 15%);--border-strong: hsl(215, 10%, 20%);--input-bg: hsl(215, 14%, 14%);--primary: #94a3b8;--primary-dark: #64748b;--primary-tint: #0f172a;--primary-tint-hover: #1e293b;--focus-ring: rgba(148, 163, 184, .32);--on-primary: #0f172a}:root[data-theme=neutralgray][data-mode=dark]{--bg: hsl(240, 12%, 7%);--surface: hsl(240, 10%, 11%);--surface-muted: hsl(240, 8%, 15%);--surface-raised: hsl(240, 8%, 15%);--surface-2: hsl(240, 8%, 15%);--border: hsl(240, 6%, 15%);--border-strong: hsl(240, 6%, 20%);--input-bg: hsl(240, 8%, 14%);--primary: #a1a1aa;--primary-dark: #71717a;--primary-tint: #18181b;--primary-tint-hover: #27272a;--focus-ring: rgba(161, 161, 170, .32);--on-primary: #18181b}:root[data-theme=warmgray][data-mode=dark]{--bg: hsl(30, 12%, 7%);--surface: hsl(30, 10%, 11%);--surface-muted: hsl(30, 8%, 15%);--surface-raised: hsl(30, 8%, 15%);--surface-2: hsl(30, 8%, 15%);--border: hsl(30, 6%, 15%);--border-strong: hsl(30, 6%, 20%);--input-bg: hsl(30, 8%, 14%);--primary: #a8a29e;--primary-dark: #78716c;--primary-tint: #1c1917;--primary-tint-hover: #292524;--focus-ring: rgba(168, 162, 158, .32);--on-primary: #1c1917}:root[data-theme=smarthr][data-mode=dark]{--bg: hsl(20, 18%, 7%);--surface: hsl(20, 14%, 11%);--surface-muted: hsl(20, 12%, 15%);--surface-raised: hsl(20, 12%, 15%);--surface-2: hsl(20, 12%, 15%);--border: hsl(20, 10%, 15%);--border-strong: hsl(20, 10%, 20%);--input-bg: hsl(20, 12%, 14%);--primary: #ff7a3d;--primary-dark: #e86526;--primary-tint: #2a160d;--primary-tint-hover: #3a2013;--focus-ring: rgba(255, 122, 61, .32);--on-primary: #2a1405}:root[data-theme=violet][data-mode=dark]{--bg: hsl(262, 18%, 7%);--surface: hsl(262, 16%, 11%);--surface-muted: hsl(262, 14%, 15%);--surface-raised: hsl(262, 14%, 15%);--surface-2: hsl(262, 14%, 15%);--border: hsl(262, 10%, 15%);--border-strong: hsl(262, 10%, 20%);--input-bg: hsl(262, 14%, 14%);--primary: #a78bfa;--primary-dark: #8b5cf6;--primary-tint: #211538;--primary-tint-hover: #2e1e4d;--focus-ring: rgba(167, 139, 250, .32);--on-primary: #15092a}:root[data-theme=coastal][data-mode=dark]{--bg: hsl(187, 18%, 7%);--surface: hsl(187, 14%, 11%);--surface-muted: hsl(187, 12%, 15%);--surface-raised: hsl(187, 12%, 15%);--surface-2: hsl(187, 12%, 15%);--border: hsl(187, 10%, 15%);--border-strong: hsl(187, 10%, 20%);--input-bg: hsl(187, 12%, 14%);--primary: #6ba8af;--primary-dark: #468189;--primary-tint: #10201f;--primary-tint-hover: #182e2c;--focus-ring: rgba(107, 168, 175, .32);--on-primary: #05141a}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}svg.lucide,svg.lucide *,.lucide,.lucide *{stroke-width:1.5px!important}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:var(--muted-light)}html,body,.layout,.sidebar,.topbar,.panel,.card,.content,.table,.field input,.field select,.field textarea{transition:background-color .2s ease,border-color .2s ease,color .2s ease}.content>*{animation:pageFadeIn .18s ease-out}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--text-md);line-height:1.5}a{color:inherit;text-decoration:none}button{font-family:inherit;font-size:inherit;font-weight:600;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.centered-message{display:flex;align-items:center;justify-content:center;height:100vh;color:var(--muted)}.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh;position:relative;background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);padding:24px}.auth-theme-anchor{position:absolute;top:20px;right:24px;z-index:20}.login-card{background:color-mix(in srgb,var(--surface) 82%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.28);box-shadow:0 24px 48px -12px #0003,0 0 0 1px #ffffff1f inset;padding:36px;border-radius:16px;width:360px;position:relative}:root[data-mode=dark] .login-card{background:color-mix(in srgb,var(--surface) 72%,transparent);border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 48px -12px #0000008c,0 0 0 1px #ffffff0d inset}.login-card h1{margin:0 0 4px;font-size:var(--text-2xl);font-family:var(--font-heading)}.login-card .subtitle{color:var(--muted);margin:0 0 24px;font-size:var(--text-sm)}.field{margin-bottom:16px}.field label{display:block;font-size:var(--text-sm);font-weight:600;margin-bottom:6px}.field-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px}.field-label-row label{margin-bottom:0}.char-count{font-size:var(--text-xs);color:var(--muted);font-variant-numeric:tabular-nums}.char-count-full{color:var(--danger);font-weight:600}.field-hint{font-size:var(--text-xs);color:var(--danger);margin:6px 0 0}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea{background:var(--input-bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);font-family:inherit;font-size:var(--text-md)}input[type=checkbox],input[type=radio]{accent-color:var(--primary)}.field input,.field select,.field textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-md);font-family:inherit;background:var(--input-bg);color:var(--text)}.field input[type=checkbox],.field input[type=radio]{width:auto}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}.password-field{position:relative}.password-field input{padding-right:42px}.password-field input::-ms-reveal,.password-field input::-ms-clear{display:none}.password-toggle{position:absolute;top:0;right:0;height:100%;padding:0 12px;display:flex;align-items:center;background:none;border:none;cursor:pointer;color:var(--muted)}.password-toggle:hover{color:var(--text)}.password-toggle:focus-visible{outline:none;color:var(--primary)}.btn{border:none;background:var(--primary);color:var(--on-primary);padding:10px 16px;border-radius:var(--radius-md);font-weight:600;font-size:var(--text-md);display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background:var(--primary)}.btn:hover{background:var(--primary-dark)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-block{width:100%}.btn-success{background:var(--success);color:#fff}.btn-success:hover{background:#02a94c}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#c80b0b}.btn-danger-outline,.btn-outline-danger,.btn-danger-ghost,.btn-ghost-danger,.btn-danger-text{background:transparent;color:var(--danger-text);border:1px solid color-mix(in srgb,var(--danger-text) 35%,transparent);transition:background .15s ease,border-color .15s ease,color .15s ease}.btn-danger-outline:hover,.btn-outline-danger:hover,.btn-danger-ghost:hover,.btn-ghost-danger:hover,.btn-danger-text:hover{background:var(--danger-tint);border-color:var(--danger-text);color:var(--danger-text)}.btn-danger-outline:focus-visible,.btn-outline-danger:focus-visible,.btn-danger-ghost:focus-visible,.btn-ghost-danger:focus-visible,.btn-danger-text:focus-visible{outline:2px solid var(--danger);outline-offset:2px}.btn-danger-outline:disabled,.btn-outline-danger:disabled,.btn-danger-ghost:disabled,.btn-ghost-danger:disabled,.btn-danger-text:disabled{opacity:.6;cursor:not-allowed;background:transparent;border-color:color-mix(in srgb,var(--danger-text) 20%,transparent)}.btn-ghost{background:transparent;color:var(--primary);border:1px solid var(--border)}.btn-ghost:hover{background:var(--primary-tint)}.btn-sm{padding:7px 11px;font-size:var(--text-sm)}.alert{padding:10px 12px;border-radius:8px;font-size:var(--text-sm);margin-bottom:16px;white-space:pre-line}.alert-error{background:var(--danger-tint);color:var(--danger-text);border:1px solid color-mix(in srgb,var(--danger) 35%,transparent)}.alert-success{background:var(--success-tint);color:var(--success-text);border:1px solid color-mix(in srgb,var(--success) 35%,transparent)}.form-draft-notice{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.form-draft-actions{display:inline-flex;gap:4px}.alert-info{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.app-toast{font-size:var(--text-sm);border-radius:8px;padding:10px 12px;box-shadow:var(--shadow-md, 0 4px 12px rgba(0, 0, 0, .12))}.app-toast-error{background:var(--danger-tint);color:var(--danger-text);border:1px solid color-mix(in srgb,var(--danger) 35%,transparent)}.app-toast-success{background:var(--success-tint);color:var(--success-text);border:1px solid color-mix(in srgb,var(--success) 35%,transparent)}.app-toast-info{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.code-block{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-size:var(--text-xs);white-space:pre-wrap;word-break:break-word;max-height:220px;overflow:auto;margin:0}.layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--surface);color:var(--text);display:flex;flex-direction:column;flex-shrink:0;border-right:1px solid var(--border);transition:width .2s ease;position:sticky;top:0;height:100vh;align-self:flex-start}.sidebar-brand-block{display:flex;align-items:center;justify-content:space-between;height:var(--topbar-height);padding:0 12px 0 18px;border-bottom:1px solid var(--border);position:relative;gap:8px}.sidebar .brand{display:flex;align-items:center;gap:12px;flex:1;min-width:0;font-weight:600;color:inherit;text-decoration:none;cursor:pointer;border-radius:var(--radius-md);padding:6px;margin-left:-6px;transition:background .15s ease}.sidebar .brand:hover{background:var(--surface-muted)}.sidebar .brand:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.brand-mark{width:42px;height:42px;border-radius:var(--radius-lg);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--primary);color:var(--on-primary);font-size:calc(22px * var(--font-scale));line-height:1}.brand-gorilla{display:inline-flex;align-items:center;justify-content:center;font-size:calc(22px * var(--font-scale));line-height:1}.brand-copy{min-width:0}.brand-name{display:block;color:var(--secondary);font-family:var(--font-heading);font-size:calc(18px * var(--font-scale));line-height:1.1;font-weight:600}.brand-caption{display:block;margin-top:3px;color:var(--muted);font-size:var(--text-xs);font-weight:500}.sidebar-nav{flex:1;padding:14px 12px;overflow-y:auto;overflow-x:hidden;border-bottom:1px solid var(--border)}.nav-section{margin-bottom:12px}.nav-section-label{padding:8px 10px 7px;color:var(--muted-light);font-size:var(--text-sm);font-weight:500}.nav-item{position:relative;display:flex;align-items:center;gap:10px;min-height:42px;padding:9px 10px;margin:2px 0;color:var(--text-soft);font-size:var(--text-sm);font-weight:500;border-radius:0 var(--radius-md) var(--radius-md) 0;border:1px solid transparent;border-left:3px solid transparent;transition:background-color .15s ease,color .15s ease,opacity .15s ease}.nav-item:hover{background:var(--surface-muted);color:var(--text)}.nav-item.active{background:var(--primary-tint);color:var(--primary);border-color:var(--primary-tint-hover);border-left-color:var(--primary);box-shadow:none}.nav-icon{width:28px;height:28px;border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--muted);background:var(--surface-muted)}.nav-icon svg{width:17px;height:17px}.nav-item:hover .nav-icon,.nav-item.active .nav-icon{color:var(--on-primary);background:var(--primary)}.nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.sidebar-profile{display:flex;align-items:center;gap:8px;margin:12px 12px 14px;padding:0;border:none;border-radius:var(--radius-lg);background:transparent}.sidebar-about{padding:12px 10px 8px;margin-top:10px;border-top:1px dashed color-mix(in srgb,var(--border) 70%,transparent)}.sidebar-about-link{background:transparent;border:none;color:var(--muted);font-size:var(--text-xs);font-weight:600;cursor:pointer;padding:0;transition:color .15s ease;display:inline-flex;align-items:center;min-height:24px}.sidebar-about-link:hover{color:var(--primary);text-decoration:underline}.layout-mini-sidebar .sidebar-about{display:none}.nav-customize{padding:8px 10px 0;margin-top:10px}.nav-customize-btn{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 8px;background:transparent;border:1px dashed var(--border);border-radius:var(--radius-md);color:var(--text-soft);font-size:var(--text-xs);font-weight:600;cursor:pointer}.nav-customize-btn:hover{color:var(--primary);border-color:var(--primary)}.nav-edit-bar{display:flex;flex-wrap:wrap;gap:6px}.nav-edit-row{display:flex;align-items:center;gap:6px;min-height:42px;padding:4px 6px;margin:2px 0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-soft);font-size:var(--text-sm)}.nav-edit-row-dragging{position:relative;z-index:3;box-shadow:0 4px 12px #00000026}.nav-edit-handle,.nav-edit-move{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;background:transparent;border:none;border-radius:var(--radius-sm, 4px);color:var(--muted);cursor:pointer}.nav-edit-handle{cursor:grab;touch-action:none}.nav-edit-handle:hover,.nav-edit-move:hover:not(:disabled){color:var(--primary);background:var(--surface-muted)}.nav-edit-handle:focus-visible,.nav-edit-move:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.nav-edit-move:disabled{opacity:.35;cursor:default}.nav-edit-label{flex:1;min-width:0;overflow-wrap:anywhere;line-height:1.25}.layout-mini-sidebar .nav-customize{display:none}.sidebar-profile-link{display:flex;align-items:center;gap:10px;flex:1;min-width:0;color:inherit;text-decoration:none;border-radius:var(--radius-md)}.sidebar-profile-link:hover .sidebar-profile-name{color:var(--primary)}.sidebar-profile-link:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.sidebar-profile-text{min-width:0}.sidebar-profile img,.sidebar-avatar{width:34px;height:34px;border-radius:50%;flex-shrink:0}.sidebar-profile img{object-fit:cover}.sidebar-avatar{display:inline-flex;align-items:center;justify-content:center;background:var(--primary);color:var(--on-primary);font-size:var(--text-xs);font-weight:800}.sidebar-profile-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:var(--text-sm);font-weight:700}.sidebar-profile-role{color:var(--muted);font-size:var(--text-xs)}.sidebar-logout{flex-shrink:0;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-soft);cursor:pointer}.sidebar-logout svg{width:18px;height:18px}.sidebar-logout:hover{background:var(--primary-tint);border-color:var(--primary-tint-hover);color:var(--primary)}.sidebar-logout:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.sidebar .role-tag{padding:16px 20px;font-size:var(--text-xs);color:var(--muted);border-top:1px solid var(--border)}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:var(--topbar-height);background:var(--surface);border-bottom:1px solid var(--border);display:flex;flex-direction:row;align-items:center;justify-content:start;gap:16px;padding:0 24px;position:sticky;top:0;z-index:10}.topbar-title{grid-column:2;justify-self:start;min-width:0;width:100%;text-align:start}.topbar-title-row{display:flex;align-items:center;gap:8px;min-width:0}.topbar-title-text{margin:0;font-family:var(--font-heading);font-size:var(--text-md);font-weight:700;color:var(--secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-subtitle-text{margin:1px 0 0;font-size:var(--text-xs);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-right{display:flex;align-items:center;gap:12px;margin-left:auto;flex-shrink:0}.topbar .user{display:flex;align-items:center;gap:12px;font-size:var(--text-sm)}.sidebar-mode-toggle{width:34px;height:34px;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--text-soft);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .15s ease,border-color .15s ease,color .15s ease}.sidebar-mode-toggle:hover{background:var(--primary-tint);border-color:var(--primary-tint-hover);color:var(--primary)}.sidebar-mode-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.topbar-left{grid-column:1;display:flex;align-items:center;justify-self:start;gap:12px}.topbar-nav{display:flex;align-items:center;gap:8px}.topbar-nav-btn{width:34px;height:34px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-soft);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,opacity .15s ease}.topbar-nav-btn:hover:not(:disabled){background:var(--primary-tint);border-color:var(--primary-tint-hover);color:var(--primary)}.topbar-nav-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.topbar-nav-btn:disabled{opacity:.35;cursor:not-allowed}.mobile-nav-toggle{display:none;width:40px;height:40px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-soft);align-items:center;justify-content:center;flex-shrink:0}.mobile-nav-toggle:hover{background:var(--primary-tint);border-color:var(--primary-tint-hover);color:var(--primary)}.mobile-nav-toggle svg{width:22px;height:22px}.mobile-actions-toggle{display:none;width:34px;height:34px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-soft);align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background .15s ease,border-color .15s ease,color .15s ease;flex-shrink:0}.mobile-actions-toggle:hover{background:var(--primary-tint);border-color:var(--primary-tint-hover);color:var(--primary)}.mobile-actions-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.mobile-actions-chevron{transition:transform .2s cubic-bezier(.4,0,.2,1)}.mobile-actions-chevron.open{transform:rotate(180deg)}.sidebar-close,.sidebar-backdrop{display:none}.content{padding:var(--space-page);flex:1;min-width:0}.layout-mini-sidebar .sidebar{width:var(--sidebar-mini-width)}.layout-mini-sidebar .sidebar-brand-block{justify-content:center;padding:0 10px;position:relative}.layout-mini-sidebar .brand{justify-content:center;padding:0;margin:0;flex:0 0 auto}.layout-mini-sidebar .sidebar-brand-block .sidebar-mode-toggle{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:40px;height:40px;border-radius:var(--radius-lg);opacity:0;pointer-events:none;transition:opacity .15s ease,background .15s ease,color .15s ease}.layout-mini-sidebar .sidebar-brand-block:hover .sidebar-mode-toggle,.layout-mini-sidebar .sidebar-brand-block .sidebar-mode-toggle:focus-visible{opacity:1;pointer-events:auto}.layout-mini-sidebar .sidebar-brand-block:hover .brand{opacity:0}.layout-mini-sidebar .brand-mark{width:40px;height:40px;font-size:var(--text-xs)}.layout-mini-sidebar .brand-copy,.layout-mini-sidebar .nav-section-label,.layout-mini-sidebar .nav-group-header span:first-child,.layout-mini-sidebar .nav-chevron,.layout-mini-sidebar .nav-label,.layout-mini-sidebar .sidebar-profile-text{display:none}.layout-mini-sidebar .sidebar-nav{padding:14px 10px;overflow-y:auto}.layout-mini-sidebar .nav-section{margin-bottom:8px}.layout-mini-sidebar .nav-group-header{height:8px;padding:0;margin:8px 0;border-top:1px solid var(--border);pointer-events:none}.layout-mini-sidebar .nav-group-items{display:grid;gap:2px}.layout-mini-sidebar .nav-item{justify-content:center;min-height:42px;padding:7px}.layout-mini-sidebar .nav-item:after{content:attr(data-label);position:fixed;left:var(--tip-left, calc(100% + 10px) );top:var(--tip-top, 50%);transform:translateY(-50%);z-index:20;min-width:max-content;max-width:220px;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);box-shadow:var(--shadow-lg);font-size:var(--text-sm);opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease}.layout-mini-sidebar .nav-item:hover:after,.layout-mini-sidebar .nav-item:focus-visible:after{opacity:1;transform:translate(2px,-50%)}.layout-mini-sidebar .nav-icon{width:30px;height:30px}.layout-mini-sidebar .sidebar-profile{position:relative;justify-content:center;margin-left:10px;margin-right:10px;padding:0}.layout-mini-sidebar .sidebar-profile-link{flex:0 0 auto;justify-content:center}.layout-mini-sidebar .sidebar-logout{position:absolute;top:4px;right:4px;width:24px;height:24px;opacity:0;transition:opacity .15s ease}.layout-mini-sidebar .sidebar-logout svg{width:14px;height:14px}.layout-mini-sidebar .sidebar-profile:hover .sidebar-logout,.layout-mini-sidebar .sidebar-profile:focus-within .sidebar-logout{opacity:1}.page-title{margin:0 0 20px;font-size:var(--text-2xl);font-family:var(--font-heading);color:var(--secondary)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}.page-header h1{margin:0;font-family:var(--font-heading);font-size:var(--text-2xl);line-height:1.2;color:var(--secondary)}.page-header p{margin:6px 0 0;color:var(--muted);max-width:720px}.page-eyebrow{color:var(--primary);font-size:var(--text-xs);font-weight:700;margin-bottom:6px}.page-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:24px}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-bottom:20px}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:18px;min-width:0}.metric-card-link{display:block;color:inherit;text-decoration:none;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.metric-card-link:hover{border-color:var(--primary);box-shadow:var(--shadow-md, 0 4px 12px rgba(0, 0, 0, .12))}@media(prefers-reduced-motion:no-preference){.metric-card-link:hover{transform:translateY(-1px)}}.metric-card-top{display:flex;justify-content:space-between;gap:12px;min-height:42px}.metric-icon{width:42px;height:42px;border-radius:var(--radius-lg);display:inline-flex;align-items:center;justify-content:center;font-weight:800}.metric-icon svg{width:22px;height:22px}.metric-icon-primary{color:var(--primary);background:var(--primary-tint)}.metric-icon-success{color:var(--success);background:var(--success-tint)}.metric-icon-warning{color:var(--warning-text);background:var(--warning-tint)}.metric-icon-danger{color:var(--danger);background:var(--danger-tint)}.metric-icon-info{color:var(--info);background:var(--info-tint)}.metric-icon-neutral{color:var(--text-soft);background:var(--surface-muted)}.metric-action{color:var(--muted)}.metric-label{margin-top:12px;color:var(--muted);font-size:var(--text-sm);font-weight:600}.metric-value{margin-top:4px;font-family:var(--font-heading);color:var(--text);font-size:calc(28px * var(--font-scale));font-weight:700;line-height:1.1}.metric-detail{margin-top:8px;color:var(--text-soft);font-size:var(--text-sm)}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:flex-start;gap:14px}.stat-card .stat-info{min-width:0}.stat-card .label{font-size:var(--text-sm);color:var(--muted);margin-bottom:8px}.stat-card .value{font-size:calc(28px * var(--font-scale));font-weight:700;font-family:var(--font-heading)}.stat-card .value.accent{color:var(--primary)}.stat-avatar{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-avatar svg{width:24px;height:24px}.stat-avatar-primary{background:var(--primary-tint);color:var(--primary)}.stat-avatar-success{background:var(--success-tint);color:var(--success)}.stat-avatar-warning{background:var(--warning-tint);color:var(--warning-text)}.stat-avatar-danger{background:var(--danger-tint);color:var(--danger)}.stat-avatar-info{background:var(--info-tint);color:var(--info)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow);margin-bottom:20px;min-width:0}.panel h2{margin:0 0 16px;font-size:var(--text-lg);font-family:var(--font-heading)}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.panel-header h2{margin:0}.panel-header a{color:var(--primary);font-size:var(--text-sm);font-weight:600;padding-block:3px;margin-block:-3px}.btn-link{display:inline-flex;align-items:center;min-height:24px}.dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;margin-bottom:20px;border:1px solid var(--border);border-radius:var(--radius-xl);background:linear-gradient(135deg,color-mix(in srgb,var(--primary-tint) 70%,var(--surface)) 0%,var(--surface) 58%),var(--surface)}.dashboard-hero-kicker{color:var(--primary);font-size:var(--text-xs);font-weight:800}.dashboard-hero h2{margin:6px 0;color:var(--secondary);font-size:var(--text-xl)}.dashboard-hero p{margin:0;color:var(--text-soft);max-width:680px}.dashboard-hero-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:20px}.quick-actions a{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);color:var(--text);font-weight:700}.quick-actions a:after{content:">";color:var(--primary)}.quick-actions a:hover{border-color:var(--primary-tint-hover);background:var(--primary-tint);color:var(--primary)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px 16px}.check-grid label{display:flex;align-items:center;gap:8px;font-weight:400;margin-bottom:0}.form-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,300px);gap:20px;align-items:start}.form-layout .two-col{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stack{display:grid;gap:20px}.stack>.panel{margin-bottom:0}.profile-header{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:28px;background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 93%,var(--primary) 7%),var(--surface));border:1px solid color-mix(in srgb,var(--border) 75%,var(--primary) 25%);border-radius:var(--radius-xl);box-shadow:0 4px 20px -2px #0000000d;margin-bottom:24px}.profile-header-main{display:flex;align-items:center;gap:22px;min-width:0;flex-wrap:wrap}.profile-avatar-container{position:relative;flex-shrink:0}.profile-avatar-clickable{cursor:pointer;transition:transform .2s ease}.profile-avatar-clickable:hover .profile-avatar{outline-color:var(--primary);transform:scale(1.03)}.profile-avatar-clickable:focus-visible{outline:2px solid var(--primary);outline-offset:4px;border-radius:50%}.profile-avatar{width:96px;height:96px;border-radius:50%;object-fit:cover;border:2px solid var(--surface);outline:3px solid color-mix(in srgb,var(--primary) 30%,transparent);box-shadow:0 8px 16px -4px #0000001f;flex-shrink:0}.profile-avatar.is-placeholder{background:var(--primary);color:var(--on-primary);display:flex;align-items:center;justify-content:center;font-size:var(--text-2xl);font-weight:700}.profile-avatar-badge{position:absolute;bottom:2px;right:2px;width:16px;height:16px;background:#10b981;border:2px solid var(--surface);border-radius:50%}.profile-header-info{min-width:0}.profile-header-name{margin:0;font-size:calc(26px * var(--font-scale));font-weight:700;font-family:var(--font-heading);color:var(--text);letter-spacing:-.02em}.profile-header-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:12px;color:var(--muted);font-size:var(--text-sm)}.profile-meta-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;background:var(--surface-muted);border:1px solid var(--border);border-radius:9999px;font-size:var(--text-xs);font-weight:500;color:var(--text-soft)}.profile-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:20px;margin-bottom:20px}.profile-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px;display:flex;flex-direction:column;transition:border-color .2s ease,box-shadow .2s ease;box-shadow:0 1px 3px #0000000a}.profile-card:hover{border-color:color-mix(in srgb,var(--border) 70%,var(--primary) 30%);box-shadow:0 4px 12px -2px #0000000f}.profile-section-header,.profile-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.profile-section-header h2{margin:0}.profile-card-title-group{display:flex;align-items:center;gap:10px}.profile-card-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--primary-tint);color:var(--primary-dark)}.profile-card-title{margin:0;font-size:var(--text-lg);font-weight:600;font-family:var(--font-heading);color:var(--text)}.profile-verified-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;font-size:calc(11px * var(--font-scale));font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary);border-radius:9999px;border:1px solid color-mix(in srgb,var(--primary) 25%,transparent)}.profile-edit-btn{width:32px;height:32px;border-radius:var(--radius-md);color:var(--muted);transition:all .15s ease}.profile-edit-btn:hover{color:var(--primary);background:var(--primary-tint)}.profile-detail-grid{display:grid;gap:14px;margin:0}.profile-detail-item{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:4px 0}.profile-detail-label{color:var(--muted);font-size:calc(13px * var(--font-scale));font-weight:500;flex-shrink:0}.profile-detail-value{margin:0;font-size:var(--text-sm);color:var(--text);font-weight:500;text-align:right;word-break:break-word}.profile-card-note{margin-top:14px;font-size:var(--text-xs);color:var(--muted);line-height:1.4;padding-top:12px;border-top:1px dashed color-mix(in srgb,var(--border) 60%,transparent)}.profile-security-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-md);margin-top:8px}.profile-security-info{display:flex;flex-direction:column;gap:2px}.profile-security-title{font-weight:600;font-size:var(--text-sm);color:var(--text)}.profile-security-desc{font-size:var(--text-xs);color:var(--muted);margin:0}.profile-picture-modal{position:relative;max-width:420px;width:100%;padding:28px 24px 24px;border-radius:var(--radius-lg)}.profile-picture-modal-close{position:absolute;top:14px;right:14px;z-index:10}.profile-picture-modal-body{display:flex;flex-direction:column}.profile-picture-view{display:flex;justify-content:center;align-items:center;margin-bottom:20px}.profile-picture-large{width:160px;height:160px;border-radius:50%;object-fit:cover;border:3px solid var(--surface);outline:4px solid color-mix(in srgb,var(--primary) 30%,transparent);box-shadow:0 10px 25px -5px #0000002e;flex-shrink:0}.profile-picture-large.is-placeholder{background:var(--primary);color:var(--on-primary);display:flex;align-items:center;justify-content:center;font-size:calc(52px * var(--font-scale));font-weight:700}.detail-list{display:grid;gap:16px;margin:0}.detail-row{display:grid;gap:2px}.detail-row dt{color:var(--muted);font-size:var(--text-xs)}.detail-row dd{margin:0;font-size:var(--text-md);color:var(--text);word-break:break-word}.badge-role{background:var(--primary-tint);color:var(--primary-dark)}.weekend-editor{display:flex;flex-direction:column;gap:16px;max-width:1040px}.weekend-editor>.alert,.weekend-editor .panel{margin-bottom:0}.weekend-card{padding:0;overflow:hidden}.weekend-card-body{padding:16px 14px;display:flex;flex-direction:column;gap:14px}.weekend-head{display:flex;flex-direction:column;gap:12px}.weekend-editor .weekend-summary{margin:0;font-size:calc(22px * var(--font-scale));line-height:28px;font-weight:700}.weekend-sentence{margin:4px 0 0;font-size:var(--text-sm);line-height:20px}.weekend-legend{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:14px;font-size:calc(13px * var(--font-scale));color:var(--text-soft)}.weekend-legend li{display:flex;align-items:center;gap:6px}.weekend-swatch{width:14px;height:14px;border-radius:4px;border:2px solid}.weekend-swatch.is-weekday{background:var(--weekday-bg);border-color:var(--weekday-border)}.weekend-swatch.is-weekend{background:var(--weekend-bg);border-color:var(--weekend-bg)}.weekend-dot{width:10px;height:10px;border-radius:50%;background:var(--unsaved-dot);flex-shrink:0}.weekend-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:10px}.weekend-tile{position:relative;aspect-ratio:1 / 1;min-height:64px;padding:6px;border-radius:12px;border:2px solid;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-family:inherit;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.weekend-tile.is-weekday{background:var(--weekday-bg);border-color:var(--weekday-border);color:var(--weekday-text)}.weekend-tile.is-weekend{background:var(--weekend-bg);border-color:var(--weekend-bg);color:var(--weekend-text)}.weekend-tile:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.weekend-tile:disabled{cursor:progress;opacity:.7}.weekend-tile-day{font-size:calc(18px * var(--font-scale));line-height:20px;font-weight:700}.weekend-tile-state{display:flex;align-items:center;gap:3px;font-size:calc(11px * var(--font-scale));line-height:14px;font-weight:600}.weekend-tile-dot{position:absolute;top:6px;right:6px;border:2px solid var(--surface)}.weekend-warning{margin:0;background:var(--warning-tint);color:var(--warning-text);border:1px solid color-mix(in srgb,var(--warning) 45%,transparent)}.weekend-bar{position:sticky;bottom:0;display:flex;align-items:center;gap:8px;padding:12px 14px;background:var(--surface-muted);border-top:1px solid var(--border);font-size:calc(13px * var(--font-scale))}.weekend-bar.is-dirty{background:var(--surface);border-top-color:var(--border-strong)}.weekend-bar-text{flex-grow:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:var(--text-sm)}.weekend-bar-text .muted{font-size:calc(13px * var(--font-scale));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.weekend-bar .btn{min-height:44px;flex-shrink:0}.weekend-extra{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.weekend-presets{display:flex;flex-direction:column;gap:10px}.weekend-editor .weekend-eyebrow{margin:0;font-size:calc(13px * var(--font-scale));font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}.weekend-chips{display:flex;flex-wrap:wrap;gap:8px}.weekend-chip{min-height:44px;padding:0 16px;border-radius:22px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-soft);font-family:inherit;font-size:var(--text-sm);font-weight:500;cursor:pointer}.weekend-chip[aria-pressed=true]{background:var(--primary-tint);border-color:var(--primary);color:var(--primary-dark)}.weekend-how{margin:0;white-space:normal}.weekend-how h2{margin:0 0 6px;font-size:var(--text-sm);font-weight:600}.weekend-how ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:calc(13px * var(--font-scale));line-height:19px}@media(min-width:700px){.weekend-card-body{padding:22px 24px;gap:20px}.weekend-head{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:24px}.weekend-editor .weekend-summary{font-size:var(--text-2xl);line-height:30px}.weekend-grid{grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:12px}.weekend-tile{border-radius:14px;gap:8px}.weekend-tile-day{font-size:var(--text-2xl);line-height:28px}.weekend-tile-state{font-size:calc(13px * var(--font-scale));gap:4px}.weekend-tile-state svg{width:14px;height:14px}.weekend-tile-dot{top:8px;right:8px;width:12px;height:12px}.weekend-bar{position:static;padding:14px 24px;gap:12px}.weekend-extra{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}.field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 16px}.field-grid .field-wide{grid-column:1 / -1}.field-grid .field{display:flex;flex-direction:column;justify-content:flex-end}@media(max-width:900px){.form-layout,.two-col{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-header{flex-direction:column}.dashboard-hero{align-items:flex-start;flex-direction:column}.dashboard-hero-actions{justify-content:flex-start}}@media(max-width:700px){.layout-mini-sidebar .sidebar,.sidebar{position:fixed;top:0;left:0;bottom:0;height:100vh;width:min(84vw,320px);border-right:1px solid var(--border);border-bottom:none;box-shadow:none;transform:translate(-100%);transition:transform .25s ease;z-index:60}.layout-mini-sidebar .sidebar.sidebar-open,.sidebar.sidebar-open{transform:translate(0);box-shadow:0 18px 48px #10182847}.layout-mini-sidebar .sidebar-brand-block{justify-content:flex-start;height:auto;padding:0}.layout-mini-sidebar .brand{justify-content:flex-start;height:auto;padding:18px 18px 16px}.layout-mini-sidebar .brand-copy,.layout-mini-sidebar .nav-section-label,.layout-mini-sidebar .nav-group-header span:first-child,.layout-mini-sidebar .nav-chevron,.layout-mini-sidebar .nav-label,.layout-mini-sidebar .sidebar-profile-text{display:block}.layout-mini-sidebar .nav-group-header{height:auto;padding:8px 10px 7px;border-top:none;pointer-events:auto}.layout-mini-sidebar .nav-item{justify-content:flex-start;padding:9px 10px}.layout-mini-sidebar .nav-item:after{display:none}.layout-mini-sidebar .sidebar-profile{justify-content:flex-start;margin:12px;padding:0}.layout-mini-sidebar .sidebar-profile-link{flex:1;justify-content:flex-start}.layout-mini-sidebar .sidebar-logout{position:static;width:32px;height:32px;opacity:1}.layout-mini-sidebar .sidebar-logout svg{width:18px;height:18px}.sidebar-nav,.layout-mini-sidebar .sidebar-nav{max-height:none;overflow-y:auto}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#10182873;z-index:50}.sidebar-close{display:inline-flex;align-items:center;justify-content:center;position:absolute;top:14px;right:12px;width:34px;height:34px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-soft);z-index:1}.sidebar-close svg{width:18px;height:18px}.sidebar-mode-toggle{display:none}.topbar{display:flex;flex-direction:row;align-items:center;gap:8px;height:auto;min-height:unset;padding:10px 14px;position:sticky;top:0;z-index:10}.topbar-left{display:flex;align-items:center;gap:6px;flex-shrink:0}.mobile-nav-toggle{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;flex-shrink:0}.topbar-nav{display:flex;align-items:center;gap:4px;flex-shrink:0}.topbar-title{display:flex;flex-direction:column;justify-content:center;min-width:0;flex:1;align-self:center;text-align:start;padding-left:2px;overflow:hidden}.topbar-title-text{font-size:var(--text-md);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-subtitle-text{display:none}.topbar-right{display:flex;align-items:center;gap:6px;flex-shrink:0;margin-left:auto}.mobile-actions-toggle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.topbar .user{display:none;align-items:center;gap:6px}.topbar.actions-open .user{display:flex;animation:fadeIn .15s ease-out}.content{padding:16px}.metric-grid{grid-template-columns:1fr}.modal{padding:22px;--modal-padding: 22px}.modal-actions{flex-direction:column-reverse}.modal-actions .btn{width:100%}.modal-actions:has(.btn-danger){flex-direction:column}.table th,.table td{padding:8px 10px;font-size:var(--text-sm)}.designations-toolbar{flex-direction:column;align-items:stretch}.designations-toolbar input,.designations-toolbar .btn{width:100%}}.table{width:100%;border-collapse:collapse;font-size:var(--text-md)}.table-wrap{width:100%;overflow-x:auto}.table th,.table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border)}@media(max-width:768px){.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table:not(.employees-table){width:max-content;min-width:100%}.table:not(.employees-table) th{white-space:nowrap;padding:10px 14px}.table:not(.employees-table) td{padding:10px 14px}.table:not(.employees-table) td:not(.table-longtext){white-space:nowrap}.table:not(.employees-table) td.table-longtext{white-space:normal;min-width:220px;max-width:360px}}@media(max-width:700px){.table th,.table td{padding:8px 6px}}.table th{color:var(--muted);font-weight:600;font-size:var(--text-xs);background:var(--surface-muted)}.table tbody tr:hover{background:color-mix(in srgb,var(--primary-tint) 45%,transparent)}.row-clickable>td:not(:last-child){cursor:pointer}.row-clickable:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.th-sortable:hover{color:var(--text)}.table tr:last-child td{border-bottom:none}.leave-types-table th:last-child,.leave-types-table td:last-child{width:1%;white-space:nowrap;text-align:center;padding-right:24px}.leave-types-table .row-actions{flex-wrap:nowrap;justify-content:center}.holiday-table-wrap{max-height:70vh;overflow:auto}.holiday-table th,.holiday-table td{padding:6px 12px}.holiday-table thead th{position:sticky;top:0;z-index:2;background:var(--primary-tint);color:var(--text);font-weight:700;border-bottom:2px solid var(--primary-tint-hover)}.holiday-table .holiday-month-row th{position:static;background:var(--surface-muted);color:var(--text-soft);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:4px 12px}.holiday-date{font-weight:700;color:var(--text);white-space:nowrap}.holiday-day{color:var(--muted)}.holiday-name-cell{color:var(--text)}.holiday-next-badge{margin-left:8px}.holiday-row-past .holiday-date,.holiday-row-past .holiday-name-cell{color:var(--muted);font-weight:400}.holiday-row-next{background:var(--primary-tint);box-shadow:inset 3px 0 0 var(--primary)}.holiday-calendar .dow{color:var(--text);background:var(--primary-tint);border-radius:6px;font-weight:700}.holiday-calendar .cell.holiday .holiday-name{color:var(--text);font-weight:600}.table-muted{color:var(--muted);font-size:var(--text-xs)}.table-longtext{max-width:320px;min-width:180px;white-space:pre-wrap;overflow-wrap:anywhere}.table-clamp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}.empty{color:var(--muted);font-size:var(--text-md);padding:16px 0}.badge-list{display:flex;flex-wrap:wrap;gap:4px}.employees-toolbar{flex-direction:column;align-items:stretch}.employees-toolbar input,.employees-toolbar .btn{width:100%}@media(min-width:700px){.employees-toolbar{flex-direction:row;align-items:center}.employees-toolbar input{flex:1 1 260px;min-width:0;width:auto}.employees-toolbar .btn{width:auto}}.employees-sort-mobile{display:flex;align-items:center;gap:8px;margin-bottom:12px}.employees-sort-mobile label{color:var(--muted);font-size:var(--text-sm);font-weight:600}.employees-sort-mobile select{flex:1 1 auto;min-width:0;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font-family:inherit;font-size:var(--text-sm)}.employees-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.employees-table,.employees-table tbody,.employees-table tr,.employees-table td{display:block}.employees-table tr{margin-bottom:12px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.employees-table tr:last-child{margin-bottom:0}.employees-table td{display:flex;align-items:baseline;gap:12px;padding:8px 14px;border-bottom:1px solid var(--border)}.employees-table td:before{content:var(--data-label);flex:0 0 88px;color:var(--muted);font-size:var(--text-xs);font-weight:600}.employees-table td:last-child{border-bottom:none}.employees-table td.empty{display:block;padding:16px 14px;text-align:center}.employees-table td.empty:before{content:none}.employees-table .row-actions{flex:1 1 auto}.employees-table .row-actions .btn{flex:1 1 auto;padding:9px 12px}@media(max-width:899px){.employees-table tr:last-child td:not(:last-child){border-bottom:1px solid var(--border)}}@media(min-width:900px){.employees-sort-mobile{display:none}.employees-table thead{position:static;width:auto;height:auto;overflow:visible;clip:auto;clip-path:none}.employees-table{display:table}.employees-table thead{display:table-header-group}.employees-table tbody{display:table-row-group}.employees-table tr{display:table-row;margin-bottom:0;border:none;border-radius:0;background:none}.employees-table td{display:table-cell;padding:10px 12px;border-bottom:1px solid var(--border)}.employees-table td:before{content:none}.employees-table .row-actions .btn{flex:0 0 auto;padding:6px 12px}.employees-table td[data-col=code],.employees-table td[data-col=type],.employees-table td[data-col=status]{white-space:nowrap}}@media(min-width:1200px){.employees-table .row-actions{flex-wrap:nowrap}}.empty-state{border:1px dashed var(--border-strong);border-radius:var(--radius-lg);padding:22px;text-align:center;background:var(--surface-muted)}.empty-state-title{color:var(--text);font-weight:700}.empty-state-description{margin-top:4px;color:var(--muted);font-size:var(--text-sm)}.empty-state-action{margin-top:14px}.muted,.subtitle{color:var(--muted);font-size:var(--text-sm);line-height:1.5}p.muted,p.subtitle{margin:0 0 16px}.check{display:flex;align-items:flex-start;gap:8px;margin-bottom:16px;font-size:var(--text-sm);color:var(--text-soft);cursor:pointer}.check input[type=checkbox]{width:auto;flex-shrink:0;margin-top:2px}.recipient-search{display:block;width:100%;max-width:360px;margin-bottom:8px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font-size:var(--text-sm)}.check-list{max-height:240px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-md);padding:4px 12px}.check-list .check{margin-bottom:0;padding:6px 0}.check-list .check:not(:last-child){border-bottom:1px solid var(--border)}.picker-option{display:block;width:100%;padding:6px 0;border:0;background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer}.picker-option:hover,.picker-option:focus-visible{color:var(--primary)}.check-list .picker-option:not(:last-child){border-bottom:1px solid var(--border)}.section-title{margin:22px 0 12px;font-size:var(--text-xs);font-weight:700;color:var(--muted)}.clearance-list{display:flex;flex-direction:column;gap:4px}.clearance-list .check{margin-bottom:0}.clearance-list input[type=checkbox]:disabled+span{color:var(--muted)}.plain-list{margin:0;padding-left:18px;color:var(--text-soft);font-size:var(--text-sm);line-height:1.7}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 20px;margin:0}.detail-item dt{font-size:var(--text-xs);color:var(--muted);margin-bottom:2px}.detail-item dd{margin:0;color:var(--text);word-break:break-word}.detail-item-wide{grid-column:1 / -1}.detail-longtext{white-space:pre-wrap;overflow-wrap:anywhere}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:var(--text-xs);font-weight:600}.badge-pending{background:var(--warning-tint);color:var(--warning-text)}.badge-approved,.badge-auto{background:var(--success-tint);color:var(--success-text)}.badge-experimental{flex-shrink:0;background:var(--warning-tint);color:var(--warning-text)}.badge-rejected{background:var(--danger-tint);color:var(--danger)}.badge-cancelled{background:var(--neutral-tint);color:var(--neutral-text)}.badge-incident{background:var(--warning-tint);color:#8a5a10}.badge-achievement{background:var(--success-tint);color:#026b36}.badge-coaching{background:var(--info-tint);color:#2c5580}.badge-general{background:var(--neutral-tint);color:var(--neutral-text)}.team-reviews{display:flex;flex-direction:column;gap:16px}.team-reviews>.alert,.team-reviews .panel{margin-bottom:0}.team-reviews-head{display:flex;flex-direction:column;gap:12px}.team-reviews-member{display:flex;align-items:flex-end;gap:12px}.team-reviews-avatar{width:40px;height:40px;flex-shrink:0;margin-bottom:2px;border-radius:999px;background:var(--primary-tint);color:var(--primary-dark);font-size:var(--text-sm);font-weight:700;display:flex;align-items:center;justify-content:center}.team-reviews-member-field{flex-grow:1;min-width:0}.team-reviews-tabs{display:flex;gap:8px}.team-reviews-tabs .btn{min-height:44px;flex-grow:1}.team-reviews-tabs [role=tab][aria-selected=true]{box-shadow:inset 0 -3px 0 0 var(--primary-dark)}.team-reviews-stream{min-width:0}.team-reviews-chips{display:flex;gap:8px;margin-bottom:14px;padding-bottom:2px;overflow-x:auto;scrollbar-width:none}.team-reviews-chips::-webkit-scrollbar{display:none}.team-reviews-chip{flex-shrink:0;min-height:44px;padding:0 14px;display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:var(--text-sm);font-weight:500;color:var(--text-soft);background:var(--surface);border:1px solid var(--border-strong);border-radius:999px;cursor:pointer}.team-reviews-chip[aria-pressed=true]{background:var(--primary-dark);border-color:var(--primary-dark);color:var(--on-primary);font-weight:600}.team-reviews-count{font-variant-numeric:tabular-nums;opacity:.85}.team-reviews-day{margin:16px 0 8px;font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.team-reviews-group:first-of-type .team-reviews-day{margin-top:0}.team-reviews-timeline{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.team-reviews-entry{padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-muted)}.team-reviews-entry-head{display:flex;flex-wrap:nowrap;align-items:center;gap:10px;margin-bottom:6px}.team-reviews-author{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-reviews-edit{margin-left:auto;flex-shrink:0}.team-reviews-body{margin:0;white-space:pre-wrap;line-height:20px}.team-reviews-edit-form{display:flex;flex-direction:column;gap:8px}.team-reviews-more{width:100%;min-height:44px;margin-top:12px}.team-reviews-form{display:flex;flex-direction:column;gap:14px}.team-reviews-form textarea,.team-reviews-questions textarea{width:100%;resize:vertical}.team-reviews-hint{margin:4px 0 0;font-size:calc(13px * var(--font-scale))}.team-reviews-group-label{display:block;font-size:var(--text-sm);font-weight:600;margin-bottom:6px}.team-reviews-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.team-reviews-choice-4{grid-template-columns:repeat(4,minmax(0,1fr))}.team-reviews-choice-5{grid-template-columns:repeat(5,minmax(0,1fr))}.team-reviews-choice-btn{min-height:44px;padding:0 12px;font:inherit;font-size:var(--text-sm);font-weight:500;color:var(--text-soft);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);cursor:pointer}.team-reviews-choice-btn.cat-incident{background:var(--warning-tint);color:#8a5a10}.team-reviews-choice-btn.cat-achievement{background:var(--success-tint);color:#026b36}.team-reviews-choice-btn.cat-coaching{background:var(--info-tint);color:#2c5580}.team-reviews-choice-btn.cat-general{background:var(--neutral-tint);color:var(--neutral-text)}.team-reviews-choice-btn[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:var(--on-primary);font-weight:600}.team-reviews-choice-btn:disabled{opacity:.6;cursor:not-allowed}.team-reviews-period{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.team-reviews-stepper{display:flex;align-items:center;gap:8px}.team-reviews-year{font-size:var(--text-lg);font-weight:700;min-width:64px;text-align:center;font-variant-numeric:tabular-nums}.team-reviews-status{display:flex;align-items:center;gap:12px;margin-bottom:14px}.team-reviews-progress-wrap{flex-grow:1;min-width:0;display:flex;flex-direction:column;gap:5px}.team-reviews-progress{display:block;height:6px;border-radius:999px;background:var(--border);overflow:hidden}.team-reviews-progress-fill{display:block;height:100%;background:var(--primary);border-radius:999px}.badge-draft{background:var(--warning-tint);color:#8a5a10}.badge-submitted{background:var(--success-tint);color:#026b36}.badge-notstarted{background:var(--neutral-tint);color:var(--neutral-text)}.team-reviews-questions{display:flex;flex-direction:column;gap:14px}.team-reviews-loading{margin:0;padding:8px 0}.team-reviews-status-note{margin:-6px 0 14px;font-size:calc(13px * var(--font-scale))}.team-reviews-questions{counter-reset:team-reviews-q}.team-reviews-question{counter-increment:team-reviews-q}.team-reviews-question>label:before,.team-reviews-question>.team-reviews-group-label:before{content:counter(team-reviews-q) ". " / "";color:var(--muted);font-variant-numeric:tabular-nums}.team-reviews-actionbar{position:sticky;bottom:0;z-index:5;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.team-reviews-actionbar .btn{min-height:48px}.team-reviews-add{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px}.team-reviews-share h2{margin:12px 0 4px;font-size:1rem}.team-reviews-share-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.team-reviews-shared-review+.team-reviews-shared-review{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.team-reviews-actions{display:flex;gap:10px}.team-reviews-actions .btn{flex-grow:1}.modal-backdrop:has(.team-reviews-sheet){align-items:flex-end;padding:0}.team-reviews-sheet{max-width:100%;border-bottom-left-radius:0;border-bottom-right-radius:0}@media(min-width:700px){.team-reviews{max-width:1200px}.team-reviews-head{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:16px}.team-reviews-member{flex-grow:1;max-width:420px}.team-reviews-tabs .btn{flex-grow:0}.team-reviews-columns{display:grid;grid-template-columns:360px minmax(0,1fr);gap:16px;align-items:start}.team-reviews-columns-flip{grid-template-columns:minmax(0,1fr) 360px}.team-reviews-composer,.team-reviews-rail{position:sticky;top:calc(var(--topbar-height) + 16px)}.team-reviews-rail{display:flex;flex-direction:column;gap:16px}.team-reviews-actions{flex-direction:column}}.toolbar{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap;align-items:center}.designations-toolbar input{flex:1 1 200px;min-width:0}.data-toolbar{display:flex;align-items:center;gap:14px;justify-content:space-between;flex-wrap:wrap;margin-bottom:16px}.data-toolbar-copy{min-width:220px}.data-toolbar-copy h2{margin:0;font-size:var(--text-lg)}.data-toolbar-copy p{margin:3px 0 0;color:var(--muted);font-size:var(--text-sm)}.data-toolbar-filters,.data-toolbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.data-toolbar-filters{min-width:0;max-width:100%}.data-toolbar-filters>*{min-width:0;max-width:100%}.data-toolbar-filter-row{display:flex;align-items:center;gap:10px;flex:1;flex-wrap:wrap;justify-content:flex-end}.data-toolbar-search{width:100%;max-width:360px;min-width:220px}@media(max-width:640px){.data-toolbar-filters{width:100%}.data-toolbar-filter-row{justify-content:flex-start}.data-toolbar-search{flex:1 1 100%;max-width:none;min-width:0}}.data-toolbar input,.data-toolbar select{padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text)}.toolbar-field{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);color:var(--muted)}.toolbar select,.toolbar input{padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-size:var(--text-sm);font-family:inherit;min-width:0;max-width:100%}.row-actions{display:flex;gap:8px;flex-wrap:wrap}.row-actions .btn{padding:6px 12px;font-size:var(--text-sm)}.pagination-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pagination-controls .btn{padding:6px 12px;font-size:var(--text-sm)}.tabs{display:flex;gap:0;margin-bottom:16px;flex-wrap:wrap}.tabs button{background:transparent;border:none;border-bottom:2px solid color-mix(in srgb,var(--border) 60%,transparent);border-radius:8px 8px 0 0;padding:8px 18px;font-size:var(--text-sm);font-weight:600;color:var(--text);cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.tabs button:hover:not(.active){background:color-mix(in srgb,var(--text) 5%,transparent);border-bottom-color:color-mix(in srgb,var(--border) 90%,transparent)}.tabs button.active{background:var(--primary);color:var(--on-primary);border-bottom:2px solid var(--primary-dark);border-radius:8px 8px 0 0}.admin-tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--border);margin-bottom:20px}.admin-tabs::-webkit-scrollbar{display:none}.admin-tabs button{white-space:nowrap;flex-shrink:0;min-height:44px;background:transparent;border:none;border-bottom:2px solid transparent;padding:4px 16px;font-size:var(--text-sm);font-weight:600;color:var(--text-soft);cursor:pointer;transition:color .15s ease,background-color .15s ease,border-color .15s ease}@media(min-width:768px){.admin-tabs button{min-height:38px}}.admin-tabs button:hover:not(.active){background:var(--surface-muted);color:var(--text)}.admin-tabs button.active{color:var(--primary);border-bottom-color:var(--primary)}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar .dow{font-size:var(--text-xs);font-weight:600;color:var(--muted);text-align:center;padding:6px 0}.calendar .cell{min-height:64px;border:1px solid var(--border);border-radius:6px;padding:4px 6px;font-size:var(--text-xs);background:var(--surface)}.calendar .cell.empty-cell{background:transparent;border:none}.calendar .cell.holiday{background:var(--primary-tint);border-color:var(--primary-tint-hover)}.calendar .cell .day-num{font-weight:600}.calendar .cell .holiday-name{color:var(--primary);margin-top:2px}.calendar .cell.out-of-range{background:var(--surface-muted);color:var(--muted);opacity:.5}.calendar .cell.weekend-cell{background:var(--surface-muted);border-color:var(--border);opacity:.85;filter:saturate(.65)}.calendar .cell.weekend-cell:hover{background:var(--surface-muted);opacity:.98;filter:saturate(.9)}.calendar .cell.gov-holiday-cell{background:var(--warning-tint);border-color:var(--warning);color:var(--warning-text)}.calendar .cell.gov-holiday-cell .holiday-name{color:var(--warning-text)}.calendar .cell.weekend-selected{outline:2px solid var(--primary);outline-offset:-2px;background:var(--primary);color:var(--on-primary)}.legend-dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px;vertical-align:middle}.legend-weekend{background:var(--surface-muted);border:1px solid var(--border)}.legend-holiday{background:var(--warning-tint);border:1px solid var(--warning)}.legend-approved{background:var(--primary);border:1px solid var(--primary)}.legend-pending{background:var(--warning-tint);border:1px dashed var(--warning)}.calendar.calendar-lg .cell{height:192px;display:flex;flex-direction:column;gap:2px;overflow:hidden}.calendar.calendar-lg .cell-chips{display:flex;flex-direction:column;gap:2px;min-height:0}.calendar-page-header{align-items:center}.calendar-view-tabs{margin-bottom:0}@media(min-width:701px){.calendar-page-bounded{display:flex;flex-direction:column;min-height:calc(100dvh - var(--topbar-height) - (var(--space-page) * 2));height:auto}.calendar-page-bounded .calendar-layout{flex:1;min-height:0;align-items:stretch}.calendar-page-bounded .calendar-layout.panel-closed{grid-template-rows:minmax(0,1fr) auto}.calendar-page-bounded .calendar-main-card{display:flex;flex-direction:column;min-height:0}.calendar-page-bounded .calendar.calendar-lg{flex:1;min-height:420px;grid-template-rows:auto repeat(var(--calendar-weeks, 6),minmax(0,1fr))}.calendar-page-bounded .calendar.calendar-lg .cell{height:auto;min-height:0}.calendar-page-bounded .calendar.calendar-lg .day-num{flex-shrink:0}.calendar-page-bounded .calendar.calendar-lg .cell-chips{flex:1;overflow-y:auto}}.calendar-controls{justify-content:space-between}.calendar-nav{display:flex;align-items:center;gap:8px}.calendar-toolbar-title{font-size:var(--text-lg);white-space:nowrap}.calendar-list-filters,.calendar-toolbar-tools,.calendar-legend{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.calendar-list-filters{justify-content:flex-end}.calendar-list-filters input{min-width:min(100%,240px);background:var(--input-bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);padding:8px 10px}.calendar-month-select select,.calendar-list-filters select{min-height:38px}.calendar-list-detail{margin-top:2px;color:var(--muted);font-size:var(--text-xs)}.calendar .cell.today-cell{border-color:var(--primary);box-shadow:inset 0 0 0 2px var(--primary);position:relative}.calendar-cell-header{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:2px}.today-badge{background:var(--primary);color:var(--on-primary, #ffffff);font-size:calc(10px * var(--font-scale));font-weight:700;text-transform:uppercase;padding:1px 5px;border-radius:4px;letter-spacing:.3px;line-height:1.3}.weekend-badge{background:#0000000d;color:var(--muted);font-size:calc(10px * var(--font-scale));font-weight:500;padding:1px 4px;border-radius:3px;line-height:1.3}.cell-badge{display:block;width:100%;text-align:left;border:none;border-radius:4px;padding:2px 6px;font-size:calc(11px * var(--font-scale));line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box}.cell-badge-holiday{background:var(--warning-tint);color:var(--warning-text);font-weight:600}.cell-badge-leave{background:var(--primary-tint);color:var(--primary);font-weight:600;border-left:2px solid var(--primary)}.cell-badge-wfh{background:#6366f11f;color:#4f46e5;font-weight:600;border-left:2px solid #6366f1}.cell-badge-lunch{background:#10b9811f;color:#059669;font-weight:500}.cell-badge-lunch.lunch-opted-out{background:var(--surface-muted);color:var(--muted);font-style:italic}.cell-badge-colleague{background:var(--surface-muted);color:var(--text);border:1px solid var(--border)}.leave-chip{display:block;width:100%;text-align:left;border:none;border-radius:4px;padding:1px 5px;font-size:var(--text-xs);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leave-chip.approved{background:var(--primary);color:var(--on-primary)}.leave-chip.pending{background:var(--warning-tint);color:var(--warning-text);border:1px dashed var(--warning)}.chip-more{border:none;background:transparent;color:var(--muted);font-size:var(--text-xs);font-weight:600;text-align:left;padding:0 5px}.calendar-popover{position:fixed;z-index:200;min-width:240px;max-width:300px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);padding:12px 14px}.calendar-popover-title{font-weight:700;font-size:var(--text-sm);margin-bottom:8px}.calendar-popover-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;border-top:1px solid var(--border)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:100;padding:24px;animation:backdropFadeIn .2s ease-out;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-backdrop-closing{animation:backdropFadeOut .16s ease-in forwards!important;pointer-events:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:24px;--modal-padding: 24px;width:100%;max-width:480px;box-shadow:0 20px 25px -5px #0000001f,0 8px 10px -6px #00000014;max-height:90vh;overflow-y:auto;overflow-x:hidden;animation:modalScaleIn .22s cubic-bezier(.16,1,.3,1);transition:transform .2s ease,opacity .2s ease}.modal:has(.modal-body){display:flex;flex-direction:column;overflow:hidden;padding:0}.modal:has(.modal-body)>.alert{margin-left:var(--modal-padding);margin-right:var(--modal-padding)}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}@keyframes backdropFadeOut{0%{opacity:1}to{opacity:0}}@keyframes modalScaleIn{0%{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes modalScaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.96) translateY(6px)}}@keyframes modalShake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.modal-shake{animation:modalShake .35s cubic-bezier(.36,.07,.19,.97) both!important}.modal-closing{animation:modalScaleOut .16s cubic-bezier(.16,1,.3,1) forwards!important;pointer-events:none!important}.modal>.modal-header,.modal>form>.modal-header,.modal>h2:first-child,.modal>form>h2:first-child{position:sticky;top:calc(-1 * var(--modal-padding));margin:calc(-1 * var(--modal-padding)) calc(-1 * var(--modal-padding)) 20px calc(-1 * var(--modal-padding));padding:18px 24px;background:color-mix(in srgb,var(--surface) 96.5%,var(--primary) 3.5%);border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent);border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0;z-index:10}.modal:has(.modal-body)>.modal-header,.modal:has(.modal-body)>form>.modal-header,.modal:has(.modal-body)>h2:first-child,.modal:has(.modal-body)>form>h2:first-child{position:static;margin:0}.modal-header-content{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.modal-title,.modal-header h2,.modal>h2:first-child,.modal>form>h2:first-child{font-size:calc(18px * var(--font-scale));font-family:var(--font-heading);font-weight:700;color:var(--text);line-height:1.3}.modal-title,.modal-header h2{margin:0}.modal-subtitle{margin:0;font-size:calc(13px * var(--font-scale));color:var(--muted);line-height:1.4}.modal-version{margin:0;font-size:var(--text-xs);color:var(--muted);line-height:1.4}.modal-close-btn{flex-shrink:0;color:var(--muted);transition:color .15s ease}.modal-close-btn:hover{color:var(--text)}.modal-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:20px 24px}.modal-description{color:var(--muted);margin:0 0 18px}.modal>.modal-actions,.modal>form>.modal-actions,.modal>form>.row-actions,.modal-actions{position:sticky;bottom:calc(-1 * var(--modal-padding));margin:24px calc(-1 * var(--modal-padding)) calc(-1 * var(--modal-padding)) calc(-1 * var(--modal-padding));padding:16px 24px;background:color-mix(in srgb,var(--surface) 96.5%,var(--primary) 3.5%);border-top:1px solid color-mix(in srgb,var(--border) 60%,transparent);border-bottom-left-radius:var(--radius-xl);border-bottom-right-radius:var(--radius-xl);display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-shrink:0;z-index:10}.modal:has(.modal-body)>form{display:flex;flex-direction:column;flex:1;min-height:0}.modal:has(.modal-body)>.modal-actions,.modal:has(.modal-body)>form>.modal-actions,.modal:has(.modal-body)>form>.row-actions{position:static;margin:auto 0 0}.modal-sticky-actions{position:sticky;bottom:calc(-1 * var(--modal-padding));margin:16px calc(-1 * var(--modal-padding)) calc(-1 * var(--modal-padding));padding:16px var(--modal-padding);background:color-mix(in srgb,var(--surface) 96.5%,var(--primary) 3.5%);border-top:1px solid color-mix(in srgb,var(--border) 60%,transparent);border-radius:0 0 var(--radius-xl) var(--radius-xl);z-index:2}.modal-actions .btn:not(.btn-ghost):not(.btn-secondary):not(.btn-danger):not(.btn-success),.modal-actions .btn-primary,.modal .row-actions .btn:not(.btn-ghost):not(.btn-secondary):not(.btn-danger):not(.btn-success),.modal .row-actions .btn-primary,.modal-sticky-actions .btn:not(.btn-ghost):not(.btn-secondary):not(.btn-danger):not(.btn-success),.modal-sticky-actions .btn-primary{background:var(--primary);color:var(--on-primary);border:1px solid var(--primary);box-shadow:0 1px 2px #00000014}.modal-actions .btn:not(.btn-ghost):not(.btn-secondary):not(.btn-danger):not(.btn-success):hover,.modal-actions .btn-primary:hover,.modal .row-actions .btn:not(.btn-ghost):not(.btn-secondary):not(.btn-danger):not(.btn-success):hover,.modal .row-actions .btn-primary:hover,.modal-sticky-actions .btn:not(.btn-ghost):not(.btn-secondary):not(.btn-danger):not(.btn-success):hover,.modal-sticky-actions .btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark);color:var(--on-primary)}.modal-actions .btn-ghost,.modal-actions .btn-secondary,.modal .row-actions .btn-ghost,.modal .row-actions .btn-secondary,.modal-sticky-actions .btn-ghost,.modal-sticky-actions .btn-secondary{background:#fff;color:var(--text);border:1px solid var(--border);box-shadow:0 1px 2px #0000000d}[data-mode=dark] .modal-actions .btn-ghost,[data-mode=dark] .modal-actions .btn-secondary,[data-mode=dark] .modal .row-actions .btn-ghost,[data-mode=dark] .modal .row-actions .btn-secondary,[data-mode=dark] .modal-sticky-actions .btn-ghost,[data-mode=dark] .modal-sticky-actions .btn-secondary,:root[data-mode=dark] .modal-actions .btn-ghost,:root[data-mode=dark] .modal-actions .btn-secondary,:root[data-mode=dark] .modal .row-actions .btn-ghost,:root[data-mode=dark] .modal .row-actions .btn-secondary,:root[data-mode=dark] .modal-sticky-actions .btn-ghost,:root[data-mode=dark] .modal-sticky-actions .btn-secondary{background:color-mix(in srgb,var(--surface) 82%,#ffffff 18%);color:#f8fafc;border:1px solid color-mix(in srgb,var(--border) 60%,rgba(255,255,255,.2) 40%);box-shadow:0 1px 2px #00000040}.modal-actions .btn-ghost:hover,.modal-actions .btn-secondary:hover,.modal .row-actions .btn-ghost:hover,.modal .row-actions .btn-secondary:hover,.modal-sticky-actions .btn-ghost:hover,.modal-sticky-actions .btn-secondary:hover{background:var(--surface-2);border-color:var(--border-strong, var(--border));color:var(--text)}[data-mode=dark] .modal-actions .btn-ghost:hover,[data-mode=dark] .modal-actions .btn-secondary:hover,[data-mode=dark] .modal .row-actions .btn-ghost:hover,[data-mode=dark] .modal .row-actions .btn-secondary:hover,[data-mode=dark] .modal-sticky-actions .btn-ghost:hover,[data-mode=dark] .modal-sticky-actions .btn-secondary:hover,:root[data-mode=dark] .modal-actions .btn-ghost:hover,:root[data-mode=dark] .modal-actions .btn-secondary:hover,:root[data-mode=dark] .modal .row-actions .btn-ghost:hover,:root[data-mode=dark] .modal .row-actions .btn-secondary:hover,:root[data-mode=dark] .modal-sticky-actions .btn-ghost:hover,:root[data-mode=dark] .modal-sticky-actions .btn-secondary:hover{background:color-mix(in srgb,var(--surface) 72%,#ffffff 28%);border-color:color-mix(in srgb,var(--border) 40%,rgba(255,255,255,.35) 60%);color:#fff}.modal-actions .btn-danger,.modal .row-actions .btn-danger,.modal-sticky-actions .btn-danger{background:var(--danger)!important;color:#fff!important;border:1px solid var(--danger)!important}.modal-actions .btn-danger:hover,.modal .row-actions .btn-danger:hover,.modal-sticky-actions .btn-danger:hover{background:#c80b0b!important;border-color:#c80b0b!important;color:#fff!important}.modal-actions .btn-success,.modal .row-actions .btn-success,.modal-sticky-actions .btn-success{background:var(--success)!important;color:#fff!important;border:1px solid var(--success)!important}.modal-actions .btn-success:hover,.modal .row-actions .btn-success:hover,.modal-sticky-actions .btn-success:hover{background:#02a94c!important;border-color:#02a94c!important;color:#fff!important}.modal-wide{max-width:700px}.modal h3{margin:18px 0 8px;font-size:var(--text-sm);font-family:var(--font-heading)}.about-modal{max-width:880px}.about-modal .modal-body{padding:22px 28px 26px}.about-feature-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:4px 0 8px}.about-feature-group{border:1px solid var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 97%,var(--primary) 3%);padding:14px 16px}.about-feature-group h4{margin:0 0 8px;font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--primary);font-family:var(--font-heading)}.about-feature-list,.about-contributor-list{margin:0;padding-left:18px;color:var(--text-soft)}.about-feature-list li{margin-bottom:6px;font-size:calc(13px * var(--font-scale));line-height:1.45}.about-feature-list li:last-child{margin-bottom:0}.about-contributor-list{display:flex;flex-wrap:wrap;gap:8px;padding-left:0;list-style:none}.about-contributor-list li{margin:0}.about-contributor-list a{display:inline-flex;align-items:center;padding:5px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:calc(12.5px * var(--font-scale));transition:border-color .15s ease,color .15s ease}.about-contributor-list a:hover{border-color:var(--primary);color:var(--primary)}@media(max-width:700px){.about-feature-groups{grid-template-columns:1fr}}.app-footer{padding:14px 24px;border-top:1px solid var(--border);display:flex;justify-content:center}.app-footer-link{background:transparent;border:none;color:var(--muted);font-size:var(--text-sm);font-weight:600;cursor:pointer;padding:0}.app-footer-link:hover{color:var(--primary);text-decoration:underline}.nav-group-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 10px 7px;background:transparent;border:none;color:var(--muted-light);font-size:var(--text-sm);font-weight:500;cursor:pointer;margin:4px 0 2px}.nav-group-header:hover{color:var(--text-soft)}.nav-group-header.nav-group-active{color:var(--primary)}.nav-chevron{display:inline-flex;align-items:center;justify-content:center;transition:transform .2s ease;transform:rotate(90deg)}.nav-chevron.nav-chevron-collapsed{transform:rotate(0)}.nav-group-items{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:1fr;transition:grid-template-rows .2s cubic-bezier(.16,1,.3,1),opacity .2s ease;overflow:hidden;opacity:1}.nav-group-items.collapsed{grid-template-rows:0fr;opacity:0}.nav-group-items-inner{min-height:0}.nav-sub-item{padding-left:10px}.nav-sub-item:hover{background:var(--surface-muted)}.nav-sub-item.active{background:var(--primary-tint);color:var(--primary)}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background:var(--toggle-off);border-radius:24px;transition:.2s}.toggle-slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.2s}.toggle-switch input:checked+.toggle-slider{background:var(--primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.toggle-switch input:disabled+.toggle-slider{cursor:not-allowed;opacity:.6}.theme-toggle,.theme-dropdown-trigger{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:transparent;border:1px solid var(--border);border-radius:8px;padding:0 12px;height:34px;box-sizing:border-box;font-size:var(--text-sm);font-weight:600;color:var(--text);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.theme-toggle:hover,.theme-dropdown-trigger:hover{background:var(--primary-tint);border-color:var(--primary);color:var(--primary)}.theme-toggle-icon{padding:7px 9px;color:var(--text-soft)}.theme-swatch{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.12);flex-shrink:0}.custom-select{position:relative}.custom-select-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;background:var(--input-bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);font-family:inherit;font-size:var(--text-md);text-align:left}.custom-select-trigger:disabled{opacity:.6;cursor:not-allowed}.custom-select-trigger:focus-visible{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}.custom-select-placeholder{color:var(--muted)}.custom-select-chevron{flex-shrink:0;color:var(--muted);transition:transform .2s ease}.custom-select-chevron.open{transform:rotate(180deg)}.custom-select-menu{position:fixed;z-index:150;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:4px;box-shadow:0 10px 25px -5px #0003,0 8px 10px -6px #0003;animation:modalScaleIn .15s ease-out}.custom-select-option{padding:8px 10px;border-radius:var(--radius-sm);font-size:var(--text-md);color:var(--text);cursor:pointer}.custom-select-option.highlighted{background:var(--surface-muted)}.custom-select-option.selected{color:var(--primary);font-weight:600}.theme-dropdown-container{position:relative;display:inline-flex}.theme-dropdown-indicator{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .15s ease}.theme-dropdown-swatch{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.12);flex-shrink:0}.theme-dropdown-icon{display:inline-flex;align-items:center;color:var(--text-soft)}.theme-dropdown-chevron{color:var(--muted);transition:transform .2s ease}.theme-dropdown-chevron.open{transform:rotate(180deg)}.theme-dropdown-menu{position:absolute;top:calc(100% + 6px);right:0;width:256px;max-height:calc(100vh - 75px);max-height:calc(100dvh - 75px);overflow-y:auto;overscroll-behavior:contain;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px;z-index:50;animation:modalScaleIn .15s ease-out;box-shadow:0 10px 25px -5px #0003,0 8px 10px -6px #0003}.notification-panel{max-height:min(420px,calc(100vh - 75px))!important;max-height:min(420px,calc(100dvh - 75px))!important;overflow-y:auto!important;overscroll-behavior:contain}.theme-dropdown-section{display:flex;flex-direction:column;gap:8px}.theme-dropdown-title{font-size:var(--text-xs);font-weight:700;color:var(--muted)}.theme-mode-segmented{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--surface-muted);padding:3px;border-radius:var(--radius-md);border:1px solid var(--border)}.theme-mode-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px;border:none;background:transparent;color:var(--muted);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;transition:background-color .15s ease,color .15s ease}.theme-mode-btn:hover{color:var(--text)}.theme-mode-btn.active{background:var(--surface);color:var(--text);border:1px solid var(--border)}.theme-lang-flag{font-size:var(--text-sm);line-height:1;display:inline-flex;align-items:center;justify-content:center}.theme-dropdown-divider{height:1px;background:var(--border);margin:10px 0}.theme-color-toggle-wrapper{background:var(--surface-muted);padding:3px;border-radius:var(--radius-md);border:1px solid var(--border)}.theme-color-summary-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:6px 10px;background:var(--primary-tint);border:1px solid var(--primary-tint-hover);border-radius:var(--radius-sm);cursor:pointer;box-sizing:border-box;transition:background-color .15s ease,border-color .15s ease}.theme-color-summary-btn:hover{background:var(--primary-tint-hover)}.theme-color-summary-left{display:flex;align-items:center;gap:8px}.theme-color-summary-swatch{width:16px;height:16px;border-radius:50%;border:1px solid rgba(0,0,0,.15);flex-shrink:0}.theme-color-name-label{font-size:var(--text-xs);font-weight:600;color:var(--text)}.theme-color-collapsible{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s cubic-bezier(.4,0,.2,1),opacity .2s ease,margin-top .2s ease;opacity:0;overflow:hidden;margin-top:0}.theme-color-collapsible.open{grid-template-rows:1fr;opacity:1;margin-top:8px}.theme-color-collapsible-inner{min-height:0;overflow:hidden}.theme-color-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;align-items:center;justify-items:center}.theme-color-btn{display:inline-flex;align-items:center;justify-content:center;padding:0;width:34px;height:34px;border-radius:50%;border:2px solid transparent;background:transparent;cursor:pointer;transition:transform .15s ease,border-color .15s ease}.theme-color-btn:hover{transform:scale(1.12)}.theme-color-btn.active{border-color:var(--text)}.theme-color-swatch-circle{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px #00000026}.theme-color-check{color:#fff;stroke-width:3px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.45))}.theme-color-empty-slot{width:34px;height:34px}.theme-color-option{display:flex;align-items:center;gap:10px;padding:6px 8px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text);font-size:var(--text-sm);font-weight:600;text-align:left;width:100%;transition:background-color .15s ease,opacity .15s ease}.theme-color-option:hover{background:var(--surface-muted)}.theme-color-option.active{background:var(--primary-tint);color:var(--primary);border-color:var(--primary-tint-hover)}.theme-color-preview{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.1);flex-shrink:0}.theme-color-name{flex:1}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-icon,.row-actions .btn-icon,table .row-actions .btn-icon,table td .btn-icon{width:32px;height:32px;min-width:32px;min-height:32px;padding:0!important;border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:background-color .15s ease,color .15s ease,opacity .15s ease}.btn-icon svg,.row-actions .btn-icon svg,table td .btn-icon svg{width:16px;height:16px;flex-shrink:0}.btn-icon:hover{opacity:.85}.table-action-container{position:relative;display:inline-flex;align-items:center;gap:6px}.table-action-trigger{color:var(--muted);border:1px solid var(--border);background:var(--surface);cursor:pointer;transition:all .15s ease}.table-action-trigger:hover,.table-action-trigger.active{color:var(--text);background:var(--surface-2);border-color:var(--border-strong, var(--border))}.table-action-menu{min-width:168px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:5px;box-shadow:0 10px 25px -5px #00000024,0 8px 10px -6px #00000014;z-index:50;display:flex;flex-direction:column;gap:2px;animation:tableActionMenuIn .15s cubic-bezier(.16,1,.3,1);transform-origin:top right}@keyframes tableActionMenuIn{0%{opacity:0;transform:scale(.95) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.table-action-item{display:flex;align-items:center;gap:9px;width:100%;padding:7px 10px;border-radius:var(--radius-md);border:none;background:transparent;color:var(--text);font-size:calc(13px * var(--font-scale));font-weight:500;text-align:left;cursor:pointer;transition:background-color .15s ease,color .15s ease;white-space:nowrap}.table-action-item:hover{background:color-mix(in srgb,var(--primary-tint) 65%,transparent);color:var(--primary)}.table-action-item-danger{color:var(--danger)}.table-action-item-danger:hover{background:color-mix(in srgb,var(--danger-tint) 70%,transparent);color:var(--danger)}.table-action-item-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:currentColor}.table-action-item-icon svg{width:15px;height:15px}.table-action-item-text{flex:1;min-width:0}@media(max-width:640px){.theme-toggle-label{display:none}.profile-header{flex-direction:column;align-items:flex-start;text-align:left}}.notif-matrix th:not(:first-child),.notif-matrix td:not(:first-child){text-align:center;width:96px}.notif-matrix th .check{justify-content:center}.notif-matrix .notif-warn{display:block;margin-top:4px;color:var(--warning-text, var(--muted))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.spinner{display:inline-block;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:var(--on-primary, #fff);animation:spinner-spin .7s linear infinite;flex-shrink:0}.spinner-sm{width:14px;height:14px}.spinner-md{width:20px;height:20px}:not(.btn)>.spinner{border-color:var(--border);border-top-color:var(--primary)}@keyframes spinner-spin{to{transform:rotate(360deg)}}.btn-busy{cursor:progress}.skeleton-group{display:flex;flex-direction:column;gap:8px}.skeleton-line{height:14px;border-radius:var(--radius-sm, 4px);background:linear-gradient(90deg,var(--surface-muted) 25%,var(--border) 50%,var(--surface-muted) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.top-progress-bar{position:fixed;top:0;left:0;width:0%;height:3px;background:var(--primary);z-index:2000;opacity:0;transition:opacity .15s ease}.top-progress-bar-visible{opacity:1;width:70%;transition:width 8s cubic-bezier(.1,.6,.2,1),opacity .15s ease}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:1.4s}.skeleton-line{animation:none;background:var(--surface-muted)}.top-progress-bar-visible{transition:opacity .15s ease}}.lunch-state-in{color:var(--success-text)}.lunch-state-out{color:var(--danger-text)}.lunch-today-panel{border-left:3px solid var(--primary)}.lunch-optout-form{align-items:flex-end}.lunch-optout-form>label{display:flex;flex-direction:column;gap:4px;font-size:var(--text-sm);font-weight:600}.lunch-employee-field{flex:1 1 220px}.lunch-reason-field{flex:1 1 320px;min-width:240px}.lunch-optout-form .lunch-reason-field input{width:100%}@media(max-width:768px){.lunch-optout-form{flex-direction:column;align-items:stretch}.lunch-optout-form>label,.lunch-optout-form .btn{width:100%}.lunch-optout-form>label{flex:0 0 auto}.lunch-optout-form input[type=date],.lunch-reason-field input{width:100%}}.lunch-optout-form>label.lunch-inline-check{flex:0 0 auto;flex-direction:row;align-items:center;gap:6px;font-weight:400;min-height:37px}.lunch-history-date{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer}.lunch-history-date:hover{color:var(--primary);text-decoration:underline}.drawer-heading{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:16px}.drawer-heading h2{margin:0}.offboarding-actions{flex-wrap:wrap;margin-top:20px}@media(max-width:700px){.offboarding-actions{gap:12px}.offboarding-actions .btn{min-height:44px}.modal .clearance-list .check{min-height:44px;align-items:center;padding:4px 0}}.a11y-options-list{display:flex;flex-direction:column;gap:4px}.a11y-option-row{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s ease}.a11y-option-row:hover{background:var(--surface-muted)}.a11y-option-row:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.a11y-option-info{display:flex;align-items:center;gap:8px;min-width:0}.a11y-option-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--muted);flex-shrink:0}.a11y-option-label{font-size:var(--text-xs);font-weight:500;color:var(--text);white-space:nowrap}.a11y-toggle{position:relative;width:34px;height:20px;border-radius:9999px;background:var(--toggle-off, #cbd5e1);border:none;padding:2px;cursor:pointer;flex-shrink:0;display:inline-flex;align-items:center;transition:background-color .2s ease}.a11y-toggle.active{background:var(--primary)}.a11y-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.a11y-toggle-thumb{width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s ease;transform:translate(0)}.a11y-toggle.active .a11y-toggle-thumb{transform:translate(14px)}.a11y-reset-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:7px 12px;margin-top:6px;font-size:var(--text-xs);font-weight:400;color:var(--text-soft);background:var(--neutral-tint);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.a11y-reset-btn:hover{background:var(--surface-2);border-color:var(--border-strong);color:var(--text)}.a11y-reset-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}html[data-a11y-large-text=true]{--font-scale: 1.15;font-size:115%!important}html[data-a11y-large-text=true] [style*="font-size: 10px"],html[data-a11y-large-text=true] [style*="font-size:10px"]{font-size:calc(10px * var(--font-scale))!important}html[data-a11y-large-text=true] [style*="font-size: 11px"],html[data-a11y-large-text=true] [style*="font-size:11px"]{font-size:calc(11px * var(--font-scale))!important}html[data-a11y-large-text=true] [style*="font-size: 12px"],html[data-a11y-large-text=true] [style*="font-size:12px"]{font-size:var(--text-xs)!important}html[data-a11y-large-text=true] [style*="font-size: 13px"],html[data-a11y-large-text=true] [style*="font-size:13px"]{font-size:calc(13px * var(--font-scale))!important}html[data-a11y-large-text=true] [style*="font-size: 14px"],html[data-a11y-large-text=true] [style*="font-size:14px"]{font-size:var(--text-sm)!important}html[data-a11y-large-text=true] [style*="font-size: 15px"],html[data-a11y-large-text=true] [style*="font-size:15px"]{font-size:calc(15px * var(--font-scale))!important}html[data-a11y-large-text=true] [style*="font-size: 16px"],html[data-a11y-large-text=true] [style*="font-size:16px"]{font-size:var(--text-lg)!important}html[data-a11y-large-text=true] [style*="font-size: 17px"],html[data-a11y-large-text=true] [style*="font-size:17px"]{font-size:calc(17px * var(--font-scale))!important}html[data-a11y-large-text=true] [style*="font-size: 18px"],html[data-a11y-large-text=true] [style*="font-size:18px"]{font-size:calc(18px * var(--font-scale))!important}html[data-a11y-large-text=true] [style*="font-size: 20px"],html[data-a11y-large-text=true] [style*="font-size:20px"]{font-size:var(--text-xl)!important}html[data-a11y-large-text=true] [style*="font-size: 24px"],html[data-a11y-large-text=true] [style*="font-size:24px"]{font-size:var(--text-2xl)!important}html[data-a11y-reduce-motion=true] *,html[data-a11y-reduce-motion=true] *:before,html[data-a11y-reduce-motion=true] *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}html[data-a11y-high-contrast=true]{--border: #475569 !important;--border-strong: #0f172a !important;--text: #000000 !important;--text-soft: #0f172a !important;--muted: #1e293b !important}html[data-a11y-high-contrast=true][data-mode=dark]{--border: #94a3b8 !important;--border-strong: #f1f5f9 !important;--text: #ffffff !important;--text-soft: #f8fafc !important;--muted: #cbd5e1 !important;--surface: #0a0e17 !important;--surface-muted: #111827 !important}html[data-a11y-high-contrast=true] .card,html[data-a11y-high-contrast=true] .table-wrap,html[data-a11y-high-contrast=true] .panel,html[data-a11y-high-contrast=true] .sidebar,html[data-a11y-high-contrast=true] .topbar,html[data-a11y-high-contrast=true] .theme-dropdown-menu,html[data-a11y-high-contrast=true] input,html[data-a11y-high-contrast=true] select,html[data-a11y-high-contrast=true] textarea,html[data-a11y-high-contrast=true] .btn,html[data-a11y-high-contrast=true] .btn-ghost,html[data-a11y-high-contrast=true] .topbar-nav-btn,html[data-a11y-high-contrast=true] .mobile-actions-toggle{border-width:2px!important;border-color:var(--border)!important}html[data-a11y-high-contrast=true] .tabs button{border-bottom-color:var(--border-strong)!important}html[data-a11y-high-contrast=true] .tabs button.active{border-bottom-color:var(--primary-dark)!important}html[data-a11y-high-contrast=true] .admin-tabs{border-bottom-color:var(--border-strong)!important}html[data-a11y-high-contrast=true] .admin-tabs button.active{border-bottom-color:var(--primary-dark)!important}html[data-a11y-highlight-links=true] a,html[data-a11y-highlight-links=true] a:visited,html[data-a11y-highlight-links=true] .nav-item,html[data-a11y-highlight-links=true] button:not(.theme-color-btn):not(.theme-mode-btn):not(.a11y-toggle),html[data-a11y-highlight-links=true] .btn,html[data-a11y-highlight-links=true] [role=button]{text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:3px!important;font-weight:700!important}html[data-a11y-highlight-links=true] a.metric-card-link{text-decoration:none!important;font-weight:inherit!important}html[data-a11y-highlight-links=true] a.metric-card-link .metric-label{text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:3px!important;font-weight:700!important}html[data-a11y-mono-font=true],html[data-a11y-mono-font=true] *{--font-body: "Atkinson Hyperlegible Mono", "Noto Sans Mono", monospace !important;--font-heading: "Atkinson Hyperlegible Mono", "Noto Sans Mono", monospace !important;font-family:Atkinson Hyperlegible Mono,Noto Sans Mono,monospace!important}html[lang=bn][data-a11y-mono-font=true],html[lang=bn][data-a11y-mono-font=true] *{--font-body: "Noto Serif Bengali", "Noto Serif", serif !important;--font-heading: "Noto Serif Bengali", "Noto Serif", serif !important;font-family:"Noto Serif Bengali","Noto Serif",serif!important}html[data-a11y-serif-font=true],html[data-a11y-serif-font=true] *{--font-body: "Source Serif 4", Georgia, Cambria, "Times New Roman", Times, serif !important;--font-heading: "Source Serif 4", Georgia, Cambria, "Times New Roman", Times, serif !important;font-family:"Source Serif 4",Georgia,Cambria,Times New Roman,Times,serif!important}html[lang=bn][data-a11y-serif-font=true],html[lang=bn][data-a11y-serif-font=true] *{--font-body: "Noto Serif Bengali", "Noto Serif", serif !important;--font-heading: "Noto Serif Bengali", "Noto Serif", serif !important;font-family:"Noto Serif Bengali","Noto Serif",serif!important}.lunch-grid{display:grid;grid-template-columns:1fr 380px;gap:20px;align-items:start}@media(max-width:992px){.lunch-grid{grid-template-columns:1fr}}.lunch-day-row{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-radius:var(--radius-md, 8px);border:1px solid var(--border);background:var(--surface);transition:border-color .15s ease,background .15s ease}.lunch-day-row:hover{border-color:var(--primary-tint-hover, var(--border))}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:24px;align-items:start;width:100%;transition:grid-template-columns .35s cubic-bezier(.4,0,.2,1),gap .35s cubic-bezier(.4,0,.2,1)}.calendar-layout.panel-open{grid-template-columns:minmax(0,1fr) 440px;gap:24px}.calendar-layout.panel-closed{grid-template-columns:minmax(0,1fr) 0px;gap:0px}.calendar-main-card{width:100%;min-width:0;transition:width .35s cubic-bezier(.4,0,.2,1)}.calendar-day-panel-desktop{width:100%;min-width:0;overflow:hidden;transition:opacity .25s ease,transform .35s cubic-bezier(.4,0,.2,1),visibility .35s ease}.calendar-day-panel-desktop .calendar-day-panel{width:440px;min-width:440px}.calendar-layout.panel-closed .calendar-day-panel-desktop{opacity:0;transform:translate(20px);pointer-events:none;visibility:hidden}.calendar-layout.panel-open .calendar-day-panel-desktop{opacity:1;transform:translate(0);visibility:visible}@media(max-width:1100px){.calendar-layout,.calendar-layout.panel-open{grid-template-columns:1fr;gap:20px}.calendar-layout.panel-closed{grid-template-columns:1fr;gap:0px}.calendar-day-panel-desktop{max-width:100%;transition:max-height .35s ease,opacity .3s ease,margin .35s ease,visibility .35s ease;overflow:hidden}.calendar-day-panel-desktop .calendar-day-panel{width:100%;min-width:0}.calendar-layout.panel-closed .calendar-day-panel-desktop{max-height:0;opacity:0;margin:0;transform:none;visibility:hidden}.calendar-layout.panel-open .calendar-day-panel-desktop{max-height:2000px;opacity:1;visibility:visible}}.calendar-panel-close-btn{background:transparent;border:none;color:var(--muted);padding:4px;border-radius:var(--radius-sm, 4px);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:color .15s ease,background .15s ease;flex-shrink:0}.calendar-panel-close-btn:hover{color:var(--text);background:var(--surface-muted)}.calendar-panel-close-btn:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.calendar-week-list{display:flex;flex-direction:column;gap:10px}.calendar-week-cell{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border:1px solid var(--border);border-radius:var(--radius-md, 8px);background:var(--surface);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease,transform .15s ease;min-height:72px}.calendar-week-cell:hover{border-color:var(--border-hover, var(--primary));transform:translateY(-1px);box-shadow:0 2px 8px #0000000a}.calendar-week-cell.weekend-cell{background:var(--surface-muted)}.calendar-week-cell.gov-holiday-cell{background:var(--warning-tint);border-color:var(--warning-border, #fcd34d)}.calendar-week-cell.today-cell{border-color:var(--primary)}.calendar-week-cell.selected-day{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary);background:var(--primary-tint)}.calendar-week-cell-left{display:flex;align-items:center;gap:16px;min-width:140px;flex-shrink:0}.calendar-week-cell-date-box{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:48px}.calendar-week-cell-dow{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}.calendar-week-cell-num{font-size:var(--text-2xl);font-weight:700;line-height:1.1;color:var(--text)}.calendar-week-cell-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}@media(max-width:600px){.calendar-week-cell{flex-direction:column;align-items:flex-start;gap:12px}.calendar-week-cell-badges{justify-content:flex-start;width:100%}}.calendar-title-picker-wrap{position:relative;display:inline-flex;align-items:center}.calendar-title-btn{background:transparent;border:1px solid transparent;border-radius:var(--radius-md, 6px);padding:6px 10px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;color:var(--text);font-size:var(--text-lg);font-weight:700;transition:background .15s ease,border-color .15s ease;-webkit-user-select:none;user-select:none}.calendar-title-picker-wrap:hover .calendar-title-btn{background:var(--surface-muted);border-color:var(--border)}.calendar-title-picker-wrap select{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.calendar-title-picker-wrap select:focus-visible+.calendar-title-btn,.calendar-title-picker-wrap:focus-within .calendar-title-btn{outline:2px solid var(--primary);outline-offset:2px;border-color:var(--primary)}.calendar-day-panel{position:sticky;top:16px}.calendar-day-section{border:1px solid var(--border);border-radius:var(--radius-md, 8px);padding:14px;background:var(--surface);transition:border-color .15s ease,box-shadow .15s ease}.calendar-day-section:hover{border-color:var(--border-hover, var(--border))}.calendar-day-section-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.calendar-day-section-icon{width:32px;height:32px;border-radius:6px;background:var(--primary-tint);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--primary)}.calendar-day-placeholder{font-size:calc(13px * var(--font-scale));color:var(--muted);margin-bottom:10px;line-height:1.4}.calendar-day-add-btn{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px dashed var(--border);border-radius:var(--radius-md, 6px);padding:8px 12px;background:transparent;color:var(--text);font-size:calc(13px * var(--font-scale));font-weight:500;cursor:pointer;transition:all .15s ease}.calendar-day-add-btn:hover{background:var(--primary-tint);border-color:var(--primary);color:var(--primary)}.calendar-day-applied-card{background:var(--surface-muted);padding:12px;border-radius:6px;font-size:calc(13px * var(--font-scale));margin-top:8px}.calendar-day-applied-card .btn-danger,.calendar-day-applied-card .btn-danger-outline{background:transparent;color:var(--danger-text);border:1px solid color-mix(in srgb,var(--danger-text) 35%,transparent)}.calendar-day-applied-card .btn-danger:hover,.calendar-day-applied-card .btn-danger-outline:hover{background:var(--danger-tint);border-color:var(--danger-text);color:var(--danger-text)}.calendar .cell.selected-day{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary);background:var(--primary-tint)}@media(max-width:768px){.calendar-day-panel-desktop{display:none!important}.calendar-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:1000;display:flex;justify-content:flex-end;flex-direction:column;animation:fadeIn .2s ease}.calendar-drawer-backdrop.closing{animation:fadeOut .24s cubic-bezier(.4,0,.2,1) forwards}.calendar-drawer{background:var(--surface);border-radius:16px 16px 0 0;max-height:85vh;overflow-y:auto;padding:20px;box-shadow:0 -4px 24px #00000026;animation:slideUp .25s ease}.calendar-drawer.closing{animation:slideDown .24s cubic-bezier(.4,0,.2,1) forwards}}@media(min-width:769px){.calendar-drawer-backdrop{display:none!important}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideDown{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.markdown-body>:first-child{margin-top:0}.markdown-body>:last-child{margin-bottom:0}.markdown-body{overflow-wrap:anywhere}.markdown-body ul,.markdown-body ol{padding-left:1.4em}.markdown-body pre{overflow-x:auto}.link-button{background:none;border:0;padding:0;font:inherit;color:var(--primary);text-align:start;cursor:pointer}.link-button:hover{text-decoration:underline}.announcement-drawer-title{overflow-wrap:anywhere}.announcement-drawer-meta{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0 0 16px}.announcement-drawer-meta dt{color:var(--text-muted, inherit)}.announcement-drawer-meta dd{margin:0;overflow-wrap:anywhere}.announcement-drawer-body{max-height:50vh;overflow-y:auto;overflow-wrap:anywhere}.notification-title-line{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;justify-content:flex-end;z-index:100;animation:backdropFadeIn .2s ease-out}.drawer{background:var(--surface);border-left:1px solid var(--border);width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;box-shadow:-12px 0 30px -8px #0000002e;animation:drawerSlideIn .24s cubic-bezier(.16,1,.3,1)}@keyframes drawerSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 24px;border-bottom:1px solid var(--border);flex-shrink:0}.drawer-header-content{min-width:0}.drawer-title{margin:0;font-size:1.1rem}.drawer-subtitle{margin:4px 0 0;color:var(--text-muted, inherit);font-size:.875rem}.drawer>.alert,.drawer-banner{margin:12px 24px 0}.drawer-form{display:flex;flex-direction:column;flex:1;min-height:0}.drawer-body{flex:1;min-height:0;overflow-y:auto;padding:20px 24px}.drawer-actions{flex-shrink:0;display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:16px 24px;background:color-mix(in srgb,var(--surface) 96.5%,var(--primary) 3.5%);border-top:1px solid color-mix(in srgb,var(--border) 60%,transparent)}@media(max-width:640px){.drawer{max-width:none!important}.drawer-actions{flex-direction:column-reverse}.drawer-actions .btn{width:100%}}@media(prefers-reduced-motion:reduce){.drawer{animation:none}}.drawer-body>form>.row-actions:last-child{position:sticky;bottom:-20px;margin:16px -24px -20px!important;padding:16px 24px;background:color-mix(in srgb,var(--surface) 96.5%,var(--primary) 3.5%);border-top:1px solid color-mix(in srgb,var(--border) 60%,transparent);z-index:2}.settings-stack{display:flex;flex-direction:column;gap:16px;max-width:1040px}.settings-stack .panel{margin-bottom:0}.settings-card-head{margin-bottom:16px}.settings-card-head h2{margin:0 0 4px}.settings-card-head p{margin:0;font-size:var(--text-sm);color:var(--muted)}.settings-card .field-grid{align-items:end}.settings-card .field-hint{margin:6px 0 0;font-size:var(--text-xs);color:var(--muted)}.settings-card .check:last-child{margin-bottom:0}.settings-subhead{margin:18px 0 4px;font-size:var(--text-sm);font-weight:600}.settings-subhead:first-of-type{margin-top:0}.settings-subhelp{margin:0 0 10px;font-size:var(--text-sm);color:var(--muted)}.settings-callout{margin-top:16px;padding:10px 12px;border-radius:var(--radius-md, 8px);background:var(--surface-2, var(--bg));border:1px solid var(--border);font-size:var(--text-sm);color:var(--text-soft)}.settings-savebar{display:flex;justify-content:flex-end;gap:12px}@media(max-width:700px){.settings-savebar .btn{width:100%}}.new-version-banner{position:fixed;left:50%;bottom:16px;transform:translate(-50%);z-index:1000;display:flex;align-items:center;gap:16px;max-width:calc(100vw - 32px);padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:0 8px 24px #0000002e}.new-version-banner>div{display:flex;flex-direction:column;gap:2px;min-width:0}.new-version-banner span{color:var(--muted);font-size:var(--text-xs)}
