body{padding-bottom:50px}
.wrap{max-width:960px;margin:0 auto;padding:0 16px}
.header-inner{max-width:960px;margin:0 auto;padding:22px 16px 18px}
h1{font-size:clamp(22px,4.5vw,30px);font-stretch:75%;text-transform:uppercase;line-height:1.05;margin:4px 0}

.panel{background:var(--surface);border-radius:var(--r);padding:18px;margin-top:12px;box-shadow:var(--sh)}
.fac-sel{width:100%;max-width:420px;padding:8px 12px;border:1.5px solid var(--line);border-radius:var(--r-sm);background:var(--bg);color:var(--ink);font-family:'IBM Plex Mono',monospace;font-size:12px;cursor:pointer}
.fac-sel:focus{outline:2px solid var(--purple);outline-offset:1px;border-color:var(--purple)}
.panel-row{display:flex;flex-direction:column;gap:18px}
.field-label{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);font-weight:600;display:block;margin-bottom:8px}
.optional{font-weight:400;color:var(--ink-muted);font-size:9px}

.seg{display:flex;flex-wrap:wrap;gap:5px}
.seg-btn{font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:500;padding:6px 11px;border-radius:50px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink-soft);cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}
.seg-btn.active{background:var(--ink);border-color:var(--ink);color:#fff}
.seg-btn:focus-visible{outline:2px solid var(--purple);outline-offset:2px}

.result-card{background:var(--surface);border-radius:var(--r);padding:18px;margin-top:14px;box-shadow:var(--sh)}
.result-head{font-weight:800;font-size:15px;margin-bottom:10px}
.susc-note{font-size:11.5px;color:var(--ink-muted);margin-bottom:10px;font-style:italic}

.tbl-wrap{overflow-x:auto}
.reg-tbl{border-collapse:collapse;font-size:12.5px;width:100%}
.reg-tbl th{font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:700;color:var(--ink-muted);text-align:left;padding:7px 10px;border-bottom:1.5px solid var(--line);background:var(--bg);white-space:nowrap}
.reg-tbl td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.4}
.reg-tbl tr:last-child td{border-bottom:none}
.reg-name{font-weight:700;font-size:13px;white-space:nowrap}
.reg-dose{font-family:'IBM Plex Mono',monospace;font-size:11px;white-space:nowrap;color:var(--ink)}
.reg-note{color:var(--ink-muted);font-size:12px}
.susc-col{text-align:center;white-space:nowrap}
.susc-src{font-family:'IBM Plex Mono',monospace;font-size:9px;color:var(--ink-muted);font-weight:400;display:block}

.susc-hi{background:#d1fae5;color:#065f46;font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:700;padding:2px 7px;border-radius:4px;display:inline-block}
.susc-mid{background:#fef9c3;color:#713f12;font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:700;padding:2px 7px;border-radius:4px;display:inline-block}
.susc-lo{background:#fee2e2;color:#991b1b;font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:700;padding:2px 7px;border-radius:4px;display:inline-block}
.susc-nr{background:var(--line);color:var(--ink-muted);font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:700;padding:2px 7px;border-radius:4px;display:inline-block}
.susc-na{color:var(--ink-muted);font-size:12px;opacity:.4;text-align:center}

.legend-row{font-size:11px;color:var(--ink-muted);margin-top:10px;display:flex;flex-wrap:wrap;gap:4px;align-items:center}

footer{max-width:960px;margin:30px auto 0;padding:12px 16px;border-top:1px solid var(--line);font-size:10.5px;color:var(--ink-muted)}
