/* Ahead Security – Styles */
:root{
  --bg:#47565c;
  --bg-deep:#3d4b50;
  --muted:#cfd8dc;
  --text:#ffffff;
  --accent:#18a0fb;
  --accent-2:#22c55e;
  --card:rgba(255,255,255,0.08);
  --border:1px solid rgba(255,255,255,.18);
  --radius:16px;
  --shadow:0 10px 30px rgba(0,0,0,.35);
}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;
  background:
    radial-gradient(900px 400px at 110% 10%, var(--bg-deep) 0%, transparent 45%),
    radial-gradient(1200px 600px at 0% -10%, #233038 0%, transparent 50%),
    var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
}
.container{max-width:980px; margin:0 auto; padding:32px 20px 80px}
.header{display:flex; gap:16px; align-items:center; margin:12px 0 24px;}
.brand-logo{display:block; height:48px; width:auto; border-radius:6px}
.brand-copy h1{font-size:clamp(24px,3.2vw,40px); margin:0}
.sub{color:var(--muted); margin-top:6px}
.card{
  background: var(--card);
  backdrop-filter: blur(6px);
  border:var(--border);
  border-radius:var(--radius);
  padding:20px;
  box-shadow:var(--shadow);
}
.grid{display:grid; gap:16px}
@media(min-width:900px){ .grid{grid-template-columns:2fr 1fr} }
fieldset{border:0; margin:0 0 20px; padding:0}
legend{font-weight:700; margin-bottom:8px}
.q{margin:16px 0 8px; font-weight:600}
.opt{
  display:flex; align-items:center; gap:10px;
  padding:10px 12px; border-radius:12px;
  border:var(--border); background:rgba(255,255,255,.04);
}
.opt + .opt{margin-top:8px}
input[type=radio]{transform:scale(1.15)}
.actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:18px}
.btn{
  appearance:none; border:0; padding:12px 16px;
  border-radius:12px; cursor:pointer; font-weight:600;
  background:var(--accent); color:white; box-shadow:var(--shadow);
}
.btn.secondary{background:rgba(255,255,255,.1); color:#f3f6f8; border:var(--border);}
.btn:disabled{opacity:.6; cursor:not-allowed}
.result{padding:16px; border-radius:14px; border:var(--border); background:rgba(255,255,255,.06); margin-top:12px}
.hidden{display:none}
.badge{display:inline-block; padding:6px 10px; border-radius:999px; font-weight:700; letter-spacing:.2px}
.badge.ciso{background:rgba(59,130,246,.15); color:#bfdbfe; border:1px solid rgba(59,130,246,.35)}
.badge.arch{background:rgba(34,197,94,.15); color:#bbf7d0; border:1px solid rgba(34,197,94,.35)}
.badge.mgr{background:rgba(245,158,11,.15); color:#fde68a; border:1px solid rgba(245,158,11,.35)}
.panel-title{font-weight:800; margin-top:0}
.muted{color:var(--muted)}
.sep{border-color: rgba(255,255,255,.25)}
footer{margin-top:36px; color:var(--muted); font-size:14px}
.disclaimer{font-size:13px; color:#d7dee2}
.kv{display:grid; grid-template-columns: 1fr; gap:10px}
@media(min-width:600px){ .kv{grid-template-columns: 1fr 1fr} }
.kv .card{padding:14px}
.print-only{display:none}
@media print{
  body{background:white; color:#111827}
  .print-hide{display:none}
  .print-only{display:block}
  .card, .result{box-shadow:none; background:white; border:1px solid #e5e7eb}
  .badge{border:1px solid #111827}
}
.legal-links a{color:#fff; text-decoration:underline}
