:root{color-scheme:light;--bg: #f4f8fb;--surface: #ffffff;--surface-2: #edf8f5;--ink: #111827;--muted: #64748b;--line: #d8e4e8;--line-strong: #c0d0d7;--accent: #0f766e;--accent-2: #2563eb;--accent-3: #7c3aed;--electric: #06b6d4;--warm: #f59e0b;--rose: #e11d48;--danger: #b42318;--shadow: rgba(17, 24, 39, .08);--shadow-strong: rgba(17, 24, 39, .14);--row: #f8fbfc;--panel-gradient: linear-gradient(180deg, rgba(255, 255, 255, .94) 0%, rgba(248, 252, 255, .98) 100%);--accent-gradient: linear-gradient(135deg, #0f766e 0%, #06b6d4 35%, #2563eb 68%, #7c3aed 100%);--surface-grid: linear-gradient(rgba(15, 118, 110, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(37, 99, 235, .04) 1px, transparent 1px)}*{box-sizing:border-box}html,body,#root{min-height:100vh}body{margin:0;background:linear-gradient(115deg,rgba(15,118,110,.08),transparent 32%),linear-gradient(250deg,rgba(124,58,237,.08),transparent 30%),var(--surface-grid),linear-gradient(180deg,#fbfdff 0%,var(--bg) 42%,#f7fafb 100%);background-size:auto,auto,42px 42px,auto;color:var(--ink);font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}button,input{font:inherit}button{cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease,transform .15s ease}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-panel{width:min(100%,420px);background:linear-gradient(180deg,#fffffff5,#f8fcfffa),repeating-linear-gradient(135deg,rgba(37,99,235,.03) 0 1px,transparent 1px 12px);border:1px solid var(--line);border-radius:8px;box-shadow:0 24px 80px var(--shadow),inset 0 1px #ffffffc7;padding:28px}.brand-lockup{display:flex;align-items:center;gap:12px}.brand-lockup h1{font-size:1.35rem;line-height:1.1;margin:0}.brand-lockup p{color:var(--muted);margin:2px 0 0}.brand-lockup.compact h1{font-size:1.05rem}.brand-lockup.compact p{color:color-mix(in srgb,var(--muted) 88%,var(--ink));font-size:.8rem;font-weight:700}.brand-mark{width:44px;height:44px;object-fit:cover;border:1px solid color-mix(in srgb,var(--electric) 44%,var(--line));border-radius:8px;background:#edf7f3;box-shadow:0 8px 24px #2563eb24,0 0 0 4px #06b6d414}.form-stack{display:grid;gap:14px;margin-top:24px}label{display:grid;gap:6px}label span,.eyebrow{color:var(--muted);font-size:.78rem;letter-spacing:0;text-transform:uppercase}input{width:100%;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px 12px;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,outline-color .15s ease}input:focus{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 12%,transparent);outline:0}.primary-action,.secondary-action,.icon-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border-radius:8px;border:1px solid transparent;font-weight:700}.primary-action{width:100%;background:var(--accent-gradient);color:#fff;box-shadow:0 14px 30px #2563eb2e,inset 0 1px #ffffff52}.primary-action:disabled{cursor:wait;opacity:.72}.secondary-action{width:100%;background:var(--surface);color:var(--muted);border-color:var(--line)}.secondary-action:hover:not(:disabled){border-color:var(--line-strong);color:var(--ink);box-shadow:0 8px 24px var(--shadow)}.icon-action{width:44px;background:var(--accent-gradient);color:#fff;box-shadow:0 12px 26px #2563eb33}.icon-action:hover:not(:disabled){background:var(--accent);transform:translateY(-1px)}.alert{color:var(--danger);background:color-mix(in srgb,var(--danger) 13%,transparent);border:1px solid color-mix(in srgb,var(--danger) 42%,transparent);border-radius:8px;margin:18px 0 0;padding:10px 12px}.alert.subtle{margin:12px 0 0}.app-shell{position:relative;min-height:100vh}.app-shell:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(120deg,transparent 0 72%,rgba(37,99,235,.055) 72% 72.2%,transparent 72.2%),repeating-linear-gradient(135deg,rgba(15,118,110,.035) 0 1px,transparent 1px 18px);-webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 78%);mask-image:linear-gradient(180deg,#000 0%,transparent 78%)}.side-rail{position:fixed;inset:0 auto 0 0;width:272px;display:flex;flex-direction:column;gap:18px;height:100vh;padding:22px;border-right:1px solid var(--line);background:linear-gradient(180deg,#fffffff5,#f9fdfcf0),linear-gradient(135deg,rgba(15,118,110,.12),transparent 34%),repeating-linear-gradient(135deg,rgba(37,99,235,.04) 0 1px,transparent 1px 12px);box-shadow:14px 0 40px #11182709;overflow:hidden}.side-rail:after{content:"";position:absolute;inset:0 0 0 auto;width:2px;background:var(--accent-gradient);opacity:.65}nav{display:grid;gap:6px}.nav-item{position:relative;display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;color:var(--muted);text-decoration:none;border-radius:8px;padding:10px 11px;text-align:left;font-weight:800}.nav-item:hover{background:var(--row);color:var(--ink)}.nav-item.active{background:linear-gradient(135deg,#0f766e1f,#2563eb1a);color:var(--ink);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 14%,var(--line))}.nav-item.active:before{content:"";position:absolute;inset:8px auto 8px 0;width:3px;border-radius:999px;background:var(--accent-gradient)}.side-rail .secondary-action{margin-top:auto}.workspace{min-width:0;margin-left:272px;padding:24px 28px 40px}.workspace-header{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-24px -28px 22px;padding:18px 28px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#ffffffe0,#f9fdffd1),linear-gradient(90deg,#0f766e14,#2563eb0f,#7c3aed0d);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 10px 28px #11182709}.workspace-header:after{content:"";position:absolute;inset:auto 28px -1px;height:1px;background:var(--accent-gradient);opacity:.45}.workspace-header h2,.tool-band h3,.panel h3{margin:0}.workspace-header h2{font-size:1.7rem;line-height:1.15;letter-spacing:0;background:linear-gradient(135deg,var(--ink) 0%,color-mix(in srgb,var(--accent-2) 35%,var(--ink)) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.header-title-stack{display:flex;align-items:center;flex-wrap:nowrap;gap:16px;min-width:0}.company-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}.company-heading small{color:var(--muted);font-size:1rem;font-weight:700}.quote-pill{display:inline-flex;align-items:center;min-height:36px;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--line));border-radius:999px;background:linear-gradient(135deg,#0f766e1c,#2563eb14);color:var(--accent);font-size:1.12rem;font-weight:800;padding:4px 12px}.quote-pill.muted-quote{color:var(--muted);border-color:var(--line);font-weight:700}.status-pill,.freshness{display:inline-flex;align-items:center;min-height:28px;border:1px solid var(--line);border-radius:999px;color:var(--muted);padding:3px 10px}.freshness.fresh{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 44%,var(--line));background:color-mix(in srgb,var(--accent) 8%,#ffffff)}.tool-band{display:flex;align-items:end;justify-content:space-between;gap:18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0}.tool-band p,.muted{color:var(--muted);margin:6px 0 0}.ticker-form{display:grid;grid-template-columns:minmax(150px,220px) 44px;align-items:end;gap:10px}.header-search{grid-template-columns:132px 42px;flex:0 0 auto}.header-search input{min-height:42px;background:#fff;box-shadow:0 8px 24px #1118270b}.panel{position:relative;min-width:0;background:var(--panel-gradient);border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 34px #1118270b,inset 0 1px #ffffffb8;padding:16px}.panel:before{content:"";position:absolute;inset:0 12px auto;height:2px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(6,182,212,.55),rgba(124,58,237,.35),transparent);opacity:.72}.panel:hover{border-color:var(--line-strong);box-shadow:0 18px 42px #11182711,inset 0 1px #ffffffb8}.compact-panel{padding:13px 16px}.company-action-row{display:grid;grid-template-columns:minmax(240px,360px) auto;align-items:stretch;justify-content:space-between;gap:14px}.compact-panel strong{color:var(--accent);font-size:1rem}.opportunity-score-card{display:grid;align-content:space-between;gap:10px}.opportunity-score-card .panel-title>strong{color:var(--accent);font-size:1.2rem}.opportunity-score-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.opportunity-score-metrics span{display:grid;gap:2px;min-width:0;border:1px solid var(--line);border-radius:8px;background:#ffffff9e;padding:7px}.opportunity-score-metrics small{color:var(--muted);font-size:.62rem;font-weight:900;text-transform:uppercase}.opportunity-score-metrics b{color:var(--ink);font-size:.84rem}.score-note{color:var(--muted);font-size:.72rem;font-weight:700;line-height:1.35;margin:0}.detail-stack{display:grid;gap:14px;min-width:0}.dashboard-stack{display:grid;gap:12px}.dashboard-status-panel{display:inline-flex;align-items:center;flex:0 0 auto;justify-content:flex-start;gap:8px;border:1px solid var(--line);border-radius:999px;background:linear-gradient(180deg,#fffffff5,#f8fbfff0),var(--surface-grid);box-shadow:0 8px 22px #11182709;padding:5px 6px 5px 12px}.dashboard-status-panel div{display:grid;gap:1px;min-width:0}.dashboard-status-panel span{color:var(--muted);font-size:.64rem;font-weight:900}.dashboard-status-panel strong{color:var(--ink);font-size:.78rem;white-space:nowrap}.dashboard-status-panel time{font-variant-numeric:tabular-nums}.dashboard-refresh-action{width:auto;min-height:32px;border-radius:999px;padding:0 10px}.methodology-stack{display:grid;gap:14px}.methodology-hero p,.methodology-card p,.methodology-card small{color:var(--muted);line-height:1.5}.methodology-hero p{max-width:860px;margin:10px 0 0}.methodology-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.methodology-card{display:grid;align-content:start;gap:10px}.methodology-card ul{display:grid;gap:8px;margin:0;padding-left:18px}.methodology-card li{color:var(--ink);font-weight:700;line-height:1.35}.methodology-takeaway{border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--accent) 7%,#ffffff);padding:9px 10px}.methodology-takeaway p{margin:0 0 7px}.methodology-takeaway ul{gap:5px;padding-left:17px}.methodology-takeaway li{color:var(--muted);font-size:.78rem}.methodology-range-list{display:grid;gap:6px}.methodology-range-list span{display:grid;grid-template-columns:56px minmax(0,1fr);gap:8px;align-items:start;border:1px solid var(--line);border-radius:8px;background:#ffffff9e;padding:8px}.methodology-range-list b{color:var(--accent);font-size:.72rem}.methodology-range-list em{color:var(--muted);font-size:.74rem;font-style:normal;font-weight:700;line-height:1.35}.methodology-source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.methodology-source-grid span{display:grid;gap:6px;min-width:0;border:1px solid var(--line);border-radius:8px;background:#ffffffad;padding:10px}.methodology-source-grid code{white-space:normal;word-break:break-word}.dashboard-overview-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.dashboard-stat-card{min-width:0;display:grid;gap:5px;border:1px solid var(--line);border-radius:8px;position:relative;overflow:hidden;background:linear-gradient(180deg,#fffffffa,#f8fbff),repeating-linear-gradient(135deg,rgba(37,99,235,.035) 0 1px,transparent 1px 10px);color:var(--ink);box-shadow:0 10px 28px #1118270a;padding:11px;text-align:left}.dashboard-stat-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--accent-gradient);opacity:.88}.dashboard-stat-card:disabled{cursor:default}.dashboard-stat-card:not(:disabled):hover{border-color:color-mix(in srgb,var(--accent) 42%,var(--line));background:linear-gradient(180deg,#fff,#f1f8ff);transform:translateY(-1px)}.dashboard-stat-card span,.dashboard-stat-card small{color:var(--muted);font-size:.7rem;font-weight:900;text-transform:uppercase}.dashboard-stat-card strong{color:color-mix(in srgb,var(--accent-2) 24%,var(--ink));font-size:1.16rem;line-height:1.1}.watchlist-heatmap-shell{display:grid;gap:10px;margin-top:12px}.heatmap-score-filters{display:flex;flex-wrap:wrap;gap:7px}.heatmap-score-filters button{display:inline-flex;align-items:center;gap:7px;min-height:34px;border:1px solid var(--line);border-radius:999px;background:#ffffffb8;color:var(--muted);font-weight:850;padding:0 10px;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.heatmap-score-filters button:hover,.heatmap-score-filters button.active{border-color:color-mix(in srgb,var(--accent-2) 34%,var(--line));background:#fff;color:var(--ink);box-shadow:0 8px 20px #2563eb0f}.heatmap-score-filters span{font-size:.76rem}.heatmap-score-filters strong{display:inline-grid;min-width:20px;height:20px;place-items:center;border-radius:999px;background:color-mix(in srgb,var(--accent-2) 11%,var(--surface-2));color:var(--accent-2);font-size:.72rem;line-height:1}.heatmap-score-note{margin:-2px 0 0;color:var(--muted);font-size:.78rem;font-weight:760}.watchlist-heatmap{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,152px));gap:8px;justify-content:start}.heatmap-tile{position:relative;min-height:108px;display:grid;grid-template-columns:1fr auto;align-content:space-between;gap:5px 8px;border:1px solid var(--line);border-radius:8px;color:var(--ink);padding:10px;text-align:left;box-shadow:none;overflow:hidden}.heatmap-tile:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--line-strong)}.heatmap-tile:hover{transform:translateY(-1px);box-shadow:0 10px 24px #1118270f}.heatmap-tile strong,.heatmap-tile span{font-size:.95rem;line-height:1}.heatmap-tile small{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:.72rem;font-weight:800}.heatmap-tile small:first-of-type{margin-top:4px}.heatmap-tile small b,.heatmap-tile small em{font-style:normal}.heatmap-tile small b{color:color-mix(in srgb,var(--muted) 82%,var(--ink))}.heatmap-tile small em{color:var(--ink);font-weight:900}.heatmap-tile.strong{background:#ecfdf5;border-color:color-mix(in srgb,var(--accent) 42%,var(--line))}.heatmap-tile.strong:before{background:var(--accent)}.heatmap-tile.watch{background:#fffbeb;border-color:color-mix(in srgb,var(--warm) 42%,var(--line))}.heatmap-tile.watch:before{background:var(--warm)}.heatmap-tile.weak{background:#fff1f2;border-color:color-mix(in srgb,var(--rose) 28%,var(--line))}.heatmap-tile.weak:before{background:var(--rose)}.heatmap-tile.neutral{background:#f8fafc}.heatmap-tile span{color:color-mix(in srgb,var(--accent-2) 28%,var(--ink));font-weight:950}.heatmap-empty{display:grid;min-height:86px;place-items:center;border:1px dashed var(--line);border-radius:8px;background:#ffffff8f}.dashboard-main-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);align-items:start;gap:14px}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1.48fr) minmax(300px,.82fr);align-items:start;gap:12px}.dashboard-column{display:grid;align-content:start;gap:12px;min-width:0}.dashboard-table-panel{min-width:0}.valuation-map-panel{display:grid;gap:8px;padding:12px}.valuation-map-panel .panel-title{padding:2px 2px 0}.dashboard-table-wrap{margin-top:10px;overflow-x:auto;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:inset 0 1px #ffffffad}.dashboard-table{width:100%;border-collapse:collapse;font-size:.84rem}.dashboard-table th,.dashboard-table td{border-bottom:1px solid var(--line);padding:8px 9px;text-align:left;white-space:nowrap}.dashboard-table th{background:linear-gradient(180deg,#f8fbff 0%,var(--row) 100%);color:var(--muted);font-size:.7rem;font-weight:900;text-transform:uppercase}.dashboard-table tbody tr:hover{background:color-mix(in srgb,var(--surface-2) 58%,#ffffff)}.table-link,.rank-list button,.mover-list button,.countdown-list button{border:0;background:transparent;color:var(--accent);font:inherit;font-weight:800;padding:0;text-align:left}.alert-list,.rank-list,.mover-list,.countdown-list{display:grid;gap:7px;margin:10px 0 0;padding:0;list-style:none}.alert-list li,.rank-list button,.mover-list button,.countdown-list button{width:100%;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;border:1px solid var(--line);border-radius:8px;background:var(--row);color:var(--ink);padding:8px 9px}.rank-list button:hover,.mover-list button:hover,.countdown-list button:hover,.signal-list button:hover{border-color:color-mix(in srgb,var(--accent) 30%,var(--line));background:linear-gradient(135deg,#fff,#f4fbff);box-shadow:0 8px 22px #1118270d}.alert-list span,.countdown-list time{color:var(--muted);font-size:.78rem;font-weight:700}.rank-list button,.mover-list button{grid-template-columns:1fr auto}.countdown-list button{grid-template-columns:auto auto 1fr}.signal-list li{border:0;background:transparent;padding:0}.signal-list button{width:100%;display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 10px;border:1px solid var(--line);border-radius:8px;background:var(--row);color:var(--ink);padding:8px 9px;text-align:left}.signal-list small,.signal-list span{color:var(--muted);font-size:.76rem;font-weight:800}.signal-list small{grid-column:1 / -1}.positive{color:#059669}.negative{color:var(--rose)}.valuation-map-card{position:relative;display:grid;min-height:0}.large-valuation-map-card{height:500px;min-height:0}.valuation-map{display:block;width:100%;min-height:380px;border:1px solid var(--line);border-radius:8px;background:var(--surface-grid),linear-gradient(180deg,#ffffff 0%,var(--row) 100%);background-size:38px 38px,38px 38px,auto}.large-valuation-map-card .valuation-map{height:500px;min-height:0}.valuation-plot{fill:#ffffffb8;stroke:var(--line);stroke-width:1}.valuation-zero-line{stroke:color-mix(in srgb,var(--accent-2) 44%,var(--line));stroke-width:1.6}.valuation-quadrant{fill:color-mix(in srgb,var(--muted) 70%,transparent);font-size:.62rem;font-weight:900;text-transform:uppercase}.valuation-dot{fill:var(--accent-2);stroke:var(--surface);stroke-width:2;cursor:pointer;filter:drop-shadow(0 4px 8px rgba(37,99,235,.2))}.valuation-dot-label{fill:var(--ink);font-size:.68rem;font-weight:900;paint-order:stroke;stroke:var(--surface);stroke-linejoin:round;stroke-width:4px}.dashboard-skeleton{display:grid;gap:8px;margin-top:14px}.dashboard-skeleton span{height:34px;border-radius:8px;background:linear-gradient(90deg,var(--row),var(--surface-2),var(--row));background-size:200% 100%;animation:shimmer 1.1s linear infinite}.panel.wide{min-height:320px}.ratio-panel,.fair-value-panel{min-height:0;padding:16px}.analysis-panel{position:relative;display:grid;align-content:start;gap:12px;overflow:hidden;background:linear-gradient(180deg,#fffffff5,#f8fbfff0),var(--surface-grid)}.analysis-panel:before{height:4px;background:linear-gradient(90deg,var(--accent-2),var(--electric),var(--warm))}.panel-title{display:flex;align-items:center;gap:9px}.panel-title h3{font-size:1rem;letter-spacing:0}.panel-title.split{justify-content:space-between}.panel-title.split span{display:inline-flex;align-items:center;gap:9px}.tracked-header{display:grid;gap:8px}.tracked-companies{min-height:0;display:flex;flex:1;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#fff,#fbfefd),linear-gradient(135deg,rgba(15,118,110,.1),transparent 34%),repeating-linear-gradient(135deg,rgba(37,99,235,.035) 0 1px,transparent 1px 12px);box-shadow:0 12px 28px #1118270b;padding:12px}.tracked-companies h3{font-size:1em}.tracked-filter{display:grid}.tracked-filter input{min-height:38px;background:#fff}.tracked-filter input::placeholder{font-size:.86rem}.company-list-wrap{flex:1;min-height:0;overflow-y:auto;padding-right:4px}.company-list{list-style:none;display:grid;gap:6px;margin:10px 0 0;padding:0}.company-list li{border-top:0;padding-top:0}.company-button{display:flex;align-items:center;width:100%;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink);padding:9px 10px;text-align:left}.company-button strong{font-size:.96rem;letter-spacing:.01em}.company-button:before{content:"";width:7px;height:7px;margin-right:8px;border-radius:999px;background:color-mix(in srgb,var(--line-strong) 80%,var(--muted))}.company-button:hover,.company-button.active{background:linear-gradient(135deg,#0f766e1a,#2563eb0f);border-color:color-mix(in srgb,var(--accent) 18%,var(--line))}.company-button.active{color:var(--accent)}.company-button.active:before{background:var(--accent-gradient);box-shadow:0 0 0 4px #0f766e1f}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.metric{min-height:74px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--line);border-radius:8px;padding:12px;background:linear-gradient(180deg,#fff,#f8fbff),repeating-linear-gradient(135deg,rgba(6,182,212,.026) 0 1px,transparent 1px 12px);box-shadow:inset 0 1px #ffffffb3}.metric span{color:var(--muted);font-size:.74rem;font-weight:850;text-transform:uppercase}.metric strong{color:color-mix(in srgb,var(--accent-2) 20%,var(--ink));font-size:1.24rem;line-height:1.15;overflow-wrap:anywhere}.ratio-panel .metric-grid,.fair-value-panel .metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:0}.ratio-panel .metric,.fair-value-panel .metric{min-height:62px;padding:9px 10px}.ratio-panel .metric span,.fair-value-panel .metric span{font-size:.72rem;font-weight:800}.ratio-panel .metric strong,.fair-value-panel .metric strong{font-size:1.02rem}.ratio-brief,.fair-value-brief{display:grid;gap:10px}.ratio-brief{grid-template-columns:minmax(0,1.15fr) repeat(2,minmax(0,1fr))}.brief-metric,.fair-value-hero,.fair-value-delta,.assumption-strip div{min-width:0;border:1px solid color-mix(in srgb,var(--line) 86%,var(--accent-2));border-radius:10px;background:linear-gradient(180deg,#fff,#f8fbfff5),repeating-linear-gradient(135deg,rgba(37,99,235,.032) 0 1px,transparent 1px 11px);box-shadow:inset 0 1px #ffffffdb,0 10px 22px #0f172a0b}.brief-metric{display:grid;gap:5px;padding:13px 14px}.brief-metric.primary{background:linear-gradient(135deg,color-mix(in srgb,var(--accent-2) 13%,#ffffff),#fff 52%,color-mix(in srgb,var(--electric) 10%,#ffffff)),var(--surface-grid)}.brief-metric span,.fair-value-hero span,.fair-value-delta span,.assumption-strip span{color:var(--muted);font-size:.7rem;font-weight:900;text-transform:uppercase}.brief-metric strong,.fair-value-hero strong,.fair-value-delta strong{color:var(--ink);font-size:clamp(1.42rem,2.3vw,2.15rem);line-height:1}.brief-metric em,.fair-value-hero em,.fair-value-delta em{color:var(--muted);font-size:.78rem;font-style:normal;font-weight:760}.fair-value-brief{grid-template-columns:minmax(0,1.2fr) minmax(190px,.8fr)}.fair-value-hero,.fair-value-delta{display:grid;gap:7px;padding:16px}.fair-value-hero{background:linear-gradient(135deg,color-mix(in srgb,var(--accent-2) 14%,#ffffff),#fff 58%,color-mix(in srgb,var(--warm) 11%,#ffffff)),var(--surface-grid)}.fair-value-delta{border-color:color-mix(in srgb,var(--accent) 28%,var(--line))}.fair-value-delta.positive strong{color:var(--accent)}.fair-value-delta.negative strong{color:var(--danger)}.fair-value-delta.neutral strong{color:var(--ink)}.assumption-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.assumption-strip div{display:grid;gap:5px;padding:10px 11px}.assumption-strip strong{color:var(--ink);font-size:.95rem;line-height:1.15;overflow-wrap:anywhere}.insight-grid{display:grid;gap:12px}.insight-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px}.insight-column{display:grid;align-content:start;gap:12px}.snapshot-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:12px}.snapshot-metric{min-width:0;display:grid;gap:6px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#fff,#f8fbff),repeating-linear-gradient(135deg,rgba(37,99,235,.024) 0 1px,transparent 1px 12px);box-shadow:inset 0 1px #ffffffb3;padding:10px}.snapshot-metric span{color:var(--muted);font-size:.7rem;font-weight:900;text-transform:uppercase}.snapshot-metric strong{color:color-mix(in srgb,var(--accent) 18%,var(--ink));font-size:1rem;line-height:1.15}.visual-card{min-height:0;display:flex;flex-direction:column;gap:10px}.price-action-tools{display:inline-flex;align-items:center;gap:8px}.compact-copy{margin:0;font-size:.82rem}.mini-chart-canvas{position:relative;min-height:166px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface-grid),linear-gradient(180deg,#ffffff 0%,var(--row) 100%);background-size:36px 36px,36px 36px,auto}.mini-chart{width:100%;min-height:166px;display:block}.large-chart-canvas,.large-chart-canvas .mini-chart{min-height:430px}.fair-value-line{stroke:var(--warm);stroke-width:2.5;stroke-dasharray:7 6}.price-close-line{stroke-width:4;filter:drop-shadow(0 1px 0 color-mix(in srgb,var(--surface) 80%,transparent)) drop-shadow(0 5px 10px rgba(37,99,235,.16))}.start-label{text-anchor:start}.end-label{text-anchor:end}.visual-legend{display:flex;flex-wrap:wrap;gap:7px 12px}.visual-legend span{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.74rem;font-weight:900}.visual-legend i{width:10px;height:10px;border-radius:999px}.range-tabs{display:flex;flex-wrap:wrap;gap:6px}.range-tabs button{border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:.76rem;font-weight:900;padding:5px 10px}.range-tabs button:hover{border-color:var(--line-strong);color:var(--ink)}.range-tabs button.active{border-color:color-mix(in srgb,var(--accent-2) 42%,var(--line));background:linear-gradient(135deg,#0f766e1f,#2563eb1a);color:color-mix(in srgb,var(--accent-2) 44%,var(--ink));box-shadow:inset 0 1px #ffffffa3}.modal-range-tabs{margin-top:-4px}.price-action-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.moving-average-line{stroke-width:2;opacity:.9}.moving-average-line.secondary{stroke-dasharray:5 5}.volume-bar{fill:color-mix(in srgb,var(--muted) 32%,transparent)}.volume-swatch{background:color-mix(in srgb,var(--muted) 42%,var(--surface))}.signal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.signal-metric{min-width:0;display:grid;gap:5px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#fff,#f8fbff);padding:9px}.signal-metric span{color:var(--muted);font-size:.7rem;font-weight:900}.signal-metric strong{font-size:.98rem;line-height:1.1}.signal-metric.strong{border-color:color-mix(in srgb,var(--accent) 36%,var(--line));background:linear-gradient(135deg,#0f766e21,#22c55e0f)}.signal-metric.weak{border-color:color-mix(in srgb,var(--rose) 34%,var(--line));background:linear-gradient(135deg,#e11d481a,#f59e0b0d)}.score-list{display:grid;gap:10px;align-content:start;margin-top:4px}.score-row{display:grid;gap:7px}.score-row div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.score-row span{color:var(--muted);font-size:.78rem;font-weight:800}.score-row strong{color:var(--ink)}.score-track{height:11px;overflow:hidden;border-radius:999px;background:var(--row);border:1px solid var(--line)}.score-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--warm),var(--accent))}.score-track.inverse i{background:linear-gradient(90deg,var(--accent),var(--warm))}.growth-chart{display:grid;align-content:start;gap:10px}.growth-row{display:grid;grid-template-columns:54px minmax(0,1fr);gap:8px 12px;align-items:center}.growth-row>strong{grid-row:span 2;color:var(--ink);font-size:.9rem}.growth-metric{display:grid;grid-template-columns:64px minmax(0,1fr) 58px;align-items:center;gap:8px}.growth-metric span,.growth-metric b{color:var(--muted);font-size:.78rem;font-weight:800}.growth-metric b{color:var(--ink);text-align:right}.growth-track{position:relative;height:12px;overflow:hidden;border:1px solid var(--line);border-radius:999px;background:var(--row)}.growth-track:after{content:"";position:absolute;top:-2px;bottom:-2px;left:50%;width:1px;background:color-mix(in srgb,var(--muted) 55%,transparent)}.growth-track i{position:absolute;top:0;bottom:0;left:var(--bar-left);width:var(--bar-width);border-radius:inherit;background:var(--bar-color)}.margin-stack{display:grid;gap:10px}.margin-row{display:grid;grid-template-columns:54px minmax(0,1fr);gap:6px 10px;align-items:center}.margin-row>strong{grid-row:span 3;color:var(--ink);font-size:.9rem}.margin-pill{display:grid;grid-template-columns:72px minmax(0,1fr) 54px;align-items:center;gap:8px}.margin-pill span,.margin-pill b{color:var(--muted);font-size:.76rem;font-weight:800}.margin-pill b{color:var(--ink);text-align:right}.margin-pill div{height:10px;overflow:hidden;border:1px solid var(--line);border-radius:999px;background:var(--row)}.margin-pill i{display:block;height:100%;border-radius:inherit;background:var(--bar-color)}.yield-grid{display:grid;gap:12px;align-content:start}.yield-gauge{display:grid;gap:8px}.yield-gauge span{color:var(--muted);font-size:.78rem;font-weight:800}.yield-gauge strong{color:var(--ink);font-size:1.32rem;line-height:1}.yield-gauge div{height:14px;overflow:hidden;border:1px solid var(--line);border-radius:999px;background:var(--row)}.yield-gauge i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent-2),var(--accent))}.radar-layout{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(0,1.2fr);align-items:center;gap:10px}.radar-chart{width:100%;max-width:154px;min-height:120px;justify-self:center}.radar-grid{fill:none;stroke:var(--line);stroke-width:1.5}.radar-grid.inner{stroke-dasharray:5 5}.radar-shape{fill:color-mix(in srgb,var(--accent-2) 20%,transparent);stroke:var(--accent-2);stroke-width:3}.radar-label{fill:var(--muted);font-size:.58rem;font-weight:800;text-anchor:middle;text-transform:uppercase}.radar-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.radar-metrics div{min-width:0;display:grid;gap:2px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#ffffff 0%,var(--row) 100%);padding:6px 7px}.radar-metrics span{color:var(--muted);font-size:.68rem;font-weight:800}.radar-metrics strong{color:var(--ink);font-size:.9rem;line-height:1.1}.quality-timeline{display:grid;gap:8px}.quality-period{display:grid;grid-template-columns:54px repeat(4,minmax(0,1fr));align-items:center;gap:7px}.quality-period strong{color:var(--ink);font-size:.86rem}.quality-dot{min-width:0;border:1px solid var(--line);border-radius:999px;padding:4px 6px;color:var(--muted);font-size:.68rem;font-weight:900;text-align:center}.quality-dot.good{border-color:color-mix(in srgb,var(--accent) 50%,var(--line));background:color-mix(in srgb,var(--accent) 14%,transparent);color:#14604a}.quality-dot.ok{border-color:color-mix(in srgb,var(--warm) 55%,var(--line));background:color-mix(in srgb,var(--warm) 17%,transparent);color:#7a5200}.quality-dot.weak{border-color:color-mix(in srgb,var(--rose) 42%,var(--line));background:color-mix(in srgb,var(--rose) 11%,transparent);color:#8b3200}.balance-visual{display:grid;gap:12px;margin-top:4px}.balance-bar{height:28px;display:flex;overflow:hidden;border:1px solid var(--line);border-radius:999px;background:var(--row)}.balance-bar span{display:block;height:100%}.balance-bar .liabilities{background:var(--warm)}.balance-bar .equity{background:var(--accent)}.balance-legend{gap:8px 14px}.balance-legend .asset-swatch{background:var(--row);border:1px solid var(--line)}.balance-legend .liability-swatch{background:var(--warm)}.balance-legend .equity-swatch{background:var(--accent)}.balance-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.waterfall-chart{display:grid;gap:10px;align-content:start}.waterfall-row{display:grid;grid-template-columns:76px minmax(0,1fr) 86px;align-items:center;gap:10px}.waterfall-row span,.waterfall-row b{color:var(--muted);font-size:.78rem;font-weight:800}.waterfall-row b{color:var(--ink);text-align:right}.waterfall-row div{height:17px;overflow:hidden;border:1px solid var(--line);border-radius:999px;background:var(--row)}.waterfall-row i{display:block;height:100%;border-radius:inherit}.waterfall-row .asset{background:var(--accent-2)}.waterfall-row .liability{background:var(--warm)}.waterfall-row .equity{background:var(--accent)}.statements-panel{min-height:0}.statement-body{min-height:314px;display:flex;flex-direction:column}.earnings-loading{display:grid;gap:10px;margin-top:16px}.earnings-loading span{height:42px;border-radius:8px;background:linear-gradient(90deg,var(--row),var(--surface-2),var(--row));background-size:200% 100%;animation:shimmer 1.1s linear infinite}.earnings-list{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px;margin:8px 0 0;padding:0}.earnings-months{display:grid;gap:18px;margin-top:16px}.earnings-month{display:grid;gap:8px}.earnings-month h4{margin:0;color:var(--muted);font-size:.74rem;font-weight:900;text-transform:uppercase}.earnings-tile{display:grid;gap:3px;width:100%;min-height:62px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#ffffff 0%,var(--row) 100%);color:var(--ink);padding:9px 10px;text-align:left}.earnings-tile:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:var(--surface-2);box-shadow:0 8px 22px #1118270f;transform:translateY(-1px)}.earnings-tile strong{font-size:.9rem}.earnings-tile time{color:var(--accent);font-size:.78rem;font-weight:700;white-space:nowrap}.danger-action{align-self:stretch;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;border:1px solid color-mix(in srgb,#b42318 42%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--danger) 4%,var(--surface));color:#9f1d15;font-weight:800;padding:0 16px}.danger-action:hover:not(:disabled){background:#fff4f2;border-color:color-mix(in srgb,var(--danger) 62%,var(--line));box-shadow:0 10px 24px #b423181a}.danger-action:disabled{cursor:not-allowed;opacity:.65}.remove-track-action{align-self:center;min-height:44px;border-radius:999px;border-color:color-mix(in srgb,var(--danger) 22%,var(--line));background:linear-gradient(180deg,#fffffff5,color-mix(in srgb,var(--danger) 5%,#ffffff)),repeating-linear-gradient(135deg,rgba(225,29,72,.035) 0 1px,transparent 1px 10px);color:color-mix(in srgb,var(--danger) 78%,var(--ink));box-shadow:0 10px 26px #e11d4812,inset 0 1px #ffffffe6;padding:0 15px 0 13px;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease}.remove-track-action svg{flex:0 0 auto;color:var(--danger)}.remove-track-action:hover:not(:disabled){transform:translateY(-1px);background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--danger) 8%,#ffffff)),repeating-linear-gradient(135deg,rgba(225,29,72,.045) 0 1px,transparent 1px 10px);border-color:color-mix(in srgb,var(--danger) 42%,var(--line));box-shadow:0 14px 30px #e11d481c,inset 0 1px #fffffff0}.statements-header{display:grid;gap:14px}.statement-controls{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.statement-type-tools{display:inline-flex;align-items:center;gap:8px}.segmented-control{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--row) 80%,var(--surface-2))}.segmented-control button{min-height:32px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-weight:850;padding:5px 10px}.segmented-control button.active{background:var(--surface);color:var(--ink);box-shadow:0 6px 18px #11182714}.graph-action{display:inline-flex;align-items:center;justify-content:center;width:42px;min-height:42px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#fff,#f8fbff);color:var(--accent)}.graph-action:hover{background:var(--surface-2);border-color:color-mix(in srgb,var(--accent) 34%,var(--line));transform:translateY(-1px)}.statement-table-wrap{margin-top:16px;overflow-x:auto;border:1px solid var(--line);border-radius:8px;flex:1}.statement-table{width:100%;min-width:720px;border-collapse:collapse;font-size:.88rem}.statement-table th,.statement-table td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:right;white-space:nowrap}.statement-table th{background:var(--row);color:var(--muted);font-size:.7rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.statement-table td:first-child,.statement-table th:first-child{position:sticky;left:0;z-index:1;min-width:190px;background:var(--surface);text-align:left}.statement-table th:first-child{background:var(--row)}.statement-table tbody tr:hover td{background:color-mix(in srgb,var(--surface-2) 55%,var(--surface))}.statement-table tbody tr:last-child td{border-bottom:0}.modal-backdrop{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:24px;background:#121a1780;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.statement-modal{width:min(1120px,100%);max-height:min(760px,calc(100vh - 48px));display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:16px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#fffffffa,#f8fcfffc),repeating-linear-gradient(135deg,rgba(37,99,235,.025) 0 1px,transparent 1px 12px);box-shadow:0 30px 90px #11182742;padding:18px}.price-action-modal{width:min(1120px,100%);max-height:min(760px,calc(100vh - 48px));display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:14px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#fffffffa,#f8fcfffc),repeating-linear-gradient(135deg,rgba(37,99,235,.025) 0 1px,transparent 1px 12px);box-shadow:0 30px 90px #11182742;padding:18px}.valuation-map-modal{width:min(1120px,100%);max-height:min(760px,calc(100vh - 48px));display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#fffffffa,#f8fcfffc),repeating-linear-gradient(135deg,rgba(37,99,235,.025) 0 1px,transparent 1px 12px);box-shadow:0 30px 90px #11182742;padding:18px}.confirm-modal{width:min(420px,100%);display:grid;gap:18px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#fffffffa,#f8fcfffc),repeating-linear-gradient(135deg,rgba(37,99,235,.025) 0 1px,transparent 1px 12px);box-shadow:0 30px 90px #11182742;padding:18px}.confirm-modal h3,.confirm-modal p{margin:0}.confirm-modal p{color:var(--muted);margin-top:6px}.modal-header,.modal-controls{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-action-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modal-action-row .secondary-action,.modal-action-row .danger-action{width:100%;min-height:44px}.quiet-icon-button{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted)}.quiet-icon-button:disabled{cursor:not-allowed;opacity:.55}.modal-controls{flex-wrap:wrap}.chart-layout{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:14px}.statement-chart-canvas{position:relative;min-height:360px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--row)}.statement-chart{display:block;width:100%;height:100%;min-height:360px}.chart-grid{stroke:var(--line);stroke-width:1}.chart-axis{stroke:color-mix(in srgb,var(--muted) 65%,var(--line));stroke-width:1.5}.chart-label{fill:var(--muted);font-size:.78rem;font-weight:700;text-anchor:middle}.chart-label.start-label{text-anchor:start}.chart-label.end-label{text-anchor:end}.chart-point{pointer-events:none;stroke:var(--surface);stroke-width:2}.chart-hit-point{fill:transparent;outline:none;cursor:crosshair}.chart-hit-point:focus+.chart-point{stroke:var(--ink);stroke-width:3}.chart-period-hit{fill:transparent;outline:none;cursor:crosshair}.chart-tooltip{position:absolute;z-index:2;display:grid;gap:2px;min-width:140px;max-width:calc(100% - 16px);border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 12px 32px var(--shadow);padding:8px 10px;pointer-events:none}.chart-tooltip ul{display:grid;gap:5px;margin:4px 0 0;padding:0;list-style:none}.chart-tooltip li{display:grid;grid-template-columns:10px minmax(90px,1fr) auto;align-items:center;gap:7px}.chart-tooltip i{width:10px;height:10px;border-radius:999px}.chart-tooltip strong,.chart-tooltip b{color:var(--ink)}.chart-tooltip span{color:var(--muted);font-size:.82rem}.mini-tooltip{max-width:min(280px,calc(100% - 16px))}.chart-legend{display:flex;flex-wrap:wrap;gap:8px 14px}.chart-legend span{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.84rem;font-weight:700}.chart-legend i{width:10px;height:10px;border-radius:999px}.chart-empty{min-height:360px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--row)}.status-panel{display:flex;align-items:center;gap:10px}.status-panel p{margin:0}.spin{animation:spin .8s linear infinite}.method-toggle{margin-top:18px;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-size:.92rem;cursor:pointer;transition:background .15s,border-color .15s}.method-toggle:hover{background:var(--surface-2)}.method-toggle:focus-visible{outline:2px solid #4a8b6a;outline-offset:2px}.method-ladder{margin-top:14px;overflow-x:auto}.method-ladder table{width:100%;margin-top:12px;border-collapse:collapse;font-size:.85rem}.method-ladder th,.method-ladder td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}.method-ladder th{color:var(--muted);font-weight:500;text-transform:lowercase;font-size:.78rem}.method-ladder td.muted,.method-ladder .small{font-size:.78rem}.method-ladder tbody tr:hover{background:var(--row)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{background-position:-200% 0}}@media(max-width:860px){.side-rail{position:static;width:auto;height:auto;max-height:none;border-right:0;border-bottom:1px solid var(--line);overflow:visible}.workspace{margin-left:0}.metric-grid,.dashboard-overview-grid,.dashboard-main-grid,.dashboard-columns,.methodology-grid,.methodology-source-grid,.ratio-brief,.fair-value-brief,.assumption-strip,.ratio-panel .metric-grid,.fair-value-panel .metric-grid,.radar-layout,.radar-metrics{grid-template-columns:1fr}.dashboard-status-panel{align-items:center;align-self:flex-start;flex-direction:row}.header-title-stack{flex-wrap:wrap;gap:10px}.insight-columns,.snapshot-grid,.price-action-stats,.signal-grid,.balance-values,.company-action-row{grid-template-columns:1fr}.remove-track-action{width:100%}.workspace-header{align-items:stretch;flex-direction:column}.ticker-form{grid-template-columns:minmax(0,1fr) 44px}.header-search{grid-template-columns:minmax(120px,1fr) 42px;width:100%}.workspace-header h2{font-size:1.55rem}}
