:root{color-scheme:light;--bg: #f7f8f5;--surface: #ffffff;--surface-2: #eef4f1;--ink: #17201c;--muted: #68736d;--line: #dbe2dd;--accent: #216b58;--accent-2: #2f6fb0;--danger: #c1423d;--shadow: rgba(26, 38, 32, .1);--row: #fbfcfa}*{box-sizing:border-box}html,body,#root{min-height:100vh}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}button{cursor:pointer}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-panel{width:min(100%,420px);background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 24px 80px var(--shadow);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:1rem}.brand-lockup.compact p{font-size:.82rem}.brand-mark{width:42px;height:42px;object-fit:cover;border:1px solid color-mix(in srgb,var(--accent) 55%,var(--line));border-radius:8px;background:#edf7f3}.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:6px;padding:10px 12px}input:focus{border-color:transparent;outline:2px solid var(--accent)}.primary-action,.secondary-action,.icon-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border-radius:6px;border:1px solid transparent;font-weight:700}.primary-action{width:100%;background:var(--accent);color:#fff}.primary-action:disabled{cursor:wait;opacity:.72}.secondary-action{width:100%;background:transparent;color:var(--muted);border-color:var(--line)}.icon-action{width:44px;background:var(--accent-2);color:#fff}.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:6px;margin:18px 0 0;padding:10px 12px}.alert.subtle{margin:12px 0 0}.app-shell{min-height:100vh}.side-rail{position:fixed;inset:0 auto 0 0;width:248px;display:flex;flex-direction:column;gap:22px;height:100vh;padding:24px;border-right:1px solid var(--line);background:#fff;overflow:hidden}nav{display:grid;gap:8px}.nav-item{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;color:var(--muted);text-decoration:none;border-radius:6px;padding:10px;text-align:left}.nav-item.active{background:var(--surface-2);color:var(--ink)}.side-rail .secondary-action{margin-top:auto}.workspace{min-width:0;margin-left:248px;padding:28px}.workspace-header{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-28px -28px 24px;padding:28px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 92%,#ffffff);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.workspace-header h2,.tool-band h3,.panel h3{margin:0}.workspace-header h2{font-size:2rem;line-height:1.15}.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) 35%,var(--line));border-radius:999px;background:var(--surface);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-2) 50%,var(--line))}.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:minmax(220px,320px) 44px}.panel{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:18px}.compact-panel{padding:14px 18px}.compact-panel strong{color:var(--accent);font-size:1rem}.detail-stack{display:grid;gap:18px;min-width:0}.dashboard-stack{display:grid;gap:18px}.panel.wide{min-height:320px}.panel-title{display:flex;align-items:center;gap:9px}.panel-title.split{justify-content:space-between}.panel-title.split span{display:inline-flex;align-items:center;gap:9px}.tracked-header{display:grid;gap:4px}.tracked-companies{min-height:0;display:flex;flex:1;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:8px;padding:12px}.tracked-companies h3{font-size:1em}.tracked-filter{display:grid}.tracked-filter input{min-height:38px}.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:10px;margin:12px 0 0;padding:0}.company-list li{border-top:1px solid var(--line);padding-top:10px}.company-button{display:grid;gap:2px;width:100%;border:0;border-radius:6px;background:transparent;color:var(--ink);padding:8px;text-align:left}.company-button:hover,.company-button.active{background:var(--surface-2)}.company-button span{color:var(--muted)}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.metric{min-height:82px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--line);border-radius:6px;padding:12px;background:var(--row)}.metric span{color:var(--muted);font-size:.78rem}.metric strong{font-size:1.35rem;line-height:1.15}.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:6px;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;gap:10px;margin:16px 0 0;padding:0}.earnings-list li{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line);border-radius:6px;background:var(--row);padding:12px}.earnings-list li div{display:grid;gap:2px}.earnings-list span{color:var(--muted)}.earnings-list time{color:var(--accent);font-weight:800;white-space:nowrap}.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:var(--row)}.segmented-control button{min-height:32px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-weight:700;padding:5px 10px}.segmented-control button.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px var(--shadow)}.graph-action{display:inline-flex;align-items:center;justify-content:center;width:42px;min-height:42px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--accent)}.graph-action:hover{background:var(--surface-2)}.statement-table-wrap{margin-top:16px;overflow-x:auto;border:1px solid var(--line);border-radius:6px;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(--surface-2);color:var(--muted);font-size:.72rem;font-weight:800;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(--surface-2)}.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:#17201c75}.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:var(--surface);box-shadow:0 28px 90px #17201c47;padding:18px}.modal-header,.modal-controls{display:flex;align-items:center;justify-content:space-between;gap:12px}.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-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:6px;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}.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:6px;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{grid-template-columns:1fr}.workspace-header{align-items:stretch;flex-direction:column}.ticker-form{grid-template-columns:minmax(0,1fr) 44px}.workspace-header h2{font-size:1.55rem}}
