.quote-app{color-scheme:dark;--page-bg:#101216;--surface:#191c21;--surface-raised:#23272e;--doc-text:#f2f3f5;--doc-muted:#b7bdc7;--doc-border:#3b414c;--doc-accent:#91b5ff;--warranty-bg:#152820;--warranty-text:#a9ddbf;background:var(--page-bg);color:var(--doc-text)}
[data-theme="light"] .quote-app{color-scheme:light;--page-bg:#f5f6f8;--surface:#fff;--surface-raised:#f7f8fa;--doc-text:#17202d;--doc-muted:#556170;--doc-border:#d8dde5;--doc-accent:#0b5cff;--warranty-bg:#f0f8f2;--warranty-text:#23663e}
.quote-app header{max-width:1080px;margin:0 auto;padding:20px 28px;border:0;border-bottom:1px solid var(--doc-border);border-radius:0;background:transparent;box-shadow:none}
.quote-app .header-tools{display:flex;align-items:center;gap:20px}
.quote-app header .header-tools>span{color:var(--doc-muted);font-size:12px;letter-spacing:.06em}
.quote-app .theme-toggle{min-height:38px;padding:7px 12px;border:1px solid var(--doc-border);border-radius:8px;background:var(--surface);color:var(--doc-text);font-size:14px;font-weight:600;box-shadow:none}
.quote-app .theme-toggle:hover{background:var(--surface-raised)}
.quote-app main{max-width:800px;margin:32px auto 0}
.quote-app .share-card{background:var(--surface);border:1px solid var(--doc-border);box-shadow:none;border-radius:14px}
.quote-app .share-title{color:var(--doc-text);letter-spacing:-.02em;font-size:26px}
.quote-app .share-eyebrow{color:var(--doc-accent)}
.quote-app .share-byline,.quote-app .intro{color:var(--doc-muted)}
.quote-app.showing-quote .share-card,.quote-app.showing-quote .intro{display:none}
.quote-app .progress-meta,.quote-app .progress-meta span:last-child{color:var(--doc-muted)}
.quote-app .progress i{background:var(--doc-border)}
.quote-app .card{background:var(--surface);color:var(--doc-text);border:1px solid var(--doc-border);border-radius:16px;padding:32px;box-shadow:0 8px 30px rgba(0,0,0,.06)}
.quote-app h1{color:var(--doc-text);font-size:clamp(28px,4.5vw,38px);font-weight:720;line-height:1.15;letter-spacing:-.025em;text-transform:none}
.quote-app .kicker{color:var(--doc-accent);font-size:12px;font-weight:700;letter-spacing:.08em}
.quote-app .step-help,.quote-app label,.quote-app .endpoints{color:var(--doc-muted)}
.quote-app .battery-stepper{background:var(--surface-raised);border-color:var(--doc-border);min-height:170px}
.quote-app .battery-count strong,.quote-app .rate{color:var(--doc-accent)}
.quote-app .battery-count span{color:var(--doc-text)}
.quote-app .choice{background:var(--surface-raised);color:var(--doc-text);border:1px solid var(--doc-border);border-radius:10px;min-height:68px;box-shadow:none}
.quote-app .choice:hover{background:var(--surface);border-color:var(--doc-accent);transform:none;box-shadow:none}
.quote-app .choice.selected,.quote-app .choice.selected:hover{background:#0b5cff;border-color:#0b5cff;color:#fff}
.quote-app .choice.selected:after{color:#fff}
.quote-app .primary{background:#0b5cff;color:#fff;border-color:#0b5cff;border-radius:10px;box-shadow:none}
.quote-app .primary:hover{background:#0746c4;box-shadow:none;transform:none}
.quote-app .secondary{background:var(--surface-raised);color:var(--doc-text);border-color:var(--doc-border);border-radius:10px}
.quote-app .secondary:hover{background:var(--surface);border-color:var(--doc-accent)}
.quote-app input[type="range"]{accent-color:#0b5cff}
.quote-app button:focus-visible,.quote-app a:focus-visible,.quote-app input:focus-visible,.quote-app summary:focus-visible{outline-color:var(--doc-accent)}
.quote-app .quote-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}
.quote-app .quote-meta .kicker{margin:0}
.quote-app .quote-date{margin:0;color:var(--doc-muted);font-size:12px}
.quote-app .result-card h1{margin:0 0 24px;font-size:clamp(26px,4vw,34px)}
.quote-app .payment-box{background:var(--surface-raised);border:1px solid var(--doc-border);border-radius:12px;padding:24px;box-shadow:none}
.quote-app .payment-box p,.quote-app .payment-box .sub{color:var(--doc-muted)}
.quote-app .payment-box .payment{color:var(--doc-text);font-size:clamp(36px,7vw,52px);letter-spacing:-.035em;margin:10px 0 6px}
.quote-app .payment-box .payment small{color:var(--doc-muted);font-size:16px}
.quote-app .payment-box .yearly-cost{color:var(--doc-text);font-size:15px;font-weight:500;margin-bottom:12px}
.quote-app .row{color:var(--doc-muted);border-color:var(--doc-border);padding:12px 0;font-size:15px}
.quote-app .row b,.quote-app .row.total,.quote-app .row.total b{color:var(--doc-text)}
.quote-app .row.total{border-color:var(--doc-border);font-size:18px}
.quote-app .help{color:var(--doc-muted)}
.quote-app .costs,.quote-app .incentives{background:var(--surface-raised);border:1px solid var(--doc-border);border-radius:10px;padding:14px 18px}
.quote-app summary,.quote-app .costs summary,.quote-app .incentives summary{color:var(--doc-text);font-size:15px}
.quote-app .cost-field,.quote-app .incentives .help{color:var(--doc-muted)}
.quote-app .cost-field input{color:var(--doc-text);background:var(--surface);border:1px solid var(--doc-border);border-radius:8px}
.quote-app .incentive-breakdown{border-color:var(--doc-border)}
.quote-app .warranty-card{border:1px solid var(--doc-border);background:var(--warranty-bg);border-radius:10px;padding:14px 18px}
.quote-app .warranty-card strong{color:var(--warranty-text);font-size:15px}
.quote-app .warranty-card span{color:var(--doc-muted);font-size:14px}
.quote-app .disclaimer{padding:0;background:none;color:var(--doc-muted);font-size:13px}
.quote-app .soft-check{background:var(--surface-raised);border-color:var(--doc-accent);border-radius:8px;color:var(--doc-text);padding:12px 14px}
.quote-app .soft-check strong{color:var(--doc-text);font-size:14px;font-weight:600}
.quote-app .apply-button{background:#0b5cff;color:#fff;box-shadow:none}
.quote-app .apply-button:hover{background:#0746c4}
.quote-app .after-apply,.quote-app .not-apply-yet,.quote-app .quiet-button,.quote-app .video-help{color:var(--doc-muted)}
.quote-app .quiet-button:hover{color:var(--doc-text)}
.quote-app .print-row button{min-height:44px;font-size:14px}
.quote-app .quote-acceptance{margin-top:28px;padding-top:22px;border-top:1px solid var(--doc-border);break-inside:avoid}
.quote-app .quote-acceptance h2{margin:0 0 6px;color:var(--doc-text);font-size:18px;letter-spacing:0}
.quote-app .quote-acceptance p{margin:0;color:var(--doc-muted);font-size:13px}
.quote-app .signature-fields{display:grid;grid-template-columns:2fr 1fr;gap:16px 24px;margin-top:12px}
.quote-app .customer-name{grid-column:1/-1}
.quote-app .signature-line{height:32px;border-bottom:1px solid var(--doc-muted)}
.quote-app .signature-field span{display:block;margin-top:5px;font-size:12px;color:var(--doc-muted)}
.quote-app .print-brand{display:none}
.quote-app .faq{background:var(--surface);border-color:var(--doc-border)}
.quote-app .faq summary,.quote-app .faq article h2{color:var(--doc-text)}
.quote-app .faq article p,.quote-app footer{color:var(--doc-muted)}
.quote-app .video-card .kicker,.quote-app .congrats-card .kicker{color:var(--doc-accent)}
@media(max-width:600px){.quote-app header{padding:14px 16px;gap:12px}.quote-app header img{width:112px}.quote-app .header-tools>span{display:none}.quote-app .header-tools{gap:8px}.quote-app main{margin-top:22px}.quote-app .card{padding:24px 20px}.quote-app .quote-meta{display:block}.quote-app .quote-date{margin-top:5px}.quote-app .payment-box{padding:20px}.quote-app .signature-fields{gap:14px}.quote-app .result-card .row{flex-wrap:wrap}}
@page{size:letter portrait;margin:12mm}
@media print{
  :root{color-scheme:light!important}
  html body.quote-app{background:#fff!important;color:#171717!important;font-size:10pt;line-height:1.35}
  .quote-app header,.quote-app .share-card,.quote-app .intro,.quote-app .progress,.quote-app .progress-meta,.quote-app .faq,.quote-app footer,.quote-app .theme-toggle,.quote-app main>section:not(#results){display:none!important}
  .quote-app main{max-width:none;margin:0;padding:0}
  .quote-app #results{display:block!important;background:#fff!important;border:0!important;border-radius:0;padding:0!important;box-shadow:none!important}
  .quote-app #results *{color:#171717!important;background:transparent!important;box-shadow:none!important;text-shadow:none!important;animation:none!important;transition:none!important}
  .quote-app #results .print-brand{display:flex!important;align-items:baseline;justify-content:space-between;border-bottom:2px solid #171717;padding-bottom:10px;margin-bottom:16px}
  .quote-app #results .print-brand strong{font-size:18pt;letter-spacing:.06em}
  .quote-app #results .print-brand span{font-size:10pt}
  .quote-app #results .quote-meta{display:flex;margin-bottom:8px}
  .quote-app #results .kicker,.quote-app #results .quote-date{font-size:8pt;margin:0}
  .quote-app #results h1{font-size:22pt;line-height:1.15;margin-bottom:14px}
  .quote-app #results .payment-box{border:1px solid #bfc4cc;border-radius:6px;padding:14px 16px;margin:0 0 12px;break-inside:avoid}
  .quote-app #results .payment-box p{font-size:10pt;line-height:1.4}
  .quote-app #results .payment{font-size:30pt;margin:6px 0 3px;line-height:1.1}
  .quote-app #results .payment small{font-size:11pt}
  .quote-app #results .payment-box .yearly-cost{margin-bottom:6px}
  .quote-app #results .payment-box .sub{font-size:9pt}
  .quote-app #results .incentive-breakdown{padding-top:5px;margin-top:8px;border-color:#bfc4cc}
  .quote-app #results .row{display:flex;flex-wrap:nowrap;border-color:#d6d9de;padding:4px 0;font-size:10pt;line-height:1.35;break-inside:avoid}
  .quote-app #results .row.total{font-size:12pt;padding-top:6px;margin-top:0}
  .quote-app #results .costs{padding:10px 14px;border:1px solid #bfc4cc;border-radius:6px;margin:10px 0;break-inside:avoid}
  .quote-app #results .costs summary{font-size:10pt;list-style:none;margin-bottom:5px}
  .quote-app #results summary::marker{content:""}
  .quote-app #results .costs .help,.quote-app #results .incentives,.quote-app #results .cost-field,.quote-app #results .soft-check,.quote-app #results .apply-button,.quote-app #results .after-apply,.quote-app #results .return-button,.quote-app #results .not-apply-yet,.quote-app #results .print-row,.quote-app #results .quiet-controls,.quote-app #results .feedback{display:none!important}
  .quote-app #results .help,.quote-app #results .disclaimer{font-size:8.5pt;line-height:1.4;margin:6px 0}
  .quote-app #results .warranty-card{border:1px solid #bfc4cc;border-radius:6px;padding:10px 14px;margin:10px 0;gap:3px;break-inside:avoid}
  .quote-app #results .warranty-card strong{font-size:10pt}
  .quote-app #results .warranty-card span{font-size:9pt;line-height:1.4}
  .quote-app #results .quote-acceptance{border-color:#bfc4cc;margin-top:18px;padding-top:12px;break-inside:avoid}
  .quote-app #results .quote-acceptance h2{font-size:12pt;margin-bottom:4px}
  .quote-app #results .quote-acceptance p{font-size:8.5pt;line-height:1.4}
  .quote-app #results .signature-fields{grid-template-columns:2fr 1fr;gap:10px 24px;margin-top:8px}
  .quote-app #results .signature-line{height:24px;border-color:#171717}
  .quote-app #results .signature-field span{font-size:8pt;margin-top:3px}
  .quote-app #results [hidden]{display:none!important}
}
