:root{--bg: oklch(98% .004 90);--bg-2: oklch(96% .005 90);--surface: #ffffff;--line: oklch(92% .005 250);--line-2: oklch(95% .004 250);--ink: oklch(22% .015 255);--ink-2: oklch(38% .012 255);--ink-3: oklch(55% .01 255);--ink-4: oklch(70% .008 255);--accent: oklch(62% .13 255);--accent-soft: oklch(92% .04 255);--accent-ink: oklch(40% .13 255);--pos: oklch(58% .11 155);--pos-soft: oklch(94% .04 155);--neg: oklch(58% .13 35);--neg-soft: oklch(94% .035 35);--warn: oklch(70% .13 75);--radius: 14px;--radius-lg: 20px;--radius-sm: 8px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Geist,ui-sans-serif,system-ui,-apple-system,sans-serif;font-feature-settings:"ss01","cv11";background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-size:13px;line-height:1.45}.mono{font-family:Geist Mono,ui-monospace,SF Mono,Menlo,monospace;font-feature-settings:"tnum","zero"}.tnum{font-variant-numeric:tabular-nums}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none;color:inherit}input{font-family:inherit;font-size:inherit;color:inherit}.app{max-width:1440px;margin:0 auto;padding:18px 24px 60px}.topbar{display:flex;align-items:center;gap:18px;padding:8px 10px 8px 16px;background:var(--surface);border:1px solid var(--line);border-radius:999px;box-shadow:0 1px #141c3205}.brand{display:flex;align-items:center;gap:9px;padding-right:14px;border-right:1px solid var(--line);font-weight:600;letter-spacing:-.01em}.brand-mark{width:22px;height:22px;border-radius:6px;background:var(--ink);color:var(--bg);display:grid;place-items:center;font-weight:700;font-size:11px;letter-spacing:-.04em}.nav{display:flex;gap:2px}.nav button{padding:7px 14px;border-radius:999px;color:var(--ink-2);font-weight:500;transition:background .15s,color .15s}.nav button:hover{color:var(--ink)}.nav button.active{background:var(--bg-2);color:var(--ink)}.topbar .spacer{flex:1}.search{display:flex;align-items:center;gap:8px;background:var(--bg-2);border:1px solid var(--line-2);border-radius:999px;padding:6px 12px;min-width:280px;transition:border .15s,background .15s}.search:focus-within{border-color:var(--ink-4);background:var(--surface)}.search-label{color:var(--ink-3);font-size:11px;letter-spacing:.04em;text-transform:uppercase;font-weight:500}.search input{border:none;outline:none;background:transparent;flex:1;min-width:0;font-feature-settings:"tnum";letter-spacing:.02em}.search input::-moz-placeholder{color:var(--ink-4)}.search input::placeholder{color:var(--ink-4)}.search-go{background:var(--ink);color:var(--bg);border-radius:999px;padding:5px 12px;font-weight:500;font-size:12px}.search-go:hover{background:var(--accent-ink)}.user{display:flex;align-items:center;gap:10px;padding-left:14px;border-left:1px solid var(--line)}.icon-btn{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);background:var(--surface);position:relative}.icon-btn .dot{position:absolute;top:7px;right:8px;width:6px;height:6px;border-radius:50%;background:var(--neg);border:1.5px solid var(--surface)}.avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#d0b198,#ab6e64);display:grid;place-items:center;color:#fff;font-weight:600;font-size:12px}.user-meta{display:flex;flex-direction:column;line-height:1.15}.user-meta b{font-weight:600;font-size:12.5px}.user-meta span{color:var(--ink-3);font-size:11px}.company-strip{margin-top:22px;display:flex;align-items:stretch;gap:14px}.company-card{flex:1;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px 22px;display:flex;align-items:center;gap:22px}.company-logo{width:52px;height:52px;border-radius:12px;background:#e2ecf9;color:var(--accent-ink);display:grid;place-items:center;font-weight:700;font-size:16px;letter-spacing:-.02em}.company-meta{flex:1;min-width:0}.company-meta .name{font-size:19px;font-weight:600;letter-spacing:-.015em;display:flex;align-items:center;gap:10px}.company-meta .sub{color:var(--ink-3);font-size:12px;margin-top:2px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}.company-meta .sub b{color:var(--ink-2);font-weight:500}.dot-sep{width:3px;height:3px;border-radius:50%;background:var(--ink-4);display:inline-block}.tag{padding:2px 8px;border-radius:999px;font-size:11px;font-weight:500;background:var(--accent-soft);color:var(--accent-ink);letter-spacing:.01em}.tag.neutral{background:var(--bg-2);color:var(--ink-2);border:1px solid var(--line)}.tag.pos{background:var(--pos-soft);color:var(--pos)}.company-quick{display:flex;align-items:stretch;gap:0}.quick-cell{padding:0 18px;display:flex;flex-direction:column;justify-content:center;border-left:1px solid var(--line-2);min-width:110px}.quick-cell:first-child{border-left:none;padding-left:0}.quick-cell .label{font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.quick-cell .val{font-size:17px;font-weight:600;margin-top:2px;letter-spacing:-.01em}.quick-cell .delta{font-size:11px;margin-top:2px;display:flex;align-items:center;gap:3px}.delta.pos{color:var(--pos)}.delta.neg{color:var(--neg)}.grid{display:grid;grid-template-columns:1fr 360px;gap:14px;margin-top:14px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg)}.card-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;gap:16px}.card-title{font-size:14px;font-weight:600;letter-spacing:-.01em}.card-sub{color:var(--ink-3);font-size:11.5px;margin-top:2px}.metric-tabs{display:flex;gap:2px;background:var(--bg-2);padding:3px;border-radius:10px;border:1px solid var(--line-2)}.metric-tabs button{padding:6px 12px;border-radius:7px;font-size:12px;font-weight:500;color:var(--ink-3)}.metric-tabs button .swatch{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:6px;vertical-align:middle;background:currentColor;opacity:.6}.metric-tabs button.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #141c320d}.timeframe{display:flex;gap:1px}.timeframe button{padding:6px 11px;border-radius:8px;font-size:12px;color:var(--ink-3);font-weight:500;font-variant-numeric:tabular-nums}.timeframe button:hover{color:var(--ink)}.timeframe button.active{background:var(--bg-2);color:var(--ink);border:1px solid var(--line);padding:5px 10px}.chart-body{padding:4px 14px 18px;position:relative}.chart-summary{display:flex;align-items:baseline;gap:14px;padding:0 8px 12px}.chart-summary .big{font-size:30px;font-weight:600;letter-spacing:-.025em}.chart-summary .delta{font-size:13px;padding:3px 9px;border-radius:999px;font-weight:500}.chart-summary .since{color:var(--ink-3);font-size:12px}.chart-svg-wrap{position:relative;width:100%}.chart-svg{display:block;width:100%;height:280px}.chart-cursor{position:absolute;pointer-events:none;background:var(--ink);color:var(--bg);padding:6px 10px;border-radius:8px;font-size:12px;white-space:nowrap;transform:translate(-50%,calc(-100% - 10px));font-variant-numeric:tabular-nums;box-shadow:0 4px 12px #141c322e}.chart-cursor:after{content:"";position:absolute;left:50%;bottom:-4px;width:8px;height:8px;background:var(--ink);transform:translate(-50%) rotate(45deg)}.chart-cursor .label{font-size:10px;color:#9a9fa5;display:block;margin-bottom:1px;letter-spacing:.04em;text-transform:uppercase}.chart-legend{display:flex;gap:18px;padding:0 22px 6px;font-size:11.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}.chart-legend .item{display:flex;align-items:center;gap:6px}.chart-legend .swatch{width:9px;height:9px;border-radius:2px;display:inline-block}.kpi-list{display:grid;gap:10px}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;display:grid;grid-template-columns:1fr 60px;gap:12px;align-items:center;transition:border .15s;cursor:pointer}.kpi:hover{border-color:var(--ink-4)}.kpi.active{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--accent-soft)}.kpi .label{font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.kpi .val{font-size:19px;font-weight:600;letter-spacing:-.015em;margin-top:2px}.kpi .row{display:flex;align-items:center;gap:8px;margin-top:4px;font-size:11.5px}.kpi .row .pct{font-weight:500;padding:1px 6px;border-radius:4px;font-variant-numeric:tabular-nums}.kpi .row .pct.pos{background:var(--pos-soft);color:var(--pos)}.kpi .row .pct.neg{background:var(--neg-soft);color:var(--neg)}.kpi .row .vs{color:var(--ink-3)}.kpi .spark{width:60px;height:36px}.analysis{margin-top:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg)}.analysis-head{display:flex;align-items:center;justify-content:space-between;padding:6px 12px 6px 6px;border-bottom:1px solid var(--line-2)}.tab-bar{display:flex;gap:0}.tab-bar button{padding:14px 18px;font-size:13px;font-weight:500;color:var(--ink-3);position:relative;transition:color .15s}.tab-bar button:hover,.tab-bar button.active{color:var(--ink)}.tab-bar button.active:after{content:"";position:absolute;left:18px;right:18px;bottom:-1px;height:2px;background:var(--ink);border-radius:2px}.tab-bar button .badge{margin-left:6px;font-size:10px;background:var(--bg-2);border:1px solid var(--line);padding:1px 5px;border-radius:4px;color:var(--ink-3);font-weight:500}.analysis-meta{display:flex;align-items:center;gap:10px;padding-right:8px;font-size:12px;color:var(--ink-3)}.analysis-meta .pill{padding:5px 10px;border-radius:8px;background:var(--bg-2);border:1px solid var(--line-2);font-size:11.5px;color:var(--ink-2);font-weight:500;display:inline-flex;align-items:center;gap:6px}.analysis-body{padding:18px 22px 22px}.fin-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:12.5px}.fin-table th,.fin-table td{padding:9px 10px;text-align:right;border-bottom:1px solid var(--line-2)}.fin-table th:first-child,.fin-table td:first-child{text-align:left}.fin-table thead th{font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;font-weight:500;padding-bottom:8px;padding-top:4px;border-bottom:1px solid var(--line)}.fin-table tr.section td{font-weight:600;color:var(--ink);background:var(--bg);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em}.fin-table tr.total td{font-weight:600;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg-2)}.fin-table td .pct{font-size:11px;color:var(--ink-3);margin-left:8px}.fin-table td.pos{color:var(--pos)}.fin-table td.neg{color:var(--neg)}.fin-table td .bar{display:inline-block;width:50px;height:5px;border-radius:2px;background:var(--bg-2);position:relative;vertical-align:middle;margin-left:8px}.fin-table td .bar:after{content:"";position:absolute;left:0;top:0;bottom:0;background:var(--accent);border-radius:2px;width:var(--w, 0%)}.fin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.fin-grid h4{margin:0 0 10px;font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.fin-grid .col{background:var(--bg);border-radius:12px;padding:14px 16px;border:1px solid var(--line-2)}.equity-grid{display:grid;grid-template-columns:280px 1fr;gap:18px}.metric-pair{display:flex;flex-direction:column;gap:2px;padding:12px 0;border-bottom:1px solid var(--line-2)}.metric-pair:last-child{border-bottom:none}.metric-pair .label{font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em}.metric-pair .row{display:flex;align-items:baseline;gap:8px}.metric-pair .val{font-size:18px;font-weight:600;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.metric-pair .vs{font-size:11px;color:var(--ink-3)}.metric-pair .bench{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:11px;color:var(--ink-3);font-variant-numeric:tabular-nums}.metric-pair .bench-bar{flex:1;height:4px;background:var(--bg-2);border-radius:2px;position:relative}.metric-pair .bench-bar .self{position:absolute;top:-3px;width:2px;height:10px;background:var(--ink);border-radius:1px}.metric-pair .bench-bar .peer{position:absolute;top:-2px;width:8px;height:8px;border-radius:50%;background:var(--accent-soft);border:1.5px solid var(--accent);transform:translate(-50%)}.comparables{width:100%;font-size:12.5px;border-collapse:collapse;font-variant-numeric:tabular-nums}.comparables th{font-size:10.5px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;text-align:right;padding:8px;font-weight:500;border-bottom:1px solid var(--line)}.comparables th:first-child,.comparables td:first-child{text-align:left}.comparables td{padding:10px 8px;border-bottom:1px solid var(--line-2);text-align:right}.comparables td .name{font-weight:500}.comparables td .ticker{font-size:11px;color:var(--ink-3);margin-left:6px}.comparables tr.self{background:var(--accent-soft)}.comparables tr.self td:first-child{font-weight:600}.benchmark-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line-2);font-variant-numeric:tabular-nums}.benchmark-row:last-child{border-bottom:none}.benchmark-row .name{width:160px;font-size:12.5px}.benchmark-row .name b{font-weight:500}.benchmark-row .name .sub{display:block;font-size:11px;color:var(--ink-3)}.risk-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:18px}.gauge{padding:12px 4px}.gauge .row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px;font-size:12.5px}.gauge .row b{font-weight:600;font-variant-numeric:tabular-nums;font-size:14px}.gauge .scale{height:8px;border-radius:4px;background:linear-gradient(90deg,var(--pos),oklch(85% .07 95) 50%,var(--neg));position:relative;opacity:.85}.gauge .scale .marker{position:absolute;top:-3px;width:3px;height:14px;background:var(--ink);border-radius:1px;transform:translate(-50%)}.gauge .legend{display:flex;justify-content:space-between;font-size:10.5px;color:var(--ink-3);margin-top:4px;text-transform:uppercase;letter-spacing:.04em}.gauge .note{margin-top:8px;font-size:11.5px;color:var(--ink-3)}.credit-card{background:var(--bg);border:1px solid var(--line-2);border-radius:12px;padding:16px}.credit-card .head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.credit-card .rating{font-size:28px;font-weight:700;letter-spacing:-.02em;padding:0 12px;line-height:1;border-radius:8px;background:var(--pos-soft);color:var(--pos);align-self:flex-start;display:inline-flex;align-items:center;height:38px}.credit-card h4{margin:0;font-size:13px;font-weight:600}.credit-card .sub{font-size:11.5px;color:var(--ink-3);margin-top:2px}.btn-ghost{padding:6px 11px;border-radius:8px;font-size:12px;font-weight:500;color:var(--ink-2);border:1px solid var(--line);background:var(--surface);display:inline-flex;align-items:center;gap:6px}.btn-ghost:hover{border-color:var(--ink-4)}.recents-wrap{position:relative}.recents{position:absolute;top:calc(100% + 8px);right:0;width:320px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:6px;z-index:50;box-shadow:0 12px 32px #141c3214}.recents .rh{font-size:10.5px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;padding:8px 10px 6px}.recents .row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer}.recents .row:hover{background:var(--bg-2)}.recents .row .siren{font-size:11px;color:var(--ink-3);margin-left:auto;font-variant-numeric:tabular-nums}.recents .row .nm{font-weight:500;font-size:13px}.footer-note{padding:16px 6px 0;font-size:11px;color:var(--ink-4);display:flex;justify-content:space-between}@media (max-width: 1100px){.grid,.equity-grid,.risk-grid,.fin-grid{grid-template-columns:1fr}.company-strip{flex-direction:column}}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:var(--bg)}.auth-aside{background:var(--ink);color:#c9ced4;padding:40px 48px;display:flex;flex-direction:column;position:relative;overflow:hidden}.auth-aside:before{content:"";position:absolute;inset:-40% -20% auto auto;width:80%;aspect-ratio:1;background:radial-gradient(circle,oklch(45% .1 255) 0%,transparent 60%);pointer-events:none}.auth-brand{display:flex;align-items:center;gap:10px;font-weight:600;font-size:14px;color:#fff;position:relative;z-index:1}.auth-brand .auth-mark{width:28px;height:28px;border-radius:7px;background:#fff;color:var(--ink);display:grid;place-items:center;font-weight:700;font-size:12px}.auth-aside-body{margin-top:auto;margin-bottom:auto;position:relative;z-index:1;max-width:440px}.auth-aside-body h1{font-size:36px;font-weight:600;letter-spacing:-.025em;line-height:1.15;margin:0 0 14px;color:#fff}.auth-aside-body p{font-size:14px;line-height:1.55;color:#aaaeb4;margin:0}.auth-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px;position:relative;z-index:1}.auth-stats .s b{font-size:22px;font-weight:600;letter-spacing:-.015em;color:#fff;display:block}.auth-stats .s span{font-size:11.5px;color:#8b9095;text-transform:uppercase;letter-spacing:.05em}.auth-foot{position:relative;z-index:1;font-size:11.5px;color:#7c8186;display:flex;gap:18px}.auth-foot a{color:inherit;text-decoration:none}.auth-foot a:hover{color:#fff}.auth-main{display:flex;align-items:center;justify-content:center;padding:40px}.auth-card{width:100%;max-width:420px}.auth-card .eyebrow{font-size:11.5px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;font-weight:500}.auth-card h2{margin:6px 0;font-size:26px;font-weight:600;letter-spacing:-.02em}.auth-card .lede{color:var(--ink-3);font-size:13.5px;margin:0 0 28px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:11.5px;color:var(--ink-2);font-weight:500;letter-spacing:.01em}.field input,.field select{padding:11px 12px;border:1px solid var(--line);background:var(--surface);border-radius:10px;font-size:13.5px;color:var(--ink);transition:border .15s,box-shadow .15s;outline:none}.field input:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field input::-moz-placeholder{color:var(--ink-4)}.field input::placeholder{color:var(--ink-4)}.field .hint{font-size:11px;color:var(--ink-3)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-pw{position:relative}.field-pw .toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:11px;color:var(--ink-3);padding:4px 8px;border-radius:6px}.field-pw .toggle:hover{background:var(--bg-2);color:var(--ink)}.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.role-grid label{border:1px solid var(--line);padding:11px 10px;border-radius:10px;cursor:pointer;text-align:center;font-size:12.5px;font-weight:500;background:var(--surface);transition:all .15s;color:var(--ink-2)}.role-grid label:hover{border-color:var(--ink-4);color:var(--ink)}.role-grid label.selected{border-color:var(--ink);background:var(--ink);color:#fff}.row-between{display:flex;align-items:center;justify-content:space-between;margin:4px 0 18px}.checkbox{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2);cursor:pointer}.checkbox input{display:none}.checkbox .box{width:16px;height:16px;border:1.5px solid var(--line);border-radius:4px;display:grid;place-items:center;transition:all .15s;flex-shrink:0}.checkbox input:checked+.box{background:var(--ink);border-color:var(--ink)}.checkbox input:checked+.box:after{content:"";width:4px;height:8px;border:2px solid white;border-top:0;border-left:0;transform:rotate(45deg) translateY(-1px)}.link{color:var(--accent-ink);text-decoration:none;font-size:13px;font-weight:500}.link:hover{text-decoration:underline}.btn-primary{width:100%;padding:12px;border-radius:10px;background:var(--ink);color:#fff;font-weight:500;font-size:14px;letter-spacing:-.005em;transition:background .15s,transform .05s}.btn-primary:hover{background:var(--accent-ink)}.btn-primary:active{transform:translateY(1px)}.alt-line{text-align:center;font-size:13px;color:var(--ink-3);margin-top:18px}.alt-line a{color:var(--ink);font-weight:500}.divider{display:flex;align-items:center;gap:12px;margin:22px 0 16px;color:var(--ink-4);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line)}.sso-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sso-btn{padding:10px;border:1px solid var(--line);background:var(--surface);border-radius:10px;font-size:12.5px;font-weight:500;color:var(--ink-2);display:inline-flex;align-items:center;justify-content:center;gap:8px}.sso-btn:hover{border-color:var(--ink-4)}.legal{font-size:11px;color:var(--ink-3);text-align:center;margin-top:18px;line-height:1.5}.legal a{color:var(--ink-2);text-decoration:underline}@media (max-width: 880px){.auth-shell{grid-template-columns:1fr}.auth-aside{display:none}}.section-head{margin-top:22px;display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px}.section-head h1{margin:0;font-size:22px;font-weight:600;letter-spacing:-.02em}.section-head .sub{color:var(--ink-3);font-size:12.5px;margin-top:4px}.section-actions{display:flex;gap:8px;align-items:center}.toolbar{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:8px;margin-bottom:14px}.toolbar .search-mini{display:flex;align-items:center;gap:8px;background:var(--bg-2);border:1px solid var(--line-2);border-radius:8px;padding:6px 12px;flex:1;min-width:200px}.toolbar .search-mini input{background:transparent;border:none;outline:none;flex:1;min-width:0;font-size:13px}.toolbar .search-mini svg{color:var(--ink-4)}.filter-chip{padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:12px;font-weight:500;color:var(--ink-2);display:inline-flex;gap:6px;align-items:center}.filter-chip:hover{border-color:var(--ink-4)}.filter-chip.active{background:var(--ink);color:#fff;border-color:var(--ink)}.cols-2{display:grid;grid-template-columns:1.25fr 1fr;gap:14px}.cols-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.cols-4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.section-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg)}.sc-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px}.sc-head h3{margin:0;font-size:13.5px;font-weight:600}.sc-head .sub{font-size:11.5px;color:var(--ink-3);margin-top:2px}.sc-body{padding:6px 8px 10px}.cmp-table{width:100%;border-collapse:collapse;font-size:12.5px;font-variant-numeric:tabular-nums}.cmp-table th{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);font-weight:500;text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}.cmp-table th:first-child,.cmp-table td:first-child{text-align:left}.cmp-table td{padding:11px 12px;border-bottom:1px solid var(--line-2);text-align:right}.cmp-table tbody tr:hover{background:var(--bg-2);cursor:pointer}.cmp-table tbody tr:last-child td{border-bottom:none}.cmp-table .name-cell{display:flex;align-items:center;gap:10px}.cmp-table .name-cell .logo{width:28px;height:28px;border-radius:7px;background:var(--bg-2);display:grid;place-items:center;font-size:10.5px;font-weight:600;color:var(--ink-2);border:1px solid var(--line-2);flex-shrink:0}.cmp-table .nm{font-weight:500}.cmp-table .siren{font-size:11px;color:var(--ink-3);margin-top:1px;font-variant-numeric:tabular-nums}.cmp-table .pos{color:var(--pos)}.cmp-table .neg{color:var(--neg)}.cmp-table td .row-actions{display:inline-flex;gap:4px;opacity:0;transition:opacity .15s}.cmp-table tr:hover .row-actions{opacity:1}.row-action{width:26px;height:26px;border-radius:6px;display:grid;place-items:center;color:var(--ink-3);border:1px solid var(--line);background:var(--surface)}.row-action:hover{color:var(--ink);border-color:var(--ink-4)}.empty-state{padding:48px 24px;text-align:center}.empty-state .icon{width:44px;height:44px;border-radius:12px;background:var(--bg-2);border:1px solid var(--line);display:inline-grid;place-items:center;color:var(--ink-3);margin-bottom:12px}.empty-state h4{margin:0 0 4px;font-size:14px;font-weight:600}.empty-state p{color:var(--ink-3);font-size:13px;max-width:360px;margin:0 auto 16px}.market-tile{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px}.market-tile .label{font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.market-tile .val{font-size:22px;font-weight:600;letter-spacing:-.02em;margin-top:4px;font-variant-numeric:tabular-nums}.market-tile .delta{font-size:12px;margin-top:4px}.market-tile .spark{width:100%;height:40px;margin-top:8px;display:block}.sector-row{display:grid;grid-template-columns:1.4fr 1fr 80px 80px;align-items:center;gap:14px;padding:11px 14px;border-bottom:1px solid var(--line-2);font-variant-numeric:tabular-nums;font-size:12.5px}.sector-row:last-child{border-bottom:none}.sector-row .nm{font-weight:500}.sector-row .nm .meta{display:block;color:var(--ink-3);font-size:11px;font-weight:400;margin-top:1px}.sector-row .bar-base{height:6px;background:var(--bg-2);border-radius:3px;position:relative}.sector-row .bar-fill{position:absolute;left:0;top:0;bottom:0;border-radius:3px}.watchlist-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;cursor:pointer;transition:border .15s}.watchlist-card:hover{border-color:var(--ink-4)}.watchlist-card .top{display:flex;align-items:center;gap:10px}.watchlist-card .nm{font-weight:600;font-size:13.5px;letter-spacing:-.005em}.watchlist-card .siren{font-size:11px;color:var(--ink-3);font-variant-numeric:tabular-nums;margin-top:1px}.watchlist-card .stats{display:flex;gap:16px;margin-top:10px;font-variant-numeric:tabular-nums}.watchlist-card .stats .stat .l{font-size:10.5px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em}.watchlist-card .stats .stat .v{font-size:13px;font-weight:600;margin-top:1px}.watchlist-card .delta-tag{font-size:11px;padding:2px 7px;border-radius:6px;font-weight:500;font-variant-numeric:tabular-nums}.watchlist-card .delta-tag.pos{background:var(--pos-soft);color:var(--pos)}.watchlist-card .delta-tag.neg{background:var(--neg-soft);color:var(--neg)}.compare-table th.metric-col{text-align:left}.compare-table td.metric-col{text-align:left;font-weight:500;color:var(--ink-2)}.compare-table .winner{background:var(--pos-soft);color:var(--pos);font-weight:600}.report-builder{display:grid;grid-template-columns:280px 1fr;gap:14px}.builder-step{padding:14px 16px;border:1px solid var(--line);border-radius:12px;margin-bottom:10px;background:var(--surface)}.builder-step .step-num{width:22px;height:22px;border-radius:50%;background:var(--ink);color:#fff;font-size:11px;font-weight:600;display:inline-grid;place-items:center;margin-right:8px}.builder-step h4{margin:0 0 8px;font-size:13px;font-weight:600;display:flex;align-items:center}.builder-step .options{display:flex;flex-wrap:wrap;gap:6px}.opt-chip{padding:5px 10px;border:1px solid var(--line);border-radius:7px;background:var(--surface);font-size:12px;color:var(--ink-2);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.opt-chip.selected{background:var(--ink);color:#fff;border-color:var(--ink)}.report-preview{background:var(--bg);border:1px dashed var(--line);border-radius:14px;padding:24px;min-height:480px}.preview-doc{background:#fff;border:1px solid var(--line);border-radius:8px;padding:28px 32px;max-width:600px;margin:0 auto;box-shadow:0 8px 28px #141c320f}.preview-doc .doc-head{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:18px}.preview-doc h2{margin:0;font-size:18px;font-weight:600;letter-spacing:-.015em}.preview-doc .doc-meta{font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;text-align:right}.preview-doc h5{margin:14px 0 8px;font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.preview-doc .doc-table{width:100%;font-size:11.5px;border-collapse:collapse;font-variant-numeric:tabular-nums}.preview-doc .doc-table td{padding:5px 0;border-bottom:1px solid var(--line-2)}.preview-doc .doc-table td:last-child{text-align:right;font-weight:500}.history-row{display:grid;grid-template-columns:30px 1fr auto auto auto;align-items:center;gap:12px;padding:11px 14px;border-bottom:1px solid var(--line-2);font-size:12.5px}.history-row:last-child{border-bottom:none}.history-row .file-icon{width:30px;height:30px;border-radius:6px;display:grid;place-items:center;font-size:9px;font-weight:700;color:#fff;letter-spacing:.02em}.history-row .file-icon.pdf{background:#ba5a42}.history-row .file-icon.xls{background:#3b8d5d}.history-row .nm{font-weight:500}.history-row .meta{font-size:11px;color:var(--ink-3);margin-top:1px}.history-row .date{font-size:11.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}.kpi-toggle{display:flex;flex-wrap:wrap;gap:6px}.kpi-toggle .opt-chip{padding:6px 11px}.checkbox-list{display:flex;flex-direction:column;gap:8px}.checkbox-list .checkbox{font-size:12.5px}.user-dropdown-wrap{position:relative;cursor:pointer;display:flex;align-items:center;gap:10px;padding-left:14px;border-left:1px solid var(--line)}.user-menu{position:absolute;top:calc(100% + 10px);right:0;min-width:210px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:6px;z-index:100;box-shadow:0 12px 32px #141c321a}.user-menu-header{padding:10px 12px 6px}.user-menu-header .name{font-weight:600;font-size:13px;letter-spacing:-.01em}.user-menu-header .email{font-size:11.5px;color:var(--ink-3);margin-top:2px}.user-menu-divider{height:1px;background:var(--line-2);margin:4px 6px}.user-menu-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;font-size:13px;color:var(--ink-2);cursor:pointer;transition:background .12s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.user-menu-item:hover{background:var(--bg-2);color:var(--ink)}.user-menu-item.danger{color:var(--neg)}.user-menu-item.danger:hover{background:var(--neg-soft);color:var(--neg)}.kpi-tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:14px}.btile{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px}.btile .label{font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.btile .val{font-size:20px;font-weight:600;letter-spacing:-.02em;margin-top:5px;font-variant-numeric:tabular-nums}.btile .delta{font-size:11.5px;margin-top:4px;font-variant-numeric:tabular-nums}.btile .hint{font-size:11px;color:var(--ink-4);margin-top:6px;line-height:1.35}.range-chart{padding:6px 0 2px}.range-row{display:grid;grid-template-columns:190px 1fr 170px;align-items:center;gap:16px;padding:13px 0;border-bottom:1px solid var(--line-2)}.range-row.synthesis{border-top:1px solid var(--line);border-bottom:none}.range-label b{font-size:12.5px;font-weight:600;display:block}.range-label span{font-size:11px;color:var(--ink-3);display:block;margin-top:2px;line-height:1.35}.range-row.synthesis .range-label b{color:var(--accent-ink)}.range-track{position:relative;height:26px}.range-axis{position:absolute;left:0;right:0;top:50%;height:4px;background:var(--bg-2);border-radius:2px;transform:translateY(-50%)}.range-band{position:absolute;top:50%;height:10px;border-radius:5px;background:var(--accent-soft);border:1px solid var(--accent);transform:translateY(-50%)}.range-row.synthesis .range-band{background:var(--accent);border-color:var(--accent-ink)}.range-mid{position:absolute;top:50%;width:2px;height:16px;background:var(--accent-ink);border-radius:1px;transform:translate(-50%,-50%)}.range-ask{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--neg);transform:translate(-50%)}.range-ask:before{content:"";position:absolute;top:-4px;left:50%;transform:translate(-50%);width:7px;height:7px;border-radius:50%;background:var(--neg)}.range-values{text-align:right;font-size:12px;color:var(--ink-2);font-variant-numeric:tabular-nums}.range-legend{display:flex;gap:20px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--line-2);font-size:11.5px;color:var(--ink-3)}.range-legend span{display:inline-flex;align-items:center;gap:7px}.range-legend i{display:inline-block}.range-legend i.band{width:16px;height:9px;border-radius:4px;background:var(--accent-soft);border:1px solid var(--accent)}.range-legend i.mid{width:2px;height:13px;background:var(--accent-ink)}.range-legend i.ask{width:2px;height:13px;background:var(--neg);position:relative}.range-verdict{display:flex;flex-direction:column;gap:4px;margin-top:14px;padding:12px 14px;border:1px solid;border-radius:12px}.range-verdict b{font-size:12.5px}.range-verdict span{font-size:12px;color:var(--ink-2);line-height:1.45}.method-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.method-note{background:var(--bg);border:1px solid var(--line-2);border-radius:12px;padding:13px 14px}.method-note h5{margin:0 0 6px;font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.method-note p{margin:0;font-size:12px;color:var(--ink-2);line-height:1.45}.fin-group{padding:6px 0 2px}.fin-group+.fin-group{margin-top:8px;border-top:1px solid var(--line);padding-top:16px}.fin-group-title{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--ink)}.fin-table-wrap{overflow-x:auto}.fin-table{width:100%;border-collapse:collapse}.fin-table th{font-size:11px;font-weight:500;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;text-align:right;padding:6px 12px;white-space:nowrap;border-bottom:1px solid var(--line)}.fin-table th.fin-ind{text-align:left}.fin-table th.fin-last{color:var(--ink-2)}.fin-table th.fin-trend-head{text-align:right}.fin-table td{padding:10px 12px;border-bottom:1px solid var(--line-2)}.fin-table tr:last-child td{border-bottom:none}.fin-table td.fin-ind{width:38%}.fin-label{display:block;font-size:12.5px;font-weight:500;color:var(--ink)}.fin-hint{display:block;font-size:11px;color:var(--ink-4);margin-top:2px;line-height:1.35}.fin-val{text-align:right;font-size:12.5px;color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap}.fin-table td.fin-last{color:var(--ink);font-weight:600}.fin-trend-cell{text-align:right;white-space:nowrap}.fin-trend{display:inline-block;padding:3px 8px;border-radius:999px;font-size:11.5px;font-weight:600;font-variant-numeric:tabular-nums}.fin-caption{margin:10px 2px 0;font-size:12px;color:var(--ink-2);line-height:1.5}.fin-analysis .card-head .tag,.debt-sim .card-head .tag{font-weight:500}.debt-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:22px;padding:10px 20px 4px}.debt-controls{display:flex;flex-direction:column;gap:14px}.debt-presets{display:flex;align-items:center;justify-content:space-between;gap:10px}.debt-presets-label{font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.debt-presets-btns{display:flex;gap:6px}.debt-preset{padding:4px 11px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font-size:12px;font-weight:600;transition:border-color .12s,background .12s,color .12s}.debt-preset:hover{border-color:var(--accent);color:var(--accent-ink)}.debt-preset.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink)}.debt-control{display:flex;flex-direction:column;gap:7px}.debt-control-head{display:flex;align-items:baseline;justify-content:space-between}.debt-control-head span:first-child{font-size:12.5px;font-weight:500;color:var(--ink)}.debt-control-head .mono{font-size:12.5px;font-weight:600;color:var(--ink)}.debt-control input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;border-radius:999px;background:var(--line);cursor:pointer}.debt-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent);border:2px solid var(--surface);box-shadow:0 0 0 1px var(--accent)}.debt-control input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;border:2px solid var(--surface);background:var(--accent);box-shadow:0 0 0 1px var(--accent)}.debt-check{display:flex;align-items:flex-start;gap:8px;margin-top:2px;cursor:pointer}.debt-check input{margin-top:1px;accent-color:var(--accent)}.debt-check span{font-size:12px;color:var(--ink-2);line-height:1.4}.debt-results{display:flex;flex-direction:column;gap:14px}.debt-headline{display:flex;flex-direction:column;gap:2px;background:var(--bg);border:1px solid var(--line-2);border-radius:12px;padding:14px 16px}.debt-headline-label{font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.debt-headline-value{font-size:28px;font-weight:600;color:var(--ink);line-height:1.1}.debt-headline-sub{font-size:12px;color:var(--ink-3)}.debt-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px}.debt-metric{display:flex;flex-direction:column;gap:2px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:11px 13px}.debt-metric-label{font-size:11.5px;color:var(--ink-3);font-weight:500}.debt-metric-value{font-size:16px;font-weight:600;color:var(--ink)}.debt-metric-hint{font-size:11px;color:var(--ink-4);line-height:1.35}.debt-impact{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px 20px 0}.debt-impact-card{display:flex;flex-direction:column;gap:3px;border:1px solid;border-radius:12px;padding:12px 14px}.debt-impact-label{font-size:11.5px;font-weight:600;color:var(--ink-2)}.debt-impact-value{font-size:24px;font-weight:600;line-height:1.1}.debt-impact-hint{font-size:11.5px;color:var(--ink-2);line-height:1.4}.debt-sim .range-verdict{margin:14px 20px 0}.debt-plan{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:12px 20px 0;padding:11px 14px;background:var(--bg);border:1px solid var(--line-2);border-radius:12px;font-size:12.5px;color:var(--ink-2)}.debt-plan b{color:var(--ink)}.debt-plan-gap{padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.debt-note{margin:12px 20px 4px;font-size:12px;color:var(--ink-2);line-height:1.55}.debt-note b{color:var(--ink);font-weight:600}.repay-capacity .card-head .tag{font-weight:500}.rep-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;padding:12px 20px 0}.rep-metric{display:flex;flex-direction:column;gap:4px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:13px 15px}.rep-metric-label{font-size:11.5px;font-weight:600;color:var(--ink-2)}.rep-metric-value{font-size:22px;font-weight:600;color:var(--ink);line-height:1.1}.rep-metric-hint{font-size:11.5px;color:var(--ink-4);line-height:1.4}.repay-capacity .range-verdict{margin:14px 20px 0}.rep-note{margin:12px 20px 4px;font-size:12px;color:var(--ink-2);line-height:1.55}.rep-note b{color:var(--ink);font-weight:600}.key-risks .card-head{flex-wrap:wrap}.risk-legend{display:flex;gap:6px;flex-wrap:wrap}.risk-legend-item{font-size:11px;font-weight:600;padding:4px 9px;border-radius:999px;white-space:nowrap}.risk-list{list-style:none;margin:4px 0 0;padding:12px 20px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.risk-item{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--line);border-radius:12px;padding:13px 15px;display:flex;flex-direction:column;gap:8px}.risk-item-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.risk-label{font-size:13px;font-weight:600;color:var(--ink)}.risk-badge{font-size:11px;font-weight:600;padding:3px 9px;border-radius:999px;white-space:nowrap}.risk-explanation{margin:0;font-size:12px;color:var(--ink-2);line-height:1.45}.risk-meta{display:flex;flex-direction:column;gap:6px;padding-top:2px;border-top:1px solid var(--line)}.risk-meta-row{display:flex;flex-direction:column;gap:1px;margin-top:6px}.risk-meta-key{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-4)}.risk-meta-val{font-size:12px;color:var(--ink-2);line-height:1.4}.risk-note{margin:12px 20px 4px;font-size:12px;color:var(--ink-2);line-height:1.55}.risk-note b{color:var(--ink);font-weight:600}.forecast .card-head .tag{font-weight:500}.fc-intro{margin:4px 20px 0;font-size:12px;color:var(--ink-2);line-height:1.55}.fc-intro b{color:var(--ink);font-weight:600}.fc-scenarios{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:12px 20px 0}.fc-scenario{text-align:left;display:flex;flex-direction:column;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;cursor:pointer;transition:border-color .12s,box-shadow .12s}.fc-scenario:hover{border-color:var(--accent)}.fc-scenario.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.fc-scenario-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.fc-scenario-name{font-size:13px;font-weight:600;color:var(--ink)}.fc-scenario-badge{font-size:10.5px;font-weight:600;padding:2px 8px;border-radius:999px;white-space:nowrap}.fc-scenario-stats{display:flex;gap:16px}.fc-scenario-stat{display:flex;flex-direction:column;gap:1px}.fc-scenario-stat span:first-child{font-size:10.5px;color:var(--ink-4)}.fc-scenario-stat span:last-child{font-size:13px;font-weight:600;color:var(--ink)}.fc-table-wrap{overflow-x:auto;padding:14px 20px 0}.fc-table{width:100%;border-collapse:collapse;min-width:560px}.fc-table th{font-size:11px;font-weight:500;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;text-align:right;padding:7px 10px;white-space:nowrap;border-bottom:1px solid var(--line)}.fc-table th:first-child,.fc-table td:first-child{text-align:left}.fc-table td{padding:9px 10px;border-bottom:1px solid var(--line-2);font-size:12.5px;color:var(--ink-2);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.fc-table tr:last-child td{border-bottom:none}.fc-table tr.fc-horizon td{color:var(--ink);font-weight:600;background:var(--bg)}.fc-year{font-weight:600;color:var(--ink)}.fc-blurb{margin:14px 20px 0;padding:11px 14px;border:1px solid;border-radius:12px;font-size:12px;color:var(--ink-2);line-height:1.5}.fc-note{margin:12px 20px 4px;font-size:12px;color:var(--ink-2);line-height:1.55}.fc-note b{color:var(--ink);font-weight:600}@media (max-width: 1100px){.kpi-tiles{grid-template-columns:repeat(2,1fr)}.method-notes{grid-template-columns:1fr}.range-row{grid-template-columns:130px 1fr 110px;gap:10px}.range-label span,.fin-hint{display:none}.debt-body{grid-template-columns:1fr;gap:18px}.debt-impact{grid-template-columns:1fr}.rep-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.risk-list,.fc-scenarios{grid-template-columns:1fr}}
