:root{--color-primary: #3b5bfd;--color-primary-hover: #2f4be0;--color-primary-soft: #e8ecff;--color-primary-contrast: #ffffff;--color-success: #16a34a;--color-success-soft: #dcfce7;--color-warning: #d97706;--color-warning-soft: #fef3c7;--color-danger: #dc2626;--color-danger-soft: #fee2e2;--color-info: #2563eb;--color-info-soft: #dbeafe;--color-background: #f6f7fb;--color-surface: #ffffff;--color-surface-raised: #ffffff;--color-border: #e6e8f0;--color-border-strong: #d7dae5;--color-text: #111827;--color-text-muted: #6b7280;--color-text-subtle: #9ca3af;--color-text-inverse: #ffffff;--color-sidebar-bg: #ffffff;--color-sidebar-bg-active: #eef2ff;--color-sidebar-text: #4b5563;--color-sidebar-text-active: #111827;--color-sidebar-border: #e6e8f0;--chart-series-1: #2563eb;--chart-series-2: #16a34a;--chart-series-3: #7c3aed;--chart-series-4: #d97706;--chart-series-5: #dc2626;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 9999px;--shadow-card: 0 1px 2px rgba(16, 24, 40, .04), 0 1px 3px rgba(16, 24, 40, .06);--shadow-hover: 0 4px 12px rgba(16, 24, 40, .08), 0 2px 4px rgba(16, 24, 40, .06);--shadow-modal: 0 20px 40px rgba(16, 24, 40, .18), 0 4px 12px rgba(16, 24, 40, .08);--space-3xs: 2px;--space-2xs: 4px;--space-xs: 8px;--space-sm: 12px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, Helvetica, Arial, sans-serif;--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-md: .875rem;--font-size-lg: 1rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.5;--sidebar-width: 240px;--header-height: 72px;--z-dropdown: 100;--z-sticky: 200;--z-modal-backdrop: 300;--z-modal: 310;--z-tooltip: 400;--z-toast: 500;--transition-fast: .12s ease;--transition-base: .2s ease;--transition-slow: .32s ease}[data-theme=dark]{--color-primary: #5b7cff;--color-primary-hover: #7091ff;--color-primary-soft: rgba(91, 124, 255, .16);--color-primary-contrast: #ffffff;--color-success: #4ade80;--color-success-soft: rgba(74, 222, 128, .14);--color-warning: #fbbf24;--color-warning-soft: rgba(251, 191, 36, .14);--color-danger: #f87171;--color-danger-soft: rgba(248, 113, 113, .14);--color-info: #60a5fa;--color-info-soft: rgba(96, 165, 250, .14);--color-background: #0e1424;--color-surface: #161d33;--color-surface-raised: #1b2340;--color-border: #2a3352;--color-border-strong: #384068;--color-text: #f1f3f9;--color-text-muted: #a3aac2;--color-text-subtle: #767f9e;--color-text-inverse: #10162b;--color-sidebar-bg: #0d1327;--color-sidebar-bg-active: #29366b;--color-sidebar-text: #a9b1cc;--color-sidebar-text-active: #ffffff;--color-sidebar-border: #1c2444;--shadow-card: 0 1px 2px rgba(0, 0, 0, .24), 0 1px 3px rgba(0, 0, 0, .28);--shadow-hover: 0 4px 12px rgba(0, 0, 0, .32), 0 2px 4px rgba(0, 0, 0, .24);--shadow-modal: 0 20px 40px rgba(0, 0, 0, .5), 0 4px 12px rgba(0, 0, 0, .3)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100vh;font-family:var(--font-sans);font-size:var(--font-size-md);line-height:var(--line-height-normal);color:var(--color-text);background:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{min-height:100vh}img,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:none}a{color:inherit;text-decoration:none}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-full);border:2px solid var(--color-background)}html,body,#app{transition:background-color var(--transition-base),color var(--transition-base)}[data-theme] *{transition:background-color var(--transition-base),border-color var(--transition-base),color var(--transition-base),box-shadow var(--transition-base)}.theme-loading *{transition:none!important}.u-flex{display:flex}.u-flex-col{display:flex;flex-direction:column}.u-items-center{align-items:center}.u-justify-between{justify-content:space-between}.u-justify-center{justify-content:center}.u-flex-wrap{flex-wrap:wrap}.u-gap-2xs{gap:var(--space-2xs)}.u-gap-xs{gap:var(--space-xs)}.u-gap-sm{gap:var(--space-sm)}.u-gap-md{gap:var(--space-md)}.u-gap-lg{gap:var(--space-lg)}.u-grid{display:grid}.u-text-muted{color:var(--color-text-muted)}.u-text-subtle{color:var(--color-text-subtle)}.u-text-sm{font-size:var(--font-size-sm)}.u-text-xs{font-size:var(--font-size-xs)}.u-font-medium{font-weight:var(--font-weight-medium)}.u-font-semibold{font-weight:var(--font-weight-semibold)}.u-font-bold{font-weight:var(--font-weight-bold)}.u-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.u-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}.u-full-width{width:100%}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.6}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes draw-line{0%{stroke-dashoffset:var(--dash-length, 1000)}to{stroke-dashoffset:0}}.anim-fade-in{animation:fade-in var(--transition-slow) ease both}.anim-slide-up{animation:slide-up var(--transition-slow) ease both}.anim-scale-in{animation:scale-in var(--transition-base) ease both}.anim-pulse-soft{animation:pulse-soft 1.6s ease-in-out infinite}.anim-skeleton{background:linear-gradient(90deg,var(--color-border) 25%,var(--color-border-strong) 37%,var(--color-border) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite}.anim-stagger>*{animation:slide-up var(--transition-slow) ease both}.anim-stagger>*:nth-child(1){animation-delay:0ms}.anim-stagger>*:nth-child(2){animation-delay:40ms}.anim-stagger>*:nth-child(3){animation-delay:80ms}.anim-stagger>*:nth-child(4){animation-delay:.12s}.anim-stagger>*:nth-child(5){animation-delay:.16s}.anim-stagger>*:nth-child(6){animation-delay:.2s}.press,.press-sm{cursor:pointer;transition:transform var(--transition-fast),filter var(--transition-fast)}.press:active{transform:scale(.97)}.press-sm:active{transform:scale(.99)}@media(prefers-reduced-motion:reduce){.press:active,.press-sm:active{transform:none}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.role-switcher[data-v-471a8b9c]{position:fixed;left:var(--space-lg);bottom:var(--space-lg);z-index:var(--z-sticky)}.role-switcher__trigger[data-v-471a8b9c]{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full);background:var(--color-text);color:var(--color-background);box-shadow:var(--shadow-hover);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.role-switcher__label[data-v-471a8b9c]{opacity:.7}.role-switcher__current[data-v-471a8b9c]{font-weight:var(--font-weight-semibold)}.role-switcher__menu[data-v-471a8b9c]{position:absolute;bottom:calc(100% + var(--space-sm));left:0;min-width:200px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-modal);padding:var(--space-2xs)}.role-switcher__option[data-v-471a8b9c]{display:block;width:100%;text-align:left;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-text)}.role-switcher__option[data-v-471a8b9c]:hover{background:var(--color-border)}.role-switcher__option--active[data-v-471a8b9c]{background:var(--color-primary-soft);color:var(--color-primary);font-weight:var(--font-weight-medium)}.app-shell[data-v-76973d4f]{min-height:100vh}
