body{margin:0}img{max-width:100%}[hidden]{display:none!important}

/* Layout: inputs in a wide left column, a sticky settlement panel on the right; stacks to one column on phones. */
:root {
  --banner: url(data:image/jpeg;base64,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);
  --bg: #eef4e8;
  --hero: #245c28;
  --hero-fg: #ffffff;
  --lime: #9ccc3c;
  --band: #dcebd0;
  --surface: #ffffff;
  --tint: #e8f0e1;
  --line: #d5dbd3;
  --fg: #1c2a1f;
  --muted: #5f6862;
  --brand: #4a7d22;
  --brand-strong: #164d23;
  --on-brand: #ffffff;
  --credit: #2f6f1c;
  --charge: #9a4a12;
  --chip: #ffffff;
  --focus: #164d23;
  --font: "Lato", "Segoe UI", Helvetica, Arial, sans-serif;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #0f150f; --hero: #1d4a22; --hero-fg: #ffffff; --lime: #9ccc3c; --band: #2a3d27; --surface: #1a211a; --tint: #223022; --line: #344034; --fg: #e9efe6; --muted: #a3ada4;
    --brand: #8cc558; --brand-strong: #b9e293; --on-brand: #10200c; --credit: #9bd46a; --charge: #f0a868;
    --chip: #ffffff; --focus: #b9e293; color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --bg: #0f150f; --hero: #1d4a22; --hero-fg: #ffffff; --lime: #9ccc3c; --band: #2a3d27; --surface: #1a211a; --tint: #223022; --line: #344034; --fg: #e9efe6; --muted: #a3ada4;
  --brand: #8cc558; --brand-strong: #b9e293; --on-brand: #10200c; --credit: #9bd46a; --charge: #f0a868;
  --chip: #ffffff; --focus: #b9e293; color-scheme: dark;
}
* { box-sizing: border-box; }
body { background: var(--bg); color: var(--fg); font-family: var(--font); font-size: 15px; line-height: 1.45; }
.wrap { max-width: 1180px; margin: 0 auto; padding-inline: 20px; padding-block: 24px 56px; display: flex; flex-direction: column; gap: 24px; }
header.top { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; padding: 26px 28px; border-radius: 8px; border-bottom: 6px solid var(--lime); color: var(--hero-fg); background: var(--hero) var(--banner) center / cover no-repeat; }
.logo { background: var(--chip); border-radius: 8px; padding: 12px 20px; display: flex; }
.logo img { height: 88px; width: auto; display: block; }
.top .kicker { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--lime); }
.top h1 { font-size: 32px; font-weight: 900; margin: 2px 0 0; line-height: 1.12; text-wrap: balance; color: var(--hero-fg); }
.top p { margin: 8px 0 0; color: var(--hero-fg); opacity: .92; max-width: 66ch; }
.top .head { flex: 1 1 320px; min-width: 0; }
.grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 24px; align-items: start; }
.col { display: flex; flex-direction: column; gap: 24px; min-width: 0; }
section.panel { background: var(--surface); border: 1px solid var(--line); border-top: 5px solid var(--brand); border-radius: 8px; padding: 20px; display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.panel h2 { font-size: 20px; font-weight: 900; margin: 6px 0 0; padding-bottom: 8px; color: var(--brand-strong); border-bottom: 2px solid var(--brand); }
.panel .lede { margin: 0; color: var(--muted); max-width: 68ch; }
.eyebrow { display: inline-block; font-size: 11.5px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--on-brand); background: var(--brand); padding: 3px 10px; border-radius: 999px; }
.settle .hero .eyebrow { background: none; padding: 0; border-radius: 0; }
label, .lab { font-size: 12px; font-weight: 700; color: var(--muted); display: block; }
input[type="number"], input[type="text"], select {
  font: inherit; color: var(--fg); background: var(--surface); border: 1px solid var(--line); border-radius: 5px;
  padding: 7px 9px; width: 100%; min-width: 0; font-variant-numeric: tabular-nums;
}
input:focus-visible, select:focus-visible, button:focus-visible, summary:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
button { font: inherit; cursor: pointer; }
.btn { background: var(--brand); color: var(--on-brand); border: 0; border-radius: 5px; padding: 9px 14px; font-weight: 700; }
.btn.ghost { background: transparent; color: var(--brand-strong); border: 1px solid var(--line); }
.btn.x { background: transparent; color: var(--muted); border: 1px solid var(--line); padding: 6px 9px; line-height: 1; }
.num { font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }

