/* =============================================================
   TICO PRO E-SPOTTER — THEME + LAYOUT
   Orange #F05828 · Black · White · Steel grays
   Display: Saira Condensed (UPPERCASE) · Body: Archivo · Mono: JetBrains Mono
   ============================================================= */
:root{
  --paper:#FFFFFF; --paper-2:#F5F4F2; --paper-3:#ECEAE6;
  --ink:#141414; --ink-2:#3C3C3C; --ink-mute:#8A8A8A;
  --rule:#E3E1DD; --rule-strong:#C8C5BF;
  --steel:#23262B; --steel-2:#2E323A; --graphite:#15171A;
  --orange:#F05828; --orange-deep:#C8410F; --orange-tint:#FDEDE6;
  --positive:#1F7A3A;
  --grad-energy:linear-gradient(120deg,#15171A 0%,#3A2418 55%,#F05828 100%);
  --shadow:0 1px 2px rgba(0,0,0,.05),0 18px 40px -12px rgba(0,0,0,.28);
  --font-display:"Saira Condensed","Arial Narrow",sans-serif;
  --font-sans:"Archivo",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
.page,.page *,.cover-art,.cost-hero,.cost-hero *,.tco-band,.tco-band *,
.spec-band,.spec-band *,.config-card,.config-card *,.charge-card,.charge-card *,
.scoreboard,.cb-track,.cb-seg,.ct-bar,.ct-seg,.tco-area{
  -webkit-print-color-adjust:exact !important;print-color-adjust:exact !important;color-adjust:exact !important;
}
body{font-family:var(--font-sans);font-size:15px;color:var(--ink);background:#0C0D0E;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}

/* ---------- app shell ---------- */
.app{display:grid;grid-template-columns:372px 1fr;min-height:100vh;}
body.editor-collapsed .app{grid-template-columns:0 1fr;}
body.editor-collapsed .editor{transform:translateX(-100%);}
body.editor-collapsed .doc-wrap{padding-left:24px;}

.toolbar{position:sticky;top:0;z-index:30;grid-column:1/-1;display:flex;align-items:center;gap:14px;padding:10px 20px;background:#0A0A0A;color:#fff;border-bottom:1px solid #1c1c1c;}
.toolbar .brand{display:flex;align-items:center;gap:12px;}
.toolbar .brand img{height:22px;width:auto;display:block;}
.toolbar .brand small{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#8A8A8A;border-left:1px solid #2A2A2A;padding-left:12px;}
.toolbar .spacer{flex:1;}
.tb-btn{font:600 11px/1 var(--font-sans);background:transparent;color:#fff;border:1px solid #2A2A2A;padding:9px 13px;border-radius:3px;cursor:pointer;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;display:inline-block;}
.tb-btn:hover{background:#1A1A1A;border-color:#3A3A3A;}
.tb-btn:focus-visible{outline:2px solid var(--orange);outline-offset:2px;}
.tb-btn.primary{background:var(--orange);color:#fff;border-color:var(--orange);}
.tb-btn.primary:hover{background:var(--orange-deep);border-color:var(--orange-deep);}

/* ---------- editor ---------- */
.editor{position:sticky;top:43px;align-self:start;height:calc(100vh - 43px);overflow-y:auto;background:#0E0F10;color:#E8E8E8;border-right:1px solid #1c1c1c;padding:16px 16px 90px;transition:transform .25s ease;}
.editor h3{font-family:var(--font-display);font-size:19px;text-transform:uppercase;letter-spacing:.02em;font-weight:700;margin:18px 0 3px;color:#fff;}
.editor h3:first-child{margin-top:2px;}
.editor .hint{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#888;margin:0 0 10px;}
.editor .group{border-top:1px solid #1c1c1c;padding-top:14px;margin-top:18px;}
.editor .group:first-of-type{border-top:0;padding-top:0;margin-top:0;}
.field{margin-bottom:10px;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.field-row.three{grid-template-columns:1fr 1fr 1fr;}
.field label{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#888;margin-bottom:4px;font-weight:600;}
.field input,.field select,.field textarea{width:100%;background:#000;border:1px solid #2A2A2A;color:#fff;padding:8px 10px;font-family:var(--font-sans);font-size:13px;border-radius:3px;}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--orange);outline-offset:1px;border-color:var(--orange);}
.field textarea{resize:vertical;min-height:54px;}
.field .suffix-note{font-size:10px;color:#777;margin-top:3px;}

/* config picker */
#config-picker{display:grid;gap:7px;margin-bottom:6px;}
.cfg-opt{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;text-align:left;background:#000;border:1px solid #242424;border-radius:4px;padding:10px 12px;cursor:pointer;color:#fff;font:inherit;}
.cfg-opt:hover{border-color:#3a3a3a;}
.cfg-opt.is-on{border-color:var(--orange);box-shadow:0 0 0 1px var(--orange) inset;}
.cfg-kwh{grid-row:1/3;font-family:var(--font-display);font-weight:700;font-size:30px;line-height:.9;color:#fff;}
.cfg-kwh small{font-size:11px;letter-spacing:.04em;display:block;color:#888;font-weight:600;}
.cfg-opt.is-on .cfg-kwh{color:var(--orange);}
.cfg-name{font-family:var(--font-display);font-weight:700;font-size:15px;text-transform:uppercase;letter-spacing:.02em;}
.cfg-charge{font-size:10px;color:#999;letter-spacing:.02em;}

/* presets */
#preset-row{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 4px;}
.preset-btn{font:600 10px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;background:#000;border:1px solid #2A2A2A;color:#cfcfcf;padding:7px 9px;border-radius:3px;cursor:pointer;}
.preset-btn:hover{border-color:var(--orange);color:#fff;}

/* options search + groups */
.opt-bar{display:flex;gap:6px;margin-bottom:8px;}
#opt-search{flex:1;background:#000;border:1px solid #2A2A2A;color:#fff;padding:8px 10px;font-size:13px;border-radius:3px;}
#opt-search:focus{outline:2px solid var(--orange);outline-offset:1px;border-color:var(--orange);}
.opt-expand{font:600 10px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;background:#000;border:1px solid #2A2A2A;color:#cfcfcf;padding:8px 11px;border-radius:3px;cursor:pointer;white-space:nowrap;}
.opt-expand:hover{border-color:var(--orange);color:#fff;}
.opt-grp{border:1px solid #1c1c1c;border-radius:4px;margin-bottom:6px;background:#000;overflow:hidden;}
.opt-grp>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:9px 11px;font-family:var(--font-display);font-weight:600;font-size:15px;text-transform:uppercase;letter-spacing:.03em;color:#fff;}
.opt-grp>summary::-webkit-details-marker{display:none;}
.opt-grp>summary::before{content:"+";color:var(--orange);font-family:var(--font-mono);margin-right:8px;font-weight:700;}
.opt-grp[open]>summary::before{content:"–";}
.og-count{font-family:var(--font-sans);font-size:10px;letter-spacing:.08em;color:#777;text-transform:uppercase;}
.og-count.has{color:var(--orange);}
.og-body{padding:4px 8px 10px;display:grid;gap:5px;}
.tog{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:start;padding:7px 8px;background:#0E0F10;border:1px solid #1a1a1a;border-radius:3px;font-size:12px;cursor:pointer;}
.tog:hover{border-color:#2f2f2f;}
.tog input{accent-color:var(--orange);margin:2px 0 0;}
.tog-name{color:#eee;line-height:1.3;}
.tog-note{display:block;color:#7d7d7d;font-size:10px;margin-top:2px;font-style:italic;}
.tog-meta{font-family:var(--font-mono);font-size:10px;color:#9a9a9a;white-space:nowrap;text-align:right;}

/* logo upload */
.logo-preview{display:none;margin-top:6px;padding:8px;background:#000;border:1px solid #2A2A2A;border-radius:3px;text-align:center;}
.logo-preview.is-set{display:block;}
.logo-preview img{max-height:48px;max-width:100%;display:inline-block;}
.logo-clear{margin-top:6px;font:600 11px var(--font-sans);background:transparent;color:var(--orange);border:1px solid #2A2A2A;padding:6px 10px;border-radius:3px;cursor:pointer;}
.logo-clear:hover{background:#1A1A1A;}

/* ---------- document ---------- */
.doc-wrap{padding:36px;display:flex;flex-direction:column;align-items:center;gap:24px;background:#0C0D0E;min-height:100vh;}
.page{width:8.5in;min-height:11in;background:var(--paper);color:var(--ink);position:relative;overflow:hidden;box-shadow:var(--shadow);page-break-after:always;break-after:page;padding:.62in .66in;display:flex;flex-direction:column;}
.page:last-of-type{page-break-after:auto;}
.page-num{position:absolute;bottom:.34in;right:.66in;font-family:var(--font-mono);font-size:9px;color:var(--ink-mute);letter-spacing:.12em;}
.page-foot{position:absolute;bottom:.34in;left:.66in;font-family:var(--font-sans);font-size:8.5px;color:var(--ink-mute);letter-spacing:.1em;text-transform:uppercase;font-weight:600;}

.p-head{display:flex;justify-content:space-between;align-items:flex-end;padding-bottom:8px;border-bottom:2px solid var(--ink);margin-bottom:22px;gap:24px;}
.p-head .h-section{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);font-weight:700;white-space:nowrap;}
.p-head .h-meta{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.04em;color:var(--ink-mute);text-align:right;line-height:1.4;white-space:nowrap;}

.kicker{font-size:10px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--orange);margin:0 0 12px;}
h1.ed,h2.ed,h3.ed{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:0;line-height:.96;margin:0;color:var(--ink);}
h1.ed{font-size:58px;line-height:.92;}
h2.ed{font-size:40px;}
h3.ed{font-size:27px;}
h1.ed em,h2.ed em,h3.ed em{font-style:normal;color:var(--orange);}
.body-copy p{font-size:12.5px;line-height:1.62;margin:0 0 12px;color:var(--ink-2);text-wrap:pretty;text-align:justify;hyphens:auto;-webkit-hyphens:auto;}
.body-copy p:last-child{margin-bottom:0;}
.body-copy.lead p{font-size:14px;line-height:1.6;color:var(--ink);}

/* ---------- cover ---------- */
.page.cover{padding:0;background:#000;color:#fff;}
.cover-art{position:absolute;inset:0;overflow:hidden;z-index:0;}
.cover-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%;display:block;}
.cover-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.20) 32%,rgba(0,0,0,.55) 66%,rgba(10,10,10,.96) 100%);pointer-events:none;}
.cover-content{position:relative;z-index:2;display:flex;flex-direction:column;height:11in;padding:.6in .66in;}
.cover-top{display:flex;justify-content:space-between;align-items:flex-start;}
.cover-top .c-logo img{height:54px;width:auto;display:block;}
.cover-top .c-meta{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.12em;text-align:right;text-transform:uppercase;color:#cfcfcf;}
.cover-top .c-meta .c-meta-label{display:block;font-size:8px;letter-spacing:.24em;color:#9a9a9a;margin-bottom:1px;font-weight:600;}
.cover-top .c-meta div+div{margin-top:8px;}
.cover-spacer{flex:1;}
.cover-positioning{font-family:var(--font-display);font-size:15px;font-weight:600;text-transform:uppercase;letter-spacing:.16em;color:var(--orange);margin:0 0 16px;}
.cover-positioning em{font-style:normal;color:#fff;}
.cover-title h1{font-family:var(--font-display);font-weight:700;font-size:74px;line-height:.9;text-transform:uppercase;margin:0;color:#fff;text-wrap:balance;}
.cover-title h1 em{font-style:normal;color:var(--orange);}
.cover-sub{max-width:5.4in;font-size:14px;line-height:1.55;margin-top:20px;color:#DADADA;}
.cover-bottom{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:22px;margin-top:32px;padding-top:20px;border-top:1px solid rgba(255,255,255,.2);}
.cover-bottom .cb-label{font-size:8.5px;letter-spacing:.22em;text-transform:uppercase;color:#9a9a9a;margin-bottom:7px;font-weight:600;}
.cover-bottom .cb-val{font-size:12.5px;color:#E8E8E8;line-height:1.4;}
.cover-bottom .cb-val .name{font-family:var(--font-display);font-size:20px;line-height:1.05;text-transform:uppercase;font-weight:700;color:#fff;display:block;margin-bottom:2px;}
.cover-dealer{display:flex;align-items:center;gap:10px;margin-top:4px;}
.cover-dealer img{height:30px;width:auto;}

/* ---------- generic footer ---------- */
.foot-line{margin-top:auto;padding-top:14px;border-top:1px solid var(--rule);font-family:var(--font-mono);font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);display:flex;justify-content:space-between;gap:12px;}

/* ---------- reframe page ---------- */
.reframe-grid{display:grid;grid-template-columns:1fr;gap:24px;flex:1;}
.reframe-statement{font-family:var(--font-display);font-weight:700;font-size:34px;line-height:1;text-transform:uppercase;color:var(--ink);max-width:7in;}
.reframe-statement em{font-style:normal;color:var(--orange);}
.reframe-cols{display:grid;grid-template-columns:1.3fr 1fr;gap:32px;align-items:start;}
.reframe-stat{background:var(--steel);color:#fff;border-radius:4px;padding:22px 22px 20px;position:relative;overflow:hidden;}
.reframe-stat::before{content:"";position:absolute;inset:auto -20% -50% auto;width:280px;height:280px;background:var(--grad-energy);opacity:.5;filter:blur(46px);border-radius:50%;}
.reframe-stat>*{position:relative;z-index:1;}
.reframe-stat .rs-num{font-family:var(--font-display);font-weight:700;font-size:72px;line-height:.86;color:var(--orange);}
.reframe-stat .rs-num small{font-size:24px;color:#fff;}
.reframe-stat .rs-label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#cfcfcf;margin-top:10px;font-weight:600;line-height:1.4;}
.reframe-stat .rs-sub{font-size:11px;color:#a8a8a8;margin-top:12px;line-height:1.5;border-top:1px solid #3a3a3a;padding-top:12px;}

/* ---------- cost band / hero stat ---------- */
.cost-hero{background:#0A0A0A;color:#fff;border-radius:4px;padding:22px 26px;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:0;position:relative;overflow:hidden;margin-bottom:20px;}
.cost-hero::before{content:"";position:absolute;inset:auto -8% -50% auto;width:340px;height:340px;background:var(--grad-energy);opacity:.42;filter:blur(48px);border-radius:50%;}
.cost-hero>*{position:relative;z-index:1;}
.ch-tile{padding:0 22px;border-left:1px solid #262626;display:flex;flex-direction:column;}
.ch-tile:first-child{padding-left:0;border-left:0;}
.ch-tile:last-child{padding-right:0;}
.ch-label{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--orange);margin-bottom:8px;font-weight:700;}
.ch-num{font-family:var(--font-display);font-weight:700;font-size:46px;line-height:.92;color:#fff;}
.ch-num.big{font-size:58px;}
.ch-sub{font-size:10.5px;color:#cfcfcf;margin-top:8px;line-height:1.45;}
.ch-foot{font-size:9.5px;color:#9a9a9a;margin-top:auto;padding-top:12px;line-height:1.45;}
.ch-foot strong{color:#fff;font-weight:700;}

/* cost bars */
.cost-bars{margin:6px 0 16px;}
.cb-row{margin-bottom:14px;}
.cb-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:5px;}
.cb-name{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--ink);white-space:nowrap;}
.cb-row.is-ev .cb-name{color:var(--orange-deep);}
.cb-total{font-family:var(--font-display);font-weight:700;font-size:22px;color:var(--ink);}
.cb-total small{font-family:var(--font-sans);font-size:10px;color:var(--ink-mute);font-weight:600;margin-left:2px;}
.cb-track{display:flex;height:26px;background:var(--paper-3);border-radius:3px;overflow:hidden;}
.cb-seg{display:block;height:100%;}
.cb-fuel{background:var(--steel);}
.cb-maint{background:var(--ink-mute);}
.cb-row.is-ev .cb-fuel{background:var(--orange);}
.cb-row.is-ev .cb-maint{background:#F6A988;}
.cb-legend{display:flex;gap:20px;font-size:10px;color:var(--ink-mute);letter-spacing:.06em;text-transform:uppercase;font-weight:600;margin-top:4px;}
.cb-legend span{display:flex;align-items:center;gap:6px;}
.cb-key{width:12px;height:12px;border-radius:2px;display:inline-block;}
.cb-key.cb-fuel{background:var(--steel);}
.cb-key.cb-maint{background:var(--ink-mute);}

/* inputs strip */
.inputs-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 16px;padding:14px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-bottom:14px;}
.inp .lbl{font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:3px;font-weight:600;}
.inp .v{font-family:var(--font-mono);font-size:13px;color:var(--ink);}
.disclaimer{font-size:10px;color:var(--ink-2);font-style:italic;line-height:1.5;}

/* ---------- TCO chart band ---------- */
.tco-band{margin:4px 0 16px;}
.tco-svg{width:100%;height:auto;display:block;}
.tco-grid{stroke:var(--rule);stroke-width:1;}
.tco-axis{font-family:var(--font-mono);font-size:10px;fill:var(--ink-mute);}
.tco-line{fill:none;stroke-width:3;stroke-linejoin:round;stroke-linecap:round;}
.tco-diesel{stroke:var(--steel);stroke-dasharray:2 6;}
.tco-electric{stroke:var(--orange);}
.tco-area{fill:var(--orange);opacity:.10;}
.tco-cross{fill:var(--orange);stroke:#fff;stroke-width:2;}
.tco-cross-line{stroke:var(--orange);stroke-width:1;stroke-dasharray:3 3;}
.tco-cross-lbl{font-family:var(--font-display);font-weight:700;font-size:12px;fill:var(--orange);letter-spacing:.08em;}
.tco-dot{stroke:#fff;stroke-width:1.5;}
.tco-diesel-dot{fill:var(--steel);}
.tco-electric-dot{fill:var(--orange);}
.tco-legend{display:flex;gap:24px;margin-top:6px;font-size:10.5px;font-weight:600;letter-spacing:.04em;}
.tco-legend span{display:flex;align-items:center;gap:7px;color:var(--ink-2);}
.tco-legend i{width:18px;height:3px;display:inline-block;border-radius:2px;}
.tco-legend i.diesel{background:var(--steel);}
.tco-legend i.electric{background:var(--orange);}

.scoreboard{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:0;background:#0A0A0A;color:#fff;border-radius:4px;overflow:hidden;margin-top:4px;}
.scoreboard .sb-tile{padding:18px 20px;border-left:1px solid #232323;}
.scoreboard .sb-tile:first-child{border-left:0;background:var(--orange);}
.sb-label{font-size:9px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;margin-bottom:7px;color:#9a9a9a;}
.scoreboard .sb-tile:first-child .sb-label{color:rgba(255,255,255,.85);}
.sb-num{font-family:var(--font-display);font-weight:700;font-size:40px;line-height:.92;}
.sb-sub{font-size:10px;color:#9a9a9a;margin-top:6px;line-height:1.4;}
.scoreboard .sb-tile:first-child .sb-sub{color:rgba(255,255,255,.9);}

/* ---------- charge page ---------- */
.charge-card{background:var(--steel);color:#fff;border-radius:4px;padding:22px 24px;margin-bottom:18px;}
.ct-bar{display:flex;height:46px;border-radius:4px;overflow:hidden;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;}
.ct-seg{display:flex;align-items:center;justify-content:center;color:#fff;white-space:nowrap;}
.ct-op{background:var(--steel-2);color:#cfcfcf;}
.ct-charge{background:var(--orange);}
.ct-scale{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:9px;color:#9a9a9a;margin-top:6px;letter-spacing:.04em;}
.charge-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:16px 0;}
.cm{padding:0 18px;border-left:1px solid var(--rule);}
.cm:first-child{padding-left:0;border-left:0;}
.cm .cm-num{font-family:var(--font-display);font-weight:700;font-size:34px;line-height:.95;color:var(--ink);}
.cm .cm-num em{font-style:normal;color:var(--orange);}
.cm .cm-label{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);margin-top:6px;font-weight:600;line-height:1.4;}
.charge-verdict{padding:16px 18px;border-radius:4px;font-size:12.5px;line-height:1.55;border-left:4px solid var(--orange);background:var(--orange-tint);color:var(--ink);}
.charge-verdict.is-tight{border-left-color:var(--ink-mute);background:var(--paper-2);}
.charge-verdict strong{font-weight:700;}

/* ---------- spec page ---------- */
.spec-hero{width:calc(100% + 1.32in);margin:0 -.66in 22px;height:3.5in;background:var(--paper-3);position:relative;overflow:hidden;}
.spec-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%;display:block;}
.spec-band{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#0A0A0A;color:#fff;border-radius:4px;overflow:hidden;margin-bottom:18px;}
.spec-band .sp{padding:16px 16px;border-left:1px solid #232323;}
.spec-band .sp:first-child{border-left:0;}
.sp .sp-val{font-family:var(--font-display);font-weight:700;font-size:30px;line-height:.95;color:#fff;}
.sp .sp-val em{font-style:normal;color:var(--orange);}
.sp .sp-lbl{font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:#9a9a9a;margin-top:6px;font-weight:600;}
.safety-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin-top:4px;}
.safety-card{border-top:2px solid var(--orange);padding-top:10px;}
.safety-card h5{font-family:var(--font-display);font-weight:700;font-size:17px;text-transform:uppercase;margin:0 0 5px;color:var(--ink);}
.safety-card p{font-size:11px;line-height:1.5;color:var(--ink-2);margin:0;}

/* ---------- config / build page ---------- */
.config-card{background:#0A0A0A;color:#fff;border-radius:4px;padding:22px 24px;position:relative;overflow:hidden;margin-bottom:18px;display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;}
.config-card::before{content:"";position:absolute;top:0;right:0;width:120px;height:120px;background:var(--grad-energy);opacity:.55;filter:blur(40px);}
.config-card>*{position:relative;z-index:1;}
.cc-kwh{font-family:var(--font-display);font-weight:700;font-size:52px;line-height:.9;color:var(--orange);white-space:nowrap;}
.cc-kwh small{display:block;font-size:14px;color:#fff;letter-spacing:.08em;font-weight:600;}
.cc-tier{font-family:var(--font-display);font-weight:700;font-size:24px;text-transform:uppercase;color:#fff;margin-bottom:4px;}
.cc-blurb{font-size:11.5px;color:#cfcfcf;line-height:1.5;}
.build-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:26px;flex:1;}
.opt-group{break-inside:avoid;margin-bottom:12px;}
.opt-group h5,.std-group h5{font-family:var(--font-display);font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.03em;color:var(--ink);margin:0 0 5px;padding-bottom:3px;border-bottom:1px solid var(--rule);}
.opt-group ul,.std-group ul{list-style:none;margin:0 0 4px;padding:0;}
.opt-group li{font-size:11px;line-height:1.4;color:var(--ink-2);padding:2px 0 2px 16px;position:relative;}
.opt-check{position:absolute;left:0;color:var(--orange);font-weight:700;}
.opt-group li em{font-style:italic;color:var(--ink-mute);font-size:10px;}
/* page 7 "Included in this build" — 2-col compact list so heavily-optioned builds fit one page */
#opt-list{columns:2;column-gap:16px;}
#opt-list .opt-group{margin-bottom:7px;break-inside:avoid;}
#opt-list .opt-group h5{font-size:10.5px;margin:0 0 2px;padding-bottom:2px;}
#opt-list .opt-group li{font-size:9px;line-height:1.28;padding:1px 0 1px 13px;}
#opt-list .opt-group li em{font-size:8px;}
.opt-empty{font-size:11.5px;color:var(--ink-mute);font-style:italic;}
.std-group li{font-size:10.5px;line-height:1.5;color:var(--ink-2);padding:3px 0 3px 14px;position:relative;}
.std-group{margin-bottom:9px;}
.std-group li::before{content:"›";position:absolute;left:0;color:var(--ink-mute);}
.std-col{columns:1;}
#std-list{columns:1;}
.build-col-head{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);font-weight:700;margin:0 0 10px;}

/* ---------- pricing / investment ---------- */
.price-summary{background:var(--paper-2);padding:18px 20px;border-radius:4px;margin-top:8px;}
.price-table{width:100%;border-collapse:collapse;font-size:12.5px;}
.price-table td{padding:9px 0;border-top:1px solid var(--rule);}
.price-table tr:first-child td{border-top:0;}
.price-table td.num{text-align:right;font-family:var(--font-mono);white-space:nowrap;}
.price-table .label-main{font-weight:600;color:var(--ink);}
.price-table .label-sub{font-size:10px;color:var(--ink-mute);}
.price-table .subtotal td{border-top:1.5px solid var(--ink);padding-top:11px;font-weight:700;}
.price-table .total td{border-top:2px solid var(--ink);padding-top:13px;font-family:var(--font-display);font-weight:700;font-size:26px;text-transform:uppercase;}
.price-table .total td.num{font-family:var(--font-display);font-size:26px;}
.price-note{font-size:10px;color:var(--ink-mute);margin-top:12px;font-style:italic;line-height:1.5;}

/* discount row */
.price-table .discount-row td,.price-table .discount-row td.num{color:var(--orange-deep);font-weight:600;}

/* full options catalog (page 8) — compact 4-col grid so all 110 options fit one Letter page */
.pg-catalog .p-head{margin-bottom:12px;}
.pg-catalog .kicker{margin-bottom:5px;}
#catalog-list{columns:4;column-gap:14px;}
#catalog-list .cat-group{break-inside:avoid;margin-bottom:6px;}
#catalog-list .cat-group h5{font-family:var(--font-display);font-weight:700;font-size:10px;text-transform:uppercase;letter-spacing:.02em;color:var(--ink);margin:0 0 2px;padding-bottom:1.5px;border-bottom:1px solid var(--rule);}
#catalog-list .cat-group ul{list-style:none;margin:0;padding:0;}
#catalog-list .cat-group li{font-size:7.8px;line-height:1.22;color:var(--ink-mute);padding:1px 0 1px 14px;position:relative;break-inside:avoid;}
#catalog-list .cat-group li.is-in{color:var(--ink);font-weight:600;}
/* circled mark so included options read at a glance: filled orange = selected, outline = available */
#catalog-list .cat-mark{position:absolute;left:0;top:1px;width:10px;height:10px;box-sizing:border-box;border:1px solid #9E9B96;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:7.5px;line-height:1;font-weight:700;color:#9E9B96;}
#catalog-list .cat-group li.is-in .cat-mark{background:var(--orange);border-color:var(--orange);color:#fff;}

/* brief insight callout (cost page, brief mode only) */
.brief-insight{display:none;align-items:center;gap:16px;background:var(--steel);color:#fff;border-radius:4px;padding:13px 18px;margin-bottom:16px;}
.brief-insight .bi-num{font-family:var(--font-display);font-weight:700;font-size:44px;line-height:.9;color:var(--orange);flex:0 0 auto;}
.brief-insight .bi-txt{font-size:11.5px;line-height:1.45;color:#dcdcdc;}

/* brief / full mode */
body.brief .brief-only{display:flex;}
body.brief .pg-reframe,body.brief .pg-build,body.brief .pg-catalog{display:none !important;}

.invest-band{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px;}
.invest-tile{border:1px solid var(--rule);border-radius:4px;padding:16px 18px;}
.invest-tile.dark{background:#0A0A0A;color:#fff;border-color:#0A0A0A;position:relative;overflow:hidden;}
.invest-tile.dark::before{content:"";position:absolute;inset:auto -10% -50% auto;width:220px;height:220px;background:var(--grad-energy);opacity:.4;filter:blur(40px);border-radius:50%;}
.invest-tile.dark>*{position:relative;z-index:1;}
.it-label{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);font-weight:700;margin-bottom:8px;}
.invest-tile.dark .it-label{color:var(--orange);}
.it-num{font-family:var(--font-display);font-weight:700;font-size:38px;line-height:.92;color:var(--ink);}
.invest-tile.dark .it-num{color:#fff;}
.it-sub{font-size:10.5px;color:var(--ink-2);margin-top:7px;line-height:1.45;}
.invest-tile.dark .it-sub{color:#bdbdbd;}

/* ---------- order / acceptance ---------- */
.next-steps{background:#0A0A0A;color:#fff;border-radius:4px;padding:12px 22px;position:relative;overflow:hidden;margin:9px 0;}
.next-steps::before{content:"";position:absolute;inset:auto -8% -50% auto;width:240px;height:240px;background:var(--grad-energy);opacity:.4;filter:blur(42px);border-radius:50%;}
.next-steps>*{position:relative;z-index:1;}
.ns-label{font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--orange);margin-bottom:10px;font-weight:700;}
.next-steps ol{margin:0;padding-left:22px;font-size:12px;line-height:1.6;color:#E2E2E2;}
.next-steps ol li{margin-bottom:4px;}
.next-steps ol li::marker{color:var(--orange);font-weight:700;}

.po-header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-bottom:12px;border-bottom:2px solid var(--ink);margin-bottom:12px;}
.po-mark{font-family:var(--font-display);font-weight:700;font-size:36px;line-height:1;text-transform:uppercase;}
.po-mark em{font-style:normal;color:var(--orange);}
.po-sub{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-mute);font-weight:700;margin-top:3px;}
.po-header-logo{height:46px;width:auto;}
.po-meta{text-align:right;font-family:var(--font-mono);font-size:10px;color:var(--ink-2);line-height:1.6;}
.po-meta .po-meta-label{color:var(--ink-mute);text-transform:uppercase;letter-spacing:.16em;font-size:8px;display:block;}
.po-parties{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:10px;}
.po-party{border:1px solid var(--rule);border-radius:4px;padding:10px 14px;position:relative;}
.po-party h5{font-size:8.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-mute);margin:0 0 6px;font-weight:700;}
.po-party .pp-name{font-family:var(--font-display);font-weight:700;font-size:17px;text-transform:uppercase;margin-bottom:4px;}
.po-party .pp-line{font-size:10.5px;color:var(--ink-2);line-height:1.45;}
.po-party .pp-logo{height:30px;width:auto;max-width:170px;object-fit:contain;object-position:left center;margin-bottom:8px;display:block;}
.po-vehicle-table{width:100%;border-collapse:collapse;margin-bottom:10px;}
.po-vehicle-table td{padding:8px 10px;border:1px solid var(--rule);border-top:0;vertical-align:top;}
.po-vehicle-table tr:first-child td{border-top:1px solid var(--rule);}
.po-vehicle-table .pa-lbl{display:block;font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);font-weight:700;margin-bottom:2px;}
.po-vehicle-table .pa-val{font-size:11px;font-weight:600;color:var(--ink);}
.po-table{width:100%;border-collapse:collapse;margin-bottom:10px;}
.po-table thead th{font-size:8.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);text-align:left;padding:6px 8px 8px;border-bottom:1.5px solid var(--ink);font-weight:700;}
.po-table thead th.num{text-align:right;}
.po-table tbody td{padding:6px 8px;border-bottom:1px solid var(--rule);vertical-align:top;font-size:11px;}
.po-table tbody td.num{text-align:right;font-family:var(--font-mono);white-space:nowrap;}
.po-desc-main{font-weight:700;color:var(--ink);font-size:11.5px;margin-bottom:2px;}
.po-desc-sub{font-size:9px;color:var(--ink-mute);line-height:1.3;}
.po-totals{margin-left:auto;width:60%;}
.po-totals .pt-row{display:flex;justify-content:space-between;padding:6px 8px;font-size:11.5px;border-bottom:1px solid var(--rule);}
.po-totals .pt-row .pt-label{color:var(--ink-2);}
.po-totals .pt-row .pt-val{font-family:var(--font-mono);font-weight:600;}
.po-totals .pt-row.grand{border-bottom:0;border-top:2px solid var(--ink);margin-top:4px;background:#0A0A0A;color:#fff;padding:12px 12px;}
.po-totals .pt-row.grand .pt-label,.po-totals .pt-row.grand .pt-val{color:#fff;font-family:var(--font-display);font-weight:700;font-size:21px;text-transform:uppercase;white-space:nowrap;}
.po-acceptance{font-size:9.5px;color:var(--ink-2);line-height:1.5;background:var(--paper-2);padding:8px 12px;border-left:3px solid var(--orange);margin-top:9px;text-align:justify;hyphens:auto;}
.po-sig-grid{margin-top:12px;display:grid;grid-template-columns:2fr 1fr;gap:14px 28px;}
.po-sig-line{border-bottom:1.5px solid var(--ink);padding-top:21px;font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-mute);padding-bottom:4px;font-weight:700;}
.po-terms{margin-top:8px;font-size:8px;color:var(--ink-mute);line-height:1.45;font-style:italic;}

/* ---------- print ---------- */
@page{size:Letter;margin:0;}
@media print{
  html,body{-webkit-print-color-adjust:exact !important;print-color-adjust:exact !important;background:#fff !important;}
  .toolbar,.editor{display:none !important;}
  .app{grid-template-columns:1fr;}
  .doc-wrap{padding:0;gap:0;background:#fff !important;}
  .page{box-shadow:none;margin:0;height:11in;min-height:11in;overflow:hidden;page-break-after:always;break-after:page;}
  .page:last-of-type{page-break-after:auto;}
  .page.cover{background:#000 !important;}
  .cost-hero,.config-card,.scoreboard,.charge-card,.spec-band,.reframe-stat,.next-steps,.invest-tile.dark,.brief-insight{background:#0A0A0A !important;color:#fff !important;}
  .scoreboard .sb-tile:first-child{background:var(--orange) !important;}
  .ct-charge{background:var(--orange) !important;}
}
@media (max-width:1100px){.app{grid-template-columns:340px 1fr;}}
@media (max-width:860px){.app{grid-template-columns:1fr;}.editor{position:static;height:auto;}body.editor-collapsed .editor{display:none;}}
