/* ── AiO Stock pages ───────────────────────────────────────────────────────── */

/* snav darker one level */
.snav-link{display:flex;align-items:center;gap:.5rem;padding:.35rem .75rem;border-radius:.5rem;font-size:.8125rem;font-weight:600;color:#475569;text-decoration:none;white-space:nowrap;transition:background .15s,color .15s}
.snav-link:hover{background:#e2e8f0;color:#0f172a}
.dark .snav-link:hover{background:#0f172a;color:#f1f5f9}
.snav-link.active{color:#7c3aed;background:#ddd6fe;font-weight:700}
.dark .snav-link.active{background:#2e1065;color:#c4b5fd}

.snav-label{font-size:.625rem;font-weight:800;text-transform:uppercase;color:#64748b;padding:.625rem .75rem .25rem}
.dark .snav-label{color:#94a3b8}
.snav-indent{padding-left:.5rem}

.no-scrollbar::-webkit-scrollbar{display:none}
.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}

.mnav-pill{display:inline-flex;align-items:center;padding:.35rem .875rem;border-radius:9999px;font-size:.8rem;font-weight:700;white-space:nowrap;text-decoration:none;background:#e2e8f0;color:#475569;transition:all .15s}
.dark .mnav-pill{background:#1e293b;color:#94a3b8}
.mnav-pill.active{background:#7c3aed;color:white}

/* Collapsed sidebar styles */
#stockNav{transition:width .25s ease}
#stockNav.collapsed{width:4rem}
#stockNav.collapsed .stock-header{padding-left:.5rem;padding-right:.5rem}
#stockNav.collapsed .stock-header .flex{justify-content:center;gap:.25rem}
#stockNav.collapsed .stock-header button{margin-left:0 !important}
#stockNav.collapsed .stock-ticker{padding:.25rem .375rem;font-size:.625rem}
#stockNav.collapsed .stock-price{font-size:.875rem}
#stockNav.collapsed .snav-label{display:none}
#stockNav.collapsed .snav-link{padding:.35rem .5rem;justify-content:center}
#stockNav.collapsed .snav-link span,#stockNav.collapsed .snav-link .ml-auto{display:none}
#stockNav.collapsed .snav-link i:first-child{margin:0;font-size:1rem;width:1.25rem}
#stockNav.collapsed #grp-stock,#stockNav.collapsed #grp-fin{padding-left:0}
#stockNav.collapsed .snv-text,#stockNav.collapsed .snv-group-text{display:none}
#stockNav.collapsed .snv-compact{display:flex !important}
#stockNav.collapsed .snv-full{display:none !important}
#stockNav .snv-compact{display:none}

/* ── Dashbox ─────────────────────────────────────────────────────────────── */
.db-card{background:white;border-radius:1rem;border:1px solid #e2e8f0;padding:1rem 1.125rem;display:flex;align-items:center;gap:.75rem;transition:box-shadow .2s,transform .2s;cursor:pointer}
.db-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08);transform:translateY(-1px)}
.dark .db-card{background:#1e293b;border-color:#334155}

/* ── Oppday ──────────────────────────────────────────────────────────────── */
.metric-card{background:white;border:1px solid #f1f5f9;border-radius:1rem;padding:1rem 1.125rem;cursor:pointer;transition:box-shadow .15s,border-color .15s;position:relative;overflow:hidden}
.metric-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08);border-color:#e2e8f0}
.dark .metric-card{background:#1e293b;border-color:#334155}
.dark .metric-card:hover{border-color:#475569}
.sparkline-wrap{position:absolute;bottom:0;right:0;opacity:.85}
.sec-hd{font-size:.875rem;font-weight:900;color:#1e293b;padding:.625rem .875rem .375rem;background:#f1f5f9;border-radius:.5rem .5rem 0 0;display:flex;align-items:center;justify-content:space-between}
.dark .sec-hd{background:#1e293b;color:#e2e8f0}
.fin-tab{display:flex;align-items:center;gap:.375rem;padding:.375rem .875rem;border-radius:9999px;font-size:.8rem;font-weight:700;cursor:pointer;text-decoration:none;border:1.5px solid #e2e8f0;background:white;color:#64748b;transition:all .15s;white-space:nowrap}
.fin-tab:hover{border-color:#2563eb;color:#2563eb}
.fin-tab.active{background:#2563eb;color:white;border-color:#2563eb}
.dark .fin-tab{background:#1e293b;color:#94a3b8;border-color:#334155}
.dark .fin-tab:hover{border-color:#2563eb;color:#93c5fd}
.dark .fin-tab.active{background:#2563eb;color:white}

/* ── DCA Page ────────────────────────────────────────────────────────────── */
.rng-btn{padding:.25rem .625rem;font-size:.75rem;font-weight:700;border-radius:.375rem;cursor:pointer;background:transparent;border:none;color:#64748b;transition:all .15s}
.rng-btn:hover{background:#f1f5f9;color:#1e293b}
.rng-btn.active{background:#1e293b;color:#fff}
.dark .rng-btn.active{background:#7c3aed;color:#fff}
.dca-tbl th{font-size:.6875rem;font-weight:800;text-transform:uppercase;color:#94a3b8;padding:.625rem .75rem;text-align:center;white-space:nowrap;border-bottom:1px solid #e2e8f0}
.dark .dca-tbl th{border-color:#334155}
.dca-tbl td{font-size:.8125rem;font-weight:600;padding:.5rem .75rem;text-align:center;border-bottom:1px solid #f1f5f9;color:#374151}
.dark .dca-tbl td{border-color:#1e293b;color:#e2e8f0}
.dca-tbl tbody tr:hover td{background:#f8fafc}
.dark .dca-tbl tbody tr:hover td{background:#0f172a}
.dca-tbl td:first-child,.dca-tbl th:first-child{text-align:left;padding-left:1.25rem}
.sum-tbl th{font-size:.6875rem;font-weight:800;text-transform:uppercase;color:#94a3b8;padding:.625rem 1rem;text-align:center;border-bottom:1px solid #e2e8f0;white-space:nowrap}
.dark .sum-tbl th{border-color:#334155}
.sum-tbl td{font-size:.875rem;font-weight:700;padding:.625rem 1rem;text-align:center;color:#374151}
.dark .sum-tbl td{color:#e2e8f0}
.profit-cell{background:#22c55e;color:white;font-weight:900;border-radius:.375rem}
.loss-cell{background:#ef4444;color:white;font-weight:900;border-radius:.375rem}
.dca-tab{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.25rem;border-radius:.625rem;font-size:.875rem;font-weight:800;cursor:pointer;border:2px solid transparent;transition:all .15s;white-space:nowrap;background:#f8fafc;color:#64748b;border-color:#e2e8f0}
.dark .dca-tab{background:#1e293b;color:#94a3b8;border-color:#334155}
.dca-tab.active{background:#7c3aed;color:#fff;border-color:#7c3aed;box-shadow:0 4px 14px rgba(124,58,237,.3)}
.btn-violet{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.5rem;background:#7c3aed;color:#fff;font-size:.875rem;font-weight:800;border-radius:.75rem;cursor:pointer;border:none;transition:all .15s}
.btn-sky{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.5rem;background:#0284c7;color:#fff;font-size:.875rem;font-weight:800;border-radius:.75rem;cursor:pointer;border:none;transition:all .15s}
.btn-outline-sky{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;background:transparent;color:#0284c7;font-size:.8125rem;font-weight:800;border-radius:.625rem;cursor:pointer;border:2px solid #0284c7;transition:all .15s;white-space:nowrap}
.form-inp{background:white;border:1.5px solid #e2e8f0;border-radius:.75rem;padding:.625rem 1rem;font-size:.9375rem;font-weight:700;color:#374151;outline:none;width:100%;transition:border .15s}
.dark .form-inp{background:#1e293b;border-color:#334155;color:#e2e8f0}
.calc-card{background:white;border-radius:.875rem;padding:1.125rem;text-align:center;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.dark .calc-card{background:#1e293b}
.dca-dd-btn{background:white;border:1.5px solid #e2e8f0;border-radius:.75rem;padding:.625rem 1rem;font-size:.9375rem;font-weight:700;color:#374151;outline:none;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left}
.dark .dca-dd-btn{background:#1e293b;border-color:#334155;color:#e2e8f0}
.dca-dd-btn:hover{border-color:#cbd5e1}
.dark .dca-dd-btn:hover{border-color:#475569}
.dca-dd-menu{background:white;border:1px solid #e2e8f0;border-radius:.875rem;box-shadow:0 10px 40px rgba(0,0,0,0.12);z-index:100;max-height:240px;overflow-y:auto;padding:.375rem}
.dark .dca-dd-menu{background:#1e293b;border-color:#334155;box-shadow:0 10px 40px rgba(0,0,0,0.4)}
.dca-dd-opt{width:100%;text-align:left;padding:.5rem .75rem;font-size:.875rem;font-weight:700;color:#475569;border-radius:.5rem;transition:all .15s;cursor:pointer}
.dark .dca-dd-opt{color:#94a3b8}
.dca-dd-opt:hover{background:#f1f5f9;color:#1e293b}
.dark .dca-dd-opt:hover{background:#334155;color:#f1f5f9}
.dca-dd-opt.active{background:#7c3aed;color:#fff}

/* ── IAA Consensus ───────────────────────────────────────────────────────── */
.iaa-card{border-radius:1rem;padding:1.125rem 1rem;position:relative;overflow:hidden;cursor:default;transition:transform .15s,box-shadow .15s;color:white;min-height:130px}
.iaa-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.2)}
.iaa-green{background:#0d9488}
.iaa-blue{background:#2563eb}
.iaa-gold{background:#d97706}
.iaa-red{background:#dc2626}
.iaa-broker{font-size:1.4rem;font-weight:900;line-height:1.1;max-width:75%}
.iaa-upside{font-size:.75rem;font-weight:700;opacity:.9;margin-top:.25rem}
.iaa-date{font-size:.65rem;font-weight:600;opacity:.7;margin-top:2px}
.iaa-target{position:absolute;bottom:.625rem;right:.75rem;font-size:2.75rem;font-weight:900;opacity:.95;line-height:1}
.iaa-badge{position:absolute;top:.625rem;right:.625rem;background:rgba(0,0,0,.35);padding:.2rem .5rem;border-radius:.375rem;font-size:.65rem;font-weight:900;display:flex;align-items:center;gap:.25rem;white-space:nowrap}
.btn-vport{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 2rem;background:#7c3aed;color:#fff;font-size:.9375rem;font-weight:800;border-radius:.75rem;cursor:pointer;border:none;transition:all .15s}
.btn-vport:hover{background:#6d28d9;transform:translateY(-1px);box-shadow:0 4px 14px rgba(124,58,237,.35)}
/* ── ProjectX & Tables ────────────────────────────────────────────────────── */
.chart-card{background:white;border-radius:1rem;box-shadow:0 1px 3px rgba(0,0,0,.06);overflow:hidden;border:1px solid #f1f5f9}
.dark .chart-card{background:#1e293b;border-color:#334155}
.dtype-cat{display:flex;align-items:center;gap:.375rem;padding:.375rem .875rem;border-radius:.625rem;font-size:.8125rem;font-weight:800;cursor:pointer;border:2px solid #e2e8f0;background:#f8fafc;color:#64748b;transition:all .15s;white-space:nowrap}
.dtype-cat:hover{border-color:#7c3aed;color:#7c3aed}
.dtype-cat.active{background:#7c3aed;color:white;border-color:#7c3aed}
.dark .dtype-cat{background:#1e293b;border-color:#334155;color:#94a3b8}
.dark .dtype-cat.active{background:#7c3aed;color:white;border-color:#7c3aed}
.dtype-sub{display:flex;align-items:center;padding:.3rem .75rem;border-radius:.5rem;font-size:.8125rem;font-weight:700;cursor:pointer;border:1.5px solid transparent;background:#f1f5f9;color:#64748b;transition:all .15s;white-space:nowrap}
.dtype-sub:hover{background:#ede9fe;color:#7c3aed}
.dtype-sub.active{background:#ede9fe;color:#7c3aed;border-color:#c4b5fd}
.dark .dtype-sub{background:#0f172a;color:#94a3b8}
.dark .dtype-sub.active{background:#2e1065;color:#c4b5fd;border-color:#6d28d9}

.pjx-tbl,.ratio-tbl,.iaa-tbl{width:100%;border-collapse:collapse}
.pjx-tbl th,.ratio-tbl th,.iaa-tbl th{font-size:.6875rem;font-weight:900;text-transform:uppercase;padding:.625rem .75rem;text-align:center;white-space:nowrap;background:#2f3159;color:white;border:1px solid #3d4272}
.pjx-tbl thead th:first-child,.ratio-tbl thead th:first-child{background:#1e293b;text-align:left;min-width:140px;width:140px}
.pjx-tbl tbody tr th,.ratio-tbl tbody tr th,.iaa-tbl tbody tr th{background:white;color:#1e293b;font-size:.875rem;font-weight:900;text-align:center;border:1px solid #e2e8f0;padding:.5rem .75rem;white-space:nowrap}
.dark .pjx-tbl tbody tr th,.dark .ratio-tbl tbody tr th,.dark .iaa-tbl tbody tr th{background:#0f172a;border-color:#1e293b;color:#e2e8f0}
.pjx-tbl td,.ratio-tbl td,.iaa-tbl td{font-size:.875rem;font-weight:700;padding:.5rem .75rem;text-align:right;border:1px solid #e2e8f0;color:#374151;white-space:nowrap}
.dark .pjx-tbl td,.dark .ratio-tbl td,.dark .iaa-tbl td{border-color:#1e293b;color:#e2e8f0}
.pjx-tbl tbody tr:hover td,.pjx-tbl tbody tr:hover th,.ratio-tbl tbody tr:hover td,.ratio-tbl tbody tr:hover th,.iaa-tbl tbody tr:hover td,.iaa-tbl tbody tr:hover th{background:#f8fafc}
.dark .pjx-tbl tbody tr:hover td,.dark .pjx-tbl tbody tr:hover th,.dark .ratio-tbl tbody tr:hover td,.dark .ratio-tbl tbody tr:hover th,.dark .iaa-tbl tbody tr:hover td,.dark .iaa-tbl tbody tr:hover th{background:#334155}
.pjx-tbl tbody tr.highlight-row th{background:#ede9fe;color:#7c3aed}
.dark .pjx-tbl tbody tr.highlight-row th{background:#2e1065;color:#c4b5fd}
.pjx-tbl tbody tr.highlight-row td{background:#faf8ff}
.dark .pjx-tbl tbody tr.highlight-row td{background:#1a0f3a}

.yoy{display:inline-block;font-size:.625rem;font-weight:800;margin-top:.125rem;padding:.05rem .35rem;border-radius:9999px}
.yoy-up{color:#059669;background:#d1fae5}
.yoy-dn{color:#dc2626;background:#fee2e2}
.yoy-zero{color:#64748b;background:#f1f5f9}
.dark .yoy-up{background:#052e16}
.dark .yoy-dn{background:#450a0a}
.dark .yoy-zero{background:#1e293b}
.div-val{color:#2563eb}
.dark .div-val{color:#60a5fa}

.iaa-tbl thead th{vertical-align:middle}
.iaa-tbl th:first-child{text-align:left;min-width:140px;width:140px}
.iaa-tbl tbody tr th{text-align:left;padding:.5rem .875rem}
.iaa-tbl td.td-center{text-align:center}
.iaa-tbl tbody tr.avg-row th{background:#ede9fe;color:#7c3aed}
.dark .iaa-tbl tbody tr.avg-row th{background:#2e1065;color:#c4b5fd}
.rec-buy{font-size:.6875rem;font-weight:900;background:#d1fae5;color:#065f46;padding:.2rem .5rem;border-radius:9999px}
.rec-hld{font-size:.6875rem;font-weight:900;background:#fef3c7;color:#92400e;padding:.2rem .5rem;border-radius:9999px}
.rec-neu{font-size:.6875rem;font-weight:900;background:#f1f5f9;color:#475569;padding:.2rem .5rem;border-radius:9999px}
.rec-sell{font-size:.6875rem;font-weight:900;background:#fee2e2;color:#991b1b;padding:.2rem .5rem;border-radius:9999px}
.dark .rec-buy{background:#052e16;color:#6ee7b7}
.dark .rec-hld{background:#451a03;color:#fbbf24}
.dark .rec-neu{background:#1e293b;color:#94a3b8}
.dark .rec-sell{background:#450a0a;color:#fca5a5}

/* ── Dividend Page ───────────────────────────────────────────────────────── */
.stat-card{border-radius:1rem;padding:1.25rem;display:flex;flex-direction:column;gap:.5rem;position:relative;overflow:hidden}
.stat-card-bg{position:absolute;right:-8px;top:-8px;font-size:3.5rem;opacity:.15}
.div-tbl{width:100%;border-collapse:collapse}
.div-tbl th{font-size:.6875rem;font-weight:900;text-transform:uppercase;padding:.625rem .875rem;text-align:center;white-space:nowrap;background:#2f3159;color:white;border:1px solid #3d4272}
.div-tbl th:first-child{text-align:left;min-width:70px}
.div-tbl tbody tr th{background:white;font-weight:900;text-align:center;border:1px solid #e2e8f0;padding:.375rem .5rem;white-space:nowrap}
.dark .div-tbl tbody tr th{background:#0f172a;border-color:#1e293b}
.div-tbl td{font-size:.875rem;font-weight:700;padding:.5rem .875rem;text-align:center;border:1px solid #e2e8f0;color:#374151;white-space:nowrap}
.dark .div-tbl td{border-color:#1e293b;color:#e2e8f0}
.div-tbl tbody tr:hover td,.div-tbl tbody tr:hover th{background:#f0fdf4}
.dark .div-tbl tbody tr:hover td,.dark .div-tbl tbody tr:hover th{background:#052e16}
.yr-pill{display:inline-block;background:#dcfce7;color:#15803d;font-size:.875rem;font-weight:900;padding:.25rem .625rem;border-radius:.5rem;border:1.5px solid #bbf7d0}
.dark .yr-pill{background:#052e16;color:#86efac;border-color:#166534}
.q-badge{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:9999px;font-size:.75rem;font-weight:900}
.q1{background:#fef9c3;color:#854d0e}.q2{background:#dbeafe;color:#1e40af}.q3{background:#dcfce7;color:#15803d}.q4{background:#f3e8ff;color:#7e22ce}
.dark .q1{background:#422006;color:#fde68a}.dark .q2{background:#1e3a5f;color:#93c5fd}.dark .q3{background:#052e16;color:#86efac}.dark .q4{background:#3b0764;color:#d8b4fe}
.yield-val{font-size:.75rem;font-weight:900;background:#dcfce7;color:#15803d;padding:.15rem .45rem;border-radius:9999px}
.dark .yield-val{background:#052e16;color:#86efac}
.type-cash{font-size:.6875rem;font-weight:900;background:#dcfce7;color:#15803d;padding:.2rem .5rem;border-radius:9999px}
.type-stock{font-size:.6875rem;font-weight:900;background:#dbeafe;color:#1e40af;padding:.2rem .5rem;border-radius:9999px}
.div-tbl tbody tr.yr-latest th,.div-tbl tbody tr.yr-latest td{background:#f0fdf4}
.dark .div-tbl tbody tr.yr-latest th,.dark .div-tbl tbody tr.yr-latest td{background:#052e16}
.trend-up{color:#16a34a;font-size:.75rem;font-weight:900}.trend-dn{color:#dc2626;font-size:.75rem;font-weight:900}

/* ── Price Page ──────────────────────────────────────────────────────────── */
.price-tbl{width:100%;border-collapse:collapse}
.price-tbl thead th{font-size:.6875rem;font-weight:900;text-transform:uppercase;padding:.625rem .875rem;text-align:center;white-space:nowrap;background:#2f3159;color:white;border:1px solid #3d4272}
.price-tbl thead th:first-child{text-align:left;min-width:110px;position:sticky;left:0;z-index:2}
.price-tbl tbody tr td,.price-tbl tbody tr th{font-size:.875rem;font-weight:700;padding:.4375rem .875rem;text-align:center;border:1px solid #e2e8f0;color:#374151;white-space:nowrap}
.dark .price-tbl tbody tr td,.dark .price-tbl tbody tr th{border-color:#1e293b;color:#e2e8f0}
.price-tbl tbody tr th{background:white;font-weight:900;font-size:.8125rem;text-align:center;position:sticky;left:0;z-index:1;min-width:110px}
.dark .price-tbl tbody tr th{background:#0f172a}
.price-tbl tbody tr:hover td,.price-tbl tbody tr:hover th{background:#eff6ff}
.dark .price-tbl tbody tr:hover td,.dark .price-tbl tbody tr:hover th{background:#1e3a5f}

.date-chip{display:inline-block;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;padding:.2rem .5rem;font-size:.8125rem;font-weight:900;color:#1e293b}
.dark .date-chip{background:#0f172a;border-color:#334155;color:#e2e8f0}

.range-bar-outer{height:6px;border-radius:9999px;background:#e2e8f0;position:relative;flex:1}
.dark .range-bar-outer{background:#334155}
.range-bar-fill{position:absolute;left:0;top:0;height:100%;border-radius:9999px;background:linear-gradient(90deg,#f59e0b,#2563eb)}
.range-dot{position:absolute;top:50%;transform:translateY(-50%);width:12px;height:12px;border-radius:9999px;background:#2563eb;border:2px solid white;box-shadow:0 1px 4px rgba(0,0,0,.2)}

.period-btn{display:inline-flex;align-items:center;padding:.3rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:700;border:1.5px solid #e2e8f0;color:#64748b;background:white;cursor:pointer;transition:all .15s;white-space:nowrap}
.period-btn:hover{border-color:#2563eb;color:#2563eb}
.period-btn.active{background:#2563eb;color:white;border-color:#2563eb}
.dark .period-btn{background:#1e293b;border-color:#334155;color:#94a3b8}
.dark .period-btn:hover{border-color:#3b82f6;color:#93c5fd}
.dark .period-btn.active{background:#2563eb;color:white;border-color:#2563eb}

/* ── Chart Page ──────────────────────────────────────────────────────────── */
.chart-container-wrap { width: 100% !important; height: 55vh !important; }
@media(min-width: 1200px) { .chart-container-wrap { height: 65vh !important; } }
.highcharts-stocktools-wrapper { z-index: 10 !important; }
.commo-btn { display: inline-flex; align-items: center; padding: .25rem .75rem; border-radius: .5rem; font-size: .75rem; font-weight: 800; border: 1.5px solid #7c3aed; color: #7c3aed; background: white; cursor: pointer; transition: all .15s; white-space: nowrap; }
.commo-btn:hover { background: #ede9fe; }
.commo-btn.active { background: #7c3aed; color: white; border-color: #7c3aed; }
.dark .commo-btn { background: #1e293b; border-color: #7c3aed; color: #c4b5fd; }
.dark .commo-btn:hover { background: #2e1065; }
.dark .commo-btn.active { background: #7c3aed; color: white; }

/* ── Matrix Table ────────────────────────────────────────────────────────── */
.matrix-table { border-collapse: separate; border-spacing: 3px; width: 100%; min-width: max-content; }
.matrix-th-month { font-size: .75rem; font-weight: 800; padding: .5rem .75rem; text-align: left; white-space: nowrap; }
.matrix-th-year { font-size: .75rem; font-weight: 800; text-align: center; padding: .4rem .3rem; white-space: nowrap; min-width: 72px; }
.matrix-cell { text-align: center; padding: .45rem .3rem; font-size: .8rem; font-weight: 900; border-radius: .375rem; min-width: 72px; white-space: nowrap; transition: filter .12s; cursor: default; }
.matrix-cell:hover { filter: brightness(.92); }
.matrix-cell-empty { background: transparent; }
.dark .matrix-cell:hover { filter: brightness(1.15); }

/* ── News Page ───────────────────────────────────────────────────────────── */
.news-card { border-radius: .875rem; border: 1px solid #f1f5f9; background: white; transition: background .15s, border-color .15s, box-shadow .15s; }
.news-card:hover { background: #f8fafc; border-color: #e2e8f0; box-shadow: 0 2px 8px rgba(0,0,0,0.06); }
.dark .news-card { border-color: #334155; background: #1e293b; }
.dark .news-card:hover { background: #0f172a; border-color: #475569; }
.src-pill { display: inline-flex; align-items: center; gap: .375rem; padding: .375rem .875rem; border-radius: 9999px; font-size: .8125rem; font-weight: 700; cursor: pointer; transition: all .15s; white-space: nowrap; border: 1.5px solid transparent; }
.src-pill:not(.active) { background: #f1f5f9; color: #64748b; border-color: #e2e8f0; }
.src-pill:not(.active):hover { background: #e2e8f0; color: #374151; }
.dark .src-pill:not(.active) { background: #1e293b; color: #94a3b8; border-color: #334155; }
.dark .src-pill:not(.active):hover { background: #334155; color: #e2e8f0; }
.src-pill.active { background: #2563eb; color: white; border-color: #2563eb; }
.stat-card { border-radius: 1rem; padding: 1rem 1.25rem; display: flex; flex-direction: column; gap: .25rem; }

/* ── News Badge Colors ─────────────────────────────────────────────────── */
.bg-blue-50 { background-color: #eff6ff; }
.text-blue-600 { color: #2563eb; }
.dark .bg-blue-900\/30 { background-color: rgba(30, 58, 138, 0.3); }
.dark .text-blue-400 { color: #60a5fa; }

.bg-green-50 { background-color: #f0fdf4; }
.text-green-600 { color: #16a34a; }
.dark .bg-green-900\/30 { background-color: rgba(20, 83, 45, 0.3); }
.dark .text-green-400 { color: #4ade80; }

.bg-red-50 { background-color: #fef2f2; }
.text-red-600 { color: #dc2626; }
.dark .bg-red-900\/30 { background-color: rgba(127, 29, 29, 0.3); }
.dark .text-red-400 { color: #f87171; }

.bg-orange-50 { background-color: #fff7ed; }
.text-orange-600 { color: #ea580c; }
.dark .bg-orange-900\/30 { background-color: rgba(124, 45, 18, 0.3); }
.dark .text-orange-400 { color: #fb923c; }

.bg-slate-50 { background-color: #f8fafc; }
.text-slate-600 { color: #475569; }
.dark .bg-slate-900\/30 { background-color: rgba(15, 23, 42, 0.3); }
.dark .text-slate-400 { color: #94a3b8; }

.bg-sky-50 { background-color: #f0f9ff; }
.text-sky-600 { color: #0284c7; }
.dark .bg-sky-900\/30 { background-color: rgba(12, 74, 110, 0.3); }
.dark .text-sky-400 { color: #38bdf8; }

/* ── Board Page ──────────────────────────────────────────────────────────── */
.filter-pill { display: inline-flex; align-items: center; gap: .375rem; padding: .35rem .875rem; border-radius: 9999px; font-size: .8125rem; font-weight: 700; cursor: pointer; transition: all .15s; white-space: nowrap; border: 1.5px solid transparent; }
.filter-pill:not(.active) { background: #f1f5f9; color: #64748b; border-color: #e2e8f0; }
.filter-pill:not(.active):hover { background: #e2e8f0; }
.dark .filter-pill:not(.active) { background: #1e293b; color: #94a3b8; border-color: #334155; }
.dark .filter-pill:not(.active):hover { background: #334155; }
.filter-pill.active { background: #7c3aed; color: white; border-color: #7c3aed; }
.dir-card { background: white; border-radius: 1rem; border: 1px solid #f1f5f9; transition: box-shadow .15s, border-color .15s; }
.dir-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.08); border-color: #e2e8f0; }
.dark .dir-card { background: #1e293b; border-color: #334155; }
.dark .dir-card:hover { border-color: #475569; }
.cross-row { border-top: 1px dashed #e2e8f0; margin-top: .625rem; padding-top: .5rem; }
.dark .cross-row { border-color: #334155; }
.share-bar { width: 100%; height: 4px; background: #f1f5f9; border-radius: 99px; overflow: hidden; }
.dark .share-bar { background: #334155; }
.share-fill { height: 100%; border-radius: 99px; background: currentColor; transition: width .4s ease; }
.badge-chair { background: #ede9fe; color: #6d28d9; }
.dark .badge-chair { background: #2e1065; color: #c4b5fd; }
.badge-exec { background: #dbeafe; color: #1d4ed8; }
.dark .badge-exec { background: #1e3a5f; color: #93c5fd; }
.badge-indep { background: #f1f5f9; color: #475569; }
.dark .badge-indep { background: #334155; color: #94a3b8; }
.badge-cfo { background: #fef3c7; color: #b45309; }
.dark .badge-cfo { background: #451a03; color: #fcd34d; }
.badge-dir { background: #f0fdf4; color: #15803d; }
.dark .badge-dir { background: #052e16; color: #86efac; }
.dir-avatar { width: 44px; height: 44px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: .9rem; font-weight: 900; flex-shrink: 0; }
.tbl-board td, .tbl-board th { padding: .625rem .75rem; vertical-align: middle; white-space: nowrap; }
.tbl-board thead tr { border-bottom: 2px solid #e2e8f0; }
.dark .tbl-board thead tr { border-color: #334155; }
.tbl-board tbody tr { border-bottom: 1px solid #f1f5f9; }
.dark .tbl-board tbody tr { border-color: #1e293b; }
.tbl-board tbody tr:hover { background: #f8fafc; }
.dark .tbl-board tbody tr:hover { background: #0f172a; }
.tbl-board th { font-size: .7rem; font-weight: 800; text-transform: uppercase; color: #94a3b8; }
.tbl-board .cross-tr td { background: #fafafa; border-bottom: 1px solid #f1f5f9; }
.dark .tbl-board .cross-tr td { background: #0f172a; border-color: #1e293b; }
.view-btn { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: .5rem; border: 1px solid #e2e8f0; cursor: pointer; transition: all .15s; }
.view-btn:hover { background: #f1f5f9; }
.view-btn.active { background: #7c3aed; color: white; border-color: #7c3aed; }
.dark .view-btn { border-color: #334155; }
.dark .view-btn:hover { background: #1e293b; }
.dark .view-btn.active { background: #7c3aed; border-color: #7c3aed; }

/* ── Shareholder Page ────────────────────────────────────────────────────── */
.sh-bar-track { height: 10px; background: #f1f5f9; border-radius: 99px; overflow: hidden; min-width: 60px; }
.dark .sh-bar-track { background: #334155; }
.sh-bar-fill { height: 100%; border-radius: 99px; transition: width .5s ease; }
.trend-up { color: #16a34a; }
.trend-dn { color: #dc2626; }
.trend-eq { color: #94a3b8; }
.pie-slice { fill: transparent; stroke-width: 18; transform-origin: 50% 50%; transform: rotate(-90deg); }
.tbl-matrix th, .tbl-matrix td { padding: .5rem .75rem; vertical-align: middle; }
.tbl-matrix thead tr { border-bottom: 2px solid #e2e8f0; }
.dark .tbl-matrix thead tr { border-color: #334155; }
.tbl-matrix tbody tr { border-bottom: 1px solid #f8fafc; }
.dark .tbl-matrix tbody tr { border-color: #1e293b; }
.tbl-matrix tbody tr:hover { background: #f8fafc; }
.dark .tbl-matrix tbody tr:hover { background: #0f172a; }
.tbl-matrix th { font-size: .7rem; font-weight: 800; text-transform: uppercase; color: #94a3b8; }
.rank-1 { background: #fef3c7; color: #b45309; }
.dark .rank-1 { background: #451a03; color: #fcd34d; }
.rank-2 { background: #f1f5f9; color: #475569; }
.dark .rank-2 { background: #334155; color: #94a3b8; }
.rank-3 { background: #fef2f2; color: #b91c1c; }
.dark .rank-3 { background: #450a0a; color: #fca5a5; }
.badge-major { background: #ede9fe; color: #6d28d9; }
.dark .badge-major { background: #2e1065; color: #c4b5fd; }
.badge-fund { background: #dbeafe; color: #1d4ed8; }
.dark .badge-fund { background: #1e3a5f; color: #93c5fd; }
.badge-foreign { background: #d1fae5; color: #065f46; }
.dark .badge-foreign { background: #052e16; color: #6ee7b7; }
.badge-retail { background: #f1f5f9; color: #475569; }
.dark .badge-retail { background: #334155; color: #94a3b8; }
.badge-nvdr { background: #fef3c7; color: #b45309; }
.dark .badge-nvdr { background: #451a03; color: #fcd34d; }
.pct-latest { font-weight: 900; color: #7c3aed; }
.dark .pct-latest { color: #c4b5fd; }
.chg-up { color: #16a34a; font-weight: 800; }
.chg-dn { color: #dc2626; font-weight: 800; }
.chg-eq { color: #94a3b8; font-weight: 600; }
.snap-card { background: white; border-radius: 1.25rem; border: 1px solid #f1f5f9; overflow: hidden; }
.dark .snap-card { background: #1e293b; border-color: #334155; }

/* ── GMAC Page ───────────────────────────────────────────────────────────── */
.badge-buy { background: #dcfce7; color: #15803d; font-weight: 900; }
.dark .badge-buy { background: #052e16; color: #86efac; }
.badge-sell { background: #fee2e2; color: #b91c1c; font-weight: 900; }
.dark .badge-sell { background: #450a0a; color: #fca5a5; }
.tbl-gmac th, .tbl-gmac td { padding: .625rem .75rem; vertical-align: middle; }
.tbl-gmac thead tr { border-bottom: 2px solid #e2e8f0; }
.dark .tbl-gmac thead tr { border-color: #334155; }
.tbl-gmac tbody tr { border-bottom: 1px solid #f8fafc; transition: background .12s; }
.dark .tbl-gmac tbody tr { border-color: #1e293b; }
.tbl-gmac tbody tr:hover { background: #f8fafc; }
.dark .tbl-gmac tbody tr:hover { background: #0f172a; }
.tbl-gmac th { font-size: .7rem; font-weight: 800; text-transform: uppercase; color: #94a3b8; }
.net-bar-track { height: 6px; background: #f1f5f9; border-radius: 99px; overflow: hidden; }
.dark .net-bar-track { background: #334155; }
.person-card { background: white; border-radius: 1rem; border: 1px solid #f1f5f9; padding: 1rem; transition: box-shadow .15s; }
.person-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,.07); }
.dark .person-card { background: #1e293b; border-color: #334155; }
.p-avatar { width: 38px; height: 38px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: .75rem; font-weight: 900; flex-shrink: 0; }
.cell-truncate { max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tl-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; margin-top: 4px; }
.period-btn { padding: .35rem .875rem; border-radius: 9999px; font-size: .8rem; font-weight: 700; cursor: pointer; transition: all .12s; border: 1.5px solid #e2e8f0; background: white; color: #64748b; }
.period-btn:hover { border-color: #7c3aed; color: #7c3aed; }
.period-btn.active { background: #7c3aed; color: white; border-color: #7c3aed; }
.dark .period-btn { background: #1e293b; color: #94a3b8; border-color: #334155; }
.dark .period-btn:hover { border-color: #7c3aed; color: #c4b5fd; }
.dark .period-btn.active { background: #7c3aed; color: white; border-color: #7c3aed; }

/* Fin Table & Metric Cards (PL/BL/CF) */
.metric-card { background: white; border: 1px solid #f1f5f9; border-radius: 1rem; padding: 1rem 1.125rem; cursor: pointer; transition: box-shadow .15s, border-color .15s; position: relative; overflow: hidden; }
.metric-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.08); border-color: #e2e8f0; }
.dark .metric-card { background: #1e293b; border-color: #334155; }
.dark .metric-card:hover { border-color: #475569; }

.sparkline-wrap { position: absolute; bottom: 0; right: 0; opacity: .85; }

.fin-table th, .fin-table td { padding: .5rem .75rem; white-space: nowrap; vertical-align: middle; }
.fin-table thead tr { background: #2f3159; color: white; }
.fin-table thead th { font-size: .75rem; font-weight: 700; text-align: center; }
.fin-table tbody tr:nth-child(even) { background: #f8fafc; }
.dark .fin-table tbody tr:nth-child(even) { background: #0f172a; }
.fin-table tbody tr:hover { background: #eff6ff !important; }
.dark .fin-table tbody tr:hover { background: #1e293b !important; }
.fin-table .row-label { font-size: .8rem; font-weight: 800; color: #374151; min-width: 170px; background: white; border-right: 2px solid #e2e2e2; position: sticky; left: 0; z-index: 2; }
.dark .fin-table .row-label { color: #e2e8f0; background: #0f172a; border-color: #334155; }
.fin-table .val-cell { text-align: right; font-size: .8125rem; font-weight: 700; color: #1e293b; min-width: 90px; }
.dark .fin-table .val-cell { color: #e2e8f0; }

.yoy-badge { display: inline-block; font-size: .6875rem; font-weight: 800; margin-left: .25rem; }
.yoy-up { color: #16a34a; }
.yoy-dn { color: #dc2626; }
.yoy-flat { color: #94a3b8; }

.sec-hd { font-size: .875rem; font-weight: 900; color: #1e293b; padding: .625rem .875rem .375rem; background: #f1f5f9; border-radius: .5rem .5rem 0 0; display: flex; align-items: center; justify-content: space-between; }
.dark .sec-hd { background: #1e293b; color: #e2e8f0; }

.th-q { background: #4338ca !important; }

.news-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; margin-top: 5px; }

.fin-tab { display: flex; align-items: center; gap: .375rem; padding: .375rem .875rem; border-radius: 9999px; font-size: .8rem; font-weight: 700; cursor: pointer; text-decoration: none; border: 1.5px solid #e2e8f0; background: white; color: #64748b; transition: all .15s; white-space: nowrap; }
.fin-tab:hover { border-color: #2563eb; color: #2563eb; }
.fin-tab.active { background: #2563eb; color: white; border-color: #2563eb; }
.dark .fin-tab { background: #1e293b; color: #94a3b8; border-color: #334155; }
.dark .fin-tab:hover { border-color: #2563eb; color: #93c5fd; }
.dark .fin-tab.active { background: #2563eb; color: white; }
