@import "https://cdn.jsdelivr.net/npm/geist@1.3.1/dist/fonts/geist-sans/style.min.css";@import "https://cdn.jsdelivr.net/npm/geist@1.3.1/dist/fonts/geist-mono/style.min.css";@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.ds-page{background:var(--background);min-height:100vh;color:var(--text-primary)}.ds-top{z-index:var(--z-sticky);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle);background:#0a0e14e6;justify-content:space-between;align-items:center;gap:16px;padding:10px 20px;display:flex;position:sticky;top:0}.ds-brand{align-items:center;gap:12px;min-width:0;display:flex}.ds-brand img{width:auto;height:28px}.ds-brand-copy{gap:2px;display:grid}.ds-brand-copy strong{font-size:var(--text-body-sm);font-weight:700}.ds-brand-copy span{font-size:var(--text-caption);color:var(--text-tertiary)}.ds-layout{grid-template-columns:220px minmax(0,1fr);gap:0;max-width:1440px;margin:0 auto;display:grid}.ds-toc{border-right:1px solid var(--border-subtle);background:var(--surface-1);align-self:start;height:calc(100vh - 53px);padding:20px 12px 40px;position:sticky;top:53px;overflow:auto}.ds-toc-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);padding:12px 10px 6px;font-size:10px;font-weight:700}.ds-toc a{border-radius:var(--radius-sm);font-size:var(--text-caption);color:var(--text-secondary);padding:7px 10px;font-weight:500;display:block}.ds-toc a:hover{background:var(--surface-hover);color:var(--text-primary)}.ds-main{min-width:0;padding:24px 28px 80px}.ds-hero{margin-bottom:28px}.ds-hero h1{font-size:var(--text-page-title);letter-spacing:-.03em;margin-bottom:8px;font-weight:700}.ds-hero p{max-width:62ch;color:var(--text-secondary);font-size:var(--text-body)}.ds-code{font-family:var(--font-mono);background:var(--surface-3);border:1px solid var(--border-subtle);border-radius:var(--radius-xs);color:var(--accent-primary);padding:1px 6px;font-size:.85em}.ds-section{margin-bottom:40px;scroll-margin-top:72px}.ds-section>h2{font-size:var(--text-section);letter-spacing:-.02em;margin-bottom:6px;font-weight:700}.ds-section>.ds-lead{color:var(--text-secondary);font-size:var(--text-body-sm);max-width:70ch;margin-bottom:16px}.ds-panel+.ds-panel{margin-top:12px}.ds-panel-title{font-size:var(--text-caption);text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);margin-bottom:12px;font-weight:700}.ds-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ds-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.ds-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.ds-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.ds-swatch-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;display:grid}.ds-swatch{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-1);overflow:hidden}.ds-swatch-chip{height:52px}.ds-swatch-meta{gap:2px;padding:8px 10px;display:grid}.ds-swatch-meta strong{font-size:var(--text-caption);font-weight:600}.ds-swatch-meta span{color:var(--text-tertiary);font-size:10px;font-family:var(--font-mono)}.ds-type-sample{gap:14px;display:grid}.ds-type-row{border-bottom:1px solid var(--border-subtle);grid-template-columns:140px 1fr;align-items:baseline;gap:12px;padding-bottom:12px;display:grid}.ds-type-row:last-child{border-bottom:0;padding-bottom:0}.ds-type-meta{font-size:var(--text-caption);color:var(--text-tertiary);font-family:var(--font-mono)}.ds-space-row{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.ds-space-item{justify-items:center;gap:6px;display:grid}.ds-space-box{background:var(--accent-primary-subtle);border:1px solid var(--accent-primary-muted);border-radius:var(--radius-xs)}.ds-space-item span{color:var(--text-tertiary);font-size:10px;font-family:var(--font-mono)}.ds-radius-row{flex-wrap:wrap;gap:12px;display:flex}.ds-radius-item{border:1px solid var(--border-strong);background:var(--surface-3);width:72px;height:72px;color:var(--text-tertiary);place-items:end center;padding-bottom:8px;font-size:10px;display:grid}.ds-preview{border:1px solid var(--border-default);border-radius:var(--radius-2xl);background:var(--surface-1);min-height:520px;box-shadow:var(--shadow-lg);grid-template-columns:72px minmax(0,1fr);margin-bottom:28px;display:grid;overflow:hidden}.ds-preview-rail{background:linear-gradient(180deg, var(--neutral-900), var(--neutral-950));border-right:1px solid var(--border-subtle);flex-direction:column;align-items:center;gap:10px;padding:16px 0;display:flex}.ds-preview-rail .ds-rail-logo{border-radius:var(--radius-md);background:var(--accent-primary-subtle);width:40px;height:40px;color:var(--accent-primary);border:1px solid var(--accent-primary-muted);box-shadow:var(--shadow-glow);place-items:center;margin-bottom:10px;font-size:12px;font-weight:800;display:grid}.ds-rail-btn{border-radius:var(--radius-md);width:42px;height:42px;color:var(--text-tertiary);cursor:pointer;transition:background var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), transform var(--dur-fast) var(--ease);background:0 0;border:1px solid #0000;place-items:center;display:grid}.ds-rail-btn:hover{background:var(--surface-hover);color:var(--text-primary);border-color:var(--border-subtle);transform:var(--hover-lift)}.ds-rail-btn.is-active{background:var(--surface-selected);color:var(--accent-primary);border-color:var(--accent-primary-muted);box-shadow:var(--shadow-xs), inset 3px 0 0 var(--accent-primary)}.ds-panel{background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:18px}.ds-icon-cell{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-2);color:var(--text-tertiary);box-shadow:var(--shadow-xs);transition:transform var(--dur-fast) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);place-items:center;gap:8px;padding:16px 10px;font-size:10px;display:grid}.ds-icon-cell:hover{transform:var(--hover-lift);box-shadow:var(--shadow-sm);border-color:var(--border-strong);color:var(--text-secondary)}.ds-toc a:hover{background:var(--surface-selected);color:var(--accent-primary);box-shadow:var(--shadow-xs)}.ds-bar{background:linear-gradient(180deg, var(--cyan-300), var(--chart-primary));opacity:.95;min-width:0;transition:opacity var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);border-radius:6px 6px 2px 2px;flex:1;box-shadow:0 4px 12px #1bc4b52e}.ds-bar:hover{opacity:1;transform-origin:bottom;transform:scaleY(1.03)}.ds-bar.is-secondary{background:linear-gradient(180deg, var(--violet-300), var(--chart-secondary));opacity:.8;box-shadow:0 4px 12px #7c5cfc2e}.ds-preview-body{background:var(--background);flex-direction:column;min-width:0;display:flex}.ds-preview-top{border-bottom:1px solid var(--border-subtle);background:var(--surface-2);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.ds-preview-top h2{font-size:var(--text-card-title);margin:0;font-weight:700}.ds-preview-top .ds-crumb{font-size:var(--text-caption);color:var(--text-tertiary);margin-bottom:2px}.ds-preview-content{gap:14px;padding:14px 16px 18px;display:grid}.ds-chip-row{flex-wrap:wrap;gap:8px;display:flex}.ds-preview-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.ds-preview-mid{grid-template-columns:1.4fr 1fr;gap:10px;display:grid}.ds-preview-lower{grid-template-columns:1.2fr 1fr;gap:10px;display:grid}.ds-chart-card{background:linear-gradient(180deg, var(--surface-elevated), var(--surface-2));border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease), border-color var(--dur) var(--ease);padding:16px}.ds-chart-card:hover{transform:var(--hover-lift);box-shadow:var(--shadow-card-hover);border-color:var(--border-default)}.ds-chart-card header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.ds-chart-card header strong{font-size:var(--text-card-title)}.ds-chart-card header span{font-size:var(--text-caption);color:var(--text-tertiary)}.ds-bars{border-bottom:1px solid var(--chart-grid);background-image:linear-gradient(to top, transparent 0, transparent calc(100% - 1px), var(--chart-grid) calc(100% - 1px));background-size:100% 28px;align-items:flex-end;gap:8px;height:140px;padding-top:8px;display:flex}.ds-area{height:140px;position:relative}.ds-area svg{width:100%;height:100%}.ds-donut-wrap{align-items:center;gap:16px;min-height:140px;display:flex}.ds-donut{background:conic-gradient(var(--chart-primary) 0 42%, var(--chart-secondary) 42% 68%, var(--chart-muted) 68% 100%);width:110px;height:110px;box-shadow:var(--shadow-md);border-radius:50%;flex:none;-webkit-mask:radial-gradient(circle,#0000 52%,#000 53%);mask:radial-gradient(circle,#0000 52%,#000 53%)}.ds-donut-legend{font-size:var(--text-caption);color:var(--text-secondary);gap:8px;display:grid}.ds-donut-legend i{border-radius:2px;width:8px;height:8px;margin-right:6px;display:inline-block}.ds-table-dense .data-table th,.ds-table-dense .data-table td{padding:10px 12px}.ds-icon-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:10px;display:grid}.ds-icon-cell svg,.ds-icon-cell .ui-icon{width:18px;height:18px;color:var(--text-secondary)}.ds-a11y-note{font-size:var(--text-body-sm);color:var(--text-secondary);line-height:1.55}.ds-a11y-note ul{margin:8px 0 0;padding-left:18px}@media (width<=1100px){.ds-preview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.ds-preview-mid,.ds-preview-lower,.ds-grid-4,.ds-grid-3{grid-template-columns:1fr 1fr}}@media (width<=900px){.ds-layout{grid-template-columns:1fr}.ds-toc{border-right:0;border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;gap:4px;height:auto;padding:12px;display:flex;position:static}.ds-toc-label{width:100%}.ds-main{padding:20px 16px 64px}.ds-preview{grid-template-columns:1fr}.ds-preview-rail{border-right:0;border-bottom:1px solid var(--border-subtle);flex-direction:row;justify-content:flex-start;padding:10px 12px;overflow-x:auto}.ds-rail-btn.is-active{box-shadow:inset 0 -2px 0 var(--accent-primary)}}@media (width<=640px){.ds-preview-metrics,.ds-preview-mid,.ds-preview-lower,.ds-grid-2,.ds-grid-3,.ds-grid-4,.ds-type-row{grid-template-columns:1fr}}:root{--neutral-0:#fff;--neutral-25:#f4f6f8;--neutral-50:#e8ecf1;--neutral-100:#d5dde6;--neutral-200:#b7c2cf;--neutral-300:#8b98a8;--neutral-400:#6b7889;--neutral-500:#536070;--neutral-600:#3d4a5a;--neutral-700:#2b3543;--neutral-800:#1e2633;--neutral-850:#171e29;--neutral-900:#121820;--neutral-925:#0e131a;--neutral-950:#0a0e14;--cyan-50:#e6fffb;--cyan-100:#b3f5ee;--cyan-200:#7aebe0;--cyan-300:#3dd9cb;--cyan-400:#1bc4b5;--cyan-500:#0aa6a6;--cyan-600:#089090;--cyan-700:#067575;--cyan-800:#055c5c;--cyan-900:#044545;--violet-300:#a78bfa;--violet-400:#8b6cf7;--violet-500:#7c5cfc;--violet-600:#6a4ae8;--violet-700:#5538c4;--violet-subtle:#7c5cfc24;--violet-border:#7c5cfc59;--green-400:#34d399;--green-500:#10b981;--green-600:#059669;--amber-400:#fbbf24;--amber-500:#f59e0b;--amber-600:#d97706;--coral-400:#fb7185;--coral-500:#f43f5e;--coral-600:#e11d48;--blue-400:#60a5fa;--blue-500:#3b82f6;--background:var(--neutral-950);--foreground:var(--neutral-25);--surface-1:var(--neutral-925);--surface-2:var(--neutral-900);--surface-3:var(--neutral-850);--surface-elevated:var(--neutral-800);--surface-hover:#ffffff0e;--surface-selected:#0aa6a624;--surface-overlay:#04080eb8;--border-subtle:#ffffff0f;--border-default:#ffffff1a;--border-strong:#ffffff29;--border-focus:#1bc4b58c;--border-danger:#f43f5e73;--text-primary:var(--neutral-25);--text-secondary:var(--neutral-300);--text-tertiary:var(--neutral-400);--text-disabled:var(--neutral-500);--text-inverse:var(--neutral-950);--text-on-accent:#041414;--accent-primary:var(--cyan-400);--accent-primary-hover:var(--cyan-300);--accent-primary-active:var(--cyan-500);--accent-primary-subtle:#1bc4b51f;--accent-primary-muted:#1bc4b538;--accent-analytics:var(--violet-500);--accent-analytics-subtle:var(--violet-subtle);--success:var(--green-500);--success-strong:var(--green-400);--success-subtle:#10b9811f;--success-border:#10b98159;--success-text:var(--green-400);--warning:var(--amber-500);--warning-strong:var(--amber-400);--warning-subtle:#f59e0b1f;--warning-border:#f59e0b59;--warning-text:var(--amber-400);--danger:var(--coral-500);--danger-strong:var(--coral-400);--danger-subtle:#f43f5e1f;--danger-border:#f43f5e66;--danger-text:var(--coral-400);--info:var(--blue-500);--info-strong:var(--blue-400);--info-subtle:#3b82f61f;--info-border:#3b82f659;--info-text:var(--blue-400);--chart-primary:var(--cyan-400);--chart-secondary:var(--violet-400);--chart-success:var(--green-400);--chart-warning:var(--amber-400);--chart-danger:var(--coral-400);--chart-muted:var(--neutral-500);--chart-grid:#ffffff0f;--chart-axis:var(--neutral-400);--font:"Geist", "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-primary:var(--font);--font-display:var(--font);--font-mono:"Geist Mono", "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--text-display:2rem;--text-page-title:1.75rem;--text-h1:1.75rem;--text-section:1.125rem;--text-h2:1.125rem;--text-card-title:.9375rem;--text-h3:.9375rem;--text-h4:.875rem;--text-h5:.8125rem;--text-h6:.75rem;--text-body:.875rem;--text-body-sm:.8125rem;--text-label:.75rem;--text-caption:.6875rem;--text-data:1.5rem;--text-data-lg:1.75rem;--text-data-sm:1.125rem;--text-overline:.6875rem;--space-0:0;--space-0-5:2px;--space-1:4px;--space-1-5:6px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--page-pad:20px;--section-gap:16px;--gutter:12px;--container-sm:640px;--container-md:880px;--container-lg:1120px;--container-xl:1320px;--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--radius-full:999px;--radius-pill:var(--radius-full);--shadow-xs:0 1px 2px #00000073, 0 0 0 1px #ffffff08;--shadow-sm:0 4px 14px #0006, 0 0 0 1px #ffffff0a;--shadow-md:0 10px 28px #00000080, 0 0 0 1px #ffffff0d;--shadow-lg:0 22px 56px #00000094, 0 0 0 1px #ffffff0f;--shadow-glow:0 0 0 1px #1bc4b538, 0 8px 24px #1bc4b51f;--shadow-card:0 8px 24px #00000059, 0 1px 0 #ffffff0a inset;--shadow-card-hover:0 14px 36px #0000007a, 0 0 0 1px #1bc4b52e;--hover-lift:translateY(-1px);--press-sink:translateY(1px);--header-h:52px;--sidebar-w:232px;--sidebar-collapsed:64px;--focus-ring:0 0 0 2px var(--background), 0 0 0 4px var(--accent-primary);--ease:cubic-bezier(.2, .8, .2, 1);--dur-fast:.12s;--dur:.15s;--dur-slow:.22s;--z-dropdown:40;--z-sticky:50;--z-drawer:60;--z-modal:70;--z-toast:80;--icon-xs:12px;--icon-sm:14px;--icon-md:16px;--icon-lg:18px;--icon-xl:20px;--icon-2xl:24px;--icon-stroke:1.75;--brand-navy:var(--text-primary);--brand-navy-900:var(--neutral-950);--brand-navy-800:var(--neutral-900);--brand-navy-700:var(--neutral-800);--brand-teal:var(--accent-primary);--brand-teal-700:var(--accent-primary-active);--brand-teal-600:var(--cyan-500);--brand-teal-100:var(--accent-primary-muted);--brand-teal-050:var(--accent-primary-subtle);--text:var(--text-primary);--text-soft:var(--text-secondary);--text-muted:var(--text-tertiary);--line:var(--border-default);--line-soft:var(--border-subtle);--surface:var(--surface-2);--surface-soft:var(--surface-1);--surface-raised:var(--surface-elevated);--page:var(--background);--overlay:var(--surface-overlay);--success-bg:var(--success-subtle);--warning-bg:var(--warning-subtle);--danger-bg:var(--danger-subtle);--info-bg:var(--info-subtle);--neutral-50-legacy:var(--surface-1)}@media (prefers-reduced-motion:reduce){:root{--dur-fast:0s;--dur:0s;--dur-slow:0s}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;height:100%}body{min-height:100%;font-family:var(--font);font-size:var(--text-body);color:var(--text-primary);background:var(--background);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-variant-numeric:tabular-nums;margin:0;line-height:1.45}#root{min-height:100%}h1,h2,h3,h4,p{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}img{max-width:100%;display:block}:focus-visible{box-shadow:var(--focus-ring);outline:none}.skip-link{z-index:100;background:var(--accent-primary);color:var(--text-on-accent);border-radius:var(--radius-sm);padding:8px 12px;font-weight:600;position:absolute;top:-48px;left:12px}.skip-link:focus{top:12px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.btn{border-radius:var(--radius-md);min-height:36px;font-weight:600;font-size:var(--text-body-sm);cursor:pointer;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), transform var(--dur-fast) var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 14px;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none!important;transform:none!important}.btn-xs{min-height:28px;font-size:var(--text-caption);border-radius:var(--radius-sm);padding:0 10px}.btn-sm{min-height:32px;font-size:var(--text-caption);border-radius:var(--radius-sm);padding:0 12px}.btn-md{min-height:36px;padding:0 14px}.btn-lg{min-height:44px;font-size:var(--text-body);border-radius:var(--radius-lg);padding:0 18px}.btn .btn-icon-slot,.btn>svg,.btn>.ui-icon{width:var(--icon-md);height:var(--icon-md);flex:none;place-items:center;display:inline-grid}.btn-sm .btn-icon-slot,.btn-sm>svg,.btn-sm>.ui-icon{width:var(--icon-sm);height:var(--icon-sm)}.btn-lg .btn-icon-slot,.btn-lg>svg,.btn-lg>.ui-icon{width:var(--icon-lg);height:var(--icon-lg)}.btn-primary{background:var(--accent-primary);color:var(--text-on-accent);box-shadow:0 6px 16px #1bc4b538}.btn-primary:hover:not(:disabled){background:var(--accent-primary-hover);transform:var(--hover-lift);box-shadow:var(--shadow-glow)}.btn-primary:active:not(:disabled){background:var(--accent-primary-active);transform:var(--press-sink)}.btn-secondary{background:var(--surface-3);border-color:var(--border-default);color:var(--text-primary);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-elevated);transform:var(--hover-lift);box-shadow:var(--shadow-sm)}.btn-outline,.btn-tertiary{border-color:var(--border-strong);color:var(--text-secondary);background:0 0}.btn-outline:hover:not(:disabled),.btn-tertiary:hover:not(:disabled){background:var(--accent-primary-subtle);color:var(--accent-primary);border-color:var(--accent-primary-muted);transform:var(--hover-lift)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.btn-destructive{background:var(--danger);color:var(--neutral-0);box-shadow:0 6px 16px #f43f5e38}.btn-destructive:hover:not(:disabled){filter:brightness(1.08);transform:var(--hover-lift)}.btn-link{color:var(--accent-primary);background:0 0;border:0;min-height:auto;padding:0;font-weight:600;text-decoration:none}.btn-link:hover:not(:disabled){color:var(--accent-primary-hover);text-decoration:underline}.btn-icon{aspect-ratio:1;width:36px;padding:0}.btn-icon.btn-xs{width:28px}.btn-icon.btn-sm{width:32px}.btn-icon.btn-lg{width:44px}.btn-spinner{border:2px solid color-mix(in srgb, var(--text-on-accent) 35%, transparent);border-top-color:var(--text-on-accent);border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.7s linear infinite spin}.btn-primary .btn-spinner{border-color:#04141440;border-top-color:var(--text-on-accent)}.btn-secondary .btn-spinner,.btn-outline .btn-spinner,.btn-tertiary .btn-spinner,.btn-ghost .btn-spinner,.btn-link .btn-spinner{border-color:#1bc4b540;border-top-color:var(--accent-primary)}.full{width:100%}@keyframes spin{to{transform:rotate(360deg)}}.form-field{gap:6px;margin-bottom:14px;display:grid}.form-field label{font-size:var(--text-label);color:var(--text-secondary);letter-spacing:.01em;font-weight:600}.req{color:var(--danger-text);margin-left:4px}.input{border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-1);width:100%;min-height:36px;color:var(--text-primary);padding:8px 12px}.input::placeholder{color:var(--text-tertiary)}.input:hover:not(:disabled):not([readonly]){border-color:var(--border-strong)}.input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-subtle)}.input.is-invalid{border-color:var(--danger)}.input.is-success{border-color:var(--success)}.input:disabled,.input[readonly]{background:var(--surface-3);color:var(--text-disabled);cursor:not-allowed}.textarea{resize:vertical;min-height:96px}.field-hint,.field-error,.field-success{font-size:var(--text-caption);margin:0}.field-hint{color:var(--text-tertiary)}.field-error{color:var(--danger-text)}.field-success{color:var(--success-text)}.search-field{background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-md);min-width:220px;max-width:420px;height:40px;box-shadow:var(--shadow-xs);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), background var(--dur) var(--ease);flex:240px;align-items:center;gap:8px;padding:0 10px 0 12px;display:flex;position:relative}.search-field-sm{border-radius:var(--radius-sm);max-width:360px;height:34px;padding:0 8px 0 10px}.search-field:hover{border-color:var(--border-strong);background:var(--surface-2)}.search-field:focus-within{border-color:var(--accent-primary);background:var(--surface-2);box-shadow:0 0 0 3px var(--accent-primary-subtle), var(--shadow-xs)}.search-field:has(.search-input:disabled){opacity:.5;cursor:not-allowed}.search-icon{color:var(--text-tertiary);pointer-events:none;flex:none;place-items:center;display:inline-grid;position:static;transform:none}.search-field:focus-within .search-icon{color:var(--accent-primary)}.search-input{min-width:0;height:100%;color:var(--text-primary);font-size:var(--text-body-sm);appearance:none;border-radius:0;flex:auto;margin:0;padding:0;box-shadow:none!important;background:0 0!important;border:0!important;outline:none!important}.search-field-sm .search-input{font-size:var(--text-caption)}.search-input::placeholder{color:var(--text-tertiary)}.search-input::-webkit-search-decoration{appearance:none;display:none}.search-input::-webkit-search-cancel-button{appearance:none;display:none}.search-input::-webkit-search-results-button{appearance:none;display:none}.search-input::-webkit-search-results-decoration{appearance:none;display:none}.search-clear{border-radius:var(--radius-sm);background:var(--surface-3);width:24px;height:24px;color:var(--text-secondary);cursor:pointer;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);border:0;flex:none;place-items:center;padding:0;display:inline-grid}.search-clear:hover{background:var(--surface-elevated);color:var(--text-primary)}.search-kbd{min-width:28px;height:22px;color:var(--text-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-xs);background:var(--surface-3);font-size:11px;line-height:1;font-family:var(--font-mono);flex:none;justify-content:center;align-items:center;padding:0 7px;font-weight:500;display:inline-flex;position:static;transform:none;box-shadow:inset 0 -1px #00000059}.search-field:focus-within .search-kbd{opacity:.55}.input-affix{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-1);box-shadow:var(--shadow-xs);align-items:stretch;display:flex;overflow:hidden}.input-affix:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-subtle)}.input-affix .input{min-height:34px;box-shadow:none;background:0 0;border:0;border-radius:0}.input-affix-addon{background:var(--surface-3);color:var(--text-tertiary);font-size:var(--text-caption);border-right:1px solid var(--border-subtle);align-items:center;padding:0 12px;font-weight:600;display:inline-flex}.input-affix-addon:last-child{border-right:0;border-left:1px solid var(--border-subtle)}.check-row,.switch-row{font-size:var(--text-body-sm);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:10px;display:inline-flex}.check-row.is-disabled,.switch-row.is-disabled{opacity:.45;cursor:not-allowed}.ui-check-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.ui-check-box,.ui-radio-box{border:1.5px solid var(--border-strong);background:var(--surface-1);color:#0000;width:18px;height:18px;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);box-shadow:var(--shadow-xs);flex:none;place-items:center;margin-top:1px;display:inline-grid}.ui-check-box{border-radius:var(--radius-xs)}.ui-radio-box{border-radius:50%}.ui-radio-box>i{width:8px;height:8px;transition:background var(--dur) var(--ease), transform var(--dur-fast) var(--ease);background:0 0;border-radius:50%;transform:scale(.4)}.check-row:hover .ui-check-box,.check-row:hover .ui-radio-box{border-color:var(--accent-primary)}.ui-check-input:focus-visible+.ui-check-box,.ui-check-input:focus-visible+.ui-radio-box{box-shadow:var(--focus-ring)}.ui-check-input:checked+.ui-check-box{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--text-on-accent)}.ui-check-input:checked+.ui-radio-box{border-color:var(--accent-primary);background:var(--accent-primary-subtle)}.ui-check-input:checked+.ui-radio-box>i{background:var(--accent-primary);transform:scale(1)}.check-row.is-checked{color:var(--text-primary)}.ui-check-copy{gap:2px;display:grid}.ui-check-label{color:var(--text-primary);font-weight:600}.ui-check-desc{font-size:var(--text-caption);color:var(--text-tertiary)}.select-wrap{display:block;position:relative}.select-wrap .select-input,.select-input.input{appearance:none;cursor:pointer;background-image:none;padding-right:36px}.select-chevron{color:var(--text-tertiary);pointer-events:none;place-items:center;display:inline-grid;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.select-wrap:focus-within .select-chevron{color:var(--accent-primary)}.switch{border-radius:var(--radius-full);background:var(--neutral-600);cursor:pointer;width:40px;height:22px;transition:background var(--dur) var(--ease);border:0;padding:2px}.switch.is-on{background:var(--accent-primary)}.switch-thumb{background:var(--neutral-0);width:18px;height:18px;transition:transform var(--dur) var(--ease);border-radius:50%;display:block}.switch.is-on .switch-thumb{transform:translate(18px)}.tabs{flex-wrap:wrap;gap:2px;display:flex}.tabs button{justify-content:center;align-items:center;gap:8px;line-height:1;display:inline-flex}.tab-icon{color:currentColor;opacity:.9;flex:none;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.tab-icon .ui-icon,.tab-icon svg{width:16px;height:16px}.tab-label{align-items:center;line-height:1.2;display:inline-flex}.tabs-underline{border-bottom:1px solid var(--border-subtle);gap:0}.tabs-underline button{color:var(--text-tertiary);cursor:pointer;font-weight:600;font-size:var(--text-body-sm);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 12px}.tabs-underline button.is-active{color:var(--text-primary);border-bottom-color:var(--accent-primary)}.tabs-pill button,.tabs-segmented button{border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;font-weight:600;font-size:var(--text-body-sm);background:0 0;border:1px solid #0000;align-items:center;gap:8px;padding:8px 12px;display:inline-flex}.tabs-pill button.is-active{background:var(--accent-primary-subtle);color:var(--accent-primary);border-color:var(--accent-primary-muted)}.tabs-segmented{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:fit-content;padding:3px}.tabs-segmented button.is-active{background:var(--surface-elevated);color:var(--text-primary);box-shadow:var(--shadow-xs)}.tab-count{border-radius:var(--radius-full);background:var(--surface-3);min-width:18px;height:18px;color:var(--text-secondary);justify-content:center;align-items:center;padding:0 6px;font-size:11px;display:inline-flex}.tabs button:disabled{opacity:.4;cursor:not-allowed}.progress-block{gap:6px;display:grid}.progress-label{font-size:var(--text-caption);color:var(--text-tertiary);font-weight:600}.progress-track{border-radius:var(--radius-full);background:var(--surface-3);height:6px;overflow:hidden}.progress-track>i{background:var(--accent-primary);border-radius:inherit;height:100%;display:block}.progress-track.is-indeterminate>i{animation:1.1s ease-in-out infinite progress-indeterminate;width:40%!important}@keyframes progress-indeterminate{0%{transform:translate(-120%)}to{transform:translate(280%)}}.inline-spinner{align-items:center;display:inline-flex}.inline-spinner .btn-spinner{border-color:#1bc4b533;border-top-color:var(--accent-primary)}.tooltip-wrap{display:inline-flex;position:relative}.tooltip-bubble{background:var(--surface-elevated);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--dur) var(--ease);z-index:var(--z-dropdown);box-shadow:var(--shadow-sm);padding:6px 10px;font-size:12px;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.tooltip-wrap:hover .tooltip-bubble,.tooltip-wrap:focus-within .tooltip-bubble{opacity:1}.modal-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.modal-head h2{font-size:var(--text-section);color:var(--text-primary);margin:0}.modal-body{color:var(--text-secondary)}.modal-foot{margin-top:16px}.drawer-backdrop{background:var(--surface-overlay);z-index:var(--z-drawer);justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer-panel{background:var(--surface-2);border-left:1px solid var(--border-default);width:min(420px,100%);height:100%;box-shadow:var(--shadow-lg);padding:20px;overflow:auto}.badge{border-radius:var(--radius-full);font-size:var(--text-caption);background:var(--surface-3);color:var(--text-secondary);white-space:nowrap;border:1px solid var(--border-subtle);box-shadow:var(--shadow-xs);align-items:center;gap:6px;padding:4px 10px;font-weight:600;display:inline-flex}.badge-success{background:var(--success-subtle);color:var(--success-text);border-color:var(--success-border)}.badge-warning{background:var(--warning-subtle);color:var(--warning-text);border-color:var(--warning-border)}.badge-danger{background:var(--danger-subtle);color:var(--danger-text);border-color:var(--danger-border)}.badge-info{background:var(--info-subtle);color:var(--info-text);border-color:var(--info-border)}.badge-teal{background:var(--accent-primary-subtle);color:var(--accent-primary);border-color:var(--accent-primary-muted)}.badge-dot:before{content:"";width:6px;height:6px;box-shadow:0 0 0 3px color-mix(in srgb, currentColor 18%, transparent);background:currentColor;border-radius:50%}.avatar{background:linear-gradient(145deg, var(--accent-primary-subtle), var(--surface-3));width:36px;height:36px;color:var(--accent-primary);border:1px solid var(--border-default);box-shadow:var(--shadow-xs);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.ui-icon{flex:none;place-items:center;width:1em;height:1em;line-height:0;display:inline-grid}.ui-icon svg{stroke:currentColor;fill:none;width:100%;height:100%;stroke-width:var(--icon-stroke);stroke-linecap:round;stroke-linejoin:round}.icon-tile{border-radius:var(--radius-md);background:var(--surface-3);border:1px solid var(--border-subtle);width:40px;height:40px;color:var(--text-secondary);box-shadow:var(--shadow-xs);transition:background var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), transform var(--dur-fast) var(--ease);flex:none;place-items:center;display:inline-grid}.icon-tile .ui-icon{width:var(--icon-lg);height:var(--icon-lg)}.icon-tile-sm{border-radius:var(--radius-sm);width:32px;height:32px}.icon-tile-sm .ui-icon{width:var(--icon-md);height:var(--icon-md)}.icon-tile-lg{border-radius:var(--radius-lg);width:48px;height:48px}.icon-tile-lg .ui-icon{width:var(--icon-xl);height:var(--icon-xl)}.icon-tile-accent{background:var(--accent-primary-subtle);border-color:var(--accent-primary-muted);color:var(--accent-primary)}.icon-tile-violet{background:var(--accent-analytics-subtle);border-color:var(--violet-border);color:var(--accent-analytics)}.icon-tile-success{background:var(--success-subtle);border-color:var(--success-border);color:var(--success-text)}.icon-tile-warning{background:var(--warning-subtle);border-color:var(--warning-border);color:var(--warning-text)}.icon-tile-danger{background:var(--danger-subtle);border-color:var(--danger-border);color:var(--danger-text)}.icon-tile-info{background:var(--info-subtle);border-color:var(--info-border);color:var(--info-text)}.icon-tile.is-interactive{cursor:pointer}.icon-tile.is-interactive:hover{transform:var(--hover-lift);box-shadow:var(--shadow-sm);color:var(--text-primary);border-color:var(--border-strong)}.card{background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease), border-color var(--dur) var(--ease)}.card.pad{padding:18px}.card.is-interactive{cursor:pointer}.card.is-interactive:hover,.card.card-hover:hover{transform:var(--hover-lift);border-color:var(--border-strong);box-shadow:var(--shadow-card-hover)}.stat-card{background:linear-gradient(180deg, var(--surface-elevated) 0%, var(--surface-2) 100%);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease), border-color var(--dur) var(--ease);padding:16px 18px}.stat-card:hover{transform:var(--hover-lift);box-shadow:var(--shadow-card-hover);border-color:var(--border-default)}.stat-label{color:var(--text-tertiary);font-size:var(--text-caption);margin-bottom:6px;font-weight:600}.stat-value{font-size:var(--text-data-lg);color:var(--text-primary);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-weight:700}.stat-hint{color:var(--text-tertiary);font-size:var(--text-caption);margin-top:6px}.empty-state{text-align:center;background:var(--surface-2);border:1px dashed var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);padding:36px 24px}.empty-state h3{color:var(--text-primary);font-size:var(--text-card-title);margin:8px 0}.empty-state p{color:var(--text-secondary);font-size:var(--text-body-sm);margin-bottom:16px}.empty-icon{border-radius:var(--radius-lg);background:var(--accent-primary-subtle);width:48px;height:48px;color:var(--accent-primary);border:1px solid var(--accent-primary-muted);box-shadow:var(--shadow-xs);place-items:center;margin:0 auto 8px;font-size:20px;display:grid}.skeleton{background:linear-gradient(90deg, var(--neutral-850) 25%, var(--neutral-800) 37%, var(--neutral-850) 63%);border-radius:var(--radius-sm);background-size:400% 100%;animation:1.2s infinite shimmer}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media (prefers-reduced-motion:reduce){.skeleton{background:var(--neutral-850);animation:none}}.alert{border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--surface-elevated);box-shadow:var(--shadow-xs);border-left-width:3px;align-items:flex-start;gap:12px;margin:12px 0;padding:12px 14px;display:flex}.alert-mark{border-radius:var(--radius-sm);background:var(--surface-3);border:1px solid var(--border-subtle);flex:none;place-items:center;width:28px;height:28px;font-size:12px;font-weight:800;display:grid}.alert-copy{flex:1;min-width:0}.alert-copy strong{color:var(--text-primary);font-size:var(--text-body-sm);display:block}.alert-info{border-left-color:var(--info)}.alert-info .alert-mark{color:var(--info-text);border-color:var(--info-border);background:#3b82f629}.alert-success{border-left-color:var(--success)}.alert-success .alert-mark{color:var(--success-text);border-color:var(--success-border);background:#10b98129}.alert-warning{border-left-color:var(--warning)}.alert-warning .alert-mark{color:var(--warning-text);border-color:var(--warning-border);background:#f59e0b29}.alert-danger{border-left-color:var(--danger)}.alert-danger .alert-mark{color:var(--danger-text);border-color:var(--danger-border);background:#f43f5e29}.alert-body{font-size:var(--text-body-sm);color:var(--text-secondary);margin-top:4px}.page-header{margin-bottom:8px}.page-header-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.page-header h1{font-size:var(--text-h1);letter-spacing:-.03em;color:var(--text-primary);font-weight:800}.page-desc{color:var(--text-soft);max-width:640px;margin-top:6px}.page-actions{flex-wrap:wrap;gap:10px;display:flex}.breadcrumbs ol{flex-wrap:wrap;gap:6px;margin:0 0 10px;padding:0;list-style:none;display:flex}.breadcrumbs a{color:var(--accent-primary);font-size:var(--text-caption);font-weight:600}.breadcrumbs span{font-size:var(--text-caption);color:var(--text-muted)}.bc-sep{color:var(--line);margin:0 4px}.filter-chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chip{border:1px solid var(--line);background:var(--surface-2);border-radius:var(--radius-full);font-size:var(--text-caption);cursor:pointer;padding:6px 10px}.chip-clear{color:var(--accent-primary);cursor:pointer;background:0 0;border:0;font-weight:700}.app-shell{grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh;display:grid}.app-shell.is-collapsed{grid-template-columns:var(--sidebar-collapsed) 1fr}.sidebar{background:linear-gradient(180deg, var(--neutral-900) 0%, var(--neutral-925) 100%);border-right:1px solid var(--border-subtle);flex-direction:column;height:100vh;padding:12px 10px 10px;display:flex;position:sticky;top:0;overflow:visible;box-shadow:4px 0 24px #00000040}.sidebar-brand{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:linear-gradient(180deg, #ffffff0a 0%, transparent 100%), var(--surface-2);min-height:56px;box-shadow:var(--shadow-xs);place-items:center;margin:0 0 10px;padding:10px 12px;display:grid}.sidebar-brand img{object-fit:contain;width:100%;max-width:168px;height:auto;display:block}.sidebar-nav{flex:1;align-content:start;gap:2px;min-height:0;padding-right:2px;display:grid;overflow:auto}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}.sidebar-foot{border-top:1px solid var(--border-subtle);flex-shrink:0;justify-content:center;margin-top:auto;padding-top:8px;display:flex}.nav-group{gap:0;display:grid}.nav-group-trigger{border-radius:var(--radius-md);width:100%;min-height:34px;color:var(--text-secondary);font:inherit;cursor:pointer;text-align:left;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:0;align-items:center;gap:8px;padding:6px 8px;font-size:13px;font-weight:650;display:flex}.nav-group-trigger:hover{background:var(--surface-hover);color:var(--text-primary)}.nav-group.has-active>.nav-group-trigger{color:var(--text-primary)}.nav-group.is-open>.nav-group-trigger{color:var(--accent-primary)}.nav-group-icon{border-radius:var(--radius-sm);width:22px;height:22px;color:var(--text-tertiary);background:0 0;border:0;flex:none;place-items:center;display:inline-grid}.nav-group.is-open .nav-group-icon,.nav-group.has-active .nav-group-icon{color:var(--accent-primary)}.nav-group-label{flex:1;min-width:0;line-height:1.2}.nav-group-chevron{color:var(--text-tertiary);opacity:.85;transition:transform var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);flex-shrink:0}.nav-group-chevron.is-open{color:var(--accent-primary);transform:rotate(180deg)}.nav-group-panel{border-left:1px solid var(--border-subtle);gap:1px;margin:0 0 2px 11px;padding:2px 0 4px 10px;display:grid}.nav-nested-dot{background:var(--text-tertiary);border-radius:50%;flex:none;width:5px;height:5px;margin-left:2px}.nav-item.is-active .nav-nested-dot{background:var(--accent-primary)}.nav-item-nested{gap:8px!important;min-height:30px!important;padding:5px 8px!important;font-size:12.5px!important;font-weight:600!important}.nav-item-nested .nav-icon{display:none}.is-collapsed .nav-group{display:contents}.nav-item{border-radius:var(--radius-md);min-height:36px;color:var(--text-secondary);font-weight:600;font-size:var(--text-body-sm);transition:background var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), transform var(--dur-fast) var(--ease);border:1px solid #0000;align-items:center;gap:10px;padding:7px 10px;display:flex}.nav-item:hover{background:var(--surface-hover);color:var(--text-primary);border-color:var(--border-subtle)}.nav-item.is-active{background:var(--surface-selected);color:var(--text-primary);border-color:var(--accent-primary-muted);box-shadow:var(--shadow-xs)}.nav-icon{border-radius:var(--radius-sm);background:var(--surface-3);border:1px solid var(--border-subtle);width:26px;height:26px;color:var(--text-tertiary);flex:none;place-items:center;display:inline-grid}.nav-item.is-active .nav-icon{background:var(--accent-primary-subtle);border-color:var(--accent-primary-muted);color:var(--accent-primary)}.nav-dot{background:var(--neutral-600);width:8px;height:8px;transition:background var(--dur) var(--ease), box-shadow var(--dur) var(--ease);border-radius:50%;flex:none}.nav-item.is-active .nav-dot{background:var(--accent-primary);box-shadow:0 0 0 4px #1bc4b52e}.nav-item .icon-tile{border-radius:var(--radius-sm);width:28px;height:28px;box-shadow:none}.nav-item.is-active .icon-tile{background:var(--accent-primary-subtle);border-color:var(--accent-primary-muted);color:var(--accent-primary)}.is-collapsed .sidebar-brand{border-radius:var(--radius-md);min-height:44px;padding:8px}.is-collapsed .sidebar-brand img{object-fit:contain;width:28px;max-width:28px;height:28px}.is-collapsed .nav-label,.is-collapsed .nav-group-label,.is-collapsed .nav-group-chevron{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.is-collapsed .nav-group-trigger{justify-content:center;padding:10px}.is-collapsed .nav-group-panel{display:none}.is-collapsed .nav-item{justify-content:center;min-height:34px;padding:8px}.is-collapsed .sidebar-foot{padding-top:6px}.nav-collapse-btn{border:1px solid var(--border-default);border-radius:var(--radius-full);background:var(--surface-2);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;box-shadow:var(--shadow-xs);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);place-items:center;padding:0;display:inline-grid}.nav-collapse-btn:hover{background:var(--surface-elevated);color:var(--accent-primary);border-color:var(--accent-primary-muted);box-shadow:var(--shadow-sm)}.nav-collapse-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.chevron-collapse{transform:rotate(90deg)}.chevron-expand{transform:rotate(-90deg)}.shell-main{flex-direction:column;min-width:0;display:flex}.topbar{height:var(--header-h);background:var(--surface-2);border-bottom:1px solid var(--border-subtle);z-index:var(--z-sticky);box-shadow:var(--shadow-xs);justify-content:space-between;align-items:center;gap:12px;padding:0 20px;display:flex;position:sticky;top:0}.org-chip{border-radius:var(--radius-full);background:var(--surface-3);border:1px solid var(--border-subtle);color:var(--text-primary);font-size:var(--text-caption);box-shadow:var(--shadow-xs);padding:6px 10px;font-weight:700;display:inline-flex}.topbar-right{align-items:center;gap:8px;display:flex}.icon-btn{border-radius:var(--radius-md);cursor:pointer;width:40px;height:40px;color:var(--text-secondary);transition:background var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), transform var(--dur-fast) var(--ease);background:0 0;border:1px solid #0000;place-items:center;display:inline-grid;position:relative}.icon-btn:hover{background:var(--surface-3);color:var(--text-primary);border-color:var(--border-subtle);box-shadow:var(--shadow-xs);transform:var(--hover-lift)}.notif-dot{background:var(--danger);min-width:16px;height:16px;color:var(--neutral-0);border-radius:999px;place-items:center;padding:0 4px;font-size:10px;font-weight:800;display:grid;position:absolute;top:6px;right:6px}.avatar-menu{position:relative}.avatar-trigger{cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:10px;padding:4px;display:flex}.avatar-meta{text-align:left;display:grid}.avatar-meta strong{font-size:13px}.avatar-meta small{color:var(--text-muted);font-size:11px}.menu-popover{background:var(--surface-2);border:1px solid var(--line);width:280px;box-shadow:var(--shadow-md);z-index:var(--z-dropdown);border-radius:12px;gap:2px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.menu-popover button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:10px 12px;font-size:13px}.menu-popover button:hover,.menu-popover button.is-current{background:var(--accent-primary-subtle)}.menu-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding:8px 12px 4px;font-size:11px;font-weight:700}.menu-popover hr{border:0;border-top:1px solid var(--line-soft);margin:6px 0}.notes-backdrop{z-index:calc(var(--z-drawer) - 1);cursor:default;background:0 0;border:0;position:fixed;inset:0}.notes-drawer{background:var(--surface-elevated);border:1px solid var(--border-default);border-radius:var(--radius-lg);width:min(400px,100vw - 32px);max-height:min(72vh,560px);box-shadow:var(--shadow-lg);z-index:var(--z-drawer);flex-direction:column;display:flex;position:fixed;top:64px;right:16px;overflow:hidden}.notes-head{justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 16px 0;display:flex}.notes-head-copy{gap:4px;min-width:0;display:grid}.notes-head h2{font-size:var(--text-h3);color:var(--text-primary);letter-spacing:-.02em;margin:0;font-weight:750}.notes-count{font-size:var(--text-caption);color:var(--accent-primary);font-weight:650}.notes-close{flex-shrink:0;margin:-4px -4px 0 0}.notes-toolbar{border-bottom:1px solid var(--border-subtle);align-items:center;gap:8px;padding:10px 16px 12px;display:flex}.notes-link-btn{font:inherit;font-size:var(--text-body-sm);color:var(--text-secondary);cursor:pointer;transition:color var(--dur-fast) var(--ease);background:0 0;border:0;padding:0;font-weight:650}.notes-link-btn:hover{color:var(--accent-primary)}.notes-link-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:var(--radius-sm)}.notes-toolbar-sep{background:var(--border-strong);flex-shrink:0;width:1px;height:14px}.notes-body{-webkit-overflow-scrolling:touch;padding:12px 16px 16px;overflow:auto}.notes-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.notes-list li{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-2);box-shadow:var(--shadow-xs);transition:border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease)}.notes-list li.is-unread{border-left:3px solid var(--accent-primary);background:linear-gradient(90deg, #1bc4b50f 0%, transparent 42%), var(--surface-2)}.notes-list li.is-read{opacity:.82;border-left:3px solid #0000}.notes-list li:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.note-item-btn{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;border-radius:calc(var(--radius-md) - 1px);background:0 0;border:0;gap:6px;padding:12px 14px;display:grid}.note-item-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:-2px}.note-item-head{align-items:flex-start;gap:8px;display:flex}.note-unread-dot{background:var(--accent-primary);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px;box-shadow:0 0 0 3px #1bc4b52e}.note-item-head strong{font-size:var(--text-body-sm);color:var(--text-primary);font-weight:700;line-height:1.35}.note-body{color:var(--text-secondary);font-size:var(--text-body-sm);margin:0;line-height:1.4}.notes-list li.is-unread .note-body,.notes-list li.is-unread .note-meta{padding-left:16px}.note-meta{font-size:var(--text-caption);color:var(--text-tertiary);justify-content:space-between;align-items:center;gap:10px;display:flex}.note-meta time{white-space:nowrap;flex-shrink:0}.note-category{border-radius:var(--radius-full);letter-spacing:.02em;text-transform:uppercase;align-items:center;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.note-category.is-info{background:var(--info-subtle);color:var(--info-text)}.note-category.is-success{background:var(--success-subtle);color:var(--success-text)}.note-category.is-accent{background:var(--accent-primary-subtle);color:var(--accent-primary)}.note-category.is-neutral{background:var(--surface-1);color:var(--text-secondary)}.page-content{width:100%;max-width:1320px;margin:0 auto;padding:20px 24px 40px}.stack-lg{gap:20px;display:grid}.stack-md{gap:14px;display:grid}.grid-2{grid-template-columns:1.2fr 1fr;gap:16px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.stat-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.stat-grid.four{grid-template-columns:repeat(4,1fr)}.metric-link{color:inherit;min-width:0;text-decoration:none;display:block}.metric-link .metric-card{height:100%}.ops-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.ops-list-row{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-1);color:inherit;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 12px;text-decoration:none;display:flex}.ops-list-row:hover{border-color:var(--border-strong);background:var(--surface-hover)}.ops-list-row strong{font-size:var(--text-body-sm);color:var(--text-primary);display:block}.ops-list-row small{color:var(--text-tertiary);font-size:var(--text-caption);margin-top:2px;display:block}.ops-list-meta{flex-shrink:0;justify-items:end;gap:6px;display:grid}.section-title{font-size:var(--text-h3);color:var(--text-primary);margin-bottom:12px;font-weight:750}.muted{color:var(--text-soft)}.text-link{color:var(--accent-primary);font-weight:700;font-size:var(--text-body-sm);cursor:pointer;background:0 0;border:0;padding:0}.action-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.inline-stats{color:var(--text-soft);flex-wrap:wrap;gap:12px;margin:10px 0 14px;font-size:13px;display:flex}.attention-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.attention-item{border:1px solid var(--line-soft);background:var(--surface-soft);border-radius:12px;justify-content:space-between;gap:12px;padding:12px;display:flex}.attention-item p{color:var(--text-soft);margin:4px 0 0;font-size:13px}.attention-item.tone-danger{border-color:var(--danger-border);background:var(--danger-bg)}.attention-item.tone-warning{border-color:var(--warning-border);background:var(--warning-bg)}.attention-item.tone-info{border-color:var(--info-border);background:var(--info-bg)}.toolbar{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.toolbar-label{color:var(--text-soft);gap:6px;font-size:12px;font-weight:600;display:grid}.toolbar-label select{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;min-height:42px;padding:0 10px}.table-wrap{background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:auto}.data-table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--text-body-sm)}.data-table th{text-align:left;background:linear-gradient(180deg, var(--surface-elevated), var(--surface-3));color:var(--text-tertiary);letter-spacing:.04em;text-transform:uppercase;z-index:1;border-bottom:1px solid var(--border-default);white-space:nowrap;padding:12px 16px;font-size:11px;font-weight:700;position:sticky;top:0}.data-table td{border-bottom:1px solid var(--border-subtle);vertical-align:middle;color:var(--text-primary);transition:background var(--dur-fast) var(--ease);padding:14px 16px}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover td{background:#1bc4b50f}.data-table tbody tr.is-selected td{background:var(--surface-selected)}.data-table tbody tr:hover td:first-child,.data-table tbody tr.is-selected td:first-child{box-shadow:inset 3px 0 0 var(--accent-primary)}.data-table .num{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.data-table .cell-with-icon{align-items:center;gap:10px;min-width:0;display:inline-flex}.data-table-toolbar{border-bottom:1px solid var(--border-subtle);background:var(--surface-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.row-actions{opacity:.55;transition:opacity var(--dur-fast) var(--ease);align-items:center;gap:6px;display:flex}.data-table tbody tr:hover .row-actions{opacity:1}.data-table tbody tr.is-row-link{cursor:pointer}.data-table tbody tr.is-row-link:hover{background:var(--surface-hover)}.data-table tbody tr.is-row-link:focus-visible{outline:2px solid var(--accent-primary);outline-offset:-2px}.detail-actions{border-top:1px solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;padding-top:16px;display:flex}.person-cell{align-items:center;gap:10px;min-width:0;display:flex}.truncate{text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.bar-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.bar-list li{grid-template-columns:56px 1fr 36px;align-items:center;gap:10px;display:grid}.bar-track{background:var(--line-soft);border-radius:999px;height:8px;overflow:hidden}.bar-track i{background:var(--accent-primary);border-radius:999px;height:100%;display:block}.segment-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.segment-list li{justify-content:space-between;align-items:center;gap:12px;display:flex}.stepper{width:100%}.stepper-track{counter-reset:stepper;align-items:flex-start;gap:0;margin:0;padding:0;list-style:none;display:flex}.stepper-step{text-align:center;flex:1 1 0;min-width:0;position:relative}.stepper-step:not(:first-child):before{content:"";background:var(--border-default);z-index:0;height:2px;transition:background var(--dur) var(--ease);border-radius:999px;position:absolute;top:17px;left:calc(20px - 50%);right:calc(50% + 20px)}.stepper-step.is-done:not(:first-child):before,.stepper-step.is-current:not(:first-child):before{background:linear-gradient(90deg, var(--accent-primary) 0%, var(--accent-primary-muted) 100%)}.stepper-step-inner,.stepper-step-btn{z-index:1;width:100%;font:inherit;color:inherit;cursor:default;background:0 0;border:0;flex-direction:column;align-items:center;gap:8px;padding:4px 6px 0;display:flex;position:relative}.stepper-step-btn{cursor:pointer;border-radius:var(--radius-md);transition:background var(--dur-fast) var(--ease)}.stepper-step-btn:hover{background:var(--surface-hover)}.stepper-step-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.stepper-node{border-radius:var(--radius-full);letter-spacing:-.02em;border:2px solid var(--border-strong);background:var(--surface-2);width:34px;height:34px;color:var(--text-tertiary);box-shadow:var(--shadow-xs);transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease), color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), transform var(--dur-fast) var(--ease);place-items:center;font-size:13px;font-weight:800;display:inline-grid}.stepper-dot{opacity:.55;background:currentColor;border-radius:50%;width:8px;height:8px}.stepper-label{font-size:var(--text-label);color:var(--text-tertiary);max-width:100%;transition:color var(--dur) var(--ease);padding:0 4px;font-weight:650;line-height:1.25}.stepper-step.is-upcoming .stepper-node{background:var(--surface-1)}.stepper-step.is-current .stepper-node{border-color:var(--accent-primary);background:var(--accent-primary-subtle);color:var(--accent-primary);box-shadow:0 0 0 4px #1bc4b524, var(--shadow-sm);transform:translateY(-1px)}.stepper-step.is-current .stepper-label{color:var(--text-primary);font-weight:700}.stepper-step.is-done .stepper-node{border-color:var(--accent-primary-muted);background:var(--accent-primary);color:var(--text-on-accent);box-shadow:0 4px 14px #1bc4b547}.stepper-step.is-done .stepper-label{color:var(--text-secondary)}.stepper-wizard{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:linear-gradient(180deg, #ffffff05 0%, transparent 100%), var(--surface-1);box-shadow:var(--shadow-xs);padding:14px 16px}.stepper-journey{border:1px solid var(--border-subtle);border-radius:var(--radius-full);background:var(--surface-1);padding:10px 12px;box-shadow:inset 0 1px #ffffff08}.stepper-journey .stepper-node{width:28px;height:28px}.stepper-journey .stepper-step:not(:first-child):before{top:14px;left:calc(16px - 50%);right:calc(50% + 16px)}.stepper-journey .stepper-step.is-current .stepper-node{background:var(--brand-navy);border-color:color-mix(in srgb, var(--accent-primary) 45%, var(--brand-navy));color:var(--neutral-0);box-shadow:0 0 0 4px #1bc4b51f, var(--shadow-sm)}.stepper-journey .stepper-step.is-current .stepper-dot{background:var(--neutral-0);opacity:1}.stepper-journey .stepper-label{font-size:var(--text-body-sm);font-weight:700}@media (width<=720px){.stepper-wizard{-webkit-overflow-scrolling:touch;padding:12px 10px;overflow-x:auto}.stepper-wizard .stepper-track{min-width:max(100%,520px)}.stepper-wizard .stepper-label{font-size:11px}.stepper-journey .stepper-track{min-width:100%}.stepper-journey .stepper-label{font-size:11px}}.hero-metric{color:var(--text-primary);letter-spacing:-.04em;font-size:40px;font-weight:800}.hero-metric small{color:var(--text-soft);margin-left:8px;font-size:14px;font-weight:600}.auth-page{background:radial-gradient(circle at 85% 10%, #1bc4b51f, transparent 28%), radial-gradient(circle at 10% 90%, #7c5cfc14, transparent 30%), var(--background);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius-lg);width:min(440px,100%);box-shadow:var(--shadow-sm);padding:28px}.auth-tag{color:var(--accent-primary);margin:10px 0 16px;font-size:12px;font-weight:700}.auth-card h1{color:var(--text-primary);margin-bottom:6px;font-size:1.5rem}.auth-sub{color:var(--text-soft);margin-bottom:18px;font-size:14px}.auth-links{gap:8px;margin-top:16px;display:grid}.auth-links a{color:var(--accent-primary);font-size:13px;font-weight:600}.demo-box{border-top:1px solid var(--line-soft);margin-top:18px;padding-top:14px}.demo-box ul{gap:6px;margin:8px 0;padding:0;list-style:none;display:grid}.linkish{color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-size:12px}.linkish:hover{color:var(--accent-primary)}.file-drop{border:1.5px dashed var(--border-strong);border-radius:var(--radius-lg);background:radial-gradient(circle at 50% 30%, #1bc4b514, transparent 55%), var(--surface-1);cursor:pointer;text-align:center;min-height:148px;transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease), box-shadow var(--dur) var(--ease), transform var(--dur-fast) var(--ease);box-shadow:var(--shadow-xs);justify-items:center;gap:8px;padding:24px 16px;display:grid}.file-drop:hover,.file-drop.is-dragging{border-color:var(--accent-primary);background:radial-gradient(circle at 50% 30%, #1bc4b524, transparent 55%), var(--surface-2);box-shadow:var(--shadow-glow);transform:var(--hover-lift)}.file-drop.has-file{border-style:solid;border-color:var(--accent-primary-muted)}.file-drop input{display:none}.file-drop-icon{border-radius:var(--radius-lg);background:var(--accent-primary-subtle);width:48px;height:48px;color:var(--accent-primary);border:1px solid var(--accent-primary-muted);box-shadow:var(--shadow-xs);place-items:center;display:grid}.file-drop-title{font-size:var(--text-body-sm);color:var(--text-primary);font-weight:650}.file-drop-hint{font-size:var(--text-caption);color:var(--text-tertiary)}.file-drop-hint em{color:var(--accent-primary);font-style:normal;font-weight:650}.map-list{color:var(--text-soft);margin:0;padding-left:18px}.exam-shell{background:var(--surface-2);min-height:100vh}.exam-top{border-bottom:1px solid var(--line);background:var(--surface-2);z-index:10;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex;position:sticky;top:0}.exam-meta{align-items:center;gap:10px;display:flex}.save-pill{background:var(--success-bg);color:var(--success);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.save-pill.save-saving{background:var(--warning-bg);color:var(--warning)}.save-pill.save-offline{background:var(--danger-bg);color:var(--danger)}.timer{font-variant-numeric:tabular-nums;color:var(--text-primary);font-weight:800}.timer.is-warn{color:var(--danger)}.exam-lobby{gap:16px;max-width:720px;margin:0 auto;padding:24px;display:grid}.rules{color:var(--text-soft)}.exam-layout{grid-template-columns:1fr 200px;gap:20px;max-width:1000px;margin:0 auto;padding:24px;display:grid}.stem{color:var(--text-primary);margin-bottom:16px;font-size:1.05rem;font-weight:600}.options{gap:10px;margin:0 0 20px;padding:0;list-style:none;display:grid}.options label{border:1px solid var(--line);cursor:pointer;border-radius:12px;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.options label.is-selected{border-color:var(--accent-primary);background:var(--accent-primary-subtle)}.question-palette{border:1px solid var(--line);border-radius:12px;grid-template-columns:repeat(4,1fr);align-content:start;gap:8px;height:fit-content;padding:12px;display:grid;position:sticky;top:72px}.palette-btn{border:1px solid var(--line);background:var(--surface-2);cursor:pointer;border-radius:8px;height:36px;font-weight:700}.palette-btn.is-answered{background:var(--accent-primary-subtle);border-color:var(--accent-primary-muted)}.palette-btn.is-flagged{box-shadow:inset 0 0 0 2px var(--warning)}.palette-btn.is-current{outline:2px solid var(--brand-navy)}.modal-backdrop{background:var(--surface-overlay);z-index:var(--z-modal);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--surface-elevated);border:1px solid var(--border-default);border-radius:var(--radius-lg);width:min(440px,100%);box-shadow:var(--shadow-md);padding:20px}.modal h2{color:var(--text-primary);margin-bottom:8px}.modal p{color:var(--text-soft);margin-bottom:16px}.verify-result{margin-top:16px}.verify-result h2{color:var(--success);margin:8px 0}.toast-stack{z-index:var(--z-toast);gap:10px;width:min(360px,100vw - 32px);display:grid;position:fixed;bottom:16px;right:16px}.toast{background:var(--surface-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:var(--text-primary);animation:toast-in var(--dur) var(--ease);border-left-width:3px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:13px;font-weight:600;display:flex}.toast-mark{border-radius:var(--radius-sm);background:var(--surface-3);flex:none;place-items:center;width:24px;height:24px;font-size:11px;font-weight:800;display:grid}.toast-title{padding-top:2px;line-height:1.35}.toast-success{border-left-color:var(--success)}.toast-success .toast-mark{color:var(--success-text);background:#10b98129}.toast-info{border-left-color:var(--info)}.toast-info .toast-mark{color:var(--info-text);background:#3b82f629}.toast-warning{border-left-color:var(--warning)}.toast-warning .toast-mark{color:var(--warning-text);background:#f59e0b29}.toast-danger{border-left-color:var(--danger)}.toast-danger .toast-mark{color:var(--danger-text);background:#f43f5e29}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.cmdk{background:var(--surface-2);width:min(560px,100%);box-shadow:var(--shadow-md);border-radius:16px;overflow:hidden}.cmdk-input{border:0;border-bottom:1px solid var(--line);width:100%;padding:16px 18px;font-size:16px}.cmdk-list{max-height:320px;margin:0;padding:8px;list-style:none;overflow:auto}.cmdk-list button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:space-between;gap:12px;width:100%;padding:12px;display:flex}.cmdk-list button.is-active,.cmdk-list button:hover{background:var(--accent-primary-subtle)}.cmdk-list small{color:var(--text-muted)}.cmdk-empty{color:var(--text-soft);padding:16px}.cmdk-hint{border-top:1px solid var(--line-soft);color:var(--text-muted);margin:0;padding:10px 14px;font-size:12px}.nav-backdrop{background:var(--surface-overlay);z-index:54;border:0;position:fixed;inset:0}.mobile-only{display:none}.desktop-only{display:block}.mini-progress{background:var(--line-soft);vertical-align:middle;border-radius:999px;width:72px;height:6px;margin-right:8px;display:inline-block;overflow:hidden}.mini-progress i{background:var(--accent-primary);height:100%;display:block}.gap-label{font-size:12px}.next-list{color:var(--text-soft);margin:0 0 12px;padding-left:18px}.modal-wide{width:min(560px,100%)}.quick-create{position:relative}.quick-create-menu{min-width:220px;left:auto;right:0}.segmented-bar{background:var(--surface-soft);border:1px solid var(--line-soft);border-radius:10px;gap:4px;padding:4px;display:inline-flex}.segmented-bar button{font:inherit;cursor:pointer;color:var(--text-soft);background:0 0;border:0;border-radius:8px;padding:8px 12px}.segmented-bar button.is-active{background:var(--surface);color:var(--text-primary);box-shadow:var(--shadow-xs)}.progress{background:var(--line-soft);border-radius:999px;height:8px;overflow:hidden}.progress>i,.progress-bar{background:var(--accent-primary);border-radius:inherit;height:100%;display:block}.drawer-backdrop{z-index:60;background:#061c4059;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:var(--surface);width:min(420px,100%);height:100%;box-shadow:var(--shadow-md);padding:20px;overflow:auto}.drawer-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.structure-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.tree-list{margin:0;padding:0;list-style:none}.tree-list li{border:1px solid #0000;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.tree-list li.is-selected,.tree-list button.tree-item.is-selected{background:var(--accent-primary-subtle);border-color:var(--line-soft)}.tree-list button.tree-item{text-align:left;font:inherit;cursor:pointer;color:inherit;background:0 0;border:0;flex:1;padding:0}.check-row.plain{align-items:flex-start;gap:10px;margin:8px 0;font-size:14px;display:flex}.options-edit{gap:8px;display:grid}.options-edit label{grid-template-columns:auto 1fr;align-items:center;gap:8px;display:grid}.report-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.report-list li{border:1px solid var(--line-soft);background:var(--surface);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.wizard-steps{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.wizard-steps .step{border:1px solid var(--line-soft);color:var(--text-muted);border-radius:999px;padding:6px 10px;font-size:12px}.wizard-steps .step.is-current{border-color:var(--accent-primary);color:var(--text-primary);background:var(--accent-primary-subtle)}.wizard-steps .step.is-done{color:var(--success)}.tamper-note{color:var(--text-muted);border-left:3px solid var(--line-strong);padding-left:10px;font-size:12px}.pagination-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.page-indicator{color:var(--text-soft);text-align:center;min-width:7rem;font-size:13px}.impersonation-banner{background:var(--warning-subtle);border-bottom:1px solid var(--warning-border);color:var(--warning-text);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;font-size:13px;display:flex}.field-error{color:var(--danger);margin:0 0 8px;font-size:13px}.detail-dl{grid-template-columns:120px 1fr;gap:8px 12px;margin:0;display:grid}.detail-dl dt{color:var(--text-muted);font-size:12px}.detail-dl dd{margin:0}@media (width<=980px){.structure-grid{grid-template-columns:1fr}.report-list li,.impersonation-banner{flex-direction:column;align-items:flex-start}.mobile-only{display:inline-flex}.desktop-only{display:none!important}.app-shell{grid-template-columns:1fr}.sidebar{width:min(280px,86vw);transition:transform var(--dur) var(--ease);z-index:55;height:100vh;position:fixed;inset:0 auto 0 0;transform:translate(-105%)}.mobile-nav-open .sidebar{transform:translate(0)}.avatar-meta{display:none}.grid-2,.grid-3,.stat-grid.four{grid-template-columns:1fr 1fr}.exam-layout{grid-template-columns:1fr}.question-palette{grid-template-columns:repeat(6,1fr);position:static}}@media (width<=640px){.page-content{padding:16px}.stat-grid,.stat-grid.four,.grid-2,.grid-3{grid-template-columns:1fr}.topbar{padding:0 12px}}.section-head-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.section-head-row .section-title{margin-bottom:0}.sticky-mobile-cta{position:relative}.input-sm{min-height:32px;padding:4px 8px;font-size:12px}.ops-stack{align-items:start}.import-progress{margin-top:12px}@media (width<=640px){.sticky-mobile-cta{z-index:5;background:linear-gradient(transparent, var(--background) 28%);padding:12px 0 8px;position:sticky;bottom:0}.btn,.icon-btn,.palette-btn{min-width:44px;min-height:44px}}.org-switcher select{border:1px solid var(--line);color:var(--text-primary);background:var(--surface-2);border-radius:999px;max-width:min(240px,42vw);padding:6px 12px;font-size:13px;font-weight:650}.notes-skeleton{gap:8px;display:grid}.notes-empty{text-align:center;border:1px dashed var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-1);justify-items:center;gap:8px;padding:28px 16px;display:grid}.notes-empty-icon{color:var(--text-tertiary);opacity:.7;margin-bottom:4px}.chip-info{background:var(--info-subtle);color:var(--info-text)}.chip-warn{background:var(--warning-subtle);color:var(--warning-text)}.chip-danger{background:var(--danger-subtle);color:var(--danger-text)}.kanban{grid-auto-columns:minmax(220px,1fr);grid-auto-flow:column;gap:12px;padding-bottom:8px;display:grid;overflow-x:auto}.kanban-col{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);min-height:280px;box-shadow:var(--shadow-xs);flex-direction:column;display:flex}.kanban-col-head{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:12px 12px 8px;display:flex}.kanban-cards{flex:1;gap:8px;margin:0;padding:10px;list-style:none;display:grid}.lead-card{text-align:left;border:1px solid var(--border-subtle);background:var(--surface-2);border-radius:var(--radius-md);cursor:pointer;width:100%;font:inherit;color:inherit;box-shadow:var(--shadow-xs);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), transform var(--dur-fast) var(--ease);gap:4px;padding:12px;display:grid}.lead-card:hover,.lead-card:focus-visible{border-color:var(--accent-primary-muted);box-shadow:var(--shadow-card-hover);transform:var(--hover-lift);outline:none}.lead-card-meta{justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.timeline{gap:12px;margin:0;padding:0;list-style:none;display:grid}.timeline li{border-left:2px solid var(--brand-teal-050,#cfeee8);padding-left:16px;position:relative}.timeline li:before{content:"";background:var(--accent-primary);border-radius:50%;width:8px;height:8px;position:absolute;top:6px;left:-5px}.metric-card{background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);min-height:112px;box-shadow:var(--shadow-card);transition:box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease), border-color var(--dur) var(--ease);gap:10px;padding:16px;display:grid}.metric-card:hover{transform:var(--hover-lift);box-shadow:var(--shadow-card-hover);border-color:var(--border-default)}.metric-card-layout{align-items:flex-start;gap:12px;display:flex}.metric-card-icon{flex:none}.metric-card-content{flex:1;gap:4px;min-width:0;display:grid}.metric-card-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.metric-card-label{font-size:var(--text-caption);color:var(--text-tertiary);letter-spacing:.04em;text-transform:uppercase;margin:0;font-weight:600}.metric-card-value{font-size:var(--text-data);color:var(--text-primary);letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin:0;font-weight:700;line-height:1.15}.metric-card-unit{font-size:var(--text-body-sm);color:var(--text-tertiary);margin-left:4px;font-weight:500}.metric-card-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:2px;display:flex}.metric-trend{font-size:var(--text-caption);color:var(--text-tertiary);border-radius:var(--radius-full);background:var(--surface-3);border:1px solid var(--border-subtle);align-items:center;gap:4px;padding:2px 8px;font-weight:600;display:inline-flex}.metric-trend.is-up{color:var(--success-text);background:var(--success-subtle);border-color:var(--success-border)}.metric-trend.is-down{color:var(--danger-text);background:var(--danger-subtle);border-color:var(--danger-border)}.metric-comparison{font-size:var(--text-caption);color:var(--text-tertiary)}.metric-spark{width:100%;height:28px;margin-top:4px}.status-metric-chip{border-radius:var(--radius-full);border:1px solid var(--border-subtle);background:var(--surface-3);color:var(--text-secondary);font-size:var(--text-caption);box-shadow:var(--shadow-xs);transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), transform var(--dur-fast) var(--ease);align-items:center;gap:8px;padding:8px 12px;font-weight:600;display:inline-flex}.status-metric-chip.is-interactive{cursor:pointer;font:inherit}.status-metric-chip.is-interactive:hover{background:var(--surface-elevated);border-color:var(--border-strong);box-shadow:var(--shadow-sm);transform:var(--hover-lift)}.status-metric-chip.is-accent{border-color:var(--accent-primary-muted);background:var(--accent-primary-subtle);color:var(--accent-primary)}.status-metric-chip.is-success{border-color:var(--success-border);background:var(--success-subtle);color:var(--success-text)}.status-metric-chip.is-warning{border-color:var(--warning-border);background:var(--warning-subtle);color:var(--warning-text)}.status-metric-chip.is-danger{border-color:var(--danger-border);background:var(--danger-subtle);color:var(--danger-text)}.status-metric-chip.is-info{border-color:var(--info-border);background:var(--info-subtle);color:var(--info-text)}.status-metric-icon{border-radius:var(--radius-sm);background:#ffffff0f;place-items:center;width:22px;height:22px;font-size:11px;display:grid}.status-metric-label{color:var(--text-tertiary);font-weight:500}.status-metric-chip.is-accent .status-metric-label,.status-metric-chip.is-success .status-metric-label,.status-metric-chip.is-warning .status-metric-label,.status-metric-chip.is-danger .status-metric-label,.status-metric-chip.is-info .status-metric-label{color:inherit;opacity:.85}.status-metric-value{font-variant-numeric:tabular-nums;color:var(--text-primary);font-weight:700}.status-metric-chip.is-accent .status-metric-value,.status-metric-chip.is-success .status-metric-value,.status-metric-chip.is-warning .status-metric-value,.status-metric-chip.is-danger .status-metric-value,.status-metric-chip.is-info .status-metric-value{color:inherit}.alert-item{border-radius:var(--radius-lg);border:1px solid var(--border-default);background:var(--surface-elevated);box-shadow:var(--shadow-xs);transition:box-shadow var(--dur) var(--ease), transform var(--dur-fast) var(--ease), border-color var(--dur) var(--ease);border-left-width:3px;align-items:flex-start;gap:12px;padding:14px;display:flex}.alert-item:hover{transform:var(--hover-lift);box-shadow:var(--shadow-sm)}.alert-item-warning{border-left-color:var(--warning)}.alert-item-danger{border-left-color:var(--danger)}.alert-item-info{border-left-color:var(--info)}.alert-item-success{border-left-color:var(--success)}.alert-item-icon{border-radius:var(--radius-md);background:var(--surface-3);border:1px solid var(--border-subtle);width:36px;height:36px;color:var(--text-secondary);flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.alert-item-warning .alert-item-icon{color:var(--warning-text);border-color:var(--warning-border);background:#f59e0b24}.alert-item-danger .alert-item-icon{color:var(--danger-text);border-color:var(--danger-border);background:#f43f5e24}.alert-item-info .alert-item-icon{color:var(--info-text);border-color:var(--info-border);background:#3b82f624}.alert-item-success .alert-item-icon{color:var(--success-text);border-color:var(--success-border);background:#10b98124}.alert-item-body{flex:1;min-width:0}.alert-item-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.alert-item-body p{font-size:var(--text-body-sm);color:var(--text-secondary);margin:0}.alert-item-meta{font-size:var(--text-caption);color:var(--text-tertiary);margin-top:6px;display:inline-block}.activity-item{border-bottom:1px solid var(--border-subtle);border-radius:var(--radius-sm);transition:background var(--dur-fast) var(--ease);align-items:center;gap:12px;padding:12px 4px;display:flex}.activity-item:hover{background:var(--surface-hover)}.activity-item:last-child{border-bottom:0}.activity-icon{border-radius:var(--radius-md);background:var(--surface-3);border:1px solid var(--border-subtle);width:36px;height:36px;color:var(--accent-primary);box-shadow:var(--shadow-xs);flex:none;place-items:center;font-size:12px;display:grid}.activity-body{flex:1;min-width:0}.activity-body p{font-size:var(--text-body-sm);color:var(--text-primary);margin:0}.activity-meta{font-size:var(--text-caption);color:var(--text-tertiary)}.activity-time{font-size:var(--text-caption);color:var(--text-tertiary);white-space:nowrap;font-variant-numeric:tabular-nums}.quick-action{border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--surface-3);color:var(--text-secondary);font-size:var(--text-body-sm);cursor:pointer;box-shadow:var(--shadow-xs);transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), transform var(--dur-fast) var(--ease);align-items:center;gap:10px;padding:10px 14px;font-weight:600;display:inline-flex}.quick-action>span:first-child,.quick-action .icon-tile{border-radius:var(--radius-sm);background:var(--accent-primary-subtle);width:28px;height:28px;color:var(--accent-primary);border:1px solid var(--accent-primary-muted);place-items:center;font-size:13px;display:inline-grid}.quick-action:hover:not(:disabled){background:var(--surface-elevated);border-color:var(--accent-primary-muted);color:var(--text-primary);box-shadow:var(--shadow-card-hover);transform:var(--hover-lift)}.quick-action:disabled{opacity:.45;cursor:not-allowed}.error-state .empty-icon{color:var(--danger-text);background:var(--danger-subtle);border-color:var(--danger-border)}.input{transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), background var(--dur) var(--ease)}.ds-panel,.ds-chart-card{box-shadow:var(--shadow-card)}.spinner{color:var(--accent-primary);justify-content:center;align-items:center;display:inline-flex}.spinner-ring{border-style:solid;border-color:currentColor #1bc4b533 #1bc4b533;border-radius:50%;animation:.7s linear infinite spin;display:block}.spinner-xs .spinner-ring{border-width:2px;width:12px;height:12px}.spinner-sm .spinner-ring{border-width:2px;width:16px;height:16px}.spinner-md .spinner-ring{border-width:2.5px;width:22px;height:22px}.spinner-lg .spinner-ring{border-width:3px;width:32px;height:32px}.spinner-xl .spinner-ring{border-width:3.5px;width:44px;height:44px}.page-loader{background:radial-gradient(circle at 50% 35%, #1bc4b514, transparent 42%), var(--background);place-items:center;min-height:280px;padding:32px 20px;display:grid}.page-loader.is-fullscreen{z-index:var(--z-modal);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0e14d1;min-height:100vh;position:fixed;inset:0}.page-loader-card{border-radius:var(--radius-xl);background:var(--surface-2);border:1px solid var(--border-subtle);box-shadow:var(--shadow-lg);justify-items:center;gap:14px;min-width:min(280px,100%);padding:28px 32px;display:grid}.page-loader-label{font-size:var(--text-body);color:var(--text-primary);margin:0;font-weight:600}.page-loader-hint{font-size:var(--text-caption);color:var(--text-tertiary);text-align:center;margin:0}.route-loader{background:var(--surface-3);border-radius:var(--radius-full);width:100%;height:3px;position:relative;overflow:hidden}.route-loader>i{background:linear-gradient(90deg, transparent, var(--accent-primary), var(--cyan-300));border-radius:inherit;width:35%;animation:1.1s ease-in-out infinite route-loader-slide;position:absolute;inset:0 auto 0 0;box-shadow:0 0 12px #1bc4b573}.route-loader.is-fixed{z-index:calc(var(--z-toast) + 1);border-radius:0;position:fixed;top:0;left:0;right:0}@keyframes route-loader-slide{0%{transform:translate(-120%)}to{transform:translate(380%)}}.section-loader{border:1px dashed var(--border-default);border-radius:var(--radius-lg);background:var(--surface-2);box-shadow:var(--shadow-xs);place-items:center;gap:12px;padding:28px 16px;display:grid}.section-loader-label{font-size:var(--text-caption);color:var(--text-tertiary);font-weight:600}.content-loader{position:relative}.content-loader.is-loading>:not(.content-loader-veil){pointer-events:none;-webkit-user-select:none;user-select:none;filter:saturate(.85)}.content-loader-veil{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:inherit;z-index:2;background:#0a0e148c;place-items:center;display:grid;position:absolute;inset:0}.skel-round{border-radius:50%!important}.skel-bar{align-self:end;min-height:24px;border-radius:var(--radius-xs)!important}.skel-card,.skel-metric,.skel-chart,.skel-table,.skel-form,.skel-list{background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);gap:10px;padding:16px;display:grid}.skel-card-head{align-items:center;gap:12px;margin-bottom:4px;display:flex}.skel-metric{gap:12px;min-height:120px}.skel-chart-bars{align-items:flex-end;gap:8px;margin-top:8px;display:flex}.skel-table{gap:0;padding:0;overflow:hidden}.skel-table-toolbar{border-bottom:1px solid var(--border-subtle);justify-content:space-between;gap:12px;padding:12px 14px;display:flex}.skel-table-head,.skel-table-row{grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:12px;padding:12px 14px;display:grid}.skel-table-head{background:var(--surface-3);border-bottom:1px solid var(--border-subtle)}.skel-table-row{border-bottom:1px solid var(--border-subtle)}.skel-table-row:last-child{border-bottom:0}.skel-form-field{gap:8px;display:grid}.skel-form-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.skel-list{gap:0;padding:4px 8px}.skel-list-row{border-bottom:1px solid var(--border-subtle);align-items:center;gap:12px;padding:12px 8px;display:flex}.skel-list-row:last-child{border-bottom:0}.loader-demo-frame{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-1);box-shadow:var(--shadow-card);min-height:220px;position:relative;overflow:hidden}.dropdown,.select-menu,.date-picker{display:inline-block;position:relative}.dropdown-trigger{gap:8px}.dropdown-menu,.select-menu-list,.date-picker-pop{z-index:var(--z-dropdown);background:var(--surface-elevated);border:1px solid var(--border-default);border-radius:var(--radius-lg);min-width:220px;box-shadow:var(--shadow-md);margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);left:0}.dropdown-menu.align-right{left:auto;right:0}.dropdown-item,.select-menu-option{border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font:inherit;font-size:var(--text-body-sm);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:9px 10px;font-weight:550;display:flex}.dropdown-item:hover,.select-menu-option:hover{background:var(--surface-hover)}.dropdown-item.is-danger{color:var(--danger-text)}.dropdown-item:disabled,.select-menu-option:disabled{opacity:.4;cursor:not-allowed}.dropdown-item-icon{width:18px;color:var(--text-tertiary);place-items:center;display:inline-grid}.dropdown-item-label{flex:1}.dropdown-shortcut{color:var(--text-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-xs);font-size:11px;font-family:var(--font-mono);padding:1px 5px}.select-menu{width:100%;display:block}.select-menu-trigger{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-1);width:100%;min-height:40px;color:var(--text-primary);font:inherit;font-size:var(--text-body-sm);cursor:pointer;box-shadow:var(--shadow-xs);justify-content:space-between;align-items:center;gap:10px;padding:0 12px;display:flex}.select-menu-trigger .is-placeholder{color:var(--text-tertiary)}.select-menu.is-open .select-menu-trigger,.date-picker.is-open .date-picker-trigger{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-subtle)}.select-menu-list{width:100%}.select-menu-option.is-selected{background:var(--accent-primary-subtle);color:var(--accent-primary)}.select-menu-chevron{color:var(--text-tertiary)}.select-menu.is-open .select-menu-chevron{color:var(--accent-primary);transform:rotate(180deg)}.calendar{background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:min(320px,100%);box-shadow:var(--shadow-card);padding:14px}.calendar-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.calendar-head strong{font-size:var(--text-card-title);color:var(--text-primary)}.calendar-nav{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--surface-3);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;font-size:18px;line-height:1}.calendar-nav:hover{color:var(--text-primary);border-color:var(--border-strong);background:var(--surface-elevated)}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-weekdays{margin-bottom:6px}.calendar-weekdays span{text-align:center;color:var(--text-tertiary);letter-spacing:.04em;text-transform:uppercase;padding:4px 0;font-size:11px;font-weight:700}.calendar-day{aspect-ratio:1;border-radius:var(--radius-sm);color:var(--text-primary);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:0;font-size:13px;font-weight:600}.calendar-day:hover{background:var(--surface-hover)}.calendar-day.is-outside{color:var(--text-disabled)}.calendar-day.is-today{box-shadow:inset 0 0 0 1px var(--accent-primary-muted);color:var(--accent-primary)}.calendar-day.is-selected{background:var(--accent-primary);color:var(--text-on-accent);box-shadow:var(--shadow-glow)}.calendar-day.is-in-range{background:var(--accent-primary-subtle);color:var(--accent-primary)}.calendar-day.is-in-range.is-selected{background:var(--accent-primary);color:var(--text-on-accent)}.calendar-range-meta{font-size:var(--text-caption);color:var(--text-tertiary);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:8px;margin-bottom:10px;display:flex}.date-picker{gap:6px;width:100%;display:grid}.date-picker-label{font-size:var(--text-label);color:var(--text-secondary);font-weight:600}.date-picker-trigger{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-1);width:100%;min-height:40px;color:var(--text-primary);font:inherit;font-size:var(--text-body-sm);cursor:pointer;box-shadow:var(--shadow-xs);align-items:center;gap:10px;padding:0 12px;display:inline-flex}.date-picker-trigger:hover{border-color:var(--border-strong)}.date-picker-pop{width:max-content;box-shadow:none;background:0 0;border:0;padding:0}.chart-card header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.chart-card header>div{gap:2px;display:grid}.chart-card header strong{font-size:var(--text-card-title)}.chart-card header span{font-size:var(--text-caption);color:var(--text-tertiary)}.chart-bars-wrap{gap:8px;display:grid}.chart-bars{align-items:flex-end}.chart-bar-col{flex:1;align-items:flex-end;gap:3px;min-width:0;height:100%;display:flex}.chart-axis-labels{color:var(--text-tertiary);font-variant-numeric:tabular-nums;justify-content:space-between;gap:4px;font-size:10px;display:flex}.chart-hbar{gap:10px;display:grid}.chart-hbar-row{grid-template-columns:84px 1fr 36px;align-items:center;gap:10px;display:grid}.chart-hbar-label{font-size:var(--text-caption);color:var(--text-secondary)}.chart-hbar-track{border-radius:var(--radius-full);background:var(--surface-3);height:8px;overflow:hidden}.chart-hbar-track>i{border-radius:inherit;background:var(--chart-primary);height:100%;display:block}.chart-hbar-track>i.is-secondary{background:var(--chart-secondary)}.chart-hbar-track>i.is-success{background:var(--chart-success)}.chart-hbar-track>i.is-warning{background:var(--chart-warning)}.chart-hbar-track>i.is-danger{background:var(--chart-danger)}.chart-hbar-track>i.is-muted{background:var(--chart-muted)}.chart-hbar-value{text-align:right;font-size:var(--text-caption);font-variant-numeric:tabular-nums;color:var(--text-primary);font-weight:700}.chart-tooltip{border-radius:var(--radius-md);background:var(--surface-elevated);border:1px solid var(--border-default);box-shadow:var(--shadow-sm);align-items:center;gap:10px;padding:8px 10px;display:inline-flex}.chart-tooltip strong{font-size:var(--text-body-sm);font-variant-numeric:tabular-nums;display:block}.chart-tooltip-label{color:var(--text-tertiary);font-size:11px;display:block}.chart-tooltip-unit{color:var(--text-tertiary);margin-left:4px;font-weight:500}.chart-swatch{background:var(--chart-primary);border-radius:3px;flex:none;width:10px;height:10px}.chart-swatch.is-secondary{background:var(--chart-secondary)}.chart-swatch.is-success{background:var(--chart-success)}.chart-swatch.is-warning{background:var(--chart-warning)}.chart-swatch.is-danger{background:var(--chart-danger)}.chart-donut-shell{flex:none;width:110px;height:110px;position:relative}.chart-donut-shell .ds-donut{width:100%;height:100%}.chart-donut-center{font-size:var(--text-section);color:var(--text-primary);pointer-events:none;place-items:center;font-weight:750;display:grid;position:absolute;inset:0}.chart-stacked{gap:8px}.chart-stack-col{border-radius:4px 4px 2px 2px;flex-direction:column-reverse;flex:1;min-width:0;height:100%;display:flex;overflow:hidden}.chart-stack-seg{width:100%;display:block}.chart-stack-seg.is-0{background:var(--chart-primary)}.chart-stack-seg.is-1{background:var(--chart-secondary)}.chart-stack-seg.is-2{background:var(--chart-muted)}.chart-stack-seg.is-3{background:var(--chart-warning)}.ds-sidenav-demo .side-nav{width:var(--sidebar-w);background:linear-gradient(180deg, var(--neutral-900), var(--neutral-925));border:1px solid var(--border-subtle);border-radius:var(--radius-xl);min-height:420px;box-shadow:var(--shadow-card);transition:width var(--dur) var(--ease);flex-direction:column;padding:14px 10px;display:flex;position:relative;overflow:visible}.ds-sidenav-demo .side-nav.is-collapsed{width:var(--sidebar-collapsed)}.sidebar.side-nav{position:sticky;overflow:visible}.ds-sidenav-demo .sidebar-brand{margin-bottom:10px}.side-nav-logo{border-radius:var(--radius-md);background:var(--accent-primary-subtle);width:36px;height:36px;color:var(--accent-primary);border:1px solid var(--accent-primary-muted);flex:none;place-items:center;font-size:12px;font-weight:800;display:grid}.side-nav-list{flex:1;gap:4px;display:grid}.side-nav-item{width:100%;color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;font:inherit;font-size:var(--text-body-sm);text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:9px 10px;font-weight:600;display:flex}.side-nav-item:hover{background:var(--surface-hover);color:var(--text-primary)}.side-nav-item.is-active{background:var(--surface-selected);color:var(--text-primary);border-color:var(--accent-primary-muted)}.side-nav-icon{border-radius:var(--radius-sm);background:var(--surface-3);border:1px solid var(--border-subtle);width:28px;height:28px;color:var(--text-tertiary);flex:none;place-items:center;display:inline-grid}.side-nav-item.is-active .side-nav-icon{background:var(--accent-primary-subtle);border-color:var(--accent-primary-muted);color:var(--accent-primary)}.side-nav-label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.side-nav-badge{border-radius:var(--radius-full);background:var(--surface-3);border:1px solid var(--border-subtle);min-width:18px;height:18px;color:var(--text-secondary);justify-content:center;align-items:center;padding:0 6px;font-size:10px;display:inline-flex}.side-nav-foot{gap:8px;margin-top:10px;display:grid}.side-nav.is-collapsed .side-nav-label,.side-nav.is-collapsed .side-nav-badge{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.side-nav.is-collapsed .side-nav-item{justify-content:center}.ui-icon.is-rotated-left{transform:rotate(90deg)}.ui-icon.is-rotated-right{transform:rotate(-90deg)}.ds-sidenav-demo{grid-template-columns:auto 1fr;align-items:stretch;gap:16px;display:grid}.ds-sidenav-canvas{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--background);box-shadow:var(--shadow-xs);min-height:420px;padding:16px}select.input,.toolbar-label select,.org-switcher select{appearance:none;border:1px solid var(--border-default);border-radius:var(--radius-md);background-color:var(--surface-1);min-height:36px;color:var(--text-primary);box-shadow:var(--shadow-xs);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238b98a8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding:8px 36px 8px 12px}select.input:focus,.toolbar-label select:focus,.org-switcher select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-subtle);outline:none}.org-switcher .select-wrap{min-width:180px}.org-switcher .select-wrap .select-input{border-radius:var(--radius-full);min-height:34px;font-size:13px;font-weight:650}input[type=checkbox]:not(.ui-check-input),input[type=radio]:not(.ui-check-input){width:16px;height:16px;accent-color:var(--accent-primary);cursor:pointer}input[type=date].input,input[type=datetime-local].input,input[type=time].input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}
