/* AMMAGENOMICS Lab Platform — design tokens come from the laboratory's own brand (blue disc, red thermometer, gold sunburst). */
:root{
  --blue:#1B5FA6; --navy:#0D3560; --navy-2:#0A2A4D; --gold:#C9973A; --red:#D93636;
  --ink:#14202B; --ink-2:#4A5B6B; --ink-3:#7A8A99;
  --paper:#F1F5F8; --panel:#FFFFFF; --panel-2:#F7FAFC; --line:#D6E1E9; --line-2:#E8EFF4;
  --ok:#1B8F52; --ok-bg:#E3F4EA; --warn:#B9770A; --warn-bg:#FCF0D6; --bad:#C62D2D; --bad-bg:#FBE5E5; --info:#1B5FA6; --info-bg:#E2EEF9; --mute-bg:#EAEFF3;
  --focus:#1B5FA6; --radius:6px; --rail:236px;
  --sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --shadow:0 1px 0 rgba(13,53,96,.05);
}
[data-theme=dark]{
  --ink:#E6EDF3; --ink-2:#A9B7C4; --ink-3:#7F8F9E; --paper:#0C1620; --panel:#132130; --panel-2:#172736; --line:#26384A; --line-2:#1E2F40;
  --ok:#43C384; --ok-bg:#12352A; --warn:#EBB54C; --warn-bg:#3A2E12; --bad:#FF7A7A; --bad-bg:#40191B; --info:#6FB0F0; --info-bg:#132F4B; --mute-bg:#1C2C3B; --focus:#6FB0F0; --blue:#4C93DB;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:15px/1.5 var(--sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{margin:0;line-height:1.22;font-weight:600;letter-spacing:-.008em}
h1{font-size:1.5rem}h2{font-size:1.12rem}h3{font-size:.98rem}
.eyebrow{display:block;font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--gold);margin-bottom:3px}
[data-theme=dark] .eyebrow{color:#E4C271}
p{margin:0 0 .75rem}
a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}
.skip-link{position:absolute;left:-999px;top:8px;background:var(--navy);color:#fff;padding:8px 12px;border-radius:6px;z-index:100}.skip-link:focus{left:8px}
.mono,.num{font-family:var(--mono);font-variant-numeric:tabular-nums}
.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}.small{font-size:.85rem}.nowrap{white-space:nowrap}.right{text-align:right}.center{text-align:center}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.boot{display:grid;place-items:center;min-height:100vh;gap:.5rem;color:var(--ink-2);text-align:center}
.boot img{border-radius:50%}

