:root{--bg: #F5F6FA;--bg-elevated: #FFFFFF;--card: #FFFFFF;--card-grad-top: #FFFFFF;--card-grad-bottom: #FAFBFD;--border: #E5E7EB;--border-soft: #F1F2F6;--hover: #F1F2F7;--text: #0F172A;--text-muted: #64748B;--text-subtle: #94A3B8;--primary: #2D5BFF;--primary-hover: #1E4AED;--primary-soft: rgba(45, 91, 255, .08);--primary-soft-strong: rgba(45, 91, 255, .16);--primary-glow: rgba(45, 91, 255, .3);--success: #10B981;--success-soft: rgba(16, 185, 129, .12);--danger: #EF4444;--danger-soft: rgba(239, 68, 68, .12);--warning: #F59E0B;--warning-soft: rgba(245, 158, 11, .14);--purple: #8B5CF6;--radius-sm: 10px;--radius: 14px;--radius-lg: 20px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .04);--shadow: 0 1px 0 rgba(15, 23, 42, .02), 0 4px 12px rgba(15, 23, 42, .04), 0 2px 4px rgba(15, 23, 42, .03);--shadow-lg: 0 1px 0 rgba(15, 23, 42, .02), 0 18px 36px -10px rgba(15, 23, 42, .12), 0 8px 16px -4px rgba(15, 23, 42, .06);--shadow-glow: 0 0 0 1px rgba(45, 91, 255, .1), 0 8px 24px -6px rgba(45, 91, 255, .3);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--font: "Inter", "Inter var", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fs-xs: 12px;--fs-sm: 13px;--fs-base: 14px;--fs-md: 15px;--fs-lg: 17px;--fs-xl: 22px;--fs-2xl: 28px;--fs-3xl: 36px;--ls-tight: -.02em;--ls-snug: -.01em;--sidebar-w: 220px;--sidebar-w-collapsed: 72px;--topbar-h: 60px;--content-max: 1400px;--content-pad: 28px;--ease: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--t-fast: .12s cubic-bezier(.4, 0, .2, 1);--t: .2s cubic-bezier(.4, 0, .2, 1);--t-slow: .32s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--bg: #0B0D12;--bg-elevated: #14171E;--card: #161A22;--card-grad-top: #181C25;--card-grad-bottom: #14171E;--border: #262A33;--border-soft: #1B1F27;--hover: #1F232C;--text: #F1F5F9;--text-muted: #94A3B8;--text-subtle: #6B7585;--primary: #4E76FF;--primary-hover: #6A8BFF;--primary-soft: rgba(78, 118, 255, .14);--primary-soft-strong: rgba(78, 118, 255, .24);--primary-glow: rgba(78, 118, 255, .4);--success-soft: rgba(16, 185, 129, .18);--danger-soft: rgba(239, 68, 68, .18);--warning-soft: rgba(245, 158, 11, .18);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);--shadow: 0 1px 0 rgba(0, 0, 0, .4), 0 4px 12px rgba(0, 0, 0, .4), 0 2px 4px rgba(0, 0, 0, .25);--shadow-lg: 0 1px 0 rgba(0, 0, 0, .4), 0 24px 48px -12px rgba(0, 0, 0, .65), 0 8px 16px -4px rgba(0, 0, 0, .4);--shadow-glow: 0 0 0 1px rgba(78, 118, 255, .18), 0 8px 24px -6px rgba(78, 118, 255, .4)}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth;font-feature-settings:"cv11","ss01","ss03"}html,body{height:100%}body{background:var(--bg);color:var(--text);font-size:var(--fs-base);line-height:1.5;transition:background-color var(--t-slow),color var(--t-slow),border-color var(--t-slow);accent-color:var(--primary);caret-color:var(--primary)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;background:none;border:none;color:inherit}input,textarea,select{font:inherit;color:inherit;caret-color:var(--primary)}img,svg,video{display:block;max-width:100%}ul,ol{list-style:none}.tabular,.kpi-card__value,table td,table th,.sparkline-chart__value,.donut__center-value,time{font-variant-numeric:tabular-nums}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px;border:2px solid transparent;background-clip:padding-box;transition:background-color var(--t)}::-webkit-scrollbar-thumb:hover{background:var(--text-subtle);background-clip:padding-box}::selection{background:color-mix(in srgb,var(--primary) 22%,transparent);color:var(--text)}::-moz-selection{background:color-mix(in srgb,var(--primary) 22%,transparent);color:var(--text)}:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 30%,transparent);border-radius:var(--radius-sm)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
