/* ============================================================
   БХТ лабораторийн систем — admin.webuild.mn загвар
   Manrope + JetBrains Mono, #F5F5F5 суурь, #1A1A1A бичиг,
   #F5C518 шар акцент, цагаан карт (1px #CCC, 8px радиус).
   ============================================================ */
:root{
  --bg:#F5F5F5;--sheet:#FFFFFF;--sheet-2:#FAFAFA;--ink:#1A1A1A;--ink-2:#333333;--muted:#555555;--muted-2:#8A8A8A;--line:#CCCCCC;--line-soft:#E5E7EB;
  --accent:#F5C518;--accent-hover:#C99E0F;--accent-soft:#FFF6D6;
  --ok:#15803D;--ok-soft:#DCFCE7;--warn:#A16207;--warn-soft:#FEF3C7;--bad:#B91C1C;--bad-soft:#FEE2E2;--info:#1D4ED8;--info-soft:#DBEAFE;
  --sans:Manrope,Inter,system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --r:6px;--r-lg:8px;--shadow:0 1px 2px 0 rgba(0,0,0,.05);--ring:0 0 0 2px var(--accent);
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:2px}
a:hover{text-decoration-color:var(--ink)}
h1,h2,h3{margin:0;font-family:var(--sans)}
h1{font-size:24px;line-height:1.2;font-weight:700;letter-spacing:-.6px}
h1 .h-sub{font-weight:400;font-size:16px;color:var(--muted);letter-spacing:0}
h2{font-family:var(--mono);font-size:12px;font-weight:400;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:12px;display:flex;align-items:center;gap:8px}
h2 i{font-style:normal;background:var(--ink);color:#fff;width:18px;height:18px;display:inline-grid;place-items:center;font-size:10px;border-radius:4px}
h2 .count{background:var(--bg);border:1px solid var(--line-soft);padding:0 6px;border-radius:4px;color:var(--ink)}
.eyebrow{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.lede{color:var(--muted);max-width:78ch;margin:4px 0 0;font-size:14px}
.muted{color:var(--muted)} .small{font-size:12px} .tiny{font-size:10px} .mono{font-family:var(--mono);font-size:.92em}
.ok-text{color:var(--ok)} .bad-text{color:var(--bad)} .warn-text{color:var(--warn)} .block{display:block} .nowrap{white-space:nowrap}
.req{color:var(--bad);font-weight:600;margin-left:1px}
.empty{color:var(--muted);padding:18px 0;margin:0;text-align:center}
.link{font-size:13px;font-weight:500}

/* ---------- topbar ---------- */
.topbar{display:flex;align-items:center;gap:24px;padding:0 24px;height:56px;background:var(--sheet);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}
.brand-mark{font-family:var(--mono);font-weight:700;background:var(--accent);color:var(--ink);padding:4px 7px;border-radius:4px;font-size:12px;letter-spacing:.05em}
.brand-text{font-family:var(--mono);font-size:10px;line-height:1.15;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.mainnav{display:flex;gap:2px;margin-left:8px}
.mainnav a{padding:6px 12px;color:var(--muted);text-decoration:none;font-weight:500;border-radius:var(--r);font-size:14px}
.mainnav a:hover{background:var(--bg);color:var(--ink)}
.mainnav a.on{background:var(--bg);color:var(--ink);font-weight:600}
.topbar-cta{margin-left:auto}
.container{max-width:1280px;margin:0 auto;padding:24px 24px 120px}
.page-head{margin:4px 0 20px}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--sheet);color:var(--ink);text-decoration:none;font:inherit;font-weight:500;font-size:14px;line-height:1.25;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}
.btn:hover{background:var(--bg)} .btn:focus-visible{outline:0;box-shadow:var(--ring)}
.btn.accent{background:var(--accent);border-color:var(--accent);color:var(--ink)} .btn.accent:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.btn.danger{background:var(--ink);border-color:var(--ink);color:#fff} .btn.danger:hover{background:rgba(26,26,26,.9)}
.btn.danger-outline{border-color:var(--bad);color:var(--bad);background:transparent} .btn.danger-outline:hover{background:var(--bad-soft)}
.btn.sm{padding:4px 10px;font-size:12px} .btn.lg{padding:10px 20px;font-size:15px}
.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}
.btn .plus{font-size:18px;line-height:0;font-weight:400}
.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}