/* retiring fleet rows */
.rows { display: flex; flex-direction: column; gap: 8px; }
.rows > .row, .rows > .loc { padding-inline: 10px; }
.row, .rowhead { display: grid; grid-template-columns: minmax(0, 1.9fr) minmax(0, 1.8fr) 78px 88px 96px 36px; gap: 8px; align-items: center; }
.rowhead { font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--on-brand); background: var(--brand); padding: 8px 10px; border-radius: 5px; }
.row .unit, .row .total { font-variant-numeric: tabular-nums; text-align: right; }
.row .total { font-weight: 700; }
.row .fee { color: var(--charge); }
.row .lab { display: none; }
.loc, .lochead { display: grid; grid-template-columns: minmax(0, 1fr) 66px 66px 66px 66px 58px 84px 36px; gap: 8px; align-items: center; }
.lochead { font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--on-brand); background: var(--brand); padding: 8px 10px; border-radius: 5px; }
.loc .pal, .loc .cost { font-variant-numeric: tabular-nums; text-align: right; }
.loc .cost { font-weight: 700; }
.loc .lab { display: none; }
.loc.off .cost, .loc.off .pal { color: var(--muted); font-weight: 400; }
.warn { color: var(--charge); font-size: 13px; }
.ok { color: var(--credit); font-size: 13px; }
.rowfoot { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; }
.rowfoot .sum { color: var(--muted); }

.fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 14px; }
.field { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.field small, .hint { color: var(--muted); font-size: 12.5px; }
.check { display: flex; gap: 8px; align-items: center; font-size: 13.5px; font-weight: 400; color: var(--fg); }
.check input { width: 16px; height: 16px; accent-color: var(--brand); }

/* services */
.svc { display: grid; grid-template-columns: 24px minmax(0, 1fr) 96px 78px 100px; gap: 10px; align-items: center; padding: 9px 10px; border-top: 1px solid var(--line); }
.svc:first-of-type { border-top: 0; }
.svc input[type="checkbox"] { width: 17px; height: 17px; accent-color: var(--brand); }
.svc .name { font-weight: 700; }
.svc .desc { color: var(--muted); font-size: 12.5px; font-weight: 400; }
.svc.off .name, .svc.off .num { color: var(--muted); }
.svchead { display: grid; grid-template-columns: 24px minmax(0, 1fr) 96px 78px 100px; gap: 10px; font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--on-brand); background: var(--brand); padding: 8px 10px; border-radius: 5px; }
.group { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--brand-strong); background: var(--band); padding: 6px 10px; border-radius: 4px; margin-top: 8px; }

/* settlement panel */
.side { position: sticky; top: calc(env(safe-area-inset-top, 0px) + 16px); display: flex; flex-direction: column; gap: 16px; }
.settle { background: var(--surface); border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
.settle .hero { background: var(--hero) var(--banner) center / cover no-repeat; color: var(--hero-fg); padding: 20px; border-bottom: 5px solid var(--lime); }
.settle .hero .eyebrow { color: var(--lime); }
.settle .hero .big { font-size: 38px; font-weight: 900; line-height: 1.1; font-variant-numeric: tabular-nums; }
.settle .hero .sub { font-size: 13px; opacity: .9; }
.lines { padding: 6px 20px 16px; display: flex; flex-direction: column; }
.line { display: flex; justify-content: space-between; gap: 12px; padding-block: 8px; border-bottom: 1px solid var(--line); }
.line span:last-child { font-variant-numeric: tabular-nums; white-space: nowrap; }
.line.sub { color: var(--muted); font-size: 13px; padding-block: 4px; border-bottom: 0; padding-left: 12px; }
.line.total { font-weight: 900; border-bottom: 0; font-size: 16px; }
.line.band { background: var(--band); margin-inline: -20px; padding-inline: 20px; border-bottom: 0; font-weight: 900; }
.credit { color: var(--credit); }
.charge { color: var(--charge); }
.seg { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--brand); padding-top: 14px; }
.callout { background: var(--band); border-radius: 6px; padding: 12px 14px; font-size: 13.5px; }
.callout b { font-variant-numeric: tabular-nums; }
.caveat { border: 1px solid var(--line); border-left: 4px solid var(--brand); border-radius: 6px; padding: 12px 14px; font-size: 13.5px; background: var(--surface); }
.caveat .sel, footer .sel { user-select: all; font-weight: 700; }
.actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
#copyStatus { color: var(--muted); font-size: 13px; }

.tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; }
.tile { background: var(--band); border-left: 4px solid var(--brand); border-radius: 6px; padding: 14px 16px; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.tile .fig { font-size: 28px; font-weight: 900; color: var(--brand-strong); font-variant-numeric: tabular-nums; line-height: 1.15; }
.panel.dim .tiles { opacity: .5; }
/* rate card */
details.panel { background: var(--surface); border: 1px solid var(--line); border-radius: 8px; padding: 0; }
details.panel { border-top: 5px solid var(--brand); }
details.panel > summary { cursor: pointer; padding: 16px 20px; font-size: 20px; font-weight: 900; color: var(--brand-strong); }
details.panel .inner { padding: 0 20px 20px; display: flex; flex-direction: column; gap: 16px; }
.scroll { overflow-x: auto; }
table.rates { border-collapse: collapse; width: 100%; min-width: 560px; }
table.rates th { text-align: left; font-size: 11.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); padding: 6px 8px; border-bottom: 1px solid var(--line); }
table.rates td { padding: 5px 8px; border-bottom: 1px solid var(--line); vertical-align: middle; }
table.rates td.cat { color: var(--muted); font-size: 13px; }
table.rates input { max-width: 110px; }
table.rates input.wide { max-width: none; }
#assume h3 { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--brand); margin: 6px 0 0; }
#assume ul { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 4px; max-width: 80ch; }
#assume table { border-collapse: collapse; width: 100%; min-width: 420px; }
#assume th { text-align: left; font-size: 11.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); padding: 6px 8px; border-bottom: 1px solid var(--line); }
#assume td { padding: 6px 8px; border-bottom: 1px solid var(--line); }
#assume .num { text-align: right; }
.svc .rate { font-variant-numeric: tabular-nums; }
.note { color: var(--muted); font-size: 12.5px; max-width: 80ch; margin: 0; }
footer { color: var(--muted); font-size: 12.5px; border-top: 3px solid var(--brand); padding-top: 14px; }
footer .sel { user-select: all; }

