:root{
  --bg:#eef2f8;
  --bg-2:#e7edf6;
  --panel:#ffffff;
  --ink:#13233b;
  --ink-soft:#33455e;
  --muted:#647691;
  --line:#e1e8f1;
  --line-2:#d3dde9;
  --brand:#0e3a5f;        /* deep clinical navy */
  --brand-2:#155e8a;
  --accent:#d6294a;       /* arterial red */
  --accent-soft:#fce8ec;
  --teal:#0f9b8e;
  --good:#12835a;
  --good-bg:#e4f6ee;
  --bad:#cf2740;
  --bad-bg:#fdeaed;
  --warn-bg:#fff6e6;
  --warn-line:#f0d9a8;
  --shadow-sm:0 1px 2px rgba(19,35,59,.06),0 2px 8px rgba(19,35,59,.05);
  --shadow:0 10px 34px rgba(19,35,59,.10);
  --shadow-lg:0 20px 50px rgba(19,35,59,.16);
  --radius:16px;
  --radius-sm:11px;
  --maxw:900px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:
    radial-gradient(1200px 480px at 80% -120px,rgba(21,94,138,.10),transparent 60%),
    radial-gradient(900px 420px at -10% 0,rgba(214,41,74,.06),transparent 55%),
    var(--bg);
  color:var(--ink);
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--brand-2)}