/* ---------- stepper ---------- */
.stepper{list-style:none;margin:0 0 24px;padding:4px;display:grid;grid-template-columns:repeat(5,1fr);gap:4px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--sheet);box-shadow:var(--shadow)}
.step{position:relative}
.step>a,.step>span{display:flex;align-items:center;gap:10px;padding:10px 14px;color:inherit;text-decoration:none;min-height:58px;border-radius:var(--r)}
.step-n{font-family:var(--mono);font-weight:500;width:26px;height:26px;border:1px solid var(--line);display:grid;place-items:center;border-radius:50%;flex:none;font-size:12px;background:var(--sheet)}
.step-t{font-weight:600;font-size:13px;line-height:1.15}
.step-t small{display:block;font-family:var(--mono);font-weight:400;font-size:11px;color:var(--muted);margin-top:3px;letter-spacing:.02em}
.step.cur>a,.step.cur>span{background:var(--accent)} .step.cur .step-n{background:var(--ink);border-color:var(--ink);color:#fff} .step.cur .step-t small{color:rgba(26,26,26,.7)}
.step.done .step-n{background:var(--ink);border-color:var(--ink);color:#fff}
.step.done a:hover{background:var(--bg)}
.step.todo{color:var(--muted)} .step.todo .step-n{color:var(--muted-2)}
@media(max-width:980px){.step-t small{display:none}.step-t{font-size:12px}.step>a,.step>span{padding:8px;gap:8px;min-height:0}}

/* ---------- guide / alerts / tags ---------- */
.guide{background:var(--info-soft);border:1px solid #BFDBFE;border-radius:var(--r-lg);padding:12px 16px;margin-bottom:16px;color:var(--ink);font-size:14px}
.guide em{font-style:normal;font-weight:600;background:rgba(255,255,255,.8);padding:0 5px;border-radius:4px}
.alert{padding:10px 14px;border:1px solid;border-radius:var(--r-lg);margin-bottom:12px;background:var(--sheet);font-size:14px}
.alert.ok{background:var(--ok-soft);border-color:#BBF7D0} .alert.bad{background:var(--bad-soft);border-color:#FECACA}
.tag,.pill{display:inline-flex;align-items:center;font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:.05em;text-transform:uppercase;padding:2px 8px;border-radius:4px;white-space:nowrap;vertical-align:middle;line-height:1.3}
.tag.ok,.pill.ok{background:var(--ok-soft);color:var(--ok)} .tag.warn,.pill.warn{background:var(--warn-soft);color:var(--warn)} .tag.bad,.pill.bad{background:var(--bad-soft);color:var(--bad)} .tag.neu{background:var(--bg);color:var(--muted);border:1px solid var(--line-soft)}

/* ---------- cards ---------- */
.card{background:var(--sheet);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px;margin-bottom:16px;box-shadow:var(--shadow)}
.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px} .card-head h2{margin:0}
.grid-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.grid-2>*{min-width:0}
@media(max-width:960px){.grid-2{grid-template-columns:1fr}}

/* ---------- dashboard ---------- */
.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;align-items:center;margin-bottom:24px;padding:24px;background:var(--sheet);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow)}
.hero h1{margin:4px 0 8px}
.hero .lede{margin-bottom:16px}
.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.stat{display:block;background:var(--sheet);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 16px;text-decoration:none;color:var(--ink)}
.stat b{display:block;font-size:30px;line-height:1;font-weight:700;letter-spacing:-.6px}
.stat span{font-family:var(--mono);font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;display:block;margin-top:6px}
.stat.warn b{color:var(--warn)} .stat.ok b{color:var(--ok)} a.stat:hover{border-color:var(--ink)}
@media(max-width:900px){.hero{grid-template-columns:1fr}}
.worklist{list-style:none;margin:0;padding:0}
.worklist li{display:flex;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid var(--line-soft)}
.worklist li:last-child{border-bottom:0}
.wl-main{flex:1;min-width:0;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;text-decoration:none;color:inherit}
.wl-code{grid-row:1/3;align-self:center;font-size:11px;background:var(--bg);border:1px solid var(--line-soft);padding:3px 7px;border-radius:4px;color:var(--muted)}
.wl-title{font-weight:600} .wl-sub{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ---------- pick (step 1) ---------- */
.pick{display:grid;grid-template-columns:250px 1fr;gap:16px;align-items:start}
@media(max-width:860px){.pick{grid-template-columns:1fr}}
.pick-labs{background:var(--sheet);border:1px solid var(--line);border-radius:var(--r-lg);padding:8px;position:sticky;top:72px;box-shadow:var(--shadow)}
.pick-label{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:8px 10px 6px}
.lab-btn{display:block;width:100%;text-align:left;background:none;border:0;border-radius:var(--r);padding:8px 10px;font:inherit;font-weight:500;color:var(--muted);cursor:pointer;line-height:1.25}
.lab-btn small{display:block;font-family:var(--mono);font-size:11px;color:var(--muted-2);margin-top:2px}
.lab-btn:hover{background:var(--bg);color:var(--ink)} .lab-btn.on{background:var(--accent);color:var(--ink);font-weight:600} .lab-btn.on small{color:rgba(26,26,26,.65)}
.pick-tools{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
.search{display:flex;align-items:center;background:var(--sheet);border:1px solid var(--line);border-radius:var(--r);padding:0 12px}
.search:focus-within{box-shadow:var(--ring);border-color:var(--accent)}
.search-ico{font-size:18px;color:var(--muted);margin-right:6px}
.search input{border:0;background:none;flex:1;padding:9px 0;font:inherit;font-size:15px;outline:0;box-shadow:none!important}
.chips-wrap{position:relative}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips.capped{max-height:62px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 60%,transparent);mask-image:linear-gradient(#000 60%,transparent)}
.chips-more{background:none;border:0;font:inherit;font-size:12px;color:var(--muted);cursor:pointer;padding:4px 0;font-weight:600;text-decoration:underline}
.chip{border:1px solid var(--line);background:var(--sheet);border-radius:999px;padding:3px 10px;font:inherit;font-size:12.5px;cursor:pointer;color:var(--muted)}
.chip i{font-style:normal;font-family:var(--mono);color:var(--muted-2);font-size:11px;margin-left:3px}
.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)} .chip.on i{color:rgba(255,255,255,.65)}
.pick-count{font-family:var(--mono);font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}
.test-list{background:var(--sheet);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:6px}
.test-list .pick-count{padding:6px 10px 2px}
.test-row{display:grid;grid-template-columns:86px 1fr auto auto;gap:14px;align-items:center;padding:10px 12px;border-radius:var(--r);text-decoration:none;color:var(--ink);transition:background .1s}
.test-row+.test-row{border-top:1px solid var(--line-soft)}
.test-row:hover{background:var(--bg)}
.test-row.disabled{opacity:.5;pointer-events:none}
.tr-code{font-size:11px;color:var(--muted)}
.tr-body b{display:block;font-weight:600} .tr-body small{color:var(--muted);font-size:12px}
.tr-body .auto{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--ok)}
.tr-meta{text-align:right;font-family:var(--mono);font-size:11px;color:var(--muted);line-height:1.2} .tr-meta b{font-size:15px;color:var(--ink);display:block;font-family:var(--sans)}
.tr-go{font-weight:600;white-space:nowrap;background:var(--accent);padding:5px 10px;border-radius:var(--r);font-size:13px}
.test-row.disabled .tr-go{background:var(--bg);color:var(--muted)}
@media(max-width:700px){.test-row{grid-template-columns:1fr auto}.tr-code,.tr-meta{display:none}}

/* ---------- forms ---------- */
.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}
.fields.one{grid-template-columns:1fr}
.fields .span2{grid-column:span 2}
.fields .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fields label,.side label,.issue-form label,.rd-field{display:flex;flex-wrap:wrap;align-items:center;gap:4px 3px;font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.fields label>input:not([type=checkbox]):not([type=radio]),.fields label>select,.fields label>textarea,.side label>input:not([type=checkbox]),.side label>select,.side label>textarea,.issue-form label>input,.rd-field>input{flex:1 0 100%}
label.check{flex-direction:row!important;align-items:center;gap:8px;color:var(--ink);font-family:var(--sans);text-transform:none;letter-spacing:0;font-weight:500;font-size:14px;padding-top:22px}
.side label.check{padding-top:0;margin:10px 0}
input,select,textarea{font:inherit;font-family:var(--sans);font-size:14px;text-transform:none;letter-spacing:0;color:var(--ink);background:var(--sheet);border:1px solid var(--line);border-radius:var(--r);padding:8px 12px;min-width:0;transition:border-color .1s,box-shadow .1s}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--accent);box-shadow:var(--ring)}
input[type=checkbox],input[type=radio]{accent-color:var(--ink)}
input.ro{background:var(--bg);color:var(--muted)}
fieldset.plain{border:0;padding:0;margin:0;min-width:0}
fieldset:disabled input,fieldset:disabled select,fieldset:disabled textarea{background:var(--bg);color:var(--ink-2)}
fieldset:disabled .add-rep{display:none}

