:root{--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", Consolas, monospace;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--z-dropdown: 100;--z-sticky: 200;--z-modal-backdrop: 300;--z-modal: 400;--z-toast: 500}:root,.theme-light{--color-bg: #F8FAFC;--color-bg-alt: #F1F5F9;--color-surface: #FFFFFF;--color-surface-hover: #F8FAFC;--color-border: #E2E8F0;--color-border-hover: #CBD5E1;--color-text: #1E293B;--color-text-secondary: #64748B;--color-text-muted: #94A3B8;--color-primary: #3B82F6;--color-primary-hover: #2563EB;--color-primary-light: #DBEAFE;--color-success: #10B981;--color-success-light: #D1FAE5;--color-warning: #F59E0B;--color-warning-light: #FEF3C7;--color-danger: #EF4444;--color-danger-light: #FEE2E2;--color-info: #06B6D4;--color-info-light: #CFFAFE;--color-sidebar-bg: #1E293B;--color-sidebar-text: #E2E8F0;--color-sidebar-hover: #334155;--color-sidebar-active: #3B82F6;--scrollbar-track: #F1F5F9;--scrollbar-thumb: #CBD5E1;--scrollbar-thumb-hover: #94A3B8}.dark,.theme-dark{--color-bg: #0F172A;--color-bg-alt: #1E293B;--color-surface: #1E293B;--color-surface-hover: #334155;--color-border: #334155;--color-border-hover: #475569;--color-text: #F1F5F9;--color-text-secondary: #94A3B8;--color-text-muted: #64748B;--color-primary: #60A5FA;--color-primary-hover: #3B82F6;--color-primary-light: #1E3A5F;--color-success: #34D399;--color-success-light: #064E3B;--color-warning: #FBBF24;--color-warning-light: #78350F;--color-danger: #F87171;--color-danger-light: #7F1D1D;--color-info: #22D3EE;--color-info-light: #164E63;--color-sidebar-bg: #0F172A;--color-sidebar-text: #E2E8F0;--color-sidebar-hover: #1E293B;--color-sidebar-active: #60A5FA;--scrollbar-track: #1E293B;--scrollbar-thumb: #475569;--scrollbar-thumb-hover: #64748B}.theme-high-contrast{--color-bg: #000000;--color-bg-alt: #0A0A0A;--color-surface: #000000;--color-surface-hover: #1A1A1A;--color-border: #FFFFFF;--color-border-hover: #FFFF00;--color-text: #FFFFFF;--color-text-secondary: #FFFFFF;--color-text-muted: #CCCCCC;--color-primary: #FFFF00;--color-primary-hover: #FFFF66;--color-primary-light: #333300;--color-success: #00FF00;--color-success-light: #003300;--color-warning: #FFFF00;--color-warning-light: #333300;--color-danger: #FF0000;--color-danger-light: #330000;--color-info: #00FFFF;--color-info-light: #003333;--color-sidebar-bg: #000000;--color-sidebar-text: #FFFFFF;--color-sidebar-hover: #333333;--color-sidebar-active: #FFFF00;--scrollbar-track: #000000;--scrollbar-thumb: #FFFFFF;--scrollbar-thumb-hover: #FFFF00}*,*:before,*:after{box-sizing:border-box}html{font-family:var(--font-sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{margin:0;padding:0;background-color:var(--color-bg);color:var(--color-text);transition:background-color var(--transition-normal),color var(--transition-normal);min-height:100vh}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;line-height:1.25;color:var(--color-text)}h1{font-size:2.25rem}h2{font-size:1.875rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}p{margin:0 0 1rem;color:var(--color-text-secondary)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.theme-high-contrast :focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}.skip-link{position:absolute;top:-100%;left:0;background:var(--color-primary);color:#fff;padding:var(--space-sm) var(--space-md);z-index:9999;transition:top var(--transition-fast)}.skip-link:focus{top:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-full);-webkit-transition:background var(--transition-fast);transition:background var(--transition-fast)}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}.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}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fade-in{animation:fadeIn var(--transition-normal) ease-out}.animate-slide-in-right{animation:slideInRight var(--transition-normal) ease-out}.animate-slide-in-left{animation:slideInLeft var(--transition-normal) ease-out}.animate-slide-in-up{animation:slideInUp var(--transition-normal) ease-out}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}.skeleton{background:linear-gradient(90deg,var(--color-border) 25%,var(--color-bg-alt) 50%,var(--color-border) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:var(--radius-md)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.glass{background:#fffc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.dark .glass{background:#1e293bcc}input,textarea,select{font-family:inherit;font-size:1rem;color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}input:hover,textarea:hover,select:hover{border-color:var(--color-border-hover)}input:focus,textarea:focus,select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--color-text-muted)}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}@media(pointer:coarse){input,textarea,select,button{min-height:44px}}.table-zebra tbody tr:nth-child(2n){background-color:var(--color-bg-alt)}.table-hover tbody tr:hover{background-color:var(--color-surface-hover)}.table-sortable th{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.table-sortable th:hover{background-color:var(--color-surface-hover)}.card-hover{transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.card-hover:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.btn-press:active{transform:scale(.98)}.backdrop{position:fixed;inset:0;background-color:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:var(--z-modal-backdrop);animation:fadeIn var(--transition-fast) ease-out}.theme-high-contrast .backdrop{background-color:#000c}@media print{body{background:#fff!important;color:#000!important}.no-print,nav,header,.sidebar{display:none!important}.print-break{page-break-before:always}table{border-collapse:collapse}th,td{border:1px solid #000!important;padding:8px!important}}.loading-overlay{position:absolute;inset:0;background:var(--color-surface);opacity:.9;display:flex;align-items:center;justify-content:center;z-index:10}.spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@media(max-width:640px){.hide-mobile{display:none!important}}@media(min-width:641px)and (max-width:1023px){.hide-tablet{display:none!important}}@media(min-width:1024px){.hide-desktop{display:none!important}}.stack-mobile{display:flex;flex-direction:column;gap:var(--space-md)}@media(min-width:768px){.stack-mobile{flex-direction:row}}
