@import "https://fonts.googleapis.com/css2?family=Golos+Text:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";.sidebar{border-right:1px solid var(--border-color);background:var(--bg-secondary);z-index:50;border-radius:0;flex-direction:column;width:280px;height:100dvh;transition:transform .25s;display:flex;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar.glass-panel{background:var(--bg-secondary);-webkit-backdrop-filter:none}.sidebar-backdrop{z-index:40;background:#00000080;position:fixed;inset:0}@media (width>=768px){.sidebar{border-right:1px solid var(--border-color);border-radius:0;width:264px;height:100dvh;margin:0;position:sticky;top:0;transform:none}.sidebar-backdrop,.icon-btn.sidebar-close-btn{display:none}.sidebar.glass-panel{background:var(--bg-primary);box-shadow:none}}.sidebar-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.brand{align-items:center;gap:.625rem;display:flex}.brand-mark{border-radius:var(--radius-md);background:var(--accent-primary);width:34px;height:34px;color:var(--accent-on);box-shadow:0 4px 12px var(--accent-glow);flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-header h2{letter-spacing:-.01em;color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:500}.sidebar-nav{scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;flex:1;gap:1.5rem;padding:1.5rem 1rem;display:flex;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{display:none}.nav-section{flex-direction:column;gap:.25rem;display:flex}.nav-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.75rem;padding-left:.75rem;font-size:.75rem;font-weight:600}.nav-link{color:var(--text-secondary);border-radius:var(--radius-lg);transition:background-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out);outline:none;align-items:center;gap:.75rem;padding:.625rem .75rem;font-size:.9rem;font-weight:500;text-decoration:none;display:flex}.nav-link:hover{background-color:var(--bg-hover);color:var(--text-primary);transform:translate(3px)}.nav-link:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.nav-link.active{background-color:var(--nav-active-bg);color:var(--nav-active-fg);font-weight:500}.nav-link.active:hover{background-color:var(--nav-active-bg);color:var(--nav-active-fg);transform:none}.sidebar-footer{border-top:1px solid var(--border-color);flex-direction:column;gap:1rem;padding:1rem;display:flex}.settings-row{background:var(--bg-primary);border-radius:var(--radius-md);justify-content:space-around;padding:.5rem;display:flex}.lang-btn{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);-webkit-tap-highlight-color:transparent;height:2.5rem;transition:background-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:.5rem .75rem;display:flex}.lang-btn:hover{color:var(--text-primary);background-color:var(--bg-hover);transform:scale(1.07)}.lang-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.lang-btn:active{transform:scale(.93)}.icon-btn{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);-webkit-tap-highlight-color:transparent;width:2.5rem;height:2.5rem;transition:background-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:.5rem;display:flex}.icon-btn:hover{color:var(--text-primary);background-color:var(--bg-hover);transform:scale(1.07)}.user-info{align-items:center;gap:.75rem;padding:.5rem;display:flex}.avatar{color:#fff;text-transform:uppercase;background:#151519;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;font-weight:500;display:flex}.user-details{flex-direction:column;flex:1;display:flex;overflow:hidden}.user-name{white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:600;overflow:hidden}.user-role{color:var(--text-muted);text-transform:capitalize;font-size:.75rem}.logout-btn:hover{color:var(--danger);background-color:var(--danger-bg)}.status-badge{text-transform:capitalize;border-radius:9999px;align-items:center;gap:.375rem;padding:.25rem .625rem;font-size:.75rem;font-weight:500;display:inline-flex}@keyframes pulse-ring{0%{opacity:.55;transform:scale(1)}to{opacity:0;transform:scale(2.4)}}.status-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;position:relative}.status-clocked-in .status-dot:after{content:"";background-color:var(--success);border-radius:50%;animation:1.6s ease-out infinite pulse-ring;position:absolute;inset:0}.status-clocked-in,.status-approved{background-color:var(--success-bg);color:var(--success)}.status-clocked-in .status-dot,.status-approved .status-dot{background-color:var(--success);box-shadow:0 0 5px var(--success)}.status-break,.status-pending{background-color:var(--warning-bg);color:var(--warning)}.status-break .status-dot,.status-pending .status-dot{background-color:var(--warning);box-shadow:0 0 5px var(--warning)}.status-clocked-out,.status-rejected{background-color:var(--danger-bg);color:var(--danger)}.status-clocked-out .status-dot,.status-rejected .status-dot{background-color:var(--danger);box-shadow:0 0 5px var(--danger)}.table-container{-webkit-overflow-scrolling:touch;border-radius:var(--radius-lg);background-color:#0000;border:none;width:100%;overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%;min-width:480px}.data-table th{text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border-color);letter-spacing:.05em;white-space:nowrap;background-color:#0000;padding:.875rem 1rem;font-size:.75rem;font-weight:600}.data-table td{color:var(--text-primary);border-bottom:1px solid var(--border-color);vertical-align:middle;white-space:nowrap;padding:.875rem 1rem;font-size:.875rem}@media (width>=768px){.data-table th,.data-table td{padding:1rem 1.5rem}}.data-table tbody tr{transition:background-color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out)}.data-table tbody tr:hover{background-color:var(--bg-hover)}.data-table tbody tr:last-child td{border-bottom:none}:root{--color-paper:oklch(95.3% .006 84.6);--color-paper-2:oklch(100% 0 0);--color-paper-3:oklch(97.1% .006 84.6);--color-accent:oklch(64.1% .189 35.3);--color-accent-dim:oklch(58.6% .184 35.3);--color-accent-glow:oklch(64.1% .189 35.3/.22);--color-accent-on:oklch(22.5% .006 56.1);--color-accent-subtle:oklch(93.2% .031 48.4);--color-ink:oklch(22.5% .006 56.1);--color-ink-2:oklch(52.4% .014 75.3);--color-ink-3:oklch(64.3% .016 74.4);--color-rule:oklch(93.5% .009 78.3);--color-btn:oklch(22.5% .006 56.1);--color-btn-hover:oklch(29% .006 56.1);--color-btn-fg:oklch(100% 0 0);--color-focus:oklch(64.1% .189 35.3);--color-success:oklch(52.7% .134 132.2);--color-success-bg:oklch(94.9% .043 127.1);--color-warning:oklch(55.6% .142 46.3);--color-warning-bg:oklch(93.7% .035 66);--color-danger:oklch(53.7% .181 32.6);--color-danger-bg:oklch(92.7% .031 34.9);--color-info:oklch(50.5% .133 262.8);--color-info-bg:oklch(94.5% .02 264.5);--color-chart-1:oklch(50.5% .133 262.8);--color-chart-2:oklch(64.1% .189 35.3);--color-chart-3:oklch(55.6% .142 46.3);--color-chart-grid:oklch(22.5% .006 56.1/.06);--color-skeleton:oklch(92.3% .009 78.3);--color-skeleton-hi:oklch(96.2% .006 84.6)}[data-theme=dark]{--color-paper:oklch(18% .01 60);--color-paper-2:oklch(22% .01 60);--color-paper-3:oklch(26% .01 60);--color-accent:oklch(70.4% .162 38);--color-accent-dim:oklch(64.1% .189 35.3);--color-accent-glow:oklch(70.4% .162 38/.2);--color-accent-on:oklch(22.5% .006 56.1);--color-accent-subtle:oklch(70.4% .162 38/.14);--color-ink:oklch(96.2% .006 84.6);--color-ink-2:oklch(75.7% .015 74.4);--color-ink-3:oklch(64.3% .016 74.4);--color-rule:oklch(100% 0 0/.08);--color-btn:oklch(70.4% .162 38);--color-btn-hover:oklch(76% .155 38);--color-btn-fg:oklch(22.5% .006 56.1);--color-chart-grid:oklch(100% 0 0/.07);--color-skeleton:oklch(28% .01 60);--color-skeleton-hi:oklch(35% .01 60)}:root{--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--font-display:"Golos Text", -apple-system, BlinkMacSystemFont, sans-serif;--font-body:"Golos Text", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", monospace;--text-xs:.75rem;--text-sm:.84375rem;--text-base:.9375rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.125rem;--dur-instant:50ms;--dur-fast:.1s;--dur-base:.2s;--dur-slow:.3s;--dur-enter:.35s;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.83, 0, .17, 1);--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.625rem;--radius-2xl:.75rem;--radius-full:9999px;--shadow-sm:0 1px 2px oklch(22.5% .006 56.1/.04), 0 10px 28px -12px oklch(22.5% .006 56.1/.1);--shadow-md:0 2px 4px oklch(22.5% .006 56.1/.05), 0 14px 32px -14px oklch(22.5% .006 56.1/.12);--shadow-lg:0 2px 4px oklch(22.5% .006 56.1/.05), 0 18px 40px -16px oklch(22.5% .006 56.1/.16);--shadow-accent:0 4px 16px var(--color-accent-glow)}[data-theme=dark]{--shadow-sm:0 1px 2px oklch(0% 0 0/.3);--shadow-md:0 4px 6px -1px oklch(0% 0 0/.4), 0 2px 4px -1px oklch(0% 0 0/.2);--shadow-lg:0 12px 28px -8px oklch(0% 0 0/.55), 0 6px 12px -6px oklch(0% 0 0/.3)}:root{--bg-primary:var(--color-paper);--bg-secondary:var(--color-paper-2);--bg-hover:var(--color-paper-3);--text-primary:var(--color-ink);--text-secondary:var(--color-ink-2);--text-muted:var(--color-ink-3);--border-color:var(--color-rule);--accent-primary:var(--color-accent);--accent-hover:var(--color-accent-dim);--accent-glow:var(--color-accent-glow);--accent-on:var(--color-accent-on);--btn-primary-bg:var(--color-btn);--btn-primary-hover:var(--color-btn-hover);--btn-primary-fg:var(--color-btn-fg);--nav-active-bg:var(--color-btn);--nav-active-fg:var(--color-btn-fg);--success:var(--color-success);--success-bg:var(--color-success-bg);--warning:var(--color-warning);--warning-bg:var(--color-warning-bg);--danger:var(--color-danger);--danger-bg:var(--color-danger-bg);--info:var(--color-info);--info-bg:var(--color-info-bg);--chart-1:var(--color-chart-1);--chart-2:var(--color-chart-2);--chart-3:var(--color-chart-3);--chart-grid:var(--color-chart-grid);--app-bg:var(--color-paper);--glass-gradient:var(--color-paper-2);--glass-border:var(--color-rule);--card-bg:var(--color-paper-2);--card-border:var(--color-rule)}[data-theme=dark]{--app-bg:var(--color-paper);--glass-gradient:var(--color-paper-2);--glass-border:var(--color-rule);--card-bg:var(--color-paper-2);--card-border:var(--color-rule)}@keyframes btn-spin{to{transform:rotate(360deg)}}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes card-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes page-fade{0%{opacity:0}to{opacity:1}}@keyframes ring-spin{to{transform:rotate(360deg)}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{overflow-x:clip}body{font-family:var(--font-body);background-color:var(--app-bg);color:var(--text-primary);transition:background-color var(--dur-slow) var(--ease-out), color var(--dur-slow) var(--ease-out);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.5}.glass-panel{background:var(--glass-gradient);border:1px solid var(--glass-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm)}.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), background var(--dur-base) var(--ease-out);will-change:transform;animation:card-enter var(--dur-enter) var(--ease-out) both;padding:1.5rem;position:relative}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-grid .card:first-child{animation-delay:0s}.stat-grid .card:nth-child(2){animation-delay:70ms}.stat-grid .card:nth-child(3){animation-delay:.14s}.stat-grid .card:nth-child(4){animation-delay:.21s}.stat-grid .card:nth-child(n+5){animation-delay:.28s}h1,h2,h3,h4,h5,h6{color:var(--text-primary);letter-spacing:-.01em;overflow-wrap:anywhere;min-width:0;margin-bottom:.5rem;font-style:normal;font-weight:500}p{color:var(--text-secondary)}.skeleton{background:linear-gradient(90deg, var(--color-skeleton) 0%, var(--color-skeleton-hi) 50%, var(--color-skeleton) 100%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.6s ease-in-out infinite skeleton-shimmer;display:block}.btn{border-radius:var(--radius-md);font-weight:500;font-size:var(--text-sm);font-family:var(--font-body);white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;min-width:2.5rem;min-height:2.5rem;transition:background-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out), opacity var(--dur-base) var(--ease-out);will-change:transform;border:1px solid #0000;outline:none;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.125rem;line-height:1;display:inline-flex}.btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.btn:active:not(:disabled):not([aria-disabled=true]){transform:translateY(1px)scale(.982)}.btn:disabled,.btn[aria-disabled=true]{opacity:.42;cursor:not-allowed;pointer-events:none}.btn[data-loading=true]{opacity:.72;cursor:progress;pointer-events:none}.btn[data-loading=true]:before{content:"";border-radius:var(--radius-full);border:1.5px solid;border-top-color:#0000;flex-shrink:0;width:.875em;height:.875em;animation:.55s linear infinite btn-spin;display:inline-block}.btn[data-state=error]{background-color:var(--danger-bg)!important;border-color:var(--danger)!important;color:var(--danger)!important}.btn[data-state=success]{background-color:var(--success-bg)!important;border-color:var(--success)!important;color:var(--success)!important}.btn-primary{background-color:var(--btn-primary-bg);color:var(--btn-primary-fg);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled):not([aria-disabled=true]):not([data-loading=true]){background-color:var(--btn-primary-hover);box-shadow:var(--shadow-md)}.btn-secondary{background-color:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled):not([aria-disabled=true]):not([data-loading=true]){background-color:var(--border-color)}.btn-accent{background-color:var(--accent-primary);color:var(--accent-on);box-shadow:var(--shadow-sm)}.btn-accent:hover:not(:disabled):not([aria-disabled=true]):not([data-loading=true]){background-color:var(--accent-hover);box-shadow:var(--shadow-accent)}.btn-danger{background-color:var(--danger);color:#fff}.btn-danger:hover:not(:disabled):not([aria-disabled=true]):not([data-loading=true]){opacity:.88}.btn-success{background-color:var(--success);color:#fff}.btn-success:hover:not(:disabled):not([aria-disabled=true]):not([data-loading=true]){opacity:.88}.icon-btn{border-radius:var(--radius-md);width:2.5rem;height:2.5rem;color:var(--text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background-color:var(--bg-hover);color:var(--text-primary);transform:scale(1.06)}.icon-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.icon-btn:active{transform:scale(.93)}.input-field{border-radius:var(--radius-md);border:1.5px solid var(--border-color);background-color:var(--bg-primary);width:100%;color:var(--text-primary);font-size:var(--text-base);font-family:var(--font-body);-webkit-appearance:none;min-height:2.75rem;transition:border-color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), background var(--dur-base) var(--ease-out);outline:none;padding:.625rem .875rem}.input-field::placeholder{color:var(--text-muted)}.input-field:hover:not(:focus):not(:disabled):not([data-state=error]){border-color:var(--text-muted)}.input-field:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-glow)}.input-field:disabled{opacity:.48;cursor:not-allowed}.input-field[data-state=error]{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-bg)}.input-field[data-state=success]{border-color:var(--success);box-shadow:0 0 0 3px var(--success-bg)}.date-picker{position:relative}.date-picker__trigger{text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.date-picker__trigger--open{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-glow)}.date-picker__value{color:var(--text-primary);font-weight:500}.date-picker__value--placeholder{color:var(--text-muted);font-weight:400}.date-picker__icon{color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.date-picker__panel{z-index:40;width:min(100%,320px);min-width:280px;padding:1rem;position:absolute;top:calc(100% + .5rem);left:0}.date-picker__header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.date-picker__month-label{color:var(--text-primary);font-size:var(--text-base);font-weight:600}.date-picker__nav{width:2.25rem;height:2.25rem}.date-picker__weekdays{grid-template-columns:repeat(7,minmax(0,1fr));gap:.375rem;margin-bottom:.5rem;display:grid}.date-picker__weekdays span{text-align:center;color:var(--text-muted);font-size:.75rem;font-weight:600}.date-picker__grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.375rem;display:grid}.date-picker__day{border-radius:var(--radius-md);min-height:2.4rem;color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;transition:background-color var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out);background:0 0;border:1px solid #0000}.date-picker__day:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-color)}.date-picker__day:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.date-picker__day:disabled{opacity:.32;cursor:not-allowed}.date-picker__day--selected{background:var(--btn-primary-bg);border-color:var(--btn-primary-bg);color:var(--btn-primary-fg);font-weight:600}.date-picker__day--in-range:not(.date-picker__day--selected){background:var(--accent-glow);color:var(--text-primary);border-color:#0000}.date-picker__day--range-boundary:not(.date-picker__day--selected){background:color-mix(in srgb, var(--btn-primary-bg) 18%, transparent);border-color:var(--btn-primary-bg);color:var(--text-primary);font-weight:600}.date-picker__day--selected:hover:not(:disabled){background:var(--btn-primary-hover);border-color:var(--btn-primary-hover)}.date-picker__day--today:not(.date-picker__day--selected){border-color:var(--accent-primary);color:var(--accent-primary)}.date-picker__day--outside{color:var(--text-muted)}.date-picker__footer{border-top:1px solid var(--border-color);justify-content:space-between;gap:.75rem;margin-top:1rem;padding-top:.875rem;display:flex}.date-picker__footer .btn{flex:1}@media (width<=640px){.date-picker__panel{width:100%;min-width:0}}.app-container{flex-direction:column;min-height:100dvh;display:flex}.main-content{min-width:0;max-width:100vw;animation:page-fade var(--dur-enter) var(--ease-out) both;flex-direction:column;flex:1;gap:1.5rem;padding:1rem;display:flex;overflow-y:auto}@media (width>=768px){.app-container{flex-direction:row}.main-content{gap:2rem;padding:2rem}}.mobile-topbar{border-bottom:1px solid var(--border-color);background:var(--bg-secondary);z-index:30;justify-content:space-between;align-items:center;gap:.75rem;min-height:3.5rem;padding:0 1rem;display:flex;position:sticky;top:0}.mobile-topbar h2{letter-spacing:-.02em;color:var(--text-primary);margin:0;font-size:1.0625rem;font-style:normal;font-weight:600}.brand-lockup{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.brand-mark{border-radius:var(--radius-md);background:var(--accent-primary);width:1.75rem;height:1.75rem;color:var(--accent-on);flex-shrink:0;justify-content:center;align-items:center;display:flex}@media (width>=768px){.mobile-topbar{display:none}}.sidebar-fab{border-radius:var(--radius-full);background:var(--accent-primary);width:56px;height:56px;color:var(--accent-on);box-shadow:var(--shadow-lg);z-index:35;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);will-change:transform;border:none;justify-content:center;align-items:center;display:flex;position:fixed;bottom:1.25rem;right:1.25rem}.sidebar-fab:hover{background-color:var(--accent-hover);box-shadow:var(--shadow-lg), 0 0 0 8px var(--accent-glow);transform:scale(1.07)}.sidebar-fab:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.sidebar-fab:active{transform:scale(.92)}@media (width>=768px){.sidebar-fab{display:none}}.page-header-row{flex-direction:column;align-items:flex-start;gap:1rem;display:flex}@media (width>=768px){.page-header-row{flex-direction:row;justify-content:space-between;align-items:flex-start}}.page-title{letter-spacing:-.02em;overflow-wrap:anywhere;min-width:0;margin:0;font-size:clamp(1.375rem,5vw,1.875rem);font-style:normal;font-weight:600}.page-subtitle{color:var(--text-muted);margin:.25rem 0 0}.tab-bar{border-bottom:1px solid var(--border-color);-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.75rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.tab-bar::-webkit-scrollbar{display:none}.tab-btn{white-space:nowrap;flex-shrink:0}@keyframes tab-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.tab-content{animation:tab-fade var(--dur-base) var(--ease-out) both}.form-message{border-radius:var(--radius-md);font-size:var(--text-sm);animation:tab-fade var(--dur-base) var(--ease-out) both;padding:.875rem 1rem}.form-message--success{background-color:var(--success-bg);color:var(--color-success)}.form-message--error{background-color:var(--danger-bg);color:var(--color-danger)}.form-card{width:100%}@media (width>=768px){.form-card{max-width:600px}}.form-submit-btn{width:100%}@media (width>=768px){.form-submit-btn{align-self:flex-start;width:auto}}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:1rem;display:grid}@media (width>=768px){.stat-grid{gap:1.5rem}}.dashboard-split{grid-template-columns:1fr;align-items:start;gap:1rem;display:grid}@media (width>=992px){.dashboard-split{grid-template-columns:2fr 1fr;gap:1.5rem}}.chart-container{width:100%;height:220px}@media (width>=768px){.chart-container{height:300px}}.form-group{margin-bottom:1rem}.form-group label{font-size:var(--text-sm);color:var(--text-primary);margin-bottom:.5rem;font-weight:500;display:block}.form-helper-text{font-size:var(--text-sm);color:var(--text-muted);margin-top:-.5rem;margin-bottom:.25rem}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.spinner-wrap{flex:1;justify-content:center;align-items:center;height:100%;min-height:200px;padding:3rem;display:flex}.page-spinner{border-radius:var(--radius-full);border:2.5px solid var(--border-color);border-top-color:var(--accent-primary);width:40px;height:40px;animation:.75s linear infinite ring-spin}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.05ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
