/* Калькулятор медкомиссии: стили теста. Только классы .zs-medkom-… внутри .zs-tool[data-tool="medkom"]; общее — core.css.
   Форма — как карта осмотра: строки глаз OD/OS и графы «без очков / в очках»; итог — заключение с оттиском штампа справа. */
.zs-medkom-intro{margin:0 0 18px;max-width:var(--measure);font:400 16px/1.55 var(--f-ui);color:var(--ink-2)}
.zs-medkom-field{margin:0 0 14px}
.zs-medkom-label{margin:0 0 8px;padding:0;font:600 15px/1.35 var(--f-ui);color:var(--ink)}
.zs-medkom-switch{margin:0}
.zs-medkom-grid{display:grid;grid-template-columns:minmax(64px,120px) repeat(var(--n,2),minmax(0,190px));justify-content:start;gap:8px 12px;align-items:center;margin:18px 0 0;
  padding:12px 0 2px;border-top:2px solid var(--ink)}
.zs-medkom-colh{align-self:end;font:400 12px/1.3 var(--f-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3)}
.zs-medkom-rowh{font:600 15px/1.2 var(--f-ui);color:var(--ink)}
.zs-medkom-rowh small{display:block;margin-top:2px;font:400 12px/1.2 var(--f-mono);letter-spacing:.06em;color:var(--ink-3)}
.zs-medkom-sel{width:100%;min-width:0;min-height:48px;padding:8px 8px;border:1.5px solid var(--ink);border-radius:0;background:#fff;color:var(--ink);
  font:600 16px/1.2 var(--f-mono);cursor:pointer}
.zs-medkom-sel:focus-visible{outline:3px solid var(--red);outline-offset:1px}
.zs-medkom-hint{margin:10px 0 0;max-width:var(--measure);font:400 14.5px/1.5 var(--f-ui);color:var(--ink-3)}
.zs-medkom-saved{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:18px 0 0;padding:12px 14px;background:var(--mint);
  border-top:1px solid var(--mint-rule);border-bottom:1px solid var(--mint-rule)}
.zs-medkom-saved p{flex:1 1 280px;margin:0;font:400 15px/1.5 var(--f-ui);color:var(--ink)}
.zs-medkom-use{min-height:48px}
.zs-medkom-err,.zs-medkom-ok{margin:12px 0 0;font:600 15px/1.45 var(--f-ui);color:var(--red)}
.zs-medkom-err:empty,.zs-medkom-ok:empty,.zs-medkom-lim:empty{display:none}
.zs-medkom-ok{color:var(--ink-2);font-weight:400}
.zs-medkom-lim{color:var(--ink)}

.zs-medkom-set{margin:0 0 18px;padding:0;border:0;min-width:0}
.zs-medkom-set .zs-medkom-grid{margin-top:12px}
.zs-medkom-chk{display:flex;align-items:flex-start;gap:12px;min-height:48px;padding:12px 0;border-bottom:1px solid var(--rule);
  font:400 16px/1.45 var(--f-ui);color:var(--ink);cursor:pointer;touch-action:manipulation}
.zs-medkom-chk:first-of-type{border-top:2px solid var(--ink)}
.zs-medkom-chk input{flex:none;width:22px;height:22px;margin:1px 0 0;accent-color:var(--ink);cursor:pointer}

/* итог */
.zs-medkom-res{margin-top:6px;max-width:980px}
/* сводка над карточками: четыре штампа со ссылками на карточки */
.zs-medkom-sum{--st:var(--ink);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:18px 0 10px;padding:0;list-style:none}
.zs-medkom-sum li{margin:0;padding:0;min-width:0}
.zs-medkom-sum a{display:flex;flex-direction:column;gap:5px;box-sizing:border-box;height:100%;min-height:48px;padding:9px 10px 9px;
  box-shadow:inset 0 0 0 2px var(--st);color:var(--st);text-decoration:none;touch-action:manipulation}
