:root{--font-sans: "Inter", -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;--fs-xs: .75rem;--fs-sm: .8125rem;--fs-base: .9rem;--fs-lg: 1.05rem;--fs-xl: 1.35rem;--fs-2xl: 1.75rem;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--radius-sm: 6px;--radius: 10px;--radius-lg: 16px;--radius-full: 999px;--sidebar-w: 252px;--sidebar-w-sm: 72px;--header-h: 62px;--transition: .18s ease;--bg: #f0f3fa;--surface: #ffffff;--surface-2: #f4f6fb;--surface-3: #e6e9f2;--border: #e0e3eb;--border-strong: #c9ceda;--text: #131722;--text-muted: #5d6475;--text-faint: #868b98;--up: #089981;--down: #f23645;--warn: #d68a00;--info: #2962ff;--shadow-sm: 0 1px 2px rgba(14, 26, 43, .06);--shadow: 0 4px 18px rgba(14, 26, 43, .08);--shadow-lg: 0 18px 48px rgba(14, 26, 43, .18);--sidebar-bg: #ffffff;--sidebar-text: #5d6475;--sidebar-text-strong: #131722;--sidebar-border: #e0e3eb;--sidebar-hover: rgba(19, 23, 34, .05);--chart-2: #ff9800;--chart-3: #8b5cf6;--chart-4: #d9930d;--chart-5: #e0527a;--chart-6: #3cb371;--chart-grid: rgba(86, 102, 126, .18)}[data-theme=dark]{--bg: #0b0e14;--surface: #131722;--surface-2: #1b202d;--surface-3: #262b3a;--border: #2a2e39;--border-strong: #363c4e;--text: #d1d4dc;--text-muted: #8e93a1;--text-faint: #5e6372;--up: #26a69a;--down: #ef5350;--warn: #ffb74d;--info: #4c8dff;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow: 0 6px 22px rgba(0, 0, 0, .4);--shadow-lg: 0 22px 56px rgba(0, 0, 0, .6);--sidebar-bg: #0b0e14;--sidebar-text: #9aa0ae;--sidebar-text-strong: #e0e3eb;--sidebar-border: rgba(255, 255, 255, .07);--sidebar-hover: rgba(255, 255, 255, .05);--chart-2: #ff9800;--chart-3: #a78bfa;--chart-4: #fbbf24;--chart-5: #fb7185;--chart-6: #4ade80;--chart-grid: rgba(147, 164, 189, .14)}[data-density=compact]{--sp-4: 12px;--sp-5: 16px;--fs-base: .85rem;--header-h: 54px}:root,[data-accent=blue]{--accent: #2962ff;--accent-contrast: #fff}[data-accent=teal]{--accent: #0d8f84;--accent-contrast: #fff}[data-accent=violet]{--accent: #7c3aed;--accent-contrast: #fff}[data-accent=amber]{--accent: #b45309;--accent-contrast: #fff}[data-accent=rose]{--accent: #e11d48;--accent-contrast: #fff}[data-theme=dark],[data-theme=dark][data-accent=blue]{--accent: #2962ff;--accent-contrast: #fff}[data-theme=dark][data-accent=teal]{--accent: #2dd4bf;--accent-contrast: #04141a}[data-theme=dark][data-accent=violet]{--accent: #a78bfa;--accent-contrast: #12082a}[data-theme=dark][data-accent=amber]{--accent: #fbbf24;--accent-contrast: #1d1300}[data-theme=dark][data-accent=rose]{--accent: #fb7185;--accent-contrast: #2a0610}:root{--accent-soft: color-mix(in srgb, var(--accent) 14%, transparent);--accent-ring: color-mix(in srgb, var(--accent) 35%, transparent);--chart-1: var(--accent)}.customizer{position:fixed;top:0;right:0;bottom:0;width:320px;max-width:92vw;background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow-lg);z-index:90;transform:translate(105%);transition:transform var(--transition);display:flex;flex-direction:column}.customizer.open{transform:none}.customizer-head{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border)}.customizer-body{padding:var(--sp-5);overflow-y:auto;display:grid;gap:var(--sp-5)}.customizer h4{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);margin-bottom:var(--sp-2)}.swatches{display:flex;gap:var(--sp-2);flex-wrap:wrap}.swatch{width:32px;height:32px;border-radius:var(--radius-full);border:2px solid transparent;cursor:pointer;outline-offset:2px}.swatch[aria-pressed=true]{border-color:var(--text)}.swatch[data-accent=teal]{background:#2dd4bf}.swatch[data-accent=blue]{background:#2962ff}.swatch[data-accent=violet]{background:#a78bfa}.swatch[data-accent=amber]{background:#fbbf24}.swatch[data-accent=rose]{background:#fb7185}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--surface-2);border-radius:var(--radius);padding:3px;gap:3px}.segmented button{padding:7px 10px;border-radius:8px;font-size:var(--fs-sm);color:var(--text-muted)}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm);font-weight:600}.customizer-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#02081273;z-index:80;opacity:0;pointer-events:none;transition:opacity var(--transition)}.customizer-scrim.open{opacity:1;pointer-events:auto}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-base);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{margin:0;line-height:1.25;font-weight:650}h1{font-size:var(--fs-2xl)}h2{font-size:var(--fs-xl)}h3{font-size:var(--fs-lg)}p{margin:0 0 var(--sp-3)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}img,svg{max-width:100%}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}input,select,textarea{font:inherit;color:inherit}hr{border:0;border-top:1px solid var(--border);margin:var(--sp-4) 0}code,kbd,pre{font-family:var(--font-mono);font-size:.85em}code{background:var(--surface-2);padding:1px 6px;border-radius:4px}pre{background:var(--surface-2);padding:var(--sp-4);border-radius:var(--radius);overflow:auto}kbd{background:var(--surface-2);border:1px solid var(--border);border-bottom-width:2px;padding:0 6px;border-radius:4px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-ring)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.icon{display:inline-flex;width:18px;height:18px;flex:none;vertical-align:middle}.icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.num{font-variant-numeric:tabular-nums;text-align:right}.up{color:var(--up)}.down{color:var(--down)}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.small{font-size:var(--fs-sm)}.xs{font-size:var(--fs-xs)}.bold{font-weight:650}.center{text-align:center}.right{text-align:right}.flex{display:flex}.inline-flex{display:inline-flex}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.wrap{flex-wrap:wrap}.col{flex-direction:column}.grow{flex:1;min-width:0}.gap-1{gap:var(--sp-1)}.gap-2{gap:var(--sp-2)}.gap-3{gap:var(--sp-3)}.gap-4{gap:var(--sp-4)}.gap-5{gap:var(--sp-5)}.mt-0{margin-top:0}.mt-2{margin-top:var(--sp-2)}.mt-3{margin-top:var(--sp-3)}.mt-4{margin-top:var(--sp-4)}.mt-5{margin-top:var(--sp-5)}.mb-0{margin-bottom:0}.mb-2{margin-bottom:var(--sp-2)}.mb-3{margin-bottom:var(--sp-3)}.mb-4{margin-bottom:var(--sp-4)}.mb-5{margin-bottom:var(--sp-5)}.w-full{width:100%}.hidden{display:none!important}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app{min-height:100vh}.app-main{margin-left:var(--sidebar-w);min-height:100vh;display:flex;flex-direction:column;transition:margin var(--transition);min-width:0}[data-sidebar=collapsed] .app-main{margin-left:var(--sidebar-w-sm)}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);z-index:50;background:var(--sidebar-bg);color:var(--sidebar-text);display:flex;flex-direction:column;transition:width var(--transition),transform var(--transition);border-right:1px solid var(--sidebar-border)}[data-sidebar=collapsed] .sidebar{width:var(--sidebar-w-sm)}.sidebar-brand{height:var(--header-h);display:flex;align-items:center;padding:0 var(--sp-5);border-bottom:1px solid var(--sidebar-border);flex:none}.brand{display:flex;align-items:center;gap:10px;color:var(--sidebar-text-strong);font-weight:700;font-size:1.1rem;letter-spacing:-.01em}.brand:hover{text-decoration:none}.brand-mark{width:30px;height:30px;border-radius:9px;background:var(--accent);color:var(--accent-contrast);display:grid;place-items:center;flex:none}.brand-mark svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.brand-text b{color:var(--accent);font-weight:700}.sidebar-nav{flex:1;overflow-y:auto;padding:var(--sp-3) var(--sp-3) var(--sp-5)}.nav-section{padding:var(--sp-4) var(--sp-3) var(--sp-2);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#656b7a;white-space:nowrap}.nav-link,.nav-sub-link{display:flex;align-items:center;gap:12px;width:100%;padding:9px var(--sp-3);border-radius:var(--radius-sm);color:var(--sidebar-text);font-size:var(--fs-sm);font-weight:500;text-align:left;white-space:nowrap;transition:background var(--transition),color var(--transition)}.nav-link:hover,.nav-sub-link:hover{background:var(--sidebar-hover);color:var(--sidebar-text-strong);text-decoration:none}.nav-link.active,.nav-sub-link.active{background:var(--accent-soft);color:var(--accent)}.nav-caret{margin-left:auto;transition:transform var(--transition)}.nav-group.open>.nav-toggle .nav-caret{transform:rotate(180deg)}.nav-sub{display:none;margin:2px 0 var(--sp-1) 18px;padding-left:var(--sp-3);border-left:1px solid var(--sidebar-border)}.nav-group.open>.nav-sub{display:block}.nav-sub-link{padding:7px var(--sp-3)}.nav-pill{margin-left:auto;font-size:10px;padding:1px 7px;border-radius:var(--radius-full);background:var(--accent);color:var(--accent-contrast);font-weight:700}.sidebar-foot{padding:var(--sp-3);border-top:1px solid var(--sidebar-border);flex:none}.sidebar-user{display:flex;align-items:center;gap:10px;padding:6px var(--sp-2)}.sidebar-user .who{line-height:1.25;min-width:0}.sidebar-user .who b{display:block;color:var(--sidebar-text-strong);font-size:var(--fs-sm)}.sidebar-user .who span{font-size:var(--fs-xs)}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0208128c;z-index:45}[data-sidebar=collapsed] .nav-text,[data-sidebar=collapsed] .nav-caret,[data-sidebar=collapsed] .nav-pill,[data-sidebar=collapsed] .nav-section,[data-sidebar=collapsed] .brand-text,[data-sidebar=collapsed] .sidebar-user .who,[data-sidebar=collapsed] .nav-sub{display:none!important}[data-sidebar=collapsed] .nav-link{justify-content:center}[data-sidebar=collapsed] .sidebar-brand{justify-content:center;padding:0}.header{position:sticky;top:0;z-index:30;height:var(--header-h);display:flex;align-items:center;gap:var(--sp-3);padding:0 var(--sp-5);background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.header-search{position:relative;width:min(340px,36vw)}.header-search .icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-faint)}.header-search input{padding-left:38px;background:var(--surface-2);border-color:transparent}.header-search kbd{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:11px;color:var(--text-faint)}.header-actions{margin-left:auto;display:flex;align-items:center;gap:var(--sp-1)}.market-status{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-xs);color:var(--text-muted);padding:0 var(--sp-3)}.dot{width:8px;height:8px;border-radius:50%;background:var(--up);box-shadow:0 0 0 3px color-mix(in srgb,var(--up) 25%,transparent)}.dot.off{background:var(--text-faint);box-shadow:none}.content{flex:1;padding:var(--sp-5)}.footer{padding:var(--sp-4) var(--sp-5);border-top:1px solid var(--border);color:var(--text-faint);font-size:var(--fs-xs);display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--sp-2)}.breadcrumb{display:flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--text-muted)}.breadcrumb a{color:var(--text-muted)}.breadcrumb .current{color:var(--text);font-weight:600}.page-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:var(--sp-4);margin-bottom:var(--sp-5)}.page-head p{margin:4px 0 0;color:var(--text-muted)}.grid{display:grid;gap:var(--sp-4);grid-template-columns:repeat(12,minmax(0,1fr))}.grid>*{min-width:0}.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.span-9{grid-column:span 9}.span-12{grid-column:span 12}.stack{display:grid;gap:var(--sp-4)}.split{display:grid;gap:var(--sp-4);grid-template-columns:280px minmax(0,1fr);align-items:start}.auth-layout{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.auth-aside{--sidebar-text: #9aa0ae;--sidebar-text-strong: #e0e3eb;background:#0b0e14;color:var(--sidebar-text-strong);padding:var(--sp-6) 56px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth-aside:after{content:"";position:absolute;width:520px;height:520px;right:-160px;bottom:-200px;border-radius:50%;background:radial-gradient(circle,var(--accent-soft),transparent 70%)}.auth-aside h2{font-size:2rem;max-width:18ch;position:relative;z-index:1}.auth-aside p{color:var(--sidebar-text);max-width:42ch;position:relative;z-index:1}.auth-main{display:grid;place-items:center;padding:var(--sp-5)}.auth-card{width:min(420px,100%)}.auth-card h1{font-size:1.6rem;margin-bottom:6px}.centered-page{min-height:100vh;display:grid;place-items:center;text-align:center;padding:var(--sp-5)}.error-code{font-size:clamp(5rem,16vw,9rem);font-weight:800;line-height:1;letter-spacing:-.04em;color:var(--accent);font-family:var(--font-mono)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 14px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-size:var(--fs-sm);font-weight:600;line-height:1.2;transition:background var(--transition),border-color var(--transition),transform var(--transition);white-space:nowrap}.btn:hover{background:var(--surface-2);text-decoration:none}.btn:active{transform:translateY(1px)}.btn:disabled,.btn.disabled{opacity:.5;pointer-events:none}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn-primary:hover{background:color-mix(in srgb,var(--accent) 88%,#000)}.btn-soft{background:var(--accent-soft);border-color:transparent;color:var(--accent)}.btn-ghost{border-color:transparent;background:transparent}.btn-danger{background:var(--down);border-color:var(--down);color:#fff}.btn-danger:hover{background:color-mix(in srgb,var(--down) 88%,#000)}.btn-success{background:var(--up);border-color:var(--up);color:#04140d}.btn-sm{padding:5px 10px;font-size:var(--fs-xs)}.btn-lg{padding:11px 20px;font-size:var(--fs-base)}.btn-block{width:100%}.btn-icon{padding:8px;border-radius:var(--radius-sm);color:var(--text-muted);border:0;background:transparent;position:relative}.btn-icon:hover{background:var(--surface-2);color:var(--text)}.btn-icon .ping{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:var(--down);border:2px solid var(--surface)}.btn-group{display:inline-flex}.btn-group .btn{border-radius:0;margin-left:-1px}.btn-group .btn:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm);margin-left:0}.btn-group .btn:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.btn-group .btn.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent);z-index:1}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);min-width:0}.card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border);flex-wrap:wrap}.card-head h3{font-size:var(--fs-base)}.card-head .sub{color:var(--text-muted);font-size:var(--fs-xs)}.card-body{padding:var(--sp-5)}.card-body.flush{padding:0}.card-foot{padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--border)}.stat{padding:var(--sp-4) var(--sp-5)}.stat-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);font-weight:600}.stat-value{font-size:1.65rem;font-weight:700;letter-spacing:-.02em;margin:4px 0;font-variant-numeric:tabular-nums}.stat-delta{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs);font-weight:600;font-variant-numeric:tabular-nums}.stat-delta .icon{width:14px;height:14px}.stat-spark{height:38px;margin-top:var(--sp-2)}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:var(--radius-full);font-size:11px;font-weight:650;background:var(--surface-3);color:var(--text-muted);white-space:nowrap}.badge-accent{background:var(--accent-soft);color:var(--accent)}.badge-up,.badge-success{background:color-mix(in srgb,var(--up) 16%,transparent);color:var(--up)}.badge-down,.badge-danger{background:color-mix(in srgb,var(--down) 16%,transparent);color:var(--down)}.badge-warn{background:color-mix(in srgb,var(--warn) 18%,transparent);color:var(--warn)}.badge-info{background:color-mix(in srgb,var(--info) 16%,transparent);color:var(--info)}.badge-mock{background:color-mix(in srgb,var(--warn) 18%,transparent);color:var(--warn);border:1px dashed var(--warn)}.badge-outline{background:transparent;border:1px solid var(--border-strong)}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-full);background:var(--surface-2);border:1px solid var(--border);font-size:var(--fs-xs)}.chip button{color:var(--text-faint);display:inline-flex}.chip button:hover{color:var(--down)}.ticker{font-family:var(--font-mono);font-weight:700;letter-spacing:.02em}.avatar{width:36px;height:36px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-weight:700;font-size:var(--fs-sm);flex:none}.avatar-sm{width:28px;height:28px;font-size:11px}.avatar-lg{width:64px;height:64px;font-size:1.3rem}.logo-tile{width:36px;height:36px;border-radius:10px;background:var(--surface-2);border:1px solid var(--border);display:grid;place-items:center;font-weight:800;font-family:var(--font-mono);font-size:12px;flex:none}.field{display:grid;gap:6px;margin-bottom:var(--sp-4)}.field label,.label{font-size:var(--fs-sm);font-weight:600}.hint{font-size:var(--fs-xs);color:var(--text-faint)}.input,.select,.textarea{width:100%;padding:9px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);transition:border-color var(--transition),box-shadow var(--transition)}.textarea{min-height:96px;resize:vertical}.input::placeholder{color:var(--text-faint)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.input.invalid,.select.invalid{border-color:var(--down)}.error-text{color:var(--down);font-size:var(--fs-xs)}.input-group{display:flex}.input-group .input{border-radius:0}.input-group>:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.input-group>:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.input-addon{display:inline-flex;align-items:center;padding:0 12px;background:var(--surface-2);border:1px solid var(--border-strong);border-right:0;color:var(--text-muted);font-size:var(--fs-sm)}.input-addon:last-child{border-right:1px solid var(--border-strong);border-left:0}.field-row{display:grid;gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.check{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:var(--fs-sm)}.check input{width:16px;height:16px;accent-color:var(--accent)}.switch{position:relative;display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:var(--fs-sm)}.switch input{position:absolute;opacity:0}.switch .track{width:38px;height:22px;border-radius:var(--radius-full);background:var(--surface-3);border:1px solid var(--border-strong);position:relative;transition:background var(--transition);flex:none}.switch .track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform var(--transition)}.switch input:checked+.track{background:var(--accent);border-color:var(--accent)}.switch input:checked+.track:after{transform:translate(16px)}.switch input:focus-visible+.track{outline:2px solid var(--accent);outline-offset:2px}input[type=range]{width:100%;accent-color:var(--accent)}.filter-row{display:grid;grid-template-columns:minmax(0,1.6fr) 110px minmax(0,1fr) auto;gap:var(--sp-2);align-items:center;padding:var(--sp-2) 0}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.table th,.table td{padding:11px var(--sp-4);text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}.table th{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);font-weight:650;background:var(--surface);position:sticky;top:0}.table tbody tr:hover{background:var(--surface-2)}.table tbody tr:last-child td{border-bottom:0}.table td.num,.table th.num{text-align:right}.table th[data-sort]{cursor:pointer;-webkit-user-select:none;user-select:none}.table th[data-sort]:after{content:"↕";margin-left:6px;opacity:.35}.table th.sorted-asc:after{content:"↑";opacity:1;color:var(--accent)}.table th.sorted-desc:after{content:"↓";opacity:1;color:var(--accent)}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) var(--sp-5);flex-wrap:wrap;border-bottom:1px solid var(--border)}.table-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--border);font-size:var(--fs-xs);color:var(--text-muted);flex-wrap:wrap}.table-compact th,.table-compact td{padding:7px var(--sp-4)}.table-striped tbody tr:nth-child(2n){background:color-mix(in srgb,var(--surface-2) 55%,transparent)}.cell-company{display:flex;align-items:center;gap:10px}.cell-company small{display:block;color:var(--text-faint);font-size:var(--fs-xs)}.pagination{display:inline-flex;gap:4px}.pagination button{min-width:30px;height:30px;padding:0 8px;border-radius:var(--radius-sm);border:1px solid var(--border);font-size:var(--fs-xs);font-weight:600}.pagination button:hover{background:var(--surface-2)}.pagination button.active{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.pagination button:disabled{opacity:.4;pointer-events:none}.alert{display:flex;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius);border:1px solid;font-size:var(--fs-sm);align-items:flex-start}.alert .icon{margin-top:2px}.alert-info{background:color-mix(in srgb,var(--info) 10%,transparent);border-color:color-mix(in srgb,var(--info) 35%,transparent);color:var(--info)}.alert-success{background:color-mix(in srgb,var(--up) 10%,transparent);border-color:color-mix(in srgb,var(--up) 35%,transparent);color:var(--up)}.alert-warn{background:color-mix(in srgb,var(--warn) 10%,transparent);border-color:color-mix(in srgb,var(--warn) 35%,transparent);color:var(--warn)}.alert-danger{background:color-mix(in srgb,var(--down) 10%,transparent);border-color:color-mix(in srgb,var(--down) 35%,transparent);color:var(--down)}.alert>div{color:var(--text)}.tabs{display:flex;gap:var(--sp-1);border-bottom:1px solid var(--border);overflow-x:auto}.tab{padding:10px var(--sp-4);font-size:var(--fs-sm);font-weight:600;color:var(--text-muted);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.tab:hover{color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.tab-panel{display:none;padding-top:var(--sp-4)}.tab-panel.active{display:block}.dropdown{position:relative;display:inline-block}.dropdown-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;z-index:60;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:var(--sp-2);display:none}.dropdown.open>.dropdown-menu{display:block}.dropdown-menu a,.dropdown-menu button.item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:var(--radius-sm);color:var(--text);font-size:var(--fs-sm);text-align:left}.dropdown-menu a:hover,.dropdown-menu button.item:hover{background:var(--surface-2);text-decoration:none}.dropdown-menu .divider{height:1px;background:var(--border);margin:var(--sp-2) 0}.dropdown-menu .menu-head{padding:8px 10px;font-size:var(--fs-xs);color:var(--text-faint);text-transform:uppercase;letter-spacing:.07em}.notif{display:flex;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);font-size:var(--fs-sm)}.notif:hover{background:var(--surface-2)}.notif small{display:block;color:var(--text-faint)}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:none;align-items:center;justify-content:center;padding:var(--sp-4);background:#02081299}.modal.open{display:flex}.modal-dialog{width:min(520px,100%);max-height:90vh;overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border)}.modal-body{padding:var(--sp-5)}.modal-foot{display:flex;justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--border)}.toast-stack{position:fixed;right:var(--sp-5);bottom:var(--sp-5);z-index:120;display:grid;gap:var(--sp-2)}.toast{min-width:260px;max-width:360px;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius);box-shadow:var(--shadow-lg);font-size:var(--fs-sm);animation:toast-in .2s ease}.toast.success{border-left-color:var(--up)}.toast.danger{border-left-color:var(--down)}.toast.warn{border-left-color:var(--warn)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.progress{height:8px;border-radius:var(--radius-full);background:var(--surface-3);overflow:hidden}.progress>span{display:block;height:100%;background:var(--accent);border-radius:inherit}.progress.up>span{background:var(--up)}.progress.warn>span{background:var(--warn)}.progress.down>span{background:var(--down)}.range-bar{position:relative;height:6px;border-radius:var(--radius-full);background:var(--surface-3)}.range-bar i{position:absolute;top:-4px;width:3px;height:14px;border-radius:2px;background:var(--text)}.list{list-style:none;margin:0;padding:0}.list li{display:flex;align-items:center;gap:var(--sp-3);padding:11px var(--sp-5);border-bottom:1px solid var(--border)}.list li:last-child{border-bottom:0}.kv{display:grid;grid-template-columns:1fr auto;gap:10px var(--sp-4);font-size:var(--fs-sm)}.kv dt{color:var(--text-muted)}.kv dd{margin:0;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.timeline{list-style:none;margin:0;padding:0 0 0 var(--sp-4);border-left:2px solid var(--border);display:grid;gap:var(--sp-4)}.timeline li{position:relative}.timeline li:before{content:"";position:absolute;left:calc(-1 * var(--sp-4) - 6px);top:5px;width:10px;height:10px;border-radius:50%;background:var(--accent);border:2px solid var(--surface)}.timeline time{font-size:var(--fs-xs);color:var(--text-faint);display:block}.chart{width:100%;position:relative}.chart svg{display:block;width:100%;height:auto;max-width:none}.chart text{font-family:var(--font-sans);font-size:11px;fill:var(--text-faint)}.chart-tip{position:absolute;pointer-events:none;padding:6px 10px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--shadow);font-size:12px;white-space:nowrap;transform:translate(-50%,-110%);display:none;z-index:5}.legend{display:flex;flex-wrap:wrap;gap:var(--sp-3);font-size:var(--fs-xs);color:var(--text-muted)}.legend i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:6px}.chat{display:flex;flex-direction:column;gap:var(--sp-4)}.msg{max-width:82%;padding:12px 16px;border-radius:14px;font-size:var(--fs-sm);line-height:1.6}.msg.user{align-self:flex-end;background:var(--accent);color:var(--accent-contrast);border-bottom-right-radius:4px}.msg.ai{align-self:flex-start;background:var(--surface-2);border:1px solid var(--border);border-bottom-left-radius:4px}.evidence{display:inline-block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;padding:1px 7px;border-radius:4px;margin-right:6px}.evidence.fact{background:color-mix(in srgb,var(--info) 18%,transparent);color:var(--info)}.evidence.calc{background:color-mix(in srgb,var(--up) 18%,transparent);color:var(--up)}.evidence.ai{background:color-mix(in srgb,var(--chart-3) 20%,transparent);color:var(--chart-3)}.source-ref{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:1px 8px;border-radius:var(--radius-full);border:1px solid var(--border-strong);color:var(--text-muted)}.empty{text-align:center;padding:var(--sp-6);color:var(--text-muted)}.skeleton{background:linear-gradient(90deg,var(--surface-2),var(--surface-3),var(--surface-2));background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:var(--radius-sm);min-height:14px}@keyframes shimmer{to{background-position:-200% 0}}.demo-block{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:center}.code-sample{font-size:12px}.matrix td,.matrix th{text-align:center}.matrix td:first-child,.matrix th:first-child{text-align:left}@media (max-width: 1200px){.span-3,.span-4,.span-5{grid-column:span 6}.span-7,.span-8,.span-9{grid-column:span 12}}@media (max-width: 992px){.app-main,[data-sidebar=collapsed] .app-main{margin-left:0}.sidebar,[data-sidebar=collapsed] .sidebar{width:var(--sidebar-w);transform:translate(-100%)}[data-sidebar=collapsed] .nav-text,[data-sidebar=collapsed] .nav-caret,[data-sidebar=collapsed] .nav-pill,[data-sidebar=collapsed] .nav-section,[data-sidebar=collapsed] .brand-text,[data-sidebar=collapsed] .sidebar-user .who{display:revert!important}[data-sidebar=collapsed] .nav-link{justify-content:flex-start}.sidebar-open .sidebar{transform:none;box-shadow:var(--shadow-lg)}.sidebar-open .sidebar-overlay{display:block}.header-search{width:auto;flex:1}.market-status{display:none}.split,.auth-layout{grid-template-columns:1fr}.auth-aside{display:none}}@media (max-width: 768px){.content{padding:var(--sp-4)}.header{padding:0 var(--sp-3)}.span-4,.span-5,.span-6,.span-3{grid-column:span 12}.grid-2-sm{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-row{grid-template-columns:1fr 90px 1fr auto}.page-head{align-items:flex-start}.msg{max-width:94%}.header-search kbd{display:none}.hide-sm{display:none!important}}@media (max-width: 480px){.stat-value{font-size:1.4rem}.filter-row{grid-template-columns:1fr 1fr}.filter-row>:last-child{grid-column:span 2;justify-self:end}.toast-stack{left:var(--sp-3);right:var(--sp-3)}.toast{min-width:0;max-width:none}}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}@media print{.sidebar,.header,.footer,.customizer,.btn{display:none!important}.app-main{margin:0}}[hidden]{display:none!important}.btn[aria-busy=true]{pointer-events:none;opacity:.75}.btn[aria-busy=true]:before{content:"";width:12px;height:12px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spg-spin .7s linear infinite}@keyframes spg-spin{to{transform:rotate(360deg)}}.card>.tabs{padding:0 var(--sp-5)}.tabs{scrollbar-width:none}.page-head .select,.table-toolbar .select{width:auto}:where(.kv){margin:0}.table tr.row-link{cursor:pointer}.tab:disabled{opacity:.5;cursor:not-allowed}.kv dd{min-width:0;overflow-wrap:anywhere}
