:root{--color-brand-primary: #0078d4;--color-brand-secondary: #00bcf2;--color-success: #107c10;--color-warning: #ffb900;--color-error: #d13438;--color-info: #0078d4;--color-neutral-100: #faf9f8;--color-neutral-200: #f3f2f1;--color-neutral-300: #edebe9;--color-neutral-400: #d2d0ce;--color-neutral-500: #a19f9d;--color-neutral-600: #605e5c;--color-neutral-700: #323130;--color-neutral-800: #201f1e;--color-neutral-900: #11100f;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-xxl: 48px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 8px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 16px rgba(0, 0, 0, .15);--sidebar-width: 256px;--header-height: 64px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:14px;line-height:1.5}body{font-family:Segoe UI,Segoe UI Web,-apple-system,BlinkMacSystemFont,Roboto,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-neutral-100);color:var(--color-neutral-800)}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1rem}a{color:var(--color-brand-primary);text-decoration:none}a:hover{text-decoration:underline}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-neutral-200)}::-webkit-scrollbar-thumb{background:var(--color-neutral-400);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-500)}:focus-visible{outline:2px solid var(--color-brand-primary);outline-offset:2px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.fade-in{animation:fadeIn .2s ease-out}.slide-in{animation:slideIn .3s ease-out}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}
