/* The Cost page: bright, every chart hand-drawn in SVG, a table twin behind each. */
.costpage{--s1:#0F8F85;--s2:#F26B3A;--s3:#2A78D6;--s4:#C98500;--s5:#6250D6;--s6:#D55181;--track:#BFEAE1}
.costpage.refetching{opacity:.55;transition:opacity .15s}
.cfilters{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 16px}
.cfilters .seg{display:inline-flex;background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:3px;gap:2px}
.cfilters .seg button{border:0;background:transparent;border-radius:9px;padding:6px 12px;font-weight:600;color:var(--muted);cursor:pointer}
.cfilters .seg button.on{background:var(--mint);color:var(--teal);font-weight:800}
.cfilters .seg button.on::before{content:"✓ ";font-weight:800}
.cfilters select{padding:7px 10px;border-radius:10px}
.chero{display:grid;grid-template-columns:1.6fr repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}
@media (max-width:1250px){.chero{grid-template-columns:repeat(3,minmax(0,1fr))}.chero .hero{grid-column:span 3}}
.chero .hero{border-radius:18px;padding:20px 24px;color:#fff;background:linear-gradient(135deg,var(--teal),var(--teal2) 70%,var(--aqua));box-shadow:0 10px 28px rgba(15,118,110,.22);display:flex;flex-direction:column;justify-content:space-between;min-height:132px}
.chero .hero .l{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;opacity:.9}
.chero .hero .v{font-size:52px;font-weight:800;line-height:1;margin:8px 0 6px;letter-spacing:-1px}
.chero .hero .n{font-size:13px;opacity:.95}
.tile{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;box-shadow:0 2px 10px rgba(20,36,59,.04);display:flex;flex-direction:column;gap:4px;min-height:132px}
.tile .l{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}
.tile .v{font-size:26px;font-weight:800;line-height:1.1}
.tile .d{font-size:13px;color:var(--muted)}.tile .d b{color:var(--ink)}
.tile .d.up{color:#9A3412}.tile .d.down{color:var(--deep)}
.tile svg.spark{width:100%;height:26px;margin-top:auto;display:block;overflow:visible}
.story{background:linear-gradient(135deg,#fff,var(--mint));border-color:#BFE9DF}
.story p{margin:0;font-size:16px;line-height:1.65}
.story p b{color:var(--deep)}
.chead{display:flex;align-items:baseline;gap:10px;margin:0 0 8px}.chead h3{margin:0}.chead .grow{flex:1}
.chead .tog{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;color:var(--muted);cursor:pointer}
.chead .tog.on{color:var(--teal);border-color:var(--teal);background:var(--mint)}
.chartwrap{position:relative}
.chartwrap svg.c{width:100%;display:block;overflow:visible}
.chartwrap svg.c.natural{width:auto;max-width:100%;height:auto}
.chartwrap svg.c .cell{cursor:pointer}
.chartwrap svg.c text{font:11px Inter,system-ui,sans-serif;fill:var(--muted)}
.chartwrap svg.c text.val{fill:var(--ink);font-weight:700}
.chartwrap svg.c text.halo{paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}
.chartwrap svg.c .grid{stroke:var(--line);stroke-width:1}
.chartwrap svg.c .base{stroke:#C9D3CF;stroke-width:1}
.chartwrap svg.c .wk{fill:var(--mint)}
.chartwrap svg.c .avg{fill:none;stroke:var(--ink);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.chartwrap svg.c .hit{fill:transparent;cursor:crosshair}
.chartwrap svg.c .xh{stroke:var(--ink);stroke-width:1;opacity:.5;pointer-events:none}
.chartwrap svg.c .seg:hover,.chartwrap svg.c .bar:hover,.chartwrap svg.c .cell:hover{filter:brightness(1.12)}
.ctip{position:absolute;z-index:3;background:var(--ink);color:#fff;border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.45;pointer-events:none;min-width:150px;box-shadow:0 10px 30px rgba(20,36,59,.25);transform:translate(-50%,-100%);margin-top:-10px;white-space:nowrap}
.ctip .t{font-weight:800;margin-bottom:4px}
.ctip .r{display:flex;gap:10px;align-items:center}.ctip .r b{margin-left:auto;font-weight:800}
.ctip .k{display:inline-block;width:14px;height:3px;border-radius:2px}
.ctip .k.rect{height:10px;width:10px;border-radius:3px}
.legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;font-size:13px;color:var(--muted)}
.legend span{display:inline-flex;align-items:center;gap:6px}
.legend i{display:inline-block;width:12px;height:12px;border-radius:3px}
.legend i.line{height:3px;width:16px;border-radius:2px;background:var(--ink)}
.legend i.wk{background:var(--mint);border:1px solid #BFE9DF}
.thinbar{display:flex;height:8px;border-radius:999px;overflow:hidden;gap:2px;margin:8px 0 10px}
.thinbar i{display:block;height:100%}
.klist{display:grid;grid-template-columns:auto 1fr auto auto;gap:6px 12px;align-items:center;font-size:14px}
.klist i{display:inline-block;width:12px;height:12px;border-radius:3px}
.klist .amt{font-weight:800;text-align:right;font-variant-numeric:tabular-nums}.klist .sh{color:var(--muted);text-align:right;min-width:44px;font-variant-numeric:tabular-nums}
.calwrap svg.c text.mon{fill:var(--muted)}
.ramp{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);margin-top:6px}.ramp i{display:inline-block;width:14px;height:10px;border-radius:2px}
.movebar{display:inline-block;vertical-align:middle;width:120px;height:12px;position:relative;background:transparent}
.movebar .z{position:absolute;left:50%;top:0;bottom:0;width:1px;background:#C9D3CF}
.movebar .f{position:absolute;top:1px;bottom:1px;border-radius:4px}
.movebar .f.up{background:var(--s2);left:50%}.movebar .f.down{background:var(--s1);right:50%}
.chg{font-weight:700;white-space:nowrap}.chg .pct{color:var(--muted);font-weight:600}
.meter{height:14px;border-radius:999px;background:var(--track);overflow:hidden;margin:10px 0 6px}
.meter i{display:block;height:100%;border-radius:999px;transition:width .3s}
.meter i.low{background:var(--s1)}.meter i.some{background:var(--sun)}.meter i.high{background:var(--rose)}
.wasteword{font-size:22px;font-weight:800}.wasteword small{font-size:14px;font-weight:600;color:var(--muted);margin-left:8px}
.calc{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:14px;align-items:end;margin:6px 0 14px;padding:14px 16px;background:var(--peach);border:1px solid #F9D7C6;border-radius:14px}
.calc label{margin:0 0 6px;color:#7A3A1F}
.calc .rng{display:flex;gap:10px;align-items:center}.calc input[type=range]{flex:1;accent-color:var(--boon)}.calc input[type=number]{width:70px;padding:6px 8px}
.calc .out{font-size:24px;font-weight:800;color:#7A3A1F}.calc .out small{display:block;font-size:13px;font-weight:600;color:#9A5A3A}
.hrow{display:grid;grid-template-columns:250px 1fr 190px;gap:12px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line);font-size:14px}.hrow:last-child{border:0}
.hrow .nm{min-width:0}.hrow .nm b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hrow .nm .reason{margin:0;white-space:nowrap}
.hrow .trk{position:relative;height:18px;background:#F1F4F2;border-radius:0 4px 4px 0}
.hrow .trk i{position:absolute;left:0;top:0;bottom:0;background:var(--s1);border-radius:0 4px 4px 0}
.hrow .trk em{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--boon);border-radius:1px}
.hrow .fig{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.hrow .fig b{display:block}
.tbl-twin table{font-size:13px}
.flagword{color:#7A3A1F;font-weight:600}
.mini2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cost-empty{padding:18px;border:1.5px dashed var(--line);border-radius:14px;color:var(--muted);text-align:center;background:#fff}
.cost-empty b{color:var(--ink)}
.csv{margin-left:auto}
