:root{
  --ink:#15231f;
  --green:#123e32;
  --green-2:#1d5a47;
  --lime:#d7f285;
  --paper:#f4f6f2;
  --card:#ffffff;
  --line:#dbe2da;
  --muted:#66736d;
  --shadow:0 14px 34px rgba(15,42,30,.08);
  --radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
button,input,select,textarea{font:inherit}
button{border:0;border-radius:12px;background:var(--green);color:#fff;padding:12px 16px;font-weight:800;cursor:pointer;box-shadow:0 8px 18px rgba(18,62,50,.12)}
button.secondary,.secondary{background:#eef3ef;color:var(--green);box-shadow:none;border:1px solid var(--line)}
button.small,.small{padding:8px 12px;border-radius:10px;font-size:.88rem}
.shell{max-width:1360px;margin:0 auto;padding:32px 18px 64px}
.hero{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start;margin-bottom:20px}
.hero-copy,.hero-panel,.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.hero-copy{padding:28px}
.hero-panel{padding:24px;position:sticky;top:16px;align-self:start}
.eyebrow{margin:0 0 10px;font-size:.75rem;letter-spacing:.14em;font-weight:900;color:var(--green-2)}
h1{margin:0;font-size:clamp(2.1rem,5vw,4.3rem);line-height:1.02;letter-spacing:-.055em;max-width:11ch}
.lede{font-size:1.05rem;max-width:62ch;color:var(--muted);margin:14px 0 18px}
.feature-list{margin:0;padding-left:18px;color:var(--ink)}
.feature-list li{margin:8px 0}
.badge{width:120px;height:120px;border-radius:50%;background:var(--lime);display:grid;place-items:center;text-align:center;font-size:.95rem;font-weight:800;line-height:1.05;transform:rotate(7deg);margin:0 auto 16px}
.hero-note{margin:0 0 16px;color:var(--muted)}
.hero-buttons,.button-row,.button-stack{display:flex;flex-wrap:wrap;gap:10px}
.file-btn{display:inline-flex;align-items:center;justify-content:center}
.file-btn input{display:none}
.checklist{padding:20px 24px;margin:18px 0 24px}
.checklist h2,.card h2{margin:0;color:var(--ink);letter-spacing:-.03em}
.checklist ol{margin:12px 0 0;padding-left:18px;color:var(--muted)}
.workspace{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:20px;align-items:start}
.stack{display:grid;gap:20px}
.card{padding:24px}
.section-title{display:flex;justify-content:space-between;align-items:start;gap:16px;flex-wrap:wrap}
.brand-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;margin-top:14px}
.brand-logo{display:grid;gap:10px;align-content:start}
.logo-preview{min-height:180px;border:1px dashed #b8c3ba;border-radius:16px;background:#f8faf7;display:grid;place-items:center;color:var(--muted);padding:12px;text-align:center;overflow:hidden}
.logo-preview img,.preview-logo{max-width:100%;max-height:170px;object-fit:contain}
.preview-logo.placeholder{width:100%;height:120px;background:#eef3ef;border-radius:14px;display:grid;place-items:center;font-weight:800;color:var(--green)}
.fields{display:grid;gap:12px}
.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}
.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}
.four-col{grid-template-columns:repeat(4,minmax(0,1fr))}
.top-space{margin-top:14px}
label{display:grid;gap:6px;font-size:.82rem;font-weight:800;color:var(--muted)}
input,select,textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink)}
input[type="checkbox"]{width:auto}
textarea{min-height:84px;resize:vertical}
.check-inline{display:flex;align-items:center;gap:10px;padding:10px 0 0}
.check-inline input{width:auto}
.scope-groups{display:grid;gap:14px;margin-top:16px}
.scope-group{border:1px solid var(--line);border-radius:16px;background:#fcfdfb;padding:10px 14px}
.scope-group summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:12px;font-weight:900;color:var(--green)}
.scope-group summary::-webkit-details-marker{display:none}
.group-actions{display:flex;gap:10px;flex-wrap:wrap;padding:12px 0 10px}
.scope-items{display:grid;gap:8px}
.scope-item,.custom-row{display:grid;grid-template-columns:28px minmax(0,1fr) 72px 120px;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:#fff}
.scope-item.selected,.custom-row.selected{background:#f0f8de;border-color:#a7c275}
.scope-check{display:grid;place-items:center}
.scope-label strong{display:block}
.scope-label small{color:var(--muted)}
.qty-input,.scope-price,.custom-price,.custom-qty,.custom-group{justify-self:stretch}
.scope-price{text-align:right;font-weight:900;color:var(--green)}
.custom-box{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.custom-list{display:grid;gap:10px;margin-top:14px}
.custom-row{grid-template-columns:28px minmax(0,1.2fr) 90px 74px 1fr 96px}
.custom-row .custom-label{min-width:0}
.preview{position:sticky;top:16px;align-self:start}
.preview-head{display:flex;justify-content:space-between;align-items:start;gap:12px}
.preview-badge{background:var(--lime);color:var(--green);padding:8px 12px;border-radius:999px;font-weight:900}
.business-preview,.customer-preview{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fbfcfa}
.business-line{margin:4px 0}
.preview-block{margin:0 0 12px}
.preview-block strong{display:block;margin-bottom:4px}
.hours-row,.summary-row{display:flex;justify-content:space-between;gap:10px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--line)}
.summary-row strong,.hours-row strong{font-size:1.2rem}
.breakdown{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;margin:14px 0 0}
.breakdown dt{color:var(--muted)}
.breakdown dd{margin:0;text-align:right;font-weight:800}
.total-row{border-top:1px solid var(--line);margin-top:8px}
.deposit-row{border-bottom:0;padding-top:8px}
.note{color:var(--muted);font-size:.92rem;margin:14px 0}
.item-summary{display:grid;gap:8px;margin-top:14px;max-height:280px;overflow:auto;padding-right:4px}
.item-summary-row{display:flex;justify-content:space-between;gap:12px}
.item-summary-row strong{white-space:nowrap}
.docs-link code{background:#eef3ef;padding:2px 6px;border-radius:6px}
.muted{color:var(--muted)}
.dashboard-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.dashboard-strip div{padding:12px;border:1px solid var(--line);border-radius:14px;background:#fbfcfa}.dashboard-strip span{display:block;color:var(--muted);font-size:.78rem;font-weight:800}.dashboard-strip strong{display:block;font-size:1.25rem;margin-top:6px;color:var(--green)}.recent-quotes{display:grid;gap:8px;margin-top:14px}.recent-quotes .quote-row{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}.recent-quotes .quote-row small{display:block;color:var(--muted)}.quote-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.quote-actions button{padding:6px 9px;font-size:.78rem}.template-list{display:grid;gap:10px;margin-top:14px;max-height:240px;overflow:auto}.template-row{display:flex;justify-content:space-between;gap:14px;align-items:start;width:100%;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fbfcfa;color:var(--ink);text-align:left}.template-row.selected{background:#eef7d9;border-color:#8bb05a}.template-row small{display:block;color:var(--muted)}
@media (max-width: 1120px){
  .hero,.workspace{grid-template-columns:1fr}
  .hero-panel,.preview{position:static}
  .brand-grid,.two-col,.three-col,.four-col,.custom-row{grid-template-columns:1fr}
}
@media print{
  body{background:#fff}
  .hero-panel,.hero-buttons,.checklist,.docs-link,button,.button-row,.group-actions,.custom-box input,.custom-box select,.custom-box button,.preview .button-stack{display:none !important}
  .shell{max-width:none;padding:0}
  .workspace{grid-template-columns:1fr}
  .card,.hero-copy{box-shadow:none;border:0;border-radius:0}
  .preview{position:static;page-break-inside:avoid}
  .item-summary{max-height:none}
}


.onboarding-card{margin:18px 0 24px}\.onboarding-intro{color:var(--muted);max-width:80ch}.onboarding-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:14px}.onboarding-step{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fbfcfa}.onboarding-step.active{border-color:#8bb05a;background:#eef7d9}.onboarding-step.done{opacity:.92}.onboarding-step-top{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:.85rem}.onboarding-step-top span{color:var(--green);font-weight:900}.onboarding-step p{margin:8px 0 0;color:var(--muted);font-size:.92rem}.onboarding-hint{margin-top:12px;padding:12px;border-left:4px solid var(--lime);background:#fbfcfa;border-radius:10px;color:var(--green);font-weight:700}.customer-script{display:grid;gap:10px;margin-top:12px}.customer-script p{margin:0;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fbfcfa}@media (max-width: 1120px){.onboarding-steps{grid-template-columns:1fr 1fr}}

.preview-badge[data-tone="good"]{background:#dff2c2}.preview-badge[data-tone="warn"]{background:#ffe7ad}.preview-badge[data-tone="neutral"]{background:var(--lime)}
#installPwaBtn{background:var(--green);color:#fff}.hero-note strong{display:block;margin-bottom:4px}.pwa-note{margin-top:10px;color:var(--muted);font-size:.92rem}