/* ---------- header ---------- */
.topbar{
  background:linear-gradient(120deg,var(--brand),#0a2c49 55%,#0a2237);
  color:#fff;position:sticky;top:0;z-index:50;
  box-shadow:0 2px 16px rgba(10,34,55,.35);
}
.topbar-inner{
  max-width:var(--maxw);margin:0 auto;padding:13px 22px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
}
.logo{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:.2px;font-size:1.18rem;color:#fff;text-decoration:none}
.logo .mark{
  width:30px;height:30px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--accent),#a51d39);box-shadow:0 3px 10px rgba(214,41,74,.45);
  font-size:1rem;
}
.logo small{display:block;font-size:.62rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;opacity:.7;margin-top:-2px}
.topnav{display:flex;gap:4px;flex-wrap:wrap}
.topnav a{
  color:#dce6f2;text-decoration:none;font-size:.86rem;font-weight:600;
  padding:7px 12px;border-radius:9px;transition:.15s;
}
.topnav a:hover{background:rgba(255,255,255,.12);color:#fff}
.topnav a.active{background:rgba(255,255,255,.18);color:#fff}

/* ---------- progress strip ---------- */
.progress-strip{background:rgba(255,255,255,.85);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.progress-strip-inner{max-width:var(--maxw);margin:0 auto;padding:9px 22px;display:flex;align-items:center;gap:13px}
.progress-track{flex:1;height:8px;background:var(--line-2);border-radius:99px;overflow:hidden}
.progress-fill{height:100%;background:linear-gradient(90deg,var(--teal),#27c0a6);width:0;transition:width .5s cubic-bezier(.4,0,.2,1)}
.progress-label{font-size:.76rem;color:var(--muted);font-weight:700;white-space:nowrap;letter-spacing:.02em}

/* ---------- layout ---------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding:30px 22px 90px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:30px;margin-bottom:22px}
h1{font-size:2.05rem;line-height:1.18;margin:.1em 0 .3em;letter-spacing:-.02em}
h2{font-size:1.4rem;margin:1.4em 0 .4em;letter-spacing:-.01em}
h3{font-size:1.13rem;margin:1.7em 0 .4em;color:var(--brand);font-weight:750}
.module-body h3:first-child{margin-top:.3em}
h4{margin:.2em 0 .5em;font-size:1rem}
p{margin:.55em 0}
.lede{font-size:1.08rem;color:var(--ink-soft)}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:800;color:var(--accent)}
.small{font-size:.84rem;color:var(--muted)}

/* ---------- hero ---------- */
.hero{
  position:relative;overflow:hidden;color:#fff;
  background:linear-gradient(125deg,#0e3a5f,#0a2c49 60%,#0b3550);
  border:none;padding:0;
}
.hero-inner{position:relative;z-index:2;padding:38px 34px 104px}
.hero .eyebrow{color:#7fd1c5}
.hero h1{color:#fff;margin-top:.15em;font-size:2.3rem}
.hero p{color:#cfe0ef;font-size:1.1rem;max-width:60ch}
.hero .btn-row{margin-top:22px}
.pulse-line{position:absolute;left:0;right:0;bottom:0;height:92px;z-index:1;opacity:.8;
  filter:drop-shadow(0 0 7px rgba(63,209,187,.55))}
.pulse-line path{stroke:#4fd6c0;stroke-width:2.4;fill:none;stroke-linejoin:round;stroke-linecap:round;
  stroke-dasharray:1;stroke-dashoffset:1;animation:trace 3.2s ease-in-out forwards}
@keyframes trace{to{stroke-dashoffset:0}}
.hero-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.hero-badges span{font-size:.74rem;font-weight:700;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);padding:5px 11px;border-radius:99px;color:#dbe8f4}

/* ---------- kpis ---------- */
.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:20px 0 4px}
.kpi{background:linear-gradient(180deg,#fff,#f7faff);border:1px solid var(--line);border-radius:var(--radius-sm);padding:15px 16px}
.kpi .n{font-size:1.7rem;font-weight:850;color:var(--brand);line-height:1;letter-spacing:-.02em}
.kpi .l{font-size:.78rem;color:var(--muted);margin-top:6px;font-weight:600}

/* ---------- module grid ---------- */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px;margin-top:10px}
.tile{
  display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);
  border-radius:var(--radius);padding:22px 20px 18px;text-decoration:none;color:inherit;
  transition:.18s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;
}
.tile::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(var(--accent),var(--brand-2));opacity:.0;transition:.18s}
.tile:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--line-2)}
.tile:hover::before{opacity:1}
.tile-badge{
  width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  font-weight:850;font-size:1.15rem;color:#fff;background:linear-gradient(135deg,var(--brand-2),var(--brand));
  box-shadow:0 6px 16px rgba(14,58,95,.3);margin-bottom:14px;
}
.tile.done .tile-badge{background:linear-gradient(135deg,var(--good),#0aa06a)}
.tile h3{margin:.1em 0 .25em;font-size:1.08rem;color:var(--ink)}
.tile .tile-tag{margin:0 0 12px;font-size:.88rem;color:var(--muted);flex:1}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.chip{font-size:.71rem;font-weight:650;background:#eef3f9;color:var(--brand-2);border:1px solid #e0e9f3;padding:3px 9px;border-radius:99px}
.tile-foot{display:flex;justify-content:space-between;align-items:center;font-size:.78rem;color:var(--muted);border-top:1px solid var(--line);padding-top:11px;margin-top:auto}
.tile-foot .go{font-weight:750;color:var(--accent)}
.tile.done .tile-foot .go{color:var(--good)}
.tick{position:absolute;top:18px;right:18px;width:24px;height:24px;border-radius:50%;background:var(--good);color:#fff;display:none;align-items:center;justify-content:center;font-weight:800;font-size:.82rem;box-shadow:0 3px 8px rgba(18,131,90,.4)}
.tile.done .tick{display:flex}

/* ---------- content blocks ---------- */
.card table{border-collapse:collapse;width:100%;margin:.7em 0;font-size:.92rem;border-radius:10px;overflow:hidden}
.card th,.card td{border:1px solid var(--line);padding:9px 11px;text-align:left;vertical-align:top}
.card th{background:#eef3f9;font-weight:750;color:var(--brand)}
.card tbody tr:nth-child(even){background:#fafcff}
.module-body ul{padding-left:1.15em}
.module-body li{margin:.3em 0}
.callout{background:linear-gradient(180deg,#f5f9fd,#eef4fb);border:1px solid #dde8f3;border-left:4px solid var(--brand-2);border-radius:12px;padding:15px 18px;margin:1.1em 0}
.callout h4{color:var(--brand);margin-top:.1em}
.callout table{margin:.4em 0}
.pearl{background:var(--warn-bg);border:1px solid var(--warn-line);border-left:4px solid #e0a72b;border-radius:12px;padding:13px 17px;margin:1.3em 0;font-size:.96rem}
.covered{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:14px}
.covered .lbl{font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:8px;cursor:pointer;border:none;
  background:linear-gradient(135deg,var(--accent),#b51e39);color:#fff;font-weight:750;font-size:.96rem;
  padding:13px 22px;border-radius:11px;text-decoration:none;transition:.16s;
  box-shadow:0 6px 18px rgba(214,41,74,.32);
}
.btn:hover{transform:translateY(-1px);box-shadow:0 9px 24px rgba(214,41,74,.4)}
.btn.secondary{background:#fff;color:var(--brand);border:1.5px solid var(--line-2);box-shadow:var(--shadow-sm)}
.btn.secondary:hover{background:#f6f9fc;border-color:#bccbdd}
.btn.navy{background:linear-gradient(135deg,var(--brand-2),var(--brand));box-shadow:0 6px 18px rgba(14,58,95,.32)}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.btn-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px;align-items:center}

/* ---------- quiz ---------- */
.quiz-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.quiz-q{margin:0 0 18px;padding:20px;border:1px solid var(--line);border-radius:14px;background:#fcfdff;transition:.15s}
.quiz-q .qtext{font-weight:700;margin-bottom:13px;font-size:1.01rem}
.qnum{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;border-radius:7px;background:var(--brand);color:#fff;font-size:.76rem;font-weight:800;margin-right:9px}
.opt{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:#fff;border:1.5px solid var(--line-2);border-radius:11px;padding:12px 15px;margin:8px 0;cursor:pointer;font-size:.96rem;transition:.13s;color:var(--ink)}
.opt::before{content:"";flex:none;width:20px;height:20px;border-radius:50%;border:2px solid #c6d2e0;transition:.13s}
.opt:hover{border-color:var(--brand-2);background:#f6faff}
.opt.selected{border-color:var(--brand-2);background:#eef5fd}
.opt.selected::before{border-color:var(--brand-2);background:var(--brand-2);box-shadow:inset 0 0 0 3px #fff}
.opt.correct{border-color:var(--good);background:var(--good-bg)}
.opt.correct::before{border-color:var(--good);background:var(--good);box-shadow:inset 0 0 0 3px var(--good-bg);content:"\2713";color:#fff;font-size:.7rem;display:flex;align-items:center;justify-content:center}
.opt.incorrect{border-color:var(--bad);background:var(--bad-bg)}
.opt.incorrect::before{border-color:var(--bad);background:var(--bad);content:"\2717";color:#fff;font-size:.7rem;display:flex;align-items:center;justify-content:center;box-shadow:none}
.opt[disabled]{cursor:default}
.explain{display:none;margin-top:11px;padding:12px 15px;border-radius:10px;background:#eef5fd;border:1px solid #d6e4f5;font-size:.9rem}
.explain.show{display:block}
.explain.right{background:var(--good-bg);border-color:#bfe6d2}
.explain.wrong{background:var(--bad-bg);border-color:#f3c9c4}

/* ---------- result banner ---------- */
.result{display:none;padding:24px;border-radius:14px;margin-top:10px;text-align:center}
.result.show{display:block;animation:pop .35s ease}
@keyframes pop{from{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}
.result.pass{background:linear-gradient(180deg,#eafaf2,var(--good-bg));border:1px solid #bfe6d2}
.result.fail{background:linear-gradient(180deg,#fdeef0,var(--bad-bg));border:1px solid #f3c9c4}
.result .score{font-size:2.6rem;font-weight:850;letter-spacing:-.02em}
.result.pass .score{color:var(--good)}
.result.fail .score{color:var(--bad)}

/* ---------- certificate ---------- */
.cert-form{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin:12px 0 4px}
.field{display:flex;flex-direction:column;gap:5px}
.field label{font-size:.8rem;font-weight:750;color:var(--muted)}
.field input{padding:11px 13px;border:1.5px solid var(--line-2);border-radius:10px;font-size:1rem;min-width:250px}
.field input:focus{outline:none;border-color:var(--brand-2);box-shadow:0 0 0 3px rgba(21,94,138,.14)}
.certificate{
  background:
    radial-gradient(circle at 1px 1px,rgba(14,58,95,.045) 1px,transparent 0),
    linear-gradient(180deg,#fff,#fbfdff);
  background-size:24px 24px,100% 100%;
  border:2px solid var(--brand);border-radius:14px;
  padding:46px 40px;text-align:center;position:relative;margin-top:18px;
  box-shadow:var(--shadow);
}
.certificate::after{content:"";position:absolute;inset:9px;border:1px solid rgba(14,58,95,.25);border-radius:9px;pointer-events:none}
.certificate .seal{
  width:62px;height:62px;border-radius:50%;margin:0 auto 6px;display:flex;align-items:center;justify-content:center;
  font-size:1.9rem;background:linear-gradient(135deg,var(--accent),#a51d39);color:#fff;box-shadow:0 8px 20px rgba(214,41,74,.4)
}
.certificate .cert-title{font-size:1.8rem;font-weight:850;letter-spacing:-.01em;color:var(--brand);margin:.25em 0 .05em}
.certificate .cert-sub{color:var(--muted);text-transform:uppercase;letter-spacing:.17em;font-size:.72rem;font-weight:700}
.certificate .name{font-family:Georgia,"Times New Roman",serif;font-size:2.1rem;font-weight:700;color:var(--ink);margin:.55em 0 .1em;border-bottom:2px solid var(--line-2);display:inline-block;padding:0 26px 8px}
.certificate .course{font-size:1.08rem;margin:.7em auto;max-width:48ch;color:var(--ink-soft)}
.certificate .foot{display:flex;justify-content:space-between;margin-top:36px;font-size:.82rem;color:var(--muted);gap:20px;flex-wrap:wrap}
.certificate .foot div{flex:1;min-width:150px}
.certificate .foot strong{color:var(--brand);display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px}
.locked{text-align:center;padding:36px 20px;color:var(--muted)}
.locked .lock{font-size:2.6rem}

/* ---------- misc ---------- */
.sources li{margin-bottom:7px;font-size:.88rem}
.note{font-size:.8rem;color:var(--muted);font-style:italic}
.disclaimer{font-size:.78rem;color:var(--muted);text-align:center;margin-top:32px;line-height:1.55;max-width:65ch;margin-left:auto;margin-right:auto}
.steps{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.step{display:flex;align-items:center;gap:10px;font-size:.9rem;color:var(--ink-soft);background:#f6f9fc;border:1px solid var(--line);border-radius:10px;padding:9px 13px}
.step b{display:inline-flex;width:22px;height:22px;border-radius:50%;background:var(--brand);color:#fff;align-items:center;justify-content:center;font-size:.74rem}

/* ---------- Module 5 BP estimator ---------- */
.calc{background:linear-gradient(180deg,#f7fafd,#eef4fb);border:1px solid #dbe6f2;border-radius:14px;padding:18px;margin:1em 0}
.calc-sub{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--brand-2);margin:14px 0 8px}
.calc-grid{display:flex;flex-wrap:wrap;gap:12px}
.calc-grid label,.calc-drug select{font-size:.85rem}
.calc-grid label{display:flex;flex-direction:column;gap:5px;font-weight:700;color:var(--ink-soft);flex:1;min-width:140px}
.calc input[type=number],.calc select{padding:9px 11px;border:1.5px solid var(--line-2);border-radius:9px;font-size:.95rem;background:#fff;color:var(--ink)}
.calc input[type=number]:focus,.calc select:focus{outline:none;border-color:var(--brand-2);box-shadow:0 0 0 3px rgba(21,94,138,.12)}
.calc-drug{display:flex;gap:10px;margin-bottom:8px}
.calc-drug .c-class{flex:2;min-width:0}
.calc-drug .c-dose{flex:1;min-width:0}
.calc-life{display:flex;flex-wrap:wrap;gap:8px 16px}
.c-life-item{display:flex;align-items:center;gap:7px;font-size:.88rem;color:var(--ink-soft);cursor:pointer}
.c-life-item input{width:16px;height:16px;accent-color:var(--brand-2)}
.calc-out{margin-top:16px;padding-top:14px;border-top:1px dashed var(--line-2)}
.c-result{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px}
.c-big{font-size:2.2rem;font-weight:850;color:var(--brand);letter-spacing:-.02em}
.c-unit{color:var(--muted);font-size:.9rem;font-weight:600}
.c-drop{color:var(--accent);font-weight:750;font-size:.95rem}
.c-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.c-badge{font-size:.8rem;font-weight:700;padding:5px 11px;border-radius:99px;border:1px solid}
.c-badge.ok{background:var(--good-bg);color:var(--good);border-color:#bfe6d2}
.c-badge.no{background:var(--bad-bg);color:var(--bad);border-color:#f3c9c4}

/* ---------- responsive & print ---------- */
@media print{
  .topbar,.progress-strip,.btn-row,.topnav,.no-print{display:none!important}
  body{background:#fff}
  .card{box-shadow:none;border:none;padding:0;margin:0}
  .certificate{border:2px solid var(--brand);box-shadow:none}
}
@media(max-width:640px){
  .card{padding:22px}
  .hero-inner{padding:28px 22px 92px}
  .pulse-line{height:64px;opacity:.7}
  h1{font-size:1.6rem}
  .hero h1{font-size:1.8rem}
  .kpi-row{grid-template-columns:repeat(2,1fr)}
  .calc-grid label{min-width:120px}
}

/* ---------- site footer ---------- */
.site-footer{background:linear-gradient(180deg,#0a2c49,#081d30);color:#aebfd2;margin-top:44px}
.footer-inner{max-width:var(--maxw);margin:0 auto;padding:26px 22px 36px}
.footer-discl{font-size:.76rem;line-height:1.65;color:#9fb2c8;margin:0 0 16px}
.footer-discl strong{color:#dceaf6}
.footer-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.82rem;border-top:1px solid rgba(255,255,255,.12);padding-top:16px}
.footer-meta a{color:#7fc6e8}
.footer-made{font-weight:700;color:#cfe0ef}
.footer-made .heart{color:var(--accent)}
@media print{.site-footer{display:none!important}}

/* ---------- Module 5 paginated self-test ---------- */
.cq{animation:pop .25s ease}
.cq-prog{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;font-weight:800;color:var(--muted);margin-bottom:8px}
.cq-hint{color:var(--brand-2);text-transform:none;font-weight:700}
.cq-bar{height:6px;background:var(--line-2);border-radius:99px;overflow:hidden;margin-bottom:18px}
.cq-bar-fill{height:100%;background:linear-gradient(90deg,var(--teal),#27c0a6);width:0;transition:width .4s cubic-bezier(.4,0,.2,1)}
.cq-stem{font-weight:700;font-size:1.04rem;margin-bottom:14px;line-height:1.5}
.cq-calc{margin-bottom:18px}
.cq-options{margin-bottom:4px}
.cq-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px}
.cq-nav>span{flex:1}

/* ---------- mobile overflow fixes ---------- */
html,body{max-width:100%;overflow-x:hidden}
body{overflow-wrap:break-word}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:.7em 0;border:1px solid var(--line);border-radius:10px}
.table-scroll table{margin:0;border:none;border-radius:0;min-width:520px}
.sources a,.footer-meta a{word-break:break-word}
.cq-nav{flex-wrap:wrap}
@media(max-width:640px){
  .card table{font-size:.86rem}
  .calc-drug{flex-wrap:wrap}
  .calc-drug .c-class,.calc-drug .c-dose{flex:1 1 100%}
  .c-result{flex-direction:column;align-items:flex-start}
  .certificate{padding:30px 18px}
  .certificate .name{font-size:1.6rem;padding:0 12px 6px}
}

/* ---------- per-module references ---------- */
.refs-block{margin-top:26px;padding-top:16px;border-top:1px solid var(--line)}
.refs-block h4{font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0 0 8px}
.refs{list-style:none;padding:0;margin:0}
.refs li{font-size:.86rem;margin:.32em 0;padding-left:1.3em;position:relative;word-break:break-word}
.refs li::before{content:"\1F517";position:absolute;left:0;top:0;font-size:.78rem;opacity:.7}
.module-body a{color:var(--brand-2);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
.module-body a:hover{color:var(--accent)}

/* ---------- estimator targets reference ---------- */
.c-targets{margin-top:12px;font-size:.82rem;color:var(--ink-soft);background:#fff;border:1px solid var(--line);border-radius:9px;padding:11px 13px}
.c-targets>strong{display:block;color:var(--brand);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}
.c-targets ul{margin:0;padding-left:1.1em}
.c-targets li{margin:.25em 0}

/* keep the self-test question in view (offset for sticky header) below */
#module-quiz{scroll-margin-top:78px}

/* ---------- self-test navigator, drug rows & reset ---------- */
.calc-drug .c-agent{flex:2;min-width:0}
.calc-drug .c-dose{flex:1;min-width:0}
.calc-drug .c-dose:disabled{opacity:.5}
.cq-dots{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.cq-dot{width:30px;height:30px;border-radius:8px;border:1.5px solid var(--line-2);background:#fff;color:var(--muted);font-weight:800;font-size:.82rem;cursor:pointer;transition:.12s;padding:0}
.cq-dot:hover{border-color:var(--brand-2)}
.cq-dot.cur{border-color:var(--brand);color:var(--brand);box-shadow:0 0 0 2px rgba(14,58,95,.14)}
.cq-dot.ok{background:var(--good);border-color:var(--good);color:#fff}
.cq-dot.no{background:var(--bad);border-color:var(--bad);color:#fff}
.cq-dot.cur.ok,.cq-dot.cur.no{box-shadow:0 0 0 2px rgba(14,58,95,.28)}
.cq-nav-r{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.home-reset{margin-top:16px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
@media(max-width:640px){
  .calc-drug .c-agent,.calc-drug .c-dose{flex:1 1 100%}
}

/* per-question source citation in explanations */
.q-src{display:block;margin-top:8px;font-size:.78rem;color:var(--muted);font-style:italic}
.q-src a{color:var(--brand-2)}
