:root{
  --bg:#f6f8fb; --card:#ffffff; --accent:#0b84ff; --muted:#6b7280; --text:#0f1724; --success:#16a34a; --danger:#ef4444;
}
*{box-sizing:border-box}
html,body{height:100%;margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}
.header{max-width:1100px;margin:18px auto;padding:0 18px;display:flex;align-items:center;gap:12px}
.brand{display:flex;align-items:center;gap:12px}
.logo{width:56px;height:56px;object-fit:contain}
.wrap{max-width:1100px;margin:14px auto;padding:0 18px;display:grid;grid-template-columns:420px 1fr;gap:18px}
@media(max-width:980px){.wrap{grid-template-columns:1fr}}
.card{background:var(--card);padding:16px;border-radius:10px;box-shadow:0 8px 30px rgba(2,6,23,.05)}
.calc-card h2,.results-card h2{margin:0 0 6px 0}
.muted{color:var(--muted)}
.form-grid{display:grid;grid-template-columns:1fr;gap:8px;margin-top:8px}
.row{display:flex;gap:8px}
.full-width{grid-column:1/-1}
label{display:block;font-weight:700;color:#111827;font-size:13px;margin-top:6px}
input,select{width:100%;padding:10px;border-radius:8px;border:1px solid #e6eef6;font-size:15px;background:#fff}
.actions{display:flex;gap:10px;margin-top:12px}
.btn{padding:10px 12px;border-radius:8px;border:0;cursor:pointer;font-weight:700}
.btn.primary{background:var(--accent);color:#fff}
.btn.success{background:var(--success);color:#fff}
.btn:hover{opacity:.96}
.error{color:var(--danger);margin-top:8px}
.results-card .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.stat{background:#f8fbff;padding:12px;border-radius:8px;text-align:center;border:1px solid rgba(11,132,255,.06)}
.stat small{color:var(--muted);display:block}
.stat strong{font-size:18px;margin-top:6px;display:block}
.offer-row{display:flex;gap:10px;margin-top:12px}
.table-wrap{max-height:360px;overflow:auto;margin-top:12px;border-radius:8px;border:1px solid #eef2f7}
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{padding:8px;border-bottom:1px solid #f1f5f9;text-align:right}
th{text-align:left;position:sticky;top:0;background:#fff}
.site-footer{max-width:1100px;margin:18px auto;padding:12px 18px;text-align:center;color:var(--muted)}
.small{font-size:13px}
.hidden{display:none}