/* ---------- shell ---------- */
.app{display:grid;grid-template-columns:var(--rail) minmax(0,1fr);min-height:100vh}
.rail{background:var(--navy);color:#DCE8F5;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:14px 10px;gap:6px;overflow-y:auto}
.brand{display:flex;align-items:center;gap:10px;padding:6px 8px 14px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:8px}
.brand img{width:42px;height:42px;border-radius:50%;background:#fff;object-fit:contain;flex:none}
.brand b{display:block;color:#fff;font-size:1rem;letter-spacing:.01em}.brand span{display:block;font-size:.72rem;color:#9FB7D0;line-height:1.25}
.nav{display:flex;flex-direction:column;gap:2px}
.nav a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:7px;color:#C9DAEB;font-weight:500;position:relative;text-decoration:none}
.nav a:hover{background:rgba(255,255,255,.08);color:#fff}
.nav a.on{background:rgba(255,255,255,.12);color:#fff}
.nav a.on::before{content:"";position:absolute;left:-10px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--gold)}
.nav .grp{font-size:.72rem;color:#8AA6C3;padding:14px 10px 4px}
.nav .badge-n{margin-left:auto;background:var(--gold);color:#241800;font-size:.72rem;font-weight:700;border-radius:99px;padding:0 7px;min-width:20px;text-align:center}
.rail-foot{margin-top:auto;font-size:.78rem;color:#8AA6C3;padding:10px 8px 2px;border-top:1px solid rgba(255,255,255,.12)}
.main-col{min-width:0;display:flex;flex-direction:column}
.topbar{display:flex;align-items:center;gap:10px;padding:10px 24px;background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;min-height:56px}
.topbar .grow{flex:1}
.iconbtn{background:none;border:1px solid transparent;border-radius:8px;padding:7px;cursor:pointer;display:inline-grid;place-items:center;color:var(--ink-2);position:relative}
.iconbtn:hover{background:var(--mute-bg);color:var(--ink)}
.iconbtn .dotn{position:absolute;top:2px;right:2px;background:var(--red);color:#fff;font-size:.65rem;border-radius:99px;min-width:16px;height:16px;line-height:16px;text-align:center;font-weight:700}
.menu-btn{display:none}
.userbtn{display:flex;align-items:center;gap:8px;background:none;border:1px solid var(--line);border-radius:99px;padding:3px 12px 3px 4px;cursor:pointer}
.avatar{width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:.78rem;font-weight:600}
.pop{position:absolute;right:0;top:calc(100% + 6px);background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px rgba(10,30,50,.18);min-width:220px;z-index:40;padding:6px}
.pop button,.pop a{display:flex;width:100%;text-align:left;background:none;border:0;padding:8px 10px;border-radius:6px;cursor:pointer;color:var(--ink);gap:8px;align-items:center;text-decoration:none}
.pop button:hover,.pop a:hover{background:var(--mute-bg);text-decoration:none}
.pop hr{border:0;border-top:1px solid var(--line);margin:6px 0}
.rel{position:relative}
.page{padding:22px 24px 60px;max-width:1360px;width:100%;margin:0 auto}
.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 20px;margin-bottom:18px}
.page-head{border-bottom:1px solid var(--line-2);padding-bottom:16px}
.page-head .grow{flex:1;min-width:220px}.page-head p{margin:2px 0 0;color:var(--ink-2)}
.crumbs{font-size:.85rem;color:var(--ink-3);margin-bottom:4px}
.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}

/* ---------- surfaces ---------- */
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.card{border-top:2px solid var(--navy)}
[data-theme=dark] .card{border-top-color:var(--blue)}
.card-h{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line-2);flex-wrap:wrap;background:var(--panel-2)}
.card-h h2,.card-h h3{flex:1;letter-spacing:-.003em}
.card-h h3{font-size:.86rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2)}
.card-b{padding:16px}
.card-b.flush{padding:0}
.grid{display:grid;gap:16px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.g-auto{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.split{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px}
.stack>*+*{margin-top:16px}
.kpi{padding:14px 16px}.kpi .v{font-size:1.9rem;font-weight:600;font-family:var(--mono);letter-spacing:-.02em;line-height:1.1}.kpi .l{color:var(--ink-2);font-size:.85rem;margin-top:2px}
.kpi.bad .v{color:var(--bad)}.kpi.warn .v{color:var(--warn)}.kpi.ok .v{color:var(--ok)}

/* ---------- controls ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 14px;border-radius:6px;border:1px solid var(--line);background:var(--panel);cursor:pointer;font-weight:600;font-size:.92rem;line-height:1.2;text-decoration:none;color:var(--ink);min-height:38px}
.btn:hover{background:var(--mute-bg);text-decoration:none}
.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.primary:hover{background:var(--navy)}
.btn.gold{background:var(--gold);border-color:var(--gold);color:#241800}
.btn.danger{background:var(--bad);border-color:var(--bad);color:#fff}[data-theme=dark] .btn.danger{color:#1a0505}
.btn.ghost{background:none;border-color:transparent}.btn.ghost:hover{background:var(--mute-bg)}
.btn.sm{padding:4px 10px;min-height:30px;font-size:.88rem}
.btn[disabled],.btn.locked{opacity:.5;cursor:not-allowed}
.field{display:flex;flex-direction:column;gap:4px;min-width:0}
.field>label,.lbl{font-size:.85rem;font-weight:500;color:var(--ink-2)}
.field .req{color:var(--bad)}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],input[type=search],input[type=tel],select,textarea{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);min-height:38px}
input:disabled,select:disabled,textarea:disabled{background:var(--mute-bg);color:var(--ink-3)}
textarea{min-height:76px;resize:vertical}
input.invalid,select.invalid,textarea.invalid{border-color:var(--bad);background:var(--bad-bg)}
.err{color:var(--bad);font-size:.84rem}.hint{color:var(--ink-3);font-size:.82rem}
.row{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.row.r2{grid-template-columns:repeat(2,minmax(0,1fr))}.row.r3{grid-template-columns:repeat(3,minmax(0,1fr))}
.check{display:flex;gap:8px;align-items:center}.check input{width:18px;height:18px}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--panel)}
.seg button{border:0;background:none;padding:7px 12px;cursor:pointer;font-weight:500;color:var(--ink-2);border-right:1px solid var(--line)}
.seg button:last-child{border-right:0}.seg button.on{background:var(--blue);color:#fff}
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:16px;overflow-x:auto}
.tabs button,.tabs a{background:none;border:0;padding:10px 14px;cursor:pointer;font-weight:500;color:var(--ink-2);border-bottom:2px solid transparent;white-space:nowrap;text-decoration:none}
.tabs .on{color:var(--blue);border-bottom-color:var(--blue)}
.alert{padding:10px 14px;border-radius:8px;border:1px solid;display:flex;gap:10px;align-items:flex-start}
.alert.bad{background:var(--bad-bg);border-color:var(--bad);color:var(--bad)}.alert.warn{background:var(--warn-bg);border-color:var(--warn);color:var(--warn)}.alert.ok{background:var(--ok-bg);border-color:var(--ok);color:var(--ok)}.alert.info{background:var(--info-bg);border-color:var(--info);color:var(--info)}
.alert>div{color:var(--ink)}

/* ---------- badges & status ---------- */
.badge{display:inline-flex;align-items:center;gap:6px;padding:2px 9px;border-radius:4px;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;background:var(--mute-bg);color:var(--ink-2);white-space:nowrap}
.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.bad{background:var(--bad-bg);color:var(--bad)}.badge.info{background:var(--info-bg);color:var(--info)}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--ink-3);flex:none}
.dot.g,.dot.green{background:var(--ok)}.dot.a,.dot.amber{background:#E8A317}.dot.r,.dot.red{background:var(--bad)}.dot.n{background:var(--line)}

/* ---------- tables ---------- */
.tbl-wrap{overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;font-size:.92rem}
.tbl th{text-align:left;font-weight:700;color:var(--ink-2);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;padding:9px 12px;border-bottom:2px solid var(--navy);background:var(--panel-2);white-space:nowrap;position:sticky;top:0}
[data-theme=dark] .tbl th{border-bottom-color:var(--blue)}
.tbl td{padding:9px 12px;border-bottom:1px solid var(--line-2);vertical-align:middle}
.tbl tr:last-child td{border-bottom:0}
.tbl tbody tr:hover{background:var(--panel-2)}
.tbl th.sortable{cursor:pointer}.tbl th.sortable:hover{color:var(--ink)}
.tbl .r{text-align:right}.tbl td.num,.tbl th.num{text-align:right}
.pager{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:10px 14px;border-top:1px solid var(--line-2);flex-wrap:wrap}
.empty{padding:36px 20px;text-align:center;color:var(--ink-2)}.empty h3{color:var(--ink);margin-bottom:4px}
.skel{background:linear-gradient(90deg,var(--mute-bg),var(--line-2),var(--mute-bg));background-size:200% 100%;animation:sk 1.4s linear infinite;border-radius:6px;min-height:1em}
@keyframes sk{to{background-position:-200% 0}}

/* ---------- lab-specific ---------- */
.gauge{position:relative;height:30px;margin:6px 0 2px}
.gauge .track{position:absolute;left:0;right:0;top:12px;height:6px;border-radius:3px;background:var(--mute-bg)}
.gauge .band{position:absolute;top:12px;height:6px;background:var(--ok);opacity:.55;border-radius:3px}
.gauge .warnband{position:absolute;top:12px;height:6px;background:#E8A317;opacity:.7}
.gauge .mk{position:absolute;top:4px;width:3px;height:22px;background:var(--ink);border-radius:2px;transform:translateX(-1.5px)}
.gauge .mk.bad{background:var(--bad)}.gauge .mk.warn{background:#E8A317}.gauge .mk.ok{background:var(--ok)}
.gauge .lim{position:absolute;top:22px;font-size:.7rem;color:var(--ink-3);font-family:var(--mono);transform:translateX(-50%)}
.plate{display:flex;flex-wrap:wrap;gap:6px}
.well{width:26px;height:26px;border-radius:50%;border:2px solid var(--line);background:var(--mute-bg);cursor:pointer;display:grid;place-items:center;font-size:.62rem;color:var(--ink-2);text-decoration:none}
.well.valid{background:var(--ok);border-color:var(--ok)}.well.due_soon{background:#E8A317;border-color:#E8A317}.well.due{background:#E8A317;border-color:var(--bad)}.well.overdue,.well.failed,.well.revoked{background:var(--bad);border-color:var(--bad)}
.well.none{background:var(--panel);border-style:dashed}.well.maintenance{background:var(--info);border-color:var(--info)}.well.not_required{background:var(--panel);border-color:var(--line)}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:.82rem;color:var(--ink-2)}.legend span{display:inline-flex;gap:6px;align-items:center}
.chart-box{position:relative;height:260px}.chart-box.sm{height:200px}.chart-box.lg{height:320px}
.entry-grid{width:100%;border-collapse:collapse}
.entry-grid th{font-size:.8rem;color:var(--ink-2);font-weight:600;text-align:left;padding:4px 6px}
.entry-grid td{padding:3px 4px}
.entry-grid input{font-family:var(--mono);text-align:right;padding:6px 8px;min-height:34px}
.tl{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}
.tl.green{background:var(--ok)}.tl.amber{background:#E8A317}.tl.red{background:var(--bad)}.tl.none{background:var(--line)}
.steps{display:flex;gap:0;margin-bottom:18px;overflow-x:auto}
.step{flex:1;min-width:110px;display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);background:var(--panel);cursor:pointer;color:var(--ink-2);font-weight:500}
.step:first-child{border-radius:8px 0 0 8px}.step:last-child{border-radius:0 8px 8px 0}.step+.step{border-left:0}
.step .n{width:24px;height:24px;border-radius:50%;background:var(--mute-bg);display:grid;place-items:center;font-size:.8rem;font-weight:600;flex:none}
.step.on{background:var(--info-bg);color:var(--blue);border-color:var(--blue)}.step.on .n{background:var(--blue);color:#fff}
.step.done .n{background:var(--ok);color:#fff}.step.warn .n{background:#E8A317;color:#241800}
.cert{background:#fff;color:#14202B;border:1px solid #cfd9e2;border-radius:6px;max-width:820px;margin:0 auto;padding:36px 40px;position:relative}
.cert .cert-h{display:flex;gap:16px;align-items:center;border-bottom:3px double #0D3560;padding-bottom:14px;margin-bottom:14px}
.cert .cert-h img{width:74px;height:74px}.cert h2{color:#0D3560;font-size:1.25rem}.cert .sub{color:#4A5B6B;font-size:.85rem}
.cert .sec{background:#0D3560;color:#fff;font-weight:600;padding:4px 10px;margin:16px 0 6px;font-size:.85rem}
.cert .kv{display:flex;justify-content:space-between;gap:12px;padding:5px 2px;border-bottom:1px solid #E1E9EF}.cert .kv span:first-child{color:#4A5B6B}
.cert table{width:100%;border-collapse:collapse;font-size:.88rem}.cert th{background:#1B5FA6;color:#fff;padding:6px;text-align:center}.cert td{padding:6px;text-align:center;border-bottom:1px solid #E1E9EF;font-family:var(--mono)}
.cert .banner{padding:10px 12px;font-weight:700;border-radius:4px;margin:10px 0}.cert .banner.PASS{background:#E3F4EA;color:#14703F}.cert .banner.CONDITIONAL{background:#FCF0D6;color:#8A5A06}.cert .banner.FAIL{background:#FBE5E5;color:#A32424}
.cert .stamp{position:absolute;right:40px;top:40px;transform:rotate(-12deg);border:3px solid #C62D2D;color:#C62D2D;font-weight:700;font-size:1.4rem;padding:4px 14px;border-radius:6px;opacity:.85}
.cert .foot{margin-top:24px;font-size:.78rem;color:#4A5B6B;display:flex;justify-content:space-between;gap:10px;border-top:1px solid #cfd9e2;padding-top:8px}

/* ---------- overlays ---------- */
.modal-backdrop{position:fixed;inset:0;background:rgba(8,20,34,.55);display:grid;place-items:center;z-index:60;padding:16px}
.modal{background:var(--panel);border-radius:12px;max-width:560px;width:100%;max-height:calc(100vh - 32px);display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.modal.lg{max-width:860px}.modal.sm{max-width:440px}
.modal-h{padding:14px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px}.modal-h h2{flex:1}
.modal-b{padding:18px;overflow-y:auto}.modal-f{padding:12px 18px;border-top:1px solid var(--line);display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
#toasts{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column;gap:8px;z-index:90;max-width:min(420px,calc(100vw - 32px))}
.toast{background:var(--navy);color:#fff;padding:10px 14px;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.25);display:flex;gap:10px;align-items:flex-start;border-left:4px solid var(--gold)}
.toast.ok{border-left-color:var(--ok)}.toast.bad{border-left-color:#FF7A7A}.toast.warn{border-left-color:#E8A317}
.appframe{width:100%;height:calc(100vh - 150px);min-height:420px;border:1px solid var(--line);border-radius:8px;background:#fff}

/* ---------- auth ---------- */
.auth{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
.auth-side{background:var(--navy);color:#fff;padding:48px;display:flex;flex-direction:column;justify-content:center;gap:24px;position:relative;overflow:hidden}
.auth-side img{width:140px;height:140px;border-radius:50%;background:#fff}
.auth-side h1{font-size:2rem;max-width:16ch}.auth-side p{color:#B9CCE0;max-width:44ch}
.auth-side ul{margin:0;padding:0;list-style:none;color:#B9CCE0;display:grid;gap:8px}.auth-side li::before{content:"";display:inline-block;width:8px;height:8px;background:var(--gold);border-radius:50%;margin-right:10px}
.auth-main{display:grid;place-items:center;padding:32px}
.auth-card{width:100%;max-width:400px}

/* ---------- responsive ---------- */
@media (max-width:1100px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:820px){
  .app{grid-template-columns:1fr}
  .rail{position:fixed;left:0;top:0;bottom:0;width:260px;z-index:50;transform:translateX(-102%);transition:transform .2s}
  .rail.open{transform:none;box-shadow:0 0 40px rgba(0,0,0,.4)}
  .menu-btn{display:inline-grid}.topbar{padding:8px 12px}.page{padding:16px 12px 60px}
  .g2,.g3,.g4,.row.r2,.row.r3{grid-template-columns:1fr}
  .auth{grid-template-columns:1fr}.auth-side{display:none}
  .userbtn .uname{display:none}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media print{
  body{background:#fff}.rail,.topbar,.no-print,#toasts,.page-head .toolbar,.tabs{display:none!important}
  .app{display:block}.page{padding:0;max-width:none}.card{border:0;box-shadow:none}.cert{border:0;padding:0}
  .print-only{display:block!important}
}
.print-only{display:none}

/* ---------- roles & people analytics ---------- */
.rolechip{display:inline-flex;align-items:center;gap:5px;padding:2px 9px 2px 7px;border-radius:4px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.rolechip.superadmin{background:linear-gradient(135deg,#C9973A,#A87720);color:#2b1c00}
.rolechip.admin{background:var(--navy);color:#fff}
[data-theme=dark] .rolechip.admin{background:var(--blue);color:#04121f}
.rolechip.other{background:var(--mute-bg);color:var(--ink-2)}
.reserved-note{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:6px;background:var(--info-bg);color:var(--info);border:1px solid var(--info);font-size:.85rem}
.people-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line-2)}
.people-row:last-child{border-bottom:0}
.stat-strip{display:flex;gap:0;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.stat-strip>div{flex:1;padding:10px 14px;text-align:center;border-right:1px solid var(--line)}
.stat-strip>div:last-child{border-right:0}
.stat-strip .v{font-family:var(--mono);font-size:1.3rem;font-weight:700}
.stat-strip .l{font-size:.72rem;color:var(--ink-2);text-transform:uppercase;letter-spacing:.03em;margin-top:2px}
.format-card{border:1px solid var(--line);border-radius:6px;padding:14px;cursor:pointer;text-align:left;background:var(--panel);display:flex;flex-direction:column;gap:4px}
.format-card:hover{border-color:var(--blue)}
.format-card.on{border-color:var(--blue);background:var(--info-bg)}
.format-card b{font-size:.95rem}
.format-card span{font-size:.8rem;color:var(--ink-2)}
