:root{--font-family-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-heading: "Inter Tight", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs: .75rem;--font-size-sm: .75rem;--font-size-md: .875rem;--font-size-lg: 1rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.75rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .625rem;--radius-xl: .75rem;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgb(13 27 42 / 5%);--shadow-md: 0 8px 24px rgb(13 27 42 / 8%);--shadow-lg: 0 18px 48px rgb(13 27 42 / 16%);--motion-standard: .18s ease;--control-height: 2.5rem;--button-height: 2.25rem;--header-height: 4.5rem;--sidebar-width: 14.5rem;--sidebar-collapsed-width: 4.25rem;--content-max-width: 90rem}:root,[data-theme=light]{--color-background: #f8fafc;--color-surface: #ffffff;--color-surface-elevated: #f1f5f9;--color-surface-raised: #ffffff;--color-surface-hover: #eff4ff;--color-border: #e2e8f0;--color-border-strong: #cbd5e1;--color-text-strong: #0f172a;--color-text: #1e293b;--color-text-muted: #475569;--color-text-subtle: #64748b;--color-accent: #2563eb;--color-accent-strong: #1e3a8a;--color-accent-contrast: #ffffff;--color-accent-soft: #e8f0ff;--color-focus: #2563eb;--color-button-primary-background: rgb(37 99 235 / 10%);--color-button-primary-background-hover: rgb(37 99 235 / 16%);--color-button-primary-border: #2563eb;--color-button-primary-border-hover: #1e3a8a;--color-button-primary-text: #1e3a8a;--color-button-secondary-background: #ffffff;--color-button-secondary-background-hover: #eff4ff;--color-button-secondary-border: #cbd5e1;--color-button-secondary-border-hover: #60a5fa;--color-button-secondary-text: #1e293b;--color-button-ghost-background: transparent;--color-button-ghost-background-hover: rgb(37 99 235 / 8%);--color-button-ghost-border: transparent;--color-button-ghost-text: #475569;--color-button-danger-background-hover: #fee2e2;--color-button-danger-border-hover: #b42318;--color-info-surface: #eff6ff;--color-info-border: #bfdbfe;--color-info-text: #1e40af;--color-success: #15803d;--color-success-surface: #ecfdf3;--color-success-border: #bbf7d0;--color-success-text: #166534;--color-warning: #b45309;--color-warning-surface: #fffbeb;--color-warning-border: #fde68a;--color-warning-text: #92400e;--color-danger: #b42318;--color-danger-surface: #fff1f0;--color-danger-border: #f2b8b5;--color-danger-text: #8d2822;--color-skeleton: #e7edf5;--color-overlay: rgb(7 11 18 / 62%);--chart-indigo: #1e3a8a;--chart-primary: #2563eb;--chart-blue: #3b82f6;--chart-accent: #60a5fa;--chart-purple: #7c3aed;--chart-grid: rgb(100 116 139 / 16%)}[data-theme=dark]{--color-background: #070b12;--color-sidebar: #080e18;--color-surface: #0d1b2a;--color-surface-elevated: #101b2c;--color-surface-raised: #132238;--color-surface-hover: #172945;--color-border: #20324a;--color-border-strong: #304866;--color-text-strong: #f8fafc;--color-text: #e2e8f0;--color-text-muted: #cbd5e1;--color-text-subtle: #7f8ea3;--color-accent: #2563eb;--color-accent-strong: #60a5fa;--color-accent-contrast: #ffffff;--color-accent-soft: #122b55;--color-focus: #60a5fa;--color-button-primary-background: rgb(37 99 235 / 18%);--color-button-primary-background-hover: rgb(37 99 235 / 28%);--color-button-primary-border: #3b82f6;--color-button-primary-border-hover: #60a5fa;--color-button-primary-text: #f8fafc;--color-button-secondary-background: rgb(13 27 42 / 55%);--color-button-secondary-background-hover: #172945;--color-button-secondary-border: #304866;--color-button-secondary-border-hover: #3b82f6;--color-button-secondary-text: #e2e8f0;--color-button-ghost-background: transparent;--color-button-ghost-background-hover: rgb(37 99 235 / 12%);--color-button-ghost-border: transparent;--color-button-ghost-text: #cbd5e1;--color-button-danger-background-hover: #4a2530;--color-button-danger-border-hover: #f87171;--color-info-surface: #10264a;--color-info-border: #234d86;--color-info-text: #93c5fd;--color-success: #4ade80;--color-success-surface: #102d25;--color-success-border: #1e5b43;--color-success-text: #86efac;--color-warning: #fbbf24;--color-warning-surface: #352714;--color-warning-border: #72521a;--color-warning-text: #fde68a;--color-danger: #f87171;--color-danger-surface: #3a2027;--color-danger-border: #7f3d4a;--color-danger-text: #fecdd3;--color-skeleton: #13294b;--color-overlay: rgb(1 5 12 / 72%);--chart-grid: rgb(148 163 184 / 12%);--shadow-sm: 0 1px 2px rgb(0 0 0 / 20%);--shadow-md: 0 10px 28px rgb(0 0 0 / 24%);--shadow-lg: 0 20px 56px rgb(0 0 0 / 38%)}*,*:before,*:after{box-sizing:border-box}html{min-width:20rem;min-height:100%;background:var(--color-background)}body{min-height:100vh;margin:0;color:var(--color-text);background:var(--color-background);font-family:var(--font-family-sans);font-size:var(--font-size-md);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{display:inline-flex;min-height:var(--button-height);align-items:center;justify-content:center;gap:var(--space-2);padding:.3125rem 1.25rem;color:var(--color-button-secondary-text);background:var(--color-button-secondary-background);border:1px solid var(--color-button-secondary-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:600;line-height:1;text-align:center;vertical-align:middle;transition:background-color var(--motion-standard),border-color var(--motion-standard),color var(--motion-standard),opacity var(--motion-standard)}button:not(:disabled):hover{color:var(--color-button-secondary-text);background:var(--color-button-secondary-background-hover);border-color:var(--color-button-secondary-border-hover)}button:disabled{opacity:.52}button,select{cursor:pointer}button:disabled,select:disabled{cursor:not-allowed}a,a:visited,a:hover,a:active,a:focus-visible,button,[role=button]{text-decoration:none}button:not(.app-button){border-radius:var(--radius-sm)}input,select,textarea{min-height:var(--control-height);padding:.5rem .7rem;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:background-color var(--motion-standard),border-color var(--motion-standard),box-shadow var(--motion-standard)}input::placeholder,textarea::placeholder{color:var(--color-text-subtle)}input:not(:disabled):hover,select:not(:disabled):hover,textarea:not(:disabled):hover{border-color:var(--color-border-strong)}input:focus-visible,select:focus-visible,textarea:focus-visible{background:var(--color-surface);border-color:var(--color-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-focus) 18%,transparent)}input:disabled,select:disabled,textarea:disabled{color:var(--color-text-subtle);background:var(--color-surface-elevated);opacity:.7}input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--color-accent)}a{color:var(--color-accent);transition:color var(--motion-standard)}a:hover{color:var(--color-accent-strong)}.app-control,.app-button{display:inline-flex;min-height:var(--button-height);align-items:center;justify-content:center;gap:var(--space-2);padding:.3125rem 1.25rem;font-size:var(--font-size-sm);font-weight:600;line-height:1;text-align:center;vertical-align:middle}.app-control{white-space:nowrap}.app-control>svg,.app-button>svg,button>svg{flex:0 0 auto}.app-button{border:1px solid var(--color-button-secondary-border);border-radius:var(--radius-sm);color:var(--color-button-secondary-text);background:var(--color-button-secondary-background);transition:background-color .15s ease,border-color .15s ease,color .15s ease}.app-button:not(:disabled):hover{color:var(--color-button-secondary-text);background:var(--color-button-secondary-background-hover);border-color:var(--color-button-secondary-border-hover)}.app-button:disabled{opacity:.55}.app-button.app-button--primary{border-color:var(--color-button-primary-border);color:var(--color-button-primary-text);background:var(--color-button-primary-background)}.app-button.app-button--primary:not(:disabled):hover{border-color:var(--color-button-primary-border-hover);color:var(--color-button-primary-text);background:var(--color-button-primary-background-hover)}.app-button.app-button--secondary{border-color:var(--color-button-secondary-border);color:var(--color-button-secondary-text);background:var(--color-button-secondary-background)}.app-button.app-button--secondary:not(:disabled):hover{border-color:var(--color-button-secondary-border-hover);color:var(--color-button-secondary-text);background:var(--color-button-secondary-background-hover)}.app-button.app-button--tertiary,.app-button.app-button--ghost{border-color:var(--color-button-ghost-border);color:var(--color-button-ghost-text);background:var(--color-button-ghost-background)}.app-button.app-button--tertiary:not(:disabled):hover,.app-button.app-button--ghost:not(:disabled):hover{border-color:var(--color-button-ghost-border);color:var(--color-text-strong);background:var(--color-button-ghost-background-hover)}.app-button.app-button--danger{border-color:var(--color-danger-border);color:var(--color-danger-text);background:var(--color-danger-surface)}.app-button.app-button--danger:not(:disabled):hover{border-color:var(--color-button-danger-border-hover);color:var(--color-danger-text);background:var(--color-button-danger-background-hover)}.app-button--icon{width:44px;padding-inline:0}progress{overflow:hidden;height:.375rem;color:var(--color-accent);background:var(--color-surface-elevated);border:0;border-radius:var(--radius-pill);accent-color:var(--color-accent)}progress::-webkit-progress-bar{background:var(--color-surface-elevated)}progress::-webkit-progress-value{background:var(--color-accent);border-radius:var(--radius-pill)}progress::-moz-progress-bar{background:var(--color-accent);border-radius:var(--radius-pill)}table{font-variant-numeric:tabular-nums}th{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:650;letter-spacing:.04em;text-transform:uppercase}.modal-backdrop,.backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal,.dialog{color:var(--color-text);background:var(--color-surface-raised);border:1px solid var(--color-border);box-shadow:var(--shadow-lg)}a,button,input,select,textarea{outline:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);font-weight:600}strong,b{font-weight:650}@media(max-width:47.99rem){:root{--button-height: 44px}}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
