*{box-sizing:border-box} :root{--bg:#f3f3f1;--card:#fff;--ink:#171717;--muted:#676767;--line:#d8d8d2;--oak:#263526;--oak2:#3f5a3f;--gold:#b49a63;--danger:#9b2c2c}
html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}
body{margin:0;min-height:100vh}.topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:rgba(17,17,17,.96);color:#fff;border-bottom:1px solid #333}
.brand{display:flex;align-items:center;gap:10px}.brand-icon{width:42px;height:42px}.brand-name{font-weight:900;letter-spacing:.12em}.brand-sub{font-size:.7rem;letter-spacing:.18em;color:#d7d7d0}
button,input{font:inherit}.ghost,.secondary,.primary{border:0;border-radius:12px;padding:13px 16px;font-weight:800;cursor:pointer}.ghost{background:#fff;color:#111;padding:9px 12px}.hidden{display:none!important}
.app-shell{max-width:900px;margin:auto;padding:18px 14px 40px}.hero{padding:18px 4px 10px}.hero h1{font-size:clamp(2rem,9vw,3.8rem);line-height:1;letter-spacing:-.04em;margin:.3rem 0 .8rem;max-width:700px}.hero p:last-child{color:var(--muted);max-width:650px}
.eyebrow{font-size:.72rem;letter-spacing:.18em;font-weight:900;color:var(--oak2);margin:0}.tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;background:#deded8;padding:5px;border-radius:14px;margin:12px 0 16px}.tab{border:0;background:transparent;border-radius:10px;padding:11px;font-weight:800;color:#565656}.tab.active{background:#fff;color:#111;box-shadow:0 2px 10px #00000010}
.panel{display:none}.panel.active{display:block}.card,.summary-card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:18px;margin:0 0 14px;box-shadow:0 9px 30px #00000008}.summary-card{background:#151915;color:#fff;border-color:#252b25}.summary-card .eyebrow{color:#c8d7c3}
h2{font-size:1.35rem;margin:.25rem 0 1rem}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.text-button{border:0;background:transparent;text-decoration:underline;font-weight:700;color:var(--oak2);padding:6px}.text-button.danger{color:var(--danger)}
.grid{display:grid;gap:13px}.grid.two{grid-template-columns:1fr}.grid label{font-size:.84rem;font-weight:800;color:#414141}.grid input{width:100%;border:1px solid #cfcfc9;border-radius:12px;background:#fafaf8;padding:13px;margin-top:6px;outline:none}.grid input:focus{border-color:var(--oak2);box-shadow:0 0 0 3px #3f5a3f20}
.input-unit{display:flex;align-items:center;border:1px solid #cfcfc9;border-radius:12px;background:#fafaf8;margin-top:6px;overflow:hidden}.input-unit input{border:0;margin:0;background:transparent}.input-unit span{font-size:.78rem;color:#777;padding-right:12px;white-space:nowrap}
.toggle-list{display:grid;gap:3px}.toggle-row{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid #ecece7}.toggle-row:last-child{border-bottom:0}.toggle-row span{display:flex;flex-direction:column}.toggle-row small{color:var(--muted);margin-top:3px}.toggle-row input{width:46px;height:25px;accent-color:var(--oak2)}
.quote-total{font-size:clamp(2.7rem,14vw,5.4rem);font-weight:950;letter-spacing:-.06em;margin:.2rem 0 1rem}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.metric-grid div{padding:12px;border:1px solid #333b33;border-radius:13px;background:#1d221d}.metric-grid span{display:block;font-size:.72rem;color:#aeb7ae;margin-bottom:4px}.metric-grid strong{font-size:1.05rem}
details{border-top:1px solid #333b33;margin-top:15px;padding-top:14px}summary{font-weight:800;cursor:pointer}.breakdown{margin-top:12px}.breakdown-row{display:flex;justify-content:space-between;gap:15px;padding:8px 0;border-bottom:1px solid #2e352e}.action-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-top:17px}.primary{background:#dfe9db;color:#172117}.secondary{background:#303830;color:#fff;border:1px solid #4d584d}
.muted{color:var(--muted);font-size:.9rem}.saved-list{display:grid;gap:10px}.saved-item{border:1px solid var(--line);border-radius:14px;padding:14px}.saved-item h3{margin:0 0 4px}.saved-item p{margin:4px 0;color:var(--muted)}.saved-actions{display:flex;gap:8px;margin-top:11px}.saved-actions button{border:1px solid var(--line);background:#f7f7f4;border-radius:9px;padding:8px 10px;font-weight:700}
footer{display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center;background:#111;color:#d9d9d2;padding:26px 16px;font-size:.8rem}footer strong{letter-spacing:.1em}
#printArea{display:none}#toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%) translateY(120px);background:#111;color:#fff;padding:11px 16px;border-radius:999px;transition:.25s;z-index:50;box-shadow:0 8px 30px #0005}#toast.show{transform:translateX(-50%) translateY(0)}
@media(min-width:680px){.grid.two{grid-template-columns:1fr 1fr}.action-grid{grid-template-columns:1fr 1fr}.card,.summary-card{padding:24px}.app-shell{padding:28px 22px 55px}}
@media print{body>*:not(#printArea){display:none!important}#printArea{display:block!important}.print-quote{font-family:Arial,sans-serif;color:#111;padding:30px}.print-quote header{display:flex;justify-content:space-between;border-bottom:4px solid #111;padding-bottom:16px}.print-quote h1{margin:0;font-size:24px}.print-quote header p{margin:4px 0}.print-contact{text-align:right;line-height:1.5}.print-quote>h2{margin-top:30px}.print-meta{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px}.print-quote table{width:100%;border-collapse:collapse;margin-top:24px}.print-quote th,.print-quote td{border:1px solid #aaa;text-align:left;padding:12px}.print-quote th{width:45%;background:#eee}.print-quote tr.total th,.print-quote tr.total td{font-size:18px;background:#dfe9db;font-weight:bold}.terms{margin-top:28px;font-size:11px;line-height:1.5}.signature{margin-top:50px}}
