:root{font-family:Inter,'Segoe UI',Arial,sans-serif;color:#1b304b;background:#edf2f8;font-size:16px;font-synthesis:none;--surface:#fff;--text:#1b304b;--muted:#576b82;--border:#dce4ef;--soft:#f3f6fb;--blue:#1456d9;--navy:#073b70;--error:#b42335;--gold:#ffc54a;color-scheme:light}
:root[data-theme=dark]{--surface:#142941;--text:#edf4ff;--muted:#b0c2d6;--border:#354c68;--soft:#1b344f;--blue:#74a6ff;--error:#ffadb6;background:#091829;color:var(--text);color-scheme:dark}
*{box-sizing:border-box}body{margin:0;color:var(--text)}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{min-height:44px;border:0;border-radius:12px;padding:10px 16px}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}input:focus,select:focus{outline:2px solid var(--blue);outline-offset:1px}[hidden]{display:none!important}a{color:inherit}h1,h2,h3,p{margin:0}h1{font-size:1.4rem;line-height:1.3}h2{font-size:1.25rem;line-height:1.4}h3{font-size:1rem}p{line-height:1.55}small{font-size:.8125rem;line-height:1.5}strong{font-weight:750}button{font-weight:650}.app-shell{max-width:980px;margin:0 auto;padding:0 28px 110px;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;margin:0 -28px;padding:22px 28px;background:#073b70;color:white}.brand{display:flex;gap:12px;align-items:center;text-decoration:none}.brand strong{display:block;font-size:1.5rem;letter-spacing:-.04em}.brand small{display:block;letter-spacing:.1em;font-size:.75rem;color:#ccdcf2}.brand-mark{display:grid;place-items:center;font-size:1.75rem;font-weight:850;background:var(--gold);color:#082c50;border-radius:12px;width:47px;height:47px}.icon-button{background:#ffffff19;color:white;font-size:1.6rem;width:46px;padding:0}.business-bar{background:linear-gradient(115deg,#073b70,#1456d9);margin:0 -28px 22px;padding:0 28px 24px;border-radius:0 0 28px 28px;display:flex;gap:18px;align-items:end;justify-content:space-between;color:#fff}.eyebrow{display:block;font-size:.75rem;letter-spacing:.14em;font-weight:700;color:var(--gold);margin-bottom:8px}.local-badge{border-radius:20px;padding:7px 11px;background:#ffffff15;font-size:.75rem;white-space:nowrap}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.toolbar p{color:var(--muted);font-size:.875rem;margin-top:4px}.secondary{background:var(--surface);color:var(--blue);border:1px solid var(--border)}.primary{background:#1456d9;color:#fff;box-shadow:0 4px 12px #1456d91c}.danger-link{color:var(--error);background:transparent}.full{width:100%;margin-top:20px}.step-nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-bottom:20px;scroll-margin-top:12px}.step-nav button{padding:12px 5px;border:1px solid var(--border);color:var(--muted);background:var(--surface);font-size:.875rem;min-width:0;overflow-wrap:anywhere}.step-nav button.active{background:#073b70;color:white;border-color:#073b70;box-shadow:inset 0 -3px var(--gold)}.step-nav button.invalid{color:var(--error);border-color:var(--error)}.step-nav button.invalid.active{color:#fff;background:#91283a}.surface{padding:26px;border:1px solid var(--border);border-radius:22px;background:var(--surface);box-shadow:0 8px 24px #17385e06}.surface>h2{margin-bottom:8px}.hint{font-size:.875rem;color:var(--muted);line-height:1.55;margin:10px 0 16px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;margin:20px 0}.field{min-width:0}.field label{font-size:.875rem;font-weight:600;display:block;margin-bottom:8px;line-height:1.4}.field input:not([type=checkbox]),.field select{display:block;width:100%;min-width:0;min-height:46px;padding:11px 12px;border:1px solid var(--border);border-radius:10px;background:var(--soft);color:var(--text)}.field input[type=checkbox]{height:24px;width:24px;accent-color:#1456d9}.field small{display:block;color:var(--muted);margin-top:6px}.field small.field-error{color:var(--error);font-weight:600}.field-error:empty{display:none}.field [aria-invalid=true]{border:2px solid var(--error)!important}.input-details,.component-card{border:1px solid var(--border);border-radius:14px;background:var(--surface);margin:14px 0;min-width:0}.input-details>summary,.component-card>summary{padding:17px;font-size:.9375rem;font-weight:700;line-height:1.5;overflow-wrap:anywhere;min-height:54px}.input-details[open]>summary,.component-card[open]>summary{border-bottom:1px solid var(--border)}.input-details>.field-grid,.component-card>.field-grid{margin:18px}.input-details>.hint,.component-card>.hint,.input-details>p{margin:14px 18px}.input-details>.secondary,.input-details>.collection-total{margin:12px 18px}.input-details>div[id$=Rows]{margin:14px}.component-card>.danger-link{margin:0 6px 10px}.collection-total{margin:14px 0;font-weight:750;color:var(--blue)}.step-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:18px 0}.step-actions>span{font-size:.875rem;color:var(--muted)}.app-status{padding:15px;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--blue);border-radius:12px;margin:0 0 18px;font-size:.875rem;overflow-wrap:anywhere}.app-status.error{border-left-color:var(--error)}.warning{background:#fff5dc;color:#704516;padding:14px;border:1px solid #f0d593;border-radius:12px;margin:12px 0;font-size:.875rem}.unit-cost{border-radius:18px;padding:25px;margin:20px 0;background:linear-gradient(115deg,#073b70,#1456d9);color:white;display:flex;flex-direction:column;gap:9px}.unit-cost>strong{font-size:2.25rem;letter-spacing:-.04em;overflow-wrap:anywhere}.unit-cost>small{color:#dae8ff}.pricing-compare{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.price-card{border:1px solid var(--border);border-radius:16px;padding:18px;min-width:0}.price-card.selected{border:2px solid var(--blue);background:var(--soft)}.price-card>strong{display:block;font-size:1.5rem;color:var(--blue);margin:12px 0;overflow-wrap:anywhere}.price-card>p{font-size:.875rem}.summary-lines{margin:8px 18px}.price-card>.summary-lines{margin:12px 0 0}.summary-lines>div{display:flex;gap:16px;align-items:start;justify-content:space-between;border-bottom:1px solid var(--border);padding:13px 0;min-width:0}.summary-lines>div:last-child{border-bottom:0}.summary-lines dt{font-size:.875rem;line-height:1.5;min-width:0}.summary-lines dt small{display:block;color:var(--muted);font-weight:400}.summary-lines dd{margin:0;text-align:right;font-weight:700;font-size:.9375rem;overflow-wrap:anywhere;max-width:55%}.price-card .summary-lines>div{display:block}.price-card .summary-lines dd{text-align:left;max-width:none;margin-top:5px}.input-details table{width:calc(100% - 28px);border-collapse:collapse;font-size:.8125rem;margin:14px;table-layout:fixed}.input-details caption{text-align:left;color:var(--muted);margin-bottom:12px;font-size:.8125rem}.input-details th,.input-details td{padding:12px 5px;text-align:right;overflow-wrap:anywhere;border-bottom:1px solid var(--border)}.input-details th{color:var(--muted)}.mobile-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(980px,100%);padding:10px 22px max(10px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr);gap:8px;background:var(--surface);border:1px solid var(--border);border-bottom:0;border-radius:22px 22px 0 0;box-shadow:0 -6px 30px #073b700b;z-index:10}.mobile-nav button{background:none;color:var(--muted);font-size:.8125rem;display:flex;align-items:center;flex-direction:column;gap:5px;padding:5px;min-width:0}.mobile-nav span{font-size:1.35rem;line-height:1.2}.mobile-nav [aria-current=page]{color:var(--blue);background:var(--soft)}footer{text-align:center;color:var(--muted);font-size:.75rem;margin:24px 0 0}.saved-card{padding:20px 0;border-bottom:1px solid var(--border);overflow-wrap:anywhere}.saved-card p{font-size:.8125rem;color:var(--muted);margin:8px 0}.dialog-actions{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}.empty-state{padding:24px 0;color:var(--muted)}dialog{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:20px;max-width:min(460px,calc(100vw - 32px));padding:24px}dialog p{margin-top:12px}dialog::backdrop{background:#05182db3}
/* Existing general calculator remains available. */
.workspace{display:grid;grid-template-columns:1fr 1.5fr;gap:20px}.calculator-card,.history-panel{border:1px solid var(--border);border-radius:22px;background:var(--surface);padding:22px;min-width:0}.calculator-heading,.panel-heading{display:flex;justify-content:space-between;gap:12px}.calculator-heading .eyebrow,.history-panel .eyebrow{color:var(--blue)}.calculator-heading h1{font-size:1.2rem}.status{font-size:.8125rem;color:var(--muted)}.display{padding:22px 0;text-align:right;overflow-wrap:anywhere}.expression{font-size:1rem;color:var(--muted);min-height:24px}.result{font-size:2.5rem;font-weight:750}.result.error{font-size:1.2rem;color:var(--error)}.keypad{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.key{background:var(--soft);color:var(--text);min-height:56px;font-size:1.3rem}.key-zero{grid-column:span 2}.key-operator{color:var(--blue);background:var(--soft)}.key-equals{background:#1456d9;color:#fff}.key.pressed{background:var(--gold);color:#073b70}.keyboard-hint{font-size:.8125rem;color:var(--muted);text-align:center;margin-top:18px}.text-button{background:transparent;color:var(--blue)}.history-item{display:flex;width:100%;flex-direction:column;align-items:start;gap:5px;background:var(--soft);color:var(--text);margin:10px 0}.history-item span{font-size:.875rem;color:var(--muted)}
@media(max-width:650px){.app-shell{padding:0 14px 104px}.topbar{margin:0 -14px;padding:18px 20px}.business-bar{margin:0 -14px 20px;padding:0 20px 22px}.business-bar h1{font-size:1.25rem}.local-badge{display:none}.brand strong{font-size:1.35rem}.surface{padding:18px 15px;border-radius:18px}.step-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:14px}.step-nav button{font-size:.875rem}.toolbar h2{font-size:1.0625rem}.toolbar p{font-size:.8125rem}.toolbar .secondary{font-size:.875rem;padding:8px 12px}.field-grid{gap:16px;grid-template-columns:1fr}.pricing-compare{gap:9px}.price-card{padding:12px 10px}.price-card h3{font-size:.875rem}.price-card>strong{font-size:1.1875rem}.price-card .summary-lines dt,.price-card .summary-lines dd,.price-card>p{font-size:.8125rem}.unit-cost>strong{font-size:1.9rem}.summary-lines{margin:6px 12px}.summary-lines>div{gap:10px}.input-details>summary,.component-card>summary{padding:14px}.input-details .field-grid,.component-card .field-grid{margin:16px 12px}.input-details table,.input-details tbody{display:block;width:auto}.input-details thead{display:none}.input-details tr{display:block;border:1px solid var(--border);border-radius:12px;padding:10px;margin:12px 0}.input-details td{display:flex;justify-content:space-between;gap:16px;border:0;padding:6px 0;font-size:.875rem}.input-details td:before{content:attr(data-label);text-align:left;color:var(--muted)}.input-details caption{display:block}.mobile-nav{padding-left:12px;padding-right:12px}.workspace{display:flex;flex-direction:column}.calculator-card{order:-1}.step-actions button{font-size:.875rem;padding:10px 14px}}
.customer-brief{padding:18px;min-width:0}.customer-brief label{display:block;font-size:.875rem;font-weight:600;margin:12px 0 8px}.customer-brief textarea{font:inherit;font-size:1rem;line-height:1.6;width:100%;min-height:240px;resize:vertical;border:1px solid var(--border);border-radius:12px;padding:14px;background:var(--soft);color:var(--text)}.customer-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}.customer-actions>*{flex:1;min-width:140px}.whatsapp-button{display:flex;align-items:center;justify-content:center;min-height:46px;padding:12px 16px;background:#126c47;color:#fff;text-decoration:none;font-size:.9375rem;font-weight:700;border-radius:12px}.customer-brief textarea:focus{outline:2px solid var(--blue)}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