.zs-medkom-sum a:hover strong{text-decoration:underline;text-underline-offset:3px}
.zs-medkom-sum a:focus-visible{outline:3px solid var(--red);outline-offset:1px}
.zs-medkom-sum span{font:400 12px/1.2 var(--f-mono);letter-spacing:.06em;color:var(--ink-3)}
.zs-medkom-sum strong{font:700 12.5px/1.25 var(--f-mono);text-transform:uppercase;letter-spacing:.05em;overflow-wrap:anywhere}
.zs-medkom-res__h{margin:24px 0 0;padding-bottom:8px;border-bottom:2px solid var(--ink);font:700 19px/1.3 var(--f-ui);color:var(--ink)}
.zs-medkom-v{--st:var(--ink);scroll-margin-top:96px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 18px;padding:14px 0 16px;border-bottom:1px solid var(--rule-2)}
.zs-medkom-v__cats{margin:0;font:400 16px/1.35 var(--f-ui);color:var(--ink)}
.zs-medkom-v__cats strong{font-weight:700}
.zs-medkom-v__cats span{display:block;margin-top:3px;font:400 13px/1.35 var(--f-mono);color:var(--ink-3)}
.zs-medkom-v__st{align-self:start;margin:0;padding:6px 10px 5px;box-shadow:inset 0 0 0 2px var(--st);color:var(--st);
  font:700 12.5px/1.2 var(--f-mono);text-transform:uppercase;letter-spacing:.07em;white-space:nowrap}
.zs-medkom-v__why{grid-column:1/-1;margin:8px 0 0;padding:0 0 0 18px;max-width:var(--measure);font:400 15.5px/1.5 var(--f-ui);color:var(--ink-2)}
.zs-medkom-v__why li+li{margin-top:4px}
.zs-medkom-v--ok{--st:#2c6a43}
.zs-medkom-v--glasses,.zs-medkom-v--cond{--st:var(--ink)}
.zs-medkom-v--wait,.zs-medkom-v--doctor,.zs-medkom-v--check,.zs-medkom-v--measure{--st:#8a5200}
.zs-medkom-v--below,.zs-medkom-v--contra{--st:var(--red)}
.zs-medkom-v--nodata{--st:var(--ink-3)}
.zs-medkom-res__army{margin:12px 0 0;max-width:var(--measure);font:400 14.5px/1.5 var(--f-ui);color:var(--ink-3)}

@media (max-width:520px){
  .zs-medkom-grid{grid-template-columns:minmax(58px,auto) repeat(var(--n,2),minmax(0,1fr));justify-content:stretch;gap:8px}
  .zs-medkom-sel{padding:8px 4px}
  .zs-medkom-v{grid-template-columns:minmax(0,1fr)}
  .zs-medkom-v__st{justify-self:start;white-space:normal}
  .zs-medkom-sum{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* таблицы норм в тексте страницы: на телефоне строка — карточка (статья и категории сверху, пояснение ниже) */
@media (max-width:520px){
  .table-wrap.zs-medkom-table table,.table-wrap.zs-medkom-table tbody,.table-wrap.zs-medkom-table tr,.table-wrap.zs-medkom-table td{display:block;width:auto;min-width:0}
  .table-wrap.zs-medkom-table thead{display:none}
  .table-wrap.zs-medkom-table tr{padding:12px 12px 13px;border-bottom:1px solid var(--rule)}
  .table-wrap.zs-medkom-table tr:last-child{border-bottom:0}
  .table-wrap.zs-medkom-table td{padding:3px 0;border:0}
  .table-wrap.zs-medkom-table td:first-child{padding-bottom:5px;font-size:17px}
  .table-wrap.zs-medkom-table td[data-label]::before{content:attr(data-label) " · ";font:400 12px/1.3 var(--f-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3)}
  .table-wrap.zs-medkom-table td.zs-medkom-cat{display:inline-block;margin:0 18px 4px 0;font-weight:700}
}
@media print{.zs-medkom-v__st,.zs-medkom-sum a{box-shadow:none;border:2px solid var(--st)}}
