/* ============================================================
   lqdm-plan.css — brand v1.1 styling for the plan / division
   financial pages. Pairs with lqdm.css (tokens · fonts · base · grain).
   Re-skins the class-based components emitted by lqdm-plan-core.js.
   ============================================================ */

/* --- topbar --- */
.topbar{background:var(--lab-white);border-bottom:1px solid var(--steel);padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:54px;position:sticky;top:0;z-index:100}
.topbar .logo{display:flex;align-items:baseline;gap:9px;font-family:var(--latin);font-weight:700;font-size:20px;letter-spacing:.004em;color:var(--ink)}
.topbar .logo span,.topbar .logo small{font-family:var(--mono);font-size:10px;font-weight:400;color:var(--steel);letter-spacing:.04em;text-transform:none}
.topbar-right{display:flex;gap:8px;align-items:center}
.sdot{width:7px;height:7px;border-radius:50%;background:var(--aluminum);flex-shrink:0}
.sdot.live{background:var(--ok);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.45}}
.main{padding:24px;max-width:1300px;margin:0 auto}

/* --- buttons --- */
.btn{font-family:var(--he);font-size:12px;padding:7px 13px;border-radius:0;border:1px solid var(--aluminum);background:#F7F8F9;color:var(--ink);cursor:pointer;transition:border-color .12s var(--ease),background .12s;display:inline-flex;align-items:center;gap:5px;text-decoration:none}
.btn:hover{border-color:var(--ink)}
.btn.primary{background:var(--ink);color:var(--lab-white);border-color:var(--ink)}
.btn.success{background:var(--ok);color:#fff;border-color:var(--ok)}

/* --- KPI cards --- */
.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin-bottom:20px}
.kpi{background:var(--raised);border:1px solid var(--aluminum);border-radius:0;padding:16px}
.kpi-lbl{font-family:var(--he);font-size:11px;color:var(--steel);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}
.kpi-val{font-family:var(--mono);font-size:21px;font-weight:500;line-height:1;color:var(--ink)}
.kpi-sub{font-family:var(--mono);font-size:11px;color:var(--steel);margin-top:4px}
.pos{color:var(--ok)}.neg{color:var(--err)}.neu{color:var(--ink)}.amb{color:var(--steel)}

/* --- tables --- */
.tw{background:var(--raised);border:1px solid var(--aluminum);border-radius:0;overflow:hidden;margin-bottom:20px;overflow-x:auto}
table{width:100%;border-collapse:collapse}
thead{background:#EFF0F1}
th{padding:9px 12px;font-family:var(--he);font-size:11px;color:var(--steel);font-weight:800;border-bottom:1px solid var(--aluminum);text-align:right;white-space:nowrap;text-transform:uppercase;letter-spacing:.04em}
th.n,td.n{text-align:left;direction:ltr;font-family:var(--mono)}
td{padding:8px 12px;font-size:13px;border-bottom:1px solid var(--aluminum);vertical-align:middle;color:var(--ink)}
tr:last-child td{border-bottom:none}
tr:hover td{background:#F4F5F6}

/* --- row types — functional, restrained --- */
.rh td{font-family:var(--he);font-size:11px;font-weight:800;color:var(--steel);background:#EFF0F1!important;padding:6px 12px;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;user-select:none}
.rh td:first-child::before{content:'– ';font-size:11px}
.rh.col td:first-child::before{content:'+ '}
.rsub{transition:opacity .15s}
.rsub.hidden{display:none}
.ri td{font-weight:700;background:rgba(110,139,90,.07)!important}
.rc td{font-weight:700;background:rgba(155,61,61,.06)!important}
.rp td{font-weight:800;background:#EAECEE!important;font-size:14px}
.ra td{font-weight:700;background:#F4F5F6!important}
.rtot td{font-weight:800;background:#EFF0F1!important}

/* --- info / warning boxes --- */
.info-box{background:rgba(110,139,90,.08);border:1px solid var(--aluminum);border-radius:0;padding:14px 16px;margin-bottom:16px;font-size:13px;color:var(--ink)}
.warn-box{background:#EFF0F1;border:1px solid var(--steel);border-radius:0;padding:14px 16px;margin-bottom:16px;font-size:13px;color:var(--ink)}

/* --- section title --- */
.st{font-size:15px;font-weight:800;margin-bottom:14px;display:flex;justify-content:space-between;align-items:center;color:var(--ink)}
.st small{font-family:var(--mono);font-size:12px;font-weight:400;color:var(--steel)}

/* --- badges (reduced to functional ok/err/neutral) --- */
.badge{display:inline-block;padding:2px 7px;border-radius:0;font-size:11px;font-weight:700;font-family:var(--mono)}
.b-g{background:rgba(110,139,90,.16);color:#3f5a30}
.b-a{background:#EFF0F1;color:var(--steel)}
.b-r{background:rgba(155,61,61,.14);color:var(--err)}
.b-gray{background:#EFF0F1;color:var(--steel)}
.b-blue{background:#E7E9EB;color:var(--graphite)}

/* --- empty / loading state --- */
.empty-state{text-align:center;padding:80px 20px}
.empty-state .icon{width:46px;height:46px;margin:0 auto 16px;color:var(--steel)}
.empty-state h2{font-family:var(--he);font-size:18px;margin-bottom:8px;color:var(--ink)}
.empty-state p{font-size:13px;color:var(--steel);max-width:360px;margin:0 auto 20px}

/* --- scenario toggle --- */
.sc-toggle{display:flex;border:1px solid var(--aluminum);border-radius:0;overflow:hidden}
.sc-btn{padding:5px 12px;font-family:var(--he);font-size:12px;cursor:pointer;background:#F7F8F9;color:var(--steel);border:none;transition:all .12s}
.sc-btn.active{background:var(--ink);color:var(--lab-white)}

@media print{.topbar,.btn{display:none!important}}
