/* GFM Formulary page (formulary.html) — searchable, gated drug reference. Built on the academy design system. */
.fml-hero{padding:64px 0 44px}
.fml-hero h1{max-width:16ch;margin-bottom:14px}
.fml-bar{display:flex;flex-wrap:wrap;gap:22px 40px;align-items:flex-start;margin-top:28px}
.fml-search{flex:1 1 300px;max-width:520px;min-width:0}
.fml-search label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}
.fml-search input{width:100%;background:var(--panel);border:1px solid var(--line-2);color:var(--ink);border-radius:12px;padding:13px 15px;font:inherit;font-size:17px;min-width:0}
.fml-search input:focus,.fml-fchip:focus-visible,.fml-il:focus-visible{outline:2px solid var(--copper);outline-offset:2px}
.fml-filters{flex:1 1 460px;display:flex;flex-direction:column;gap:10px;min-width:0}
.fml-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-width:0}
.fml-chip-label{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-right:4px;flex:none}
.fml-fchip{background:var(--panel);border:1px solid var(--line-2);color:var(--ink-2);border-radius:999px;padding:7px 13px;font-family:var(--mono);font-size:12px;letter-spacing:.05em;cursor:pointer;line-height:1.35;max-width:100%;overflow-wrap:anywhere}
.fml-fchip:hover{border-color:var(--copper);color:var(--ink)}
.fml-fchip[aria-pressed="true"]{background:rgba(196,165,116,.16);border-color:var(--copper);color:var(--ink)}
.fml-count{margin-top:16px;font-size:14px;font-family:var(--mono)}
/* layout: sticky left index (desktop), <details> "All drugs" (phone) */
.fml-main{padding-top:8px}
.fml-layout{display:grid;grid-template-columns:264px minmax(0,1fr);gap:30px;align-items:start}
.fml-index{border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:10px;max-height:calc(100vh - 108px);overflow:auto}
.fml-index-desktop{position:sticky;top:84px}
.fml-ig{padding:2px 0}
.fml-igh{font:600 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--copper);padding:10px 10px 4px}
.fml-il{display:flex;justify-content:space-between;gap:8px;padding:6px 10px;border-radius:8px;font-size:14px;color:var(--ink-2);line-height:1.35}
.fml-il:hover{background:var(--bg-3);color:var(--ink)}
.fml-il-lock{opacity:.6}
.fml-details-wrap{display:none;margin-bottom:18px}
.fml-details-wrap details{border:1px solid var(--line);border-radius:14px;background:var(--panel)}
.fml-details-wrap summary{cursor:pointer;padding:14px 18px;font-weight:600;list-style:none;display:flex;justify-content:space-between;align-items:center}
.fml-details-wrap summary::-webkit-details-marker{display:none}
.fml-details-wrap summary::after{content:"+";font-family:var(--mono);color:var(--copper);font-size:18px}
.fml-details-wrap details[open] summary::after{content:"–"}
.fml-details-wrap .fml-index{border:0;border-top:1px solid var(--line);border-radius:0;max-height:45vh}
@media(max-width:900px){.fml-layout{grid-template-columns:1fr}.fml-index-desktop{display:none}.fml-details-wrap{display:block}}
@media(min-width:901px){.fml-details-wrap{display:none}}
/* drug cards + entries */
.fml-list{min-width:0}
.fml-drug{scroll-margin-top:86px;border:1px solid var(--line);border-radius:16px;background:var(--bg-2);padding:24px 26px;margin:0 0 22px;min-width:0}
@media(max-width:640px){.fml-drug{padding:20px 16px}}
.fml-drug h2{margin:0 0 4px;font-size:clamp(26px,3vw,34px);overflow-wrap:anywhere}
.fml-drug h3{font-size:19px;margin-bottom:6px}
.fml-sub{color:var(--muted);margin:0 0 4px}
.fml-entry{border-top:1px solid var(--line);padding-top:14px;margin-top:16px;min-width:0}
.fml-drug>.fml-entry:first-of-type{border-top:0;padding-top:16px;margin-top:12px}
.fml-entry .st{font-size:16px;color:var(--ink-2);overflow-wrap:anywhere;margin:0 0 4px}
.fml-dl{display:grid;grid-template-columns:max-content 1fr;gap:5px 18px;margin:12px 0 4px;font-size:15px}
.fml-dl dt{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-top:3px;white-space:nowrap}
.fml-dl dd{margin:0;color:var(--ink-2);overflow-wrap:anywhere;min-width:0}
@media(max-width:640px){.fml-dl{grid-template-columns:1fr;gap:2px}.fml-dl dd{margin-bottom:8px}}
.fml-chips-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;min-width:0}
.fml-chip{display:inline-flex;align-items:baseline;gap:7px;border:1px solid var(--line-2);border-radius:999px;padding:5px 12px;font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--ink-2);background:rgba(255,255,255,.03);line-height:1.5;max-width:100%;overflow-wrap:anywhere}
.fml-chip b{color:var(--copper-2);font-weight:600;flex:none}
.fml-chip.fml-kind{border-color:rgba(196,165,116,.55);color:var(--copper-2)}
.fml-stamp{margin:12px 0 0;padding-top:9px;border-top:1px dashed var(--line-2);font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
/* update log (unlocked cards) */
.fml-log{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}
.fml-logh{font:600 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--copper);margin-bottom:6px}
.fml-log ul{margin:0;padding:0;list-style:none}
.fml-log li{font-size:14px;color:var(--ink-2);padding:5px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:max-content 1fr;gap:10px;overflow-wrap:anywhere}
.fml-log li:last-child{border-bottom:0}
.fml-logd{font-family:var(--mono);font-size:12px;color:var(--muted);white-space:nowrap}
/* lock card (public preview) */
.fml-n{margin:2px 0 12px;font-size:14px}
.fml-lock{border:1px dashed rgba(196,165,116,.5);border-radius:12px;padding:16px 18px;margin-top:6px;background:rgba(196,165,116,.04)}
.fml-lock h3{margin:0 0 4px}
.fml-lock>p{margin:0 0 12px}
.fml-code-row{display:flex;gap:8px;margin-top:12px}
.fml-code input{flex:1;min-width:0;background:var(--panel);border:1px solid var(--line-2);color:var(--ink);border-radius:10px;padding:10px 12px;font-family:var(--mono);font-size:14px}
.fml-code input:focus{outline:2px solid var(--copper);outline-offset:1px}
/* empty state */
.fml-empty{border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:30px 26px;text-align:center;margin-bottom:22px}
.fml-empty h3{margin:0 0 6px}
.fml-empty p{margin:0 0 14px}
/* print: entries only — no nav, filters, index or lock cards (nav/footer already hidden by the academy print rules) */
/* preview: locked drugs sit in a compact grid; open drugs (and every card once unlocked) span the full width */
.fml-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;align-content:start}
.fml-list>*{grid-column:1/-1}
.fml-list>.fml-drug{margin:0}
.fml-list>.fml-drug.fml-locked{grid-column:auto;padding:16px 18px}
.fml-locked h2{font-size:clamp(20px,2vw,24px)}
.fml-locked .fml-n{margin:2px 0 0}
.fml-locked .fml-lock{border:0;background:none;padding:0;margin-top:12px}
.fml-locked .fml-code input{font-size:13px;padding:10px}
.fml-locked .fml-lock>h3,.fml-locked .fml-lock>p{position:absolute!important;width:1px;height:1px;margin:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
@media print{
  .fml-bar,.fml-index,.fml-index-desktop,.fml-details-wrap,.fml-lock,.fml-empty,.fml-count,.fml-hero{display:none!important}
  .fml-main{padding-top:0}
  .fml-layout{display:block}
  .fml-drug{border:1px solid #999;background:#fff;break-inside:avoid}
  .fml-entry{border-top-color:#999}
  .fml-dl dd,.fml-entry .st,.fml-log li{color:#000}
  .fml-log li{border-bottom-color:#999}
}
