
:root{--navy:#0f1b2d;--navy2:#162236;--navy3:#1e3050;--teal:#0d9488;--teal2:#14b8a6;--border:#1e3a5f;--border2:#253f61;--text:#e2e8f0;--text2:#94a3b8;--text3:#64748b;--white:#f8fafc;--green:#10b981;--red:#f43f5e;--mono:'JetBrains Mono',monospace;--sans:'Barlow',sans-serif;--cond:'Barlow Condensed',sans-serif;--gap:2rem;}
*{box-sizing:border-box;margin:0;padding:0;}
body{background:var(--navy);color:var(--text);font-family:var(--sans);font-size:14px;line-height:1.5;min-height:100vh;}

/* ── TOPBAR ── */
.topbar{background:var(--navy2);border-bottom:1px solid var(--border);padding:0 2rem;display:flex;align-items:center;gap:2rem;height:56px;position:sticky;top:0;z-index:100;}
.topbar-title{font-family:var(--cond);font-size:18px;font-weight:700;letter-spacing:.05em;color:var(--white);}
.topbar-title span{color:var(--teal2);}
.topbar-badge{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--text3);white-space:nowrap;}

/* ── TAB NAV ── */
.tab-nav{background:var(--navy2);border-bottom:1px solid var(--border);padding:0 2rem;display:flex;gap:0;position:sticky;top:56px;z-index:99;}
.tab-btn{background:none;border:none;border-bottom:2px solid transparent;color:var(--text3);font-family:var(--cond);font-size:14px;font-weight:600;letter-spacing:.06em;padding:10px 20px;cursor:pointer;text-transform:uppercase;transition:color .15s,border-color .15s;}
.tab-btn:hover{color:var(--text2);}
.tab-btn.active{color:var(--teal2);border-bottom-color:var(--teal2);}

/* ── FILTERS (inline in topbar or tab panels) ── */
.filter-group{display:flex;align-items:center;gap:.5rem;}
.filter-label{font-family:var(--cond);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text3);white-space:nowrap;}
select{background:var(--navy3);border:1px solid var(--border2);color:var(--text);font-family:var(--sans);font-size:13px;padding:5px 28px 5px 10px;border-radius:4px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%2364748b'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;cursor:pointer;min-width:140px;}
select:focus{outline:none;border-color:var(--teal);}
select:disabled{opacity:.4;cursor:not-allowed;}

/* ── FILTER BAR (inside tab panels) ── */
.filter-bar{display:flex;align-items:center;gap:1.5rem;background:var(--navy2);border:1px solid var(--border);border-radius:8px;padding:.75rem 1.25rem;margin-bottom:1.5rem;flex-wrap:wrap;}

/* ── MAIN ── */
main{max-width:1200px;margin:0 auto;padding:2rem;}

/* ── EMPTY STATE ── */
.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:55vh;text-align:center;gap:1rem;}
.empty-icon{width:64px;height:64px;border:2px solid var(--border2);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text3);font-size:24px;}
.empty-state h2{font-family:var(--cond);font-size:22px;font-weight:600;color:var(--text2);}
.empty-state p{color:var(--text3);font-size:13px;}

