        /* ── KPI Cards ── */
        .kpi-grid{display:grid;gap:14px;margin-bottom:22px}
        .g2{grid-template-columns:repeat(2,1fr)}
        .g4{grid-template-columns:repeat(4,1fr)}
        .g5{grid-template-columns:repeat(5,1fr)}
        .g6{grid-template-columns:repeat(6,1fr)}
        .g3{grid-template-columns:repeat(3,1fr)}

        .kpi{
            background:var(--bg-card);border:1px solid var(--border);
            border-radius:12px;padding:20px 22px;
            position:relative;overflow:hidden;transition:border-color .18s;
        }
        .kpi:hover{border-color:rgba(255,255,255,.14)}
        .kpi::after{
            content:'';position:absolute;top:0;left:0;right:0;height:2px;
            background:linear-gradient(90deg,var(--g1),transparent);opacity:.55;
        }
        .kpi-lbl{
            font-size:18px;font-weight:600;letter-spacing:.07em;
            text-transform:uppercase;color:var(--text3);margin-bottom:9px;
        }
        .kpi-val{font-size:30px;font-weight:700;color:var(--text);letter-spacing:-.02em;line-height:1.1}
        .kpi-val.g{color:var(--g1)}
        .kpi-val.r{color:var(--red)}
        .kpi-sub{font-size:18px;color:var(--text3);margin-top:3px}
        .kpi-delta{
            display:inline-flex;align-items:center;gap:3px;
            font-size:18px;font-weight:600;padding:2px 7px;border-radius:100px;margin-top:7px;
        }
        .kpi-delta.up{background:rgba(76,217,123,.1);color:var(--g1)}
        .kpi-delta.dn{background:var(--red-bg);color:var(--red)}
        .kpi-delta.nul{background:rgba(255,255,255,.05);color:var(--text3)}

        .ratio-val{
            font-size:34px;font-weight:800;
            background:linear-gradient(135deg,var(--g1),var(--teal));
            -webkit-background-clip:text;-webkit-text-fill-color:transparent;
            background-clip:text;line-height:1.1;letter-spacing:-.02em;
        }

        /* ── Chart Cards ── */
        .charts-row{display:grid;gap:14px;margin-bottom:22px}
        .cr2{grid-template-columns:1fr 1fr}
        .cr31{grid-template-columns:2fr 1fr}
        .chart-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:20px}
        .chart-title{font-size:18px;font-weight:600;color:var(--text2);margin-bottom:15px;display:flex;align-items:center;gap:7px}
        .cdot{width:6px;height:6px;border-radius:50%;box-shadow:0 0 5px currentColor;flex-shrink:0}


        /* ── Derivation lines under KPI values ── */
        .kpi-work{
            font-size:18px;color:rgba(220,240,228,.5);
            margin-top:6px;line-height:1.5;
            font-variant-numeric:tabular-nums;word-break:break-word;
        }
        .kpi-fml{
            font-size:18px;color:rgba(220,240,228,.22);
            margin-top:2px;font-style:italic;line-height:1.35;word-break:break-word;
        }
        .kpi.wk-closed .kpi-work,
        .kpi.wk-closed .kpi-fml { display:none; }
        .kw-tog{
            display:inline-flex;align-items:center;gap:3px;
            background:none;border:none;cursor:pointer;
            font-size:18px;color:rgba(220,240,228,.28);
            padding:3px 0;margin-top:5px;letter-spacing:.05em;
            text-transform:uppercase;font-weight:600;font-family:inherit;
        }
        .kw-tog:hover{color:rgba(220,240,228,.7);}
        .kw-tog-all{
            display:inline-flex;align-items:center;gap:5px;
            background:rgba(255,255,255,.06);border:1px solid var(--border);
            border-radius:100px;padding:4px 13px;cursor:pointer;
            font-size:18px;color:var(--text3);font-weight:600;
            letter-spacing:.05em;text-transform:uppercase;font-family:inherit;
            transition:background .15s,color .15s;
        }
        .kw-tog-all:hover{background:rgba(255,255,255,.12);color:var(--text);}

        /* ── Detailed workings panel (shown inside kpi-work when toggled open) ── */
        .kw-panel{margin-top:8px}
        .kw-ptitle{font-size:18px;font-weight:700;letter-spacing:.04em;color:var(--text);text-transform:uppercase;margin-bottom:8px}
        .kw-pdesc{font-size:18px;color:var(--text3);line-height:1.55;margin-bottom:12px}
        .kw-pdiv{height:1px;background:var(--border);margin:12px 0}
        .kw-pline{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:18px;padding:4px 0}
        .kw-pline span:first-child{color:var(--text3)}
        .kw-pline span:last-child{font-weight:600;color:var(--text)}
        .kw-pline span.kw-neg{color:var(--red) !important}
        .kw-pformula-lbl{font-size:18px;font-weight:700;color:var(--text);margin-bottom:4px}
        .kw-pformula{font-size:18px;color:var(--text3);line-height:1.6}
        .kw-presult{border:1px solid var(--border);border-radius:10px;padding:16px;text-align:center;margin-top:4px}
        .kw-presult.r{border-color:rgba(248,113,113,.35);background:rgba(248,113,113,.05)}
        .kw-presult.g{border-color:rgba(76,217,123,.35);background:rgba(76,217,123,.05)}
        .kw-presult.a{border-color:rgba(251,191,36,.35);background:rgba(251,191,36,.05)}
        .kw-presult-lbl{font-size:18px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;margin-bottom:6px;color:var(--text3)}
        .kw-presult.r .kw-presult-lbl,.kw-presult.r .kw-presult-val{color:var(--red)}
        .kw-presult.g .kw-presult-lbl,.kw-presult.g .kw-presult-val{color:var(--g1)}
        .kw-presult.a .kw-presult-lbl,.kw-presult.a .kw-presult-val{color:var(--amber)}
        .kw-presult-val{font-size:24px;font-weight:700;color:var(--text)}
        .kw-presult-sub{font-size:18px;color:var(--text3);margin-top:4px}

        /* ── Business Overview ── */
        .bo-section{margin-bottom:40px}
        .bo-heading{font-size:27px;font-weight:700;color:var(--text);margin-bottom:14px;letter-spacing:-.02em;line-height:1.2}


        /* ── Forecast Tab ── */
        .ftabs{display:flex;gap:4px;margin-bottom:22px;background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:10px;padding:4px}
        .ftab{flex:1;padding:9px 12px;border-radius:7px;font-size:18px;font-weight:600;font-family:inherit;cursor:pointer;border:1px solid transparent;background:transparent;color:var(--text2);transition:all .14s;text-align:center}
        .ftab:hover{color:var(--text);background:rgba(255,255,255,.04)}
        .ftab.active{background:var(--gm);color:var(--g2);border-color:var(--border-g)}
        .fc-period-bar{display:flex;align-items:center;gap:12px;margin-bottom:22px}
        .fc-period-lbl{font-size:18px;color:var(--text3);font-weight:600;text-transform:uppercase;letter-spacing:.07em}
        .direction-card{border-radius:14px;padding:26px 30px;margin-bottom:24px;display:flex;align-items:flex-start;gap:22px;border:1px solid var(--border);position:relative;overflow:hidden;transition:border-color .2s}
        .direction-card.accelerating{background:rgba(76,217,123,.05);border-color:rgba(76,217,123,.35)}
        .direction-card.transitioning{background:rgba(251,191,36,.05);border-color:rgba(251,191,36,.35)}
        .direction-card.decelerating{background:rgba(248,113,113,.05);border-color:rgba(248,113,113,.35)}
        .dir-icon{font-size:56px;line-height:1;flex-shrink:0;margin-top:4px}
        .dir-body{flex:1;min-width:0}
        .dir-label{font-size:18px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text3);margin-bottom:4px}
        .dir-verdict{font-size:34px;font-weight:800;letter-spacing:-.025em;line-height:1.1;margin-bottom:6px}
        .dir-verdict.accelerating{color:var(--g1)}
        .dir-verdict.transitioning{color:var(--amber)}
        .dir-verdict.decelerating{color:var(--red)}
        .dir-sub{font-size:18px;color:var(--text2);line-height:1.55}
        .dir-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:14px}
        .dir-meta-item{font-size:18px;color:var(--text3)}
        .dir-meta-item strong{color:var(--text2)}
        .sat-lbl{font-size:18px;color:var(--text3);margin-bottom:7px;display:flex;justify-content:space-between;align-items:center}
        .sat-bar{height:8px;background:rgba(255,255,255,.07);border-radius:100px;overflow:hidden;margin-bottom:8px}
        .sat-fill{height:100%;border-radius:100px;transition:width .6s cubic-bezier(.4,0,.2,1)}
        .sat-fill.growing{background:linear-gradient(90deg,#4cd97b,#2dd4bf)}
        .sat-fill.stable{background:linear-gradient(90deg,#fbbf24,#fb923c)}
        .sat-fill.shrinking{background:linear-gradient(90deg,#f87171,#ef4444)}
        .sat-fill.unknown{background:rgba(255,255,255,.15)}
        .status-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:100px;font-size:18px;font-weight:700;letter-spacing:.04em;vertical-align:middle;margin-left:8px}
        .status-badge.growing{background:rgba(76,217,123,.12);color:var(--g1);border:1px solid rgba(76,217,123,.3)}
        .status-badge.stable{background:rgba(251,191,36,.12);color:var(--amber);border:1px solid rgba(251,191,36,.25)}
        .status-badge.shrinking{background:rgba(248,113,113,.12);color:var(--red);border:1px solid rgba(248,113,113,.3)}
        .status-badge.unknown{background:rgba(255,255,255,.06);color:var(--text3);border:1px solid var(--border)}
        .proj-wrap{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:auto;max-height:380px;margin-bottom:22px}
        .proj-wrap thead th{background:#0b1510;position:sticky;top:0;z-index:2}
        .golden-card{background:rgba(167,139,250,.05);border:1px solid rgba(167,139,250,.2);border-radius:12px;padding:22px 26px;margin-bottom:22px}
        .golden-hdr{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}
        .golden-title{font-size:18px;font-weight:700;color:var(--purple);margin-bottom:3px}
        .golden-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}
        .golden-kpi{background:rgba(167,139,250,.06);border:1px solid rgba(167,139,250,.15);border-radius:9px;padding:14px 16px}
