/* ============ CALCULATOR ============ */
.calc-modes{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:26px}
.calc-uploads{display:flex;gap:10px;flex-wrap:wrap}
.upl-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 18px;border-radius:12px;border:1px dashed rgba(0,210,211,.4);background:rgba(0,210,211,.05);color:var(--cyan);font-family:var(--f-head);font-weight:600;letter-spacing:.08em;transition:all .3s}
.upl-btn small{font-family:var(--f-mono);font-size:.58rem;letter-spacing:.14em;color:var(--ink-4);text-transform:uppercase}
.upl-btn:hover{background:rgba(0,210,211,.12);border-style:solid;transform:translateY(-2px)}

.calc-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:22px;align-items:start}
@media(max-width:1020px){.calc-layout{grid-template-columns:1fr}}

.calc-form{display:flex;flex-direction:column;gap:18px}
.calc-form>div{display:flex;flex-direction:column;gap:18px}
.calc-form>div.hidden{display:none}
.cstep{overflow:visible}
.cstep-head{display:flex;align-items:center;gap:14px;margin-bottom:20px;flex-wrap:wrap}
.cstep-head h3{font-size:1.15rem;text-transform:uppercase;letter-spacing:.1em}
.cstep-head .badge{margin-left:auto}
.cstep-num{font-size:.68rem;letter-spacing:.22em;color:var(--ink-4);border:1px solid var(--line-2);border-radius:7px;padding:4px 9px}
.scope-1 .cstep-num,.scope-2 .cstep-num,.scope-3 .cstep-num{color:var(--cyan);border-color:rgba(0,210,211,.35);background:rgba(0,210,211,.06)}
.field label em{font-style:normal;color:var(--ink-4);text-transform:none;letter-spacing:.04em}
.field label b{font-family:var(--f-mono)}

.extract-term .term-body{min-height:160px;max-height:300px;overflow-y:auto}
.extract-term.hidden{display:none}

/* results */
.calc-results{position:sticky;top:calc(var(--ticker-h) + var(--nav-h) + 18px)}
.cres{display:flex;flex-direction:column;gap:14px}
.cres-total{font-family:var(--f-display);font-size:clamp(2.4rem,4.5vw,3.4rem);line-height:1;color:var(--cloud);text-shadow:0 0 34px rgba(0,210,211,.35)}
.cres-unit{font-family:var(--f-head);font-size:.4em;color:var(--cyan);margin-left:10px;letter-spacing:.14em}
.cres-intensity{font-size:.7rem;letter-spacing:.14em;color:var(--ink-3)}
#r-donut{width:100%;height:190px}
.cres-rows{display:flex;flex-direction:column;gap:10px}
.cres-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:11px 14px;border-radius:11px;background:rgba(248,249,250,.04);border:1px solid var(--line-2);font-size:.88rem;color:var(--ink-2)}
.cres-row em{font-style:normal;font-size:.72em;color:var(--ink-4)}
.cres-row b{font-size:1.05rem;color:var(--cloud)}
.esg-box{display:grid;grid-template-columns:120px 1fr;gap:14px;align-items:center;padding:12px;border-radius:12px;border:1px solid var(--line-2);background:rgba(248,249,250,.03)}
#r-esg{width:120px;height:96px}
.esg-grade{font-family:var(--f-display);font-size:2rem;color:var(--neon);text-shadow:0 0 18px rgba(57,255,20,.5);line-height:1}
.cres-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cres-actions .btn{padding:13px 10px;font-size:.86rem}
.cres-actions .btn-neon{grid-column:1/-1}
.cres-note{font-size:.58rem;letter-spacing:.12em;color:var(--ink-4);line-height:1.8}
