:root{
  --blue:#14387f;
  --accent:#F29100;
  --bg:#f4f7fb;
  --ink:#172033;
  --muted:#667085;
  --ok:#087443;
  --bad:#b42318;
  --line:#d9e2ef;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--ink)}
.hero{background:linear-gradient(135deg,var(--blue),#0b1f45);color:#fff;padding:34px 24px}
.hero h1{margin:4px 0 8px;font-size:clamp(26px,4vw,42px)}
.hero p{margin:0;max-width:900px;opacity:.9}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;color:#ffcd7a}
.wrap{max-width:1200px;margin:24px auto;padding:0 18px}
.card,.summary{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 30px rgba(20,56,127,.08);padding:22px;margin-bottom:18px}
.card h2{margin:0 0 16px;color:var(--blue)}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
label{font-weight:650;font-size:13px;color:#344054}
input,select{display:block;width:100%;margin-top:6px;padding:11px 12px;border:1px solid #c9d4e5;border-radius:12px;background:#fff;font-size:14px}
.primary{align-self:end;border:0;border-radius:12px;padding:13px 18px;background:var(--accent);color:#1d1d1d;font-weight:800;cursor:pointer}
.primary:hover{filter:brightness(.97)}
.kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.kpi{background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:14px}
.kpi span{display:block;color:var(--muted);font-size:12px}
.kpi strong{display:block;font-size:22px;margin-top:5px;color:var(--blue)}
.tableWrap{overflow:auto}
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
th{background:#f8fafc;color:#344054;position:sticky;top:0}
.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-weight:800;font-size:12px}
.ok{background:#ecfdf3;color:var(--ok)}
.no{background:#fef3f2;color:var(--bad)}
.muted{color:var(--muted)}
@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}.kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.grid{grid-template-columns:1fr}.kpis{grid-template-columns:1fr}}

.backLink{color:#ffcd7a;text-decoration:none;font-weight:800}
.toolGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.toolCard{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 30px rgba(20,56,127,.08);padding:22px;text-decoration:none;color:var(--ink);min-height:190px}
.toolCard h2{margin:0 0 8px;color:var(--blue);font-size:21px}
.toolCard p{margin:0 0 14px;color:var(--muted);line-height:1.5}
.toolCard strong{color:var(--accent)}
.toolCard.disabled{opacity:.55}
.toolIcon{display:grid;place-items:center;min-width:48px;height:48px;border-radius:16px;background:#eef4ff;color:var(--blue);font-size:28px;font-weight:900}
.recommendation{margin-top:14px;border-radius:16px;padding:16px;border:1px solid var(--line);background:#f8fafc}
.recommendation span{display:block;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.recommendation strong{display:block;margin-top:4px;font-size:24px;color:var(--blue)}
.recommendation p{margin:7px 0 0;color:var(--muted)}
.recOk{border-color:#b7e4ca;background:#f0fdf4}
.recNo{border-color:#fecdca;background:#fff5f4}
.reasonCell{white-space:normal;min-width:240px;color:#344054}
@media(max-width:900px){.toolGrid{grid-template-columns:1fr}}

.roughnessBox{align-self:stretch;border:1px dashed #b8c7dc;border-radius:14px;background:#f8fbff;padding:12px}
.roughnessBox span{display:block;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.roughnessBox strong{display:block;color:var(--blue);margin-top:5px}
.roughnessBox p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.35}

.sectionHead{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:14px}
.sectionHead h2{margin:0 0 6px;color:var(--blue)}
.sectionHead p{margin:0;color:var(--muted);line-height:1.45}
.mapActions,.mapToolButtons,.mapTransfer{display:flex;gap:8px;flex-wrap:wrap}
.mapBox{width:100%;height:520px;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#dbe7f5}
.mapToolPanel{margin-top:14px;border:1px solid var(--line);border-radius:16px;background:#f8fafc;padding:14px}
.softBtn{border:1px solid #c9d4e5;background:#fff;border-radius:12px;padding:10px 13px;font-weight:800;color:var(--blue);cursor:pointer}
.softBtn:hover{background:#eef4ff}
.softBtn.danger{color:#b42318;border-color:#fecdca}
.mapReadouts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}
.mapReadouts div{border:1px solid var(--line);border-radius:13px;background:#fff;padding:10px}
.mapReadouts span{display:block;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.mapReadouts strong{display:block;margin-top:5px;color:var(--blue);font-size:18px}
.mapNote{font-size:12px;color:var(--muted);margin:10px 0 0;line-height:1.45}
@media(max-width:900px){
  .sectionHead{flex-direction:column}
  .mapBox{height:420px}
  .mapReadouts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .mapReadouts{grid-template-columns:1fr}
}
