:root{--navy:#1b2531;--ink:#25303d;--slate:#5d6976;--orange:#fca636;--cream:#faf8f4;--line:#dfe3e6;--green:#2f7a4b;--red:#8f2d2d}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#eef1f3;color:var(--ink)}
button,input,select{font:inherit}button{border:0;border-radius:8px;background:var(--orange);color:var(--navy);font-weight:700;padding:10px 14px;cursor:pointer}.ghost{background:#fff;border:1px solid #cfd5da}.danger{background:var(--red);color:#fff;border:1px solid #a43b3b}
.topbar{position:sticky;top:0;z-index:20;background:var(--navy);color:#fff;padding:14px max(18px,calc((100vw - 1440px)/2));display:flex;align-items:center;justify-content:space-between;gap:16px}.topbar strong{font-size:19px}.topbar strong span,.eyebrow{color:#bd6b08}.topbar small{display:block;color:#aab4bf;margin-top:3px}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions .ghost{background:#263444;color:#fff;border-color:#44515f}.actions .danger{background:#7d2929;border-color:#a94848}
main{max-width:1440px;margin:auto;padding:22px}.client-card,.builder,.summary-card{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 24px -20px #000}.client-card{padding:22px}.title-row,.section-head,.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.13em;margin:0 0 6px;text-transform:uppercase}h1,h2{margin:0}.quote-meta{display:flex;gap:12px}.grid{display:grid;gap:14px}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:20px}
label{font-size:12px;font-weight:700;color:var(--slate)}input,select{width:100%;margin-top:6px;border:1px solid #cfd5da;border-radius:7px;padding:10px;background:#fff;color:var(--ink)}input[type=checkbox]{width:18px;height:18px;margin:0 7px 0 0;accent-color:#067866}.tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:18px 0}.tabs button{background:#dfe4e8;color:var(--slate);padding:13px}.tabs button.active{background:var(--navy);color:#fff}
.workspace{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:18px}.builder{padding:22px;min-width:0}.section-head{border-bottom:1px solid var(--line);padding-bottom:18px}.section-head span{font-size:12px;color:var(--slate);background:var(--cream);padding:8px 10px;border-radius:99px}.service-tools{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.service-tools .reset-service{border-radius:99px;padding:8px 12px;color:var(--ink)}.tab-panel{display:none}.tab-panel.active{display:block}
.mfa-group{border:1px solid #d8e1e8;border-radius:12px;margin:14px 0;background:#fff;color:#142a3d;overflow:hidden}.mfa-group>summary{font-weight:750;font-size:1rem;padding:16px;cursor:pointer}.mfa-body{padding:0 16px 16px}.mfa-note{font-size:.86rem;line-height:1.55;margin:0 0 14px;color:#526276}.mfa-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px}.mfa-field{display:flex;flex-direction:column;gap:7px;min-width:0;margin:0;font-size:.9rem;font-weight:650}.mfa-field input:not([type=checkbox]){min-height:44px;margin:0}.mfa-field small{font-size:.77rem;font-weight:400;line-height:1.45;color:#526276}.mfa-field input:focus-visible,.mfa-field select:focus-visible,summary:focus-visible{outline:3px solid #08a58c;outline-offset:3px}
.summary-card{position:sticky;top:86px;align-self:start;padding:22px}.summary-card h2{margin-bottom:14px}.validation-messages{background:#fff7e9;border:1px solid #e8c48e;color:#754300;border-radius:8px;padding:10px 12px;margin-bottom:12px;font-size:12px;font-weight:700}.validation-messages div+div{margin-top:5px}.line-items{max-height:45vh;overflow:auto;border-top:1px solid var(--line)}.line{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #edf0f2;font-size:13px}.line small{display:block;color:var(--slate);margin-top:2px}.line b{white-space:nowrap}.totals{margin-top:14px}.totals>div{display:flex;justify-content:space-between;padding:7px 0}.totals .grand{border-top:2px solid var(--navy);margin-top:8px;padding-top:14px;font-size:18px}.fine{font-size:11px;color:var(--slate);line-height:1.5}.print-quote{display:none}
dialog{width:min(800px,94vw);border:0;border-radius:14px;padding:22px;box-shadow:0 24px 80px #0005}dialog::backdrop{background:#0b1119aa}.saved{display:grid;grid-template-columns:1fr auto;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}.saved p{margin:4px 0;color:var(--slate);font-size:13px}.saved-actions{display:flex;gap:8px;align-items:center}#toast{position:fixed;bottom:20px;right:20px;background:var(--green);color:#fff;padding:12px 16px;border-radius:8px;opacity:0;pointer-events:none;transition:.2s;z-index:50}#toast.show{opacity:1}
@media(max-width:980px){.workspace{grid-template-columns:1fr}.summary-card{position:static}.grid.four{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){main{padding:12px}.topbar,.title-row,.section-head{flex-direction:column}.quote-meta{width:100%;display:grid;grid-template-columns:1fr 1fr}.grid.four{grid-template-columns:1fr}.tabs{grid-template-columns:1fr}.actions{width:100%}.actions button{flex:1}.workspace{display:block}.summary-card{margin-top:14px}.service-tools{width:100%;justify-content:flex-start}.saved{grid-template-columns:1fr}}
@media print{body{background:#fff}.no-print{display:none!important}.print-quote{display:block;padding:0;color:#111}.print-head{display:flex;justify-content:space-between;border-bottom:3px solid var(--navy);padding-bottom:16px}.print-head h1{font-size:24px}.print-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.print-table{width:100%;border-collapse:collapse}.print-table th,.print-table td{padding:9px;border-bottom:1px solid #ddd;text-align:left;font-size:12px}.print-table th:last-child,.print-table td:last-child{text-align:right}.print-totals{width:360px;margin:18px 0 0 auto}.print-totals div{display:flex;justify-content:space-between;padding:6px}.print-totals .grand{border-top:2px solid #111;font-size:17px;font-weight:700}.terms{margin-top:24px;font-size:10px;line-height:1.45;color:#444}}