/* ── DETAIL TAB ── */
#worksheet{display:none;}
.filing-header{background:var(--navy2);border:1px solid var(--border);border-radius:8px;padding:1.5rem 2rem;margin-bottom:var(--gap);display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:start;}
.filing-company{font-family:var(--cond);font-size:26px;font-weight:700;color:var(--white);line-height:1.2;margin-bottom:.5rem;}
.filing-meta{display:flex;flex-wrap:wrap;gap:1.5rem;}
.filing-meta-item{display:flex;flex-direction:column;gap:2px;}
.filing-meta-item .lbl{font-family:var(--cond);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text3);}
.filing-meta-item .val{font-family:var(--mono);font-size:13px;color:var(--text2);}
.filing-badge{background:var(--teal);color:var(--white);font-family:var(--cond);font-size:12px;font-weight:600;letter-spacing:.08em;padding:4px 12px;border-radius:20px;white-space:nowrap;align-self:start;}
.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;margin-bottom:var(--gap);}
.kpi-card{background:var(--navy2);border:1px solid var(--border);border-radius:8px;padding:1.25rem 1.5rem;}
.kpi-label{font-family:var(--cond);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text3);margin-bottom:.4rem;}
.kpi-value{font-family:var(--mono);font-size:22px;font-weight:500;color:var(--white);}
.kpi-sub{font-size:11px;color:var(--text3);margin-top:2px;}
.kpi-share{display:inline-flex;align-items:center;gap:5px;margin-top:6px;background:rgba(13,148,136,.12);border:1px solid rgba(13,148,136,.25);border-radius:4px;padding:2px 8px;}
.kpi-share-pct{font-family:var(--mono);font-size:13px;font-weight:500;color:var(--teal2);}
.kpi-share-lbl{font-size:11px;color:var(--text3);}
.ws-section{margin-bottom:var(--gap);}
.ws-section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;}
.ws-section-label{font-family:var(--cond);font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--teal2);}
.ws-section-title{font-family:var(--cond);font-size:16px;font-weight:600;color:var(--white);}
.ws-section-line{flex:1;height:1px;background:var(--border);}
.chart-wrap{background:var(--navy2);border:1px solid var(--border);border-radius:8px;padding:1.5rem;margin-bottom:1rem;overflow:hidden;}
.chart-title{font-family:var(--cond);font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--text2);margin-bottom:.6rem;text-transform:uppercase;}
.chart-note{font-size:11px;color:var(--text3);margin-top:.75rem;font-style:italic;}
.chart-svg-wrap svg{width:100%;display:block;}
.manual-notice{background:rgba(240,165,0,.08);border:1px solid rgba(240,165,0,.25);border-radius:6px;padding:10px 14px;font-size:12px;color:#fbbf24;margin-bottom:1rem;}
.legend{display:flex;gap:1.2rem;margin-bottom:.75rem;flex-wrap:wrap;}
.legend-item{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text3);}
.legend-dot{width:10px;height:10px;border-radius:2px;flex-shrink:0;}
.ws-table{width:100%;border-collapse:collapse;background:var(--navy2);border:1px solid var(--border);border-radius:8px;overflow:hidden;}
.ws-table th{font-family:var(--cond);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text3);background:var(--navy3);padding:8px 14px;text-align:right;border-bottom:1px solid var(--border);white-space:nowrap;}
.ws-table th.left{text-align:left;}
.ws-table td{padding:8px 14px;border-bottom:1px solid rgba(30,58,95,.5);font-size:13px;}
.ws-table td.row-label{color:var(--text2);font-size:12.5px;}
.ws-table td.num{font-family:var(--mono);font-size:12px;text-align:right;}
.ws-table tr:last-child td{border-bottom:none;}
.ws-table tr.total-row td{background:var(--navy3);font-weight:600;border-top:1px solid var(--border);color:var(--white);}
.ws-table tr.total-row td.num{color:var(--teal2);}
.ws-table th.yr1{color:#60a5fa;}.ws-table th.yr2{color:#a78bfa;}
.ws-table td.yr1{color:#93c5fd;font-family:var(--mono);font-size:12px;text-align:right;}
.ws-table td.yr2{color:#c4b5fd;font-family:var(--mono);font-size:12px;text-align:right;}
.ws-table td.trended{color:var(--teal2);font-family:var(--mono);font-size:12px;text-align:right;font-weight:500;}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:var(--gap);}
.adj-table{width:100%;border-collapse:collapse;background:var(--navy2);border:1px solid var(--border);border-radius:8px;overflow:hidden;}
.adj-table td{padding:9px 14px;border-bottom:1px solid rgba(30,58,95,.5);font-size:13px;}
.adj-table tr:last-child td{border-bottom:none;}
.adj-table td:first-child{color:var(--text2);font-size:12.5px;}
.adj-table td:last-child{font-family:var(--mono);font-size:12px;text-align:right;color:var(--text);}
.adj-table tr.result-row td{background:rgba(13,148,136,.08);font-weight:600;border-top:1px solid var(--border);}
.adj-table tr.result-row td:last-child{color:var(--teal2);font-size:14px;}
.waterfall-tbl{background:var(--navy2);border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:var(--gap);}
.wf-row{display:grid;grid-template-columns:1fr 160px 160px;padding:9px 14px;border-bottom:1px solid rgba(30,58,95,.5);align-items:center;}
.wf-row:last-child{border-bottom:none;}
.wf-row.hdr{background:var(--navy3);padding:7px 14px;border-bottom:1px solid var(--border);}
.wf-row.hdr span{font-family:var(--cond);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text3);text-align:right;}
.wf-row.hdr span:first-child{text-align:left;}
.wf-lbl{color:var(--text2);font-size:12.5px;}
.wf-pmpm{font-family:var(--mono);font-size:12px;text-align:right;color:var(--text);}
.wf-tot{font-family:var(--mono);font-size:12px;text-align:right;color:var(--text2);}
.wf-row.final{background:rgba(13,148,136,.1);border-top:2px solid var(--teal);}
.wf-row.final .wf-lbl{font-weight:700;color:var(--white);font-size:13px;}
.wf-row.final .wf-pmpm{color:var(--teal2);font-size:16px;font-weight:500;}
.wf-row.final .wf-tot{color:var(--teal2);font-size:13px;font-weight:500;}
.zero{color:var(--text3)!important;}

/* ── COMPARISON TABLE ── */
.comp-table-wrap{overflow-x:auto;border-radius:8px;border:1px solid var(--border);}
.comp-table{width:100%;border-collapse:collapse;background:var(--navy2);white-space:nowrap;font-size:12px;}
.comp-table thead tr:first-child th{background:var(--navy3);font-family:var(--cond);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text3);padding:6px 12px 4px;border-bottom:none;text-align:right;border-right:1px solid var(--border);}
.comp-table thead tr:first-child th:first-child{text-align:left;}
.comp-table thead tr:last-child th{background:var(--navy3);font-family:var(--cond);font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text3);padding:4px 12px 7px;border-bottom:1px solid var(--border);text-align:right;cursor:pointer;user-select:none;border-right:1px solid rgba(30,58,95,.4);}
.comp-table thead tr:last-child th:first-child{text-align:left;cursor:default;}
.comp-table thead tr:last-child th:hover{color:var(--text2);background:rgba(30,58,95,.6);}
.comp-table thead tr:last-child th.sort-asc::after{content:' ↑';color:var(--teal2);}
.comp-table thead tr:last-child th.sort-desc::after{content:' ↓';color:var(--teal2);}
.comp-table tbody tr{border-bottom:1px solid rgba(30,58,95,.5);}
.comp-table tbody tr:last-child{border-bottom:none;}
.comp-table tbody tr:hover td{background:rgba(30,58,95,.35);}
.comp-table td{padding:7px 12px;border-right:1px solid rgba(30,58,95,.3);}
.comp-table td:last-child{border-right:none;}
.comp-table td.co-name{color:var(--text2);font-size:12px;font-weight:500;min-width:200px;max-width:260px;overflow:hidden;text-overflow:ellipsis;position:sticky;left:0;background:var(--navy2);z-index:2;border-right:1px solid var(--border);}
.comp-table tbody tr:hover td.co-name{background:rgba(20,34,54,.95);}
.comp-table thead th.col-sticky{position:sticky;left:0;z-index:3;background:var(--navy3);border-right:1px solid var(--border);}
.comp-table td.num{font-family:var(--mono);text-align:right;color:var(--text);}
.comp-table td.num.pos{color:var(--green);}
.comp-table td.num.neg{color:var(--red);}
.comp-table td.share-cell{font-family:var(--mono);text-align:right;}
.comp-table td.share-cell .mm-val{color:var(--text);display:block;}
.comp-table td.share-cell .mm-pct{color:var(--teal2);font-size:10px;}
.comp-table tfoot td{background:var(--navy3);font-family:var(--mono);font-size:11px;text-align:right;padding:6px 12px;border-top:1px solid var(--border);color:var(--teal2);font-weight:600;}
.comp-table tfoot td:first-child{text-align:left;color:var(--text3);font-family:var(--cond);font-size:11px;letter-spacing:.06em;text-transform:uppercase;}
.comp-info{font-family:var(--cond);font-size:12px;color:var(--text3);margin-bottom:.75rem;}
.comp-info span{color:var(--text2);font-weight:600;}

