:root {
  --bg: #f5f7fc;
  --card: #fff;
  --text: #131722;
  --muted: #5e6674;
  --primary: #1f57ff;
  --border: #e3e8f2;
  --shadow: 0 10px 30px rgba(18, 30, 64, 0.08);
}
* { box-sizing: border-box; }
body { margin: 0; font-family: Inter, system-ui, sans-serif; background: linear-gradient(180deg,#eef3ff 0%, var(--bg) 30%, var(--bg) 100%); color: var(--text); }
.container { max-width: 1120px; margin: 0 auto; padding: 1rem; }
.hero { display: grid; grid-template-columns: 2fr 1fr; gap: 1rem; padding-top: 2rem; }
.badge { display: inline-block; background:#e9efff; color:#123ea9; border:1px solid #cddcff; border-radius:999px; padding:.25rem .75rem; font-weight:700; font-size:.82rem; }
h1 { margin:.6rem 0; line-height:1.15; font-size: clamp(1.8rem,3.2vw,2.8rem); }
.hero-copy { color: var(--muted); max-width: 65ch; }
.hero-points { padding-left: 1rem; margin: .7rem 0 0; }
.hero-card { border:1px solid #d6e1ff; border-radius:16px; padding:1rem; background: radial-gradient(circle at top right,#dce7ff,#fff); box-shadow: var(--shadow); }
.grid { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap:1rem; padding-bottom:2rem; }
.card { background: var(--card); border:1px solid var(--border); border-radius:16px; padding:1rem; box-shadow: var(--shadow); }
.field-row { margin-bottom:.75rem; display:grid; gap:.3rem; }
label { font-weight:600; font-size:.92rem; }
input,select,textarea { width:100%; border:1px solid #cfd8ea; border-radius:10px; padding:.56rem .64rem; font:inherit; }
input:focus,select:focus { outline:2px solid #b8cbff; border-color:#7093ff; }
.assumption-grid { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap:.55rem; margin-bottom: .75rem; }
.assumption-grid .field-row { margin:0; }
.actions { display:flex; gap:.6rem; flex-wrap:wrap; }
button { border:none; cursor:pointer; font:inherit; }
.btn-primary,.btn-secondary{ padding:.58rem .9rem; border-radius:10px; font-weight:700; }
.btn-primary{ background:var(--primary); color:#fff; }
.btn-secondary{ background:#edf2ff; color:#1b42ab; border:1px solid #cdd8ff; }
.results-grid { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap:.7rem; }
.results-grid article{ border:1px solid #e2e7f3; background:#f9fbff; border-radius:12px; padding:.7rem; }
.results-grid p{ margin:0; font-size:1.16rem; font-weight:800; color:#0f2f90; }
.result-flash { animation: flash 1.1s ease; }
@keyframes flash { 0%{box-shadow:0 0 0 0 rgba(31,87,255,.45);} 100%{box-shadow:0 0 0 18px rgba(31,87,255,0);} }
.formula-box { margin-top:.9rem; border:1px dashed #c8d3ea; border-radius:12px; padding:.8rem; background:#fafcff; }
.muted { color: var(--muted); }
.scenario-list{ display:grid; gap:.6rem; }
.scenario-item{ border:1px solid #dfe5f2; border-radius:12px; padding:.7rem; display:flex; justify-content:space-between; gap:.7rem; }
.error{ color:#b42318; background:#fff0f0; border:1px solid #f5c9c9; border-radius:10px; padding:.55rem; margin:.5rem 0; }
.hidden{ display:none; }
.disclaimer { margin-top:.8rem; padding:.7rem; border-left:4px solid #f59e0b; background:#fff8e9; border-radius:8px; }
.footer { color: var(--muted); border-top: 1px solid var(--border); }
@media (max-width: 900px){ .hero,.grid{grid-template-columns:1fr;} .assumption-grid{grid-template-columns:1fr;} }