/* ---------- registration (step 2) ---------- */
.rd-row{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:end;margin-bottom:8px}
@media(max-width:700px){.rd-row{grid-template-columns:1fr}}
.seg-lg span{padding:8px 16px;font-size:14px}
.rd-field input{font-family:var(--mono);font-size:15px;letter-spacing:.06em;text-transform:uppercase}
.rd-status{padding:8px 12px;border:1px solid var(--line-soft);border-radius:var(--r);background:var(--bg);margin-bottom:14px;font-size:13px}
.rd-status.ok{border-color:#BBF7D0;background:var(--ok-soft);color:var(--ink)} .rd-status.bad{border-color:#FECACA;background:var(--bad-soft);color:var(--ink)}
#customer-fields.filled input:not([name=contact_phone]):not([name=delivered_by]){background:var(--accent-soft)}
.autofill{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:12px;background:var(--accent-soft);border:1px solid #F1DC8A;border-radius:var(--r);padding:12px 14px;margin-bottom:14px}
.autofill b{display:block;font-weight:600;line-height:1.25;margin-top:2px} .autofill small{color:var(--muted)}
@media(max-width:700px){.autofill{grid-template-columns:1fr}}
.reg{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}
@media(max-width:1000px){.reg{grid-template-columns:1fr}}
.reg-side{position:sticky;top:72px}
.reg-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:6px 0}
.param-preview{margin:10px 0 0;padding:0;list-style:none;counter-reset:pp;max-height:60vh;overflow:auto}
.param-preview li{counter-increment:pp;display:grid;grid-template-columns:1fr auto;gap:8px;padding:7px 0 7px 24px;border-bottom:1px solid var(--line-soft);font-size:13px;position:relative}
.param-preview li::before{content:counter(pp);position:absolute;left:0;top:8px;font-family:var(--mono);font-size:11px;color:var(--muted-2)}
.pp-name small{color:var(--muted)} .pp-crit{text-align:right;color:var(--muted);white-space:nowrap;font-size:12px} .pp-crit small{color:var(--muted-2)}

/* ---------- results (step 3) ---------- */
.results-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px;align-items:start}
@media(max-width:1060px){.results-layout{grid-template-columns:1fr}}
.results-side{position:sticky;top:72px}
.side{padding:16px}
.progress{font-family:var(--mono);font-size:12px;color:var(--muted)} .progress b{color:var(--ink);font-size:15px}
.tw{overflow-x:auto}
table.grid{border-collapse:collapse;width:100%;font-size:14px}
table.grid th{text-align:left;font-family:var(--mono);font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
table.grid td{padding:9px 10px;border-bottom:1px solid var(--line-soft);vertical-align:middle}
table.grid tbody tr:last-child td{border-bottom:0}
table.grid tbody tr:hover{background:var(--sheet-2)}
td.num{text-align:right;font-family:var(--mono);font-size:12px;color:var(--muted);width:32px}
td.pname{min-width:180px} td.pname small{display:block;font-family:var(--mono);font-size:11px;color:var(--muted);margin-top:2px}
td.crit{white-space:nowrap} td.crit small{color:var(--muted)}
.missing{color:var(--bad)}
table.results td.inputs{white-space:nowrap}
table.results .th-in{color:var(--ink)}
table.results input.rep{width:92px;margin-right:4px;font-family:var(--mono);text-align:right;padding:6px 8px}
table.results input.nom{width:74px;font-family:var(--mono);text-align:right;padding:6px 8px}
table.results input.wide{width:220px;padding:6px 8px}
.nom-wrap{font-size:12px;color:var(--muted);margin-right:8px}
.add-rep{border:1px dashed var(--line);background:transparent;border-radius:var(--r);padding:5px 8px;cursor:pointer;color:var(--muted);font:inherit;font-size:12px}
.add-rep:hover{color:var(--ink);border-color:var(--ink)}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--sheet)}
.seg label{cursor:pointer;margin:0} .seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{display:block;padding:6px 14px;font-size:13px;font-weight:500;color:var(--muted);border-right:1px solid var(--line)}
.seg label:last-child span{border-right:0}
.seg input:checked+span{background:var(--ink);color:#fff}
.seg input:focus-visible+span{box-shadow:inset var(--ring)}
.verdict{display:inline-flex;font-family:var(--mono);font-weight:400;font-size:11px;letter-spacing:.03em;padding:3px 8px;border-radius:4px;white-space:nowrap}
.verdict.ok{background:var(--ok-soft);color:var(--ok)} .verdict.bad{background:var(--bad-soft);color:var(--bad)} .verdict.pending{background:var(--bg);color:var(--muted);border:1px solid var(--line-soft)} .verdict.neu{background:var(--info-soft);color:var(--info)}
.verdict-cell .agg{display:block;margin-top:3px}
tr.row-bad td.pname{box-shadow:inset 3px 0 0 var(--bad)} tr.row-ok td.pname{box-shadow:inset 3px 0 0 var(--ok)}
.overall{padding:14px 16px;border:1px solid var(--line-soft);border-radius:var(--r);margin-bottom:8px;background:var(--bg)}
.overall.ok{background:var(--ok-soft);border-color:#BBF7D0} .overall.bad{background:var(--bad-soft);border-color:#FECACA} .overall.neu{background:var(--warn-soft);border-color:#FDE68A}
.big{font-size:20px;font-weight:700;line-height:1.2;letter-spacing:-.3px} .big-sm{font-size:16px;font-weight:600}
.override-box{display:grid;gap:10px;margin-top:6px;padding:12px;background:var(--bg);border:1px dashed var(--line);border-radius:var(--r)}

/* sticky save bar */
.savebar{position:sticky;bottom:12px;z-index:15;display:flex;justify-content:space-between;align-items:center;gap:16px;background:var(--ink);color:#fff;padding:10px 16px;margin:0 0 20px;border-radius:var(--r-lg);box-shadow:0 8px 24px -8px rgba(0,0,0,.4)}
.savebar .progress,.savebar .progress b{color:#fff} .savebar .muted{color:rgba(255,255,255,.65)}
.savebar-info{display:flex;gap:16px;align-items:baseline}
.savebar .btn{border-color:rgba(255,255,255,.3);color:#fff;background:transparent} .savebar .btn:hover{background:rgba(255,255,255,.1)}
.savebar .btn.accent{background:var(--accent);border-color:var(--accent);color:var(--ink)} .savebar .btn.accent:hover{background:var(--accent-hover)}

/* issue (step 4) */
.issue-card{border-color:var(--accent)}
.issue-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:center}
@media(max-width:800px){.issue-grid{grid-template-columns:1fr}}
.issue-card h2,.revise-card h2{font-family:var(--sans);font-size:18px;font-weight:700;text-transform:none;letter-spacing:-.3px;color:var(--ink);margin:4px 0 8px}
.issue-form{display:grid;gap:8px;justify-items:stretch}
.checklist{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px}
.checklist li{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted)}
.checklist li i{width:18px;height:18px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:11px;font-style:normal;flex:none;background:var(--sheet)}
.checklist li.ok{color:var(--ink)} .checklist li.ok i{background:var(--ok);border-color:var(--ok);color:#fff} .checklist li.ok i::before{content:"✓"}
.issued-box{display:grid;grid-template-columns:auto auto auto 1fr;gap:24px;align-items:center;background:var(--ok-soft);border-color:#BBF7D0}
.issued-box .actions{justify-content:flex-end}
.issued-box.cancelled{background:var(--bad-soft);border-color:#FECACA}
@media(max-width:900px){.issued-box{grid-template-columns:1fr 1fr}}

/* list */
.tabs{display:flex;gap:4px;margin-bottom:12px;flex-wrap:wrap;background:var(--sheet);border:1px solid var(--line);border-radius:var(--r-lg);padding:4px;width:fit-content;max-width:100%}
.tabs a{padding:6px 12px;text-decoration:none;color:var(--muted);font-weight:500;border-radius:var(--r);font-size:13px}
.tabs a:hover{background:var(--bg);color:var(--ink)}
.tabs a i{font-style:normal;font-family:var(--mono);font-size:11px;background:var(--bg);padding:1px 6px;border-radius:999px;margin-left:4px;color:var(--muted)}
.tabs a.on{background:var(--accent);color:var(--ink);font-weight:600} .tabs a.on i{background:rgba(255,255,255,.6);color:var(--ink)}

/* verify */
.dl{display:grid;grid-template-columns:max-content 1fr;gap:8px 20px;margin:12px 0}
.dl dt{color:var(--muted);font-size:12px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em} .dl dd{margin:0}
.verify-card{max-width:640px}
.verify-status{font-weight:700;font-size:20px;padding:10px 14px;margin-bottom:8px;border-radius:var(--r);letter-spacing:-.3px}
.verify-status.ok{background:var(--ok-soft);color:var(--ok)} .verify-status.warn{background:var(--warn-soft);color:var(--warn)} .verify-status.bad{background:var(--bad-soft);color:var(--bad)}

/* ---------- тохиргоо ---------- */
.toolrow{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.search.sm{padding:0 8px} .search.sm input{padding:7px 0;font-size:14px;min-width:260px} .search.sm .btn{margin-left:6px}
.inline-add{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:var(--bg);border:1px dashed var(--line);border-radius:var(--r);padding:10px 12px;margin-bottom:14px}
.inline-add input{min-width:140px}
table.editable td{padding:5px 6px;vertical-align:top}
table.editable input,table.editable select{padding:5px 8px;font-size:13px;width:100%}
table.editable input+input,table.editable select+input{margin-top:4px}
table.editable td.center{text-align:center;vertical-align:middle}
table.editable tr.inactive td{opacity:.55}
table.editable tr.new-row td{background:var(--accent-soft);border-top:1px solid var(--line)}
table.params{font-size:13px;min-width:1500px}
.w3{width:52px!important}.w4{width:70px!important}.w5{width:78px!important}.w6{width:110px!important}.w7{width:118px!important}.w9{width:150px!important}.w14{width:230px!important}
.danger-zone{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:12px;border-top:1px dashed var(--line)}
.std-pick{margin:14px 0}
.std-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:4px 14px;max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:var(--r);padding:8px 10px;background:var(--bg);margin-top:6px}
.std{display:flex;gap:6px;align-items:baseline;font-size:13px;min-width:0} .std small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.settings-test{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.settings-test .dl{grid-template-columns:max-content 1fr;gap:6px 14px}
@media(max-width:960px){.settings-test{grid-template-columns:1fr}}

/* ===== Протокол (A4) ===== */
.protocol-body{background:#E5E7EB}
.toolbar{display:flex;gap:8px;align-items:center;padding:10px 16px;background:var(--sheet);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.sheet{position:relative;background:#fff;color:#111;width:210mm;min-height:297mm;margin:16px auto;padding:14mm;box-shadow:0 2px 14px rgba(0,0,0,.15);font:11.5px/1.35 var(--sans)}
.watermark{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:64px;font-weight:800;color:rgba(185,28,28,.10);transform:rotate(-24deg);pointer-events:none;letter-spacing:.1em;text-align:center}
.ph{display:grid;grid-template-columns:70px 1fr 70px;gap:12px;align-items:center;border-bottom:2px solid #111;padding-bottom:8px}
.ph-logo{width:64px;height:64px;border:2px solid #111;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;letter-spacing:.05em}
.ph-org{text-align:center}
.ph-org-name{font-weight:800;font-size:15px;letter-spacing:.04em}
.ph-org-sub{font-size:10.5px;color:#333}
.ph-mnas{width:64px;height:64px;border:2px solid #111;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800;font-size:12px;line-height:1.1}
.ph-mnas span{font-weight:500;font-size:10px}
.ptitle{text-align:center;font-size:17px;letter-spacing:.1em;margin:12px 0 4px;font-weight:800}
.pno{display:flex;justify-content:space-between;font-size:12px;margin-bottom:10px}
.pinfo{width:100%;border-collapse:collapse;margin-bottom:12px}
.pinfo th,.pinfo td{border:1px solid #333;padding:4px 7px;text-align:left;vertical-align:top;font-size:11px}
.pinfo th{width:23%;font-weight:600;background:#f2f2f2}
.pinfo .verdict-row td{font-size:12.5px}
.pres{width:100%;border-collapse:collapse;margin-bottom:16px}
.pres th,.pres td{border:1px solid #333;padding:4px 6px;font-size:10.8px;vertical-align:top}
.pres th{background:#f2f2f2;font-weight:600;text-align:center}
.pres td.center{text-align:center;font-weight:700;font-size:13px}
.pfoot{margin-top:auto}
.psign{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:18px 0 12px}
.sign-label{font-size:10.5px;color:#333;margin-bottom:26px}
.sign-name{border-top:1px solid #111;padding-top:4px;font-weight:600}
.pqr{display:flex;gap:12px;align-items:center;margin-bottom:8px}
.pqr img{border:1px solid #ccc}
.qr-placeholder{width:96px;height:96px;border:1px dashed #999;display:flex;align-items:center;justify-content:center;text-align:center}
.disclaimer{font-size:9.5px;color:#333;border-top:1px solid #333;padding-top:6px;margin:0}
@media print{
  .no-print{display:none!important}
  body,.protocol-body{background:#fff}
  .sheet{box-shadow:none;margin:0;width:auto;min-height:0;padding:0}
  .watermark{color:rgba(185,28,28,.13)}
}