.drop { border: 1.5px dashed var(--line); border-radius: 6px; padding: 12px; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; background: var(--surface); }
.drop.over { border-color: var(--brand); background: var(--tint); }
.drop .prev { background: var(--chip); border-radius: 4px; padding: 4px 6px; display: flex; }
.drop .prev img { max-height: 44px; max-width: 150px; width: auto; height: auto; display: block; }
.drop .txt { flex: 1 1 140px; min-width: 0; font-size: 13px; color: var(--muted); }
.drop input[type="file"] { position: absolute; width: 1px; height: 1px; opacity: 0; }
.drop label.btn { display: inline-block; font-size: 13.5px; color: var(--brand-strong); cursor: pointer; }
.drop label.btn:focus-within { outline: 2px solid var(--focus); outline-offset: 2px; }
#bc { display: none; }
.field.org input { max-width: 100%; }
@page { size: A4; margin: 24mm 18mm 20mm;
  @top-left { content: "revalu"; font: 700 9pt "Lato", Arial, sans-serif; color: #589328; border-bottom: 0.5pt solid #dfe4de; }
  @top-right { content: "PC Refresh Business Case"; font: 8pt "Lato", Arial, sans-serif; color: #6e7470; border-bottom: 0.5pt solid #dfe4de; }
  @bottom-left { content: "Recover · Recycle · Revalue"; font: 8pt "Lato", Arial, sans-serif; color: #6e7470; border-top: 0.5pt solid #dfe4de; }
  @bottom-right { content: counter(page); font: 8pt "Lato", Arial, sans-serif; color: #6e7470; border-top: 0.5pt solid #dfe4de; }
}
@page :first { @top-left { content: ""; border: 0; } @top-right { content: ""; border: 0; } @bottom-left { content: ""; border: 0; } @bottom-right { content: ""; border: 0; } }
@media print {
  :root, :root[data-theme="dark"], :root:not([data-theme="light"]) { --bg: #ffffff; --surface: #ffffff; --tint: #e8f0e1; --line: #d5dbd3; --fg: #1a1a1a; --muted: #6e7470; --brand: #589328; --brand-strong: #164d23; --credit: #2f6f1c; --charge: #9a4a12; color-scheme: light; }
  body { background: #ffffff; font-size: 10pt; line-height: 1.4; }
  .wrap > *:not(#bc) { display: none !important; }
  .wrap { padding: 0; max-width: none; display: block; }
  #bc { display: block; color: var(--fg); }
  #bc * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  #bc .cover { break-after: page; text-align: left; }
  #bc .cover .logo-lg { display: block; margin: 4mm auto 18mm; width: 112mm; height: auto; }
  #bc .cover .kicker { color: var(--brand); font-weight: 700; font-size: 13pt; letter-spacing: .02em; margin: 0 0 3pt; }
  #bc .cover .title { font-size: 26pt; font-weight: 900; line-height: 1.15; margin: 0 0 13pt; color: var(--fg); }
  #bc .cover .illus { display: block; margin: 8mm auto 10mm; width: 52mm; height: auto; }
  #bc .cover .pillars { display: block; margin: 0 auto; width: 138mm; height: auto; }
  #bc .cover .logo-lg.cust { width: auto; max-width: 92mm; max-height: 38mm; margin-bottom: 20mm; }
  #bc .cover.has-cust .illus { width: 40mm; margin: 4mm auto 6mm; }
  #bc .cover .prep { text-align: center; color: var(--muted); font-size: 9pt; margin: 6mm 0 2mm; }
  #bc .cover .logo-sm { display: block; margin: 0 auto; width: 66mm; height: auto; }
  #bc h2 { font-size: 17pt; font-weight: 900; margin: 16pt 0 8pt; color: var(--brand-strong); border-bottom: 1.5pt solid var(--brand); padding-bottom: 4pt; break-after: avoid; }
  #bc h2:first-of-type { margin-top: 0; }
  #bc h3 { font-size: 12.5pt; font-weight: 700; margin: 12pt 0 5pt; color: var(--brand); break-after: avoid; }
  #bc p { margin: 0 0 7pt; }
  #bc table { width: 100%; border-collapse: collapse; margin: 4pt 0 8pt; break-inside: avoid; }
  #bc h2 + p, #bc h3 + table, #bc p + table, #bc h2 + table { break-before: avoid; }
  #bc h2 + p { break-after: avoid; }
  #bc th { text-align: left; font-size: 9.5pt; font-weight: 700; color: #ffffff; background: var(--brand); border: 0.5pt solid var(--line); padding: 5pt 7pt; }
  #bc td { padding: 5pt 7pt; border: 0.5pt solid var(--line); vertical-align: middle; font-size: 9.5pt; }
  #bc td:first-child { font-weight: 700; }
  #bc table.plain tr:not(.tot):not(.net) td:first-child { font-weight: 400; }
  #bc tr { break-inside: avoid; }
  #bc tr:nth-child(odd):not(.tot):not(.net) td { background: #f6f9f3; }
  #bc .r { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
  #bc .tot td { font-weight: 700; background: var(--tint); color: var(--brand-strong); }
  #bc .net td { font-weight: 700; background: var(--brand); color: #ffffff; }
  #bc .small { font-size: 8.5pt; color: var(--muted); font-weight: 400; }
  #bc .note { font-style: italic; color: var(--muted); font-size: 9pt; }
  #bc .box { background: var(--tint); border-left: 4pt solid var(--brand); border-radius: 1.5mm; padding: 8pt 11pt; margin: 8pt 0; break-inside: avoid; }
  #bc .keep { break-inside: avoid; }
  #bc .cover .band { background: #245c28 var(--banner) center / cover no-repeat; border-bottom: 3mm solid #9ccc3c; color: #ffffff; padding: 9mm 10mm 8mm; margin: 0 0 8mm; border-radius: 2mm; }
  #bc .cover .band .kicker { color: #c5e88a; }
  #bc .cover .band .title { color: #ffffff; margin-bottom: 6pt; }
  #bc .cover .band .who { font-size: 17pt; font-weight: 700; margin: 8pt 0 0; padding-top: 8pt; border-top: 0.5pt solid rgba(255,255,255,.45); }
  #bc .cover .band .date { font-size: 9.5pt; margin: 4pt 0 0; opacity: .9; }
  #bc .strip { height: 9mm; background: #245c28 var(--banner) center / cover no-repeat; border-bottom: 1.2mm solid #9ccc3c; border-radius: 1.2mm; margin: 0 0 9pt; }
  #bc .tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3mm; margin: 6pt 0 9pt; break-inside: avoid; }
  #bc .tile { background: var(--tint); border-top: 2.5pt solid var(--brand); border-left: 0; border-radius: 1.5mm; padding: 7pt 8pt; display: block; }
  #bc .tile .k { font-size: 8pt; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--muted); }
  #bc .tile .v { font-size: 17pt; font-weight: 900; color: var(--brand-strong); line-height: 1.2; font-variant-numeric: tabular-nums; }
  #bc .tile .s { font-size: 8pt; color: var(--muted); }
  #bc .tile.dark { background: #245c28; border-top-color: #9ccc3c; }
  #bc .tile.dark .k, #bc .tile.dark .s { color: #dcebd0; }
  #bc .tile.dark .v { color: #ffffff; }
  #bc .steps { list-style: none; padding: 0; margin: 4pt 0 10pt; counter-reset: st; }
  #bc .steps li { counter-increment: st; position: relative; padding: 3pt 0 3pt 26pt; margin: 0 0 5pt; }
  #bc .steps li::before { content: counter(st); position: absolute; left: 0; top: 1pt; width: 17pt; height: 17pt; border-radius: 50%; background: var(--brand); color: #ffffff; font-weight: 700; font-size: 9.5pt; text-align: center; line-height: 17pt; }
  #bc .cta { background: var(--tint); border-left: 4pt solid var(--brand); border-radius: 1.5mm; padding: 11pt 14pt; margin-top: 10pt; break-inside: avoid; }
  #bc .cta .ready { margin-top: 0; }
  #bc .cta .sig { margin-top: 6pt; }
  #bc .esgimg { display: block; width: 100%; height: auto; margin: 6pt 0 9pt; }
  #bc ul { margin: 0 0 8pt; padding-left: 16pt; }
  #bc li { margin-bottom: 4pt; }
  #bc .ready { color: var(--brand); font-weight: 700; font-size: 15pt; margin: 14pt 0 2pt; }
  #bc .sig { margin-top: 10pt; break-inside: avoid; }
  #bc .sig .nm { font-weight: 700; font-size: 13pt; }
  #bc .sig .tag { font-style: italic; color: var(--brand); }
  #bc .sig div { line-height: 1.5; }
}
@media (max-width: 940px) {
  .grid { grid-template-columns: minmax(0, 1fr); }
  .side { position: static; order: -1; }
}
@media (max-width: 640px) {
  .rowhead { display: none; }
  .row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 36px; grid-template-areas: "model model x" "grade qty qty" "unit total total"; padding: 10px; border: 1px solid var(--line); border-radius: 6px; }
  .row .model { grid-area: model; } .row .grade { grid-area: grade; } .row .qty { grid-area: qty; }
  .row .unit { grid-area: unit; text-align: left; } .row .total { grid-area: total; } .row .x { grid-area: x; }
  .row .lab { display: block; font-weight: 400; }
  .lochead { display: none; }
  .loc { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-areas: "city city city x" "l d m a" "pal pal cost cost"; padding: 10px; border: 1px solid var(--line); border-radius: 6px; }
  .loc .city { grid-area: city; } .loc .x { grid-area: x; justify-self: end; } .loc .ql { grid-area: l; } .loc .qd { grid-area: d; } .loc .qm { grid-area: m; } .loc .qa { grid-area: a; }
  .loc .pal { grid-area: pal; text-align: left; } .loc .cost { grid-area: cost; }
  .loc .lab { display: block; font-weight: 400; }
  .svchead { display: none; }
  .svc { grid-template-columns: 24px minmax(0, 1fr) 96px; grid-template-areas: "c name name" ". rate total"; }
  .svc .c { grid-area: c; } .svc .name { grid-area: name; } .svc .rate { grid-area: rate; } .svc .cnt { display: none; } .svc .tot { grid-area: total; }
  .settle .hero .big { font-size: 32px; }
}
@media (prefers-reduced-motion: no-preference) { .btn { transition: filter .12s; } .btn:hover { filter: brightness(1.08); } }
