/* Стиль — по презентациям Дарьи: Golos Text, navy #2F465F, blue #6696B7, mist #F5F7FA */
@font-face{font-family:"Golos Text";font-style:normal;font-weight:400 900;font-display:swap;src:url(fonts/golos-cyr.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Golos Text";font-style:normal;font-weight:400 900;font-display:swap;src:url(fonts/golos-lat.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
  --ink:#22344A;--ink2:#5A7089;--ink3:#8497A9;--navy:#2F465F;--navy2:#3E6C8C;--blue:#6696B7;--cyan:#D9F8FF;
  --bg:#F5F7FA;--panel:#fff;--panel2:#EEF2F6;--line:#E3E9EF;
  --accent:#2F465F;--accent-soft:#E6EEF5;--on-accent:#fff;
  --ok:#2A9D63;--ok-soft:#E3F4EC;--no:#D8634C;--no-soft:#FBEAE5;--na:#8593A1;--na-soft:#EEF2F6;
  --link:#3E6C8C;--link-soft:#E3EEF6;--own:#7B3FF2;--own-soft:#EFE7FF;--warn:#C08A1E;--warn-soft:#FCF3DE;
  --shadow:0 1px 2px rgba(47,70,95,.06),0 8px 24px rgba(47,70,95,.07);
  --shadow-lg:0 24px 60px rgba(20,30,45,.22);
  --ui:"Golos Text",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --mono:var(--ui);   /* моноширинный не используем: везде Golos Text */
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font:14px/1.45 var(--ui)}
a{color:var(--navy2);text-decoration:none}
.app{display:grid;grid-template-columns:220px 1fr;min-height:100vh}

/* меню — navy, как титульный слайд */
nav.side{background:linear-gradient(180deg,#2F465F 0%,#34506E 100%);color:#fff;padding:22px 14px;display:flex;flex-direction:column;gap:2px;position:sticky;top:0;height:100vh}
.hub{display:flex;align-items:center;gap:8px;color:#9FB3C6;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:0 12px 12px}
.hub:hover{color:var(--cyan)}
.hub svg{flex:none}
a.brand:hover{color:var(--cyan)}
.brand{color:#fff;font-weight:900;font-size:20px;letter-spacing:.01em;padding:0 12px 22px;text-transform:uppercase}
.brand small{display:block;font-weight:600;font-size:10.5px;color:var(--blue);letter-spacing:.14em;margin-top:4px}
.nav{display:block;padding:9px 12px;border-radius:10px;color:#C9D6E2;font-weight:500}
.nav:hover{background:rgba(255,255,255,.07);color:#fff}
.nav.on{background:var(--cyan);color:var(--navy);font-weight:700}
.nav.off{color:#7F95AA;cursor:default}.nav.off:hover{background:none;color:#7F95AA}
.nav.off small{font-size:10.5px;opacity:.8}
.side .sep{height:1px;background:rgba(255,255,255,.12);margin:12px 8px}
.side .who{margin-top:auto;font-size:12.5px;color:#9FB3C6;padding:0 12px;display:flex;justify-content:space-between;align-items:center;gap:6px}
.side .who .btn.link{color:var(--cyan)}

main{padding:30px 34px 70px;min-width:0}
h1{font-size:30px;line-height:1.1;margin:0 0 18px;font-weight:800;letter-spacing:-.02em;color:var(--navy);text-wrap:balance}
h2{font-size:12px;margin:30px 0 12px;font-weight:700;color:var(--blue);text-transform:uppercase;letter-spacing:.12em;display:flex;align-items:center;gap:10px}
h2::before{content:"";width:22px;height:2px;background:var(--blue);border-radius:2px}
.eyebrow{font-size:11.5px;font-weight:700;color:var(--blue);text-transform:uppercase;letter-spacing:.12em;display:flex;align-items:center;gap:10px;margin-bottom:8px}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--blue);border-radius:2px}
.sub{color:var(--ink2);margin:0 0 18px;max-width:75ch}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.spread{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.btn{appearance:none;border:0;cursor:pointer;padding:9px 16px;border-radius:10px;font:700 13px/1.2 var(--ui);box-sizing:border-box;background:var(--navy);color:#fff;white-space:nowrap;display:inline-block;transition:background .15s}
.btn:hover{background:var(--navy2)}
.btn.ghost{background:var(--panel);color:var(--navy);box-shadow:inset 0 0 0 1px var(--line)}
.btn.small{padding:6px 12px;font-size:12px;border-radius:8px}
.btn.link{background:none;color:var(--navy2);padding:0}
.btn[disabled]{opacity:.5;cursor:default}
.btn:focus-visible,.cell:focus-visible,.card:focus-visible,.nav:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.mono{font-family:var(--ui);font-variant-numeric:tabular-nums;font-size:inherit}   /* единый шрифт Golos Text; цифры одной ширины */
.muted{color:var(--ink3)}
.chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;background:var(--na-soft);color:var(--ink2);white-space:nowrap}
.chip.rosco{background:#EFE7FF;color:#7B3FF2}.chip.bros{background:#E3ECFD;color:#2563EB}
.chip.both{background:var(--cyan);color:var(--navy)}.chip.warn{background:var(--warn-soft);color:var(--warn)}
.chip.ok{background:var(--ok-soft);color:var(--ok)}.chip.no{background:var(--no-soft);color:var(--no)}
.chip.link{background:var(--link-soft);color:var(--link)}.chip.own{background:var(--own-soft);color:var(--own)}

/* доска */
.board{display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:18px;overflow-x:auto;padding-bottom:8px}
.col{display:flex;flex-direction:column;gap:8px;min-height:160px}
.col h3{margin:0 2px 4px;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--blue);display:flex;align-items:center;gap:8px;font-weight:700}
.col h3 .mono{font-family:var(--ui);font-size:12px;background:var(--navy);color:#fff;border-radius:999px;padding:1px 9px;letter-spacing:0}
.card{position:relative;display:block;background:var(--panel);border-radius:14px;padding:10px 14px 11px;color:var(--ink);box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s}
.card:hover{transform:translateY(-1px);box-shadow:0 2px 4px rgba(47,70,95,.08),0 14px 30px rgba(47,70,95,.12)}
.card .stretch{position:absolute;inset:0;border-radius:inherit;z-index:1}
.card .l1{display:flex;justify-content:space-between;align-items:center;gap:8px}
.card .cw{display:inline-flex;align-items:center;gap:4px;min-width:0}
.card .code{font-weight:800;font-size:14px;color:var(--navy);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card .cp{position:relative;z-index:2;appearance:none;border:0;background:none;padding:2px;margin:0;color:#B6C3CF;cursor:pointer;border-radius:5px;display:grid;place-items:center;flex:none}
.card .cp:hover{color:var(--navy);background:var(--panel2)}.card .cp:focus{outline:none}.card .cp:focus-visible{outline:2px solid var(--blue)}
.card .req{flex:none;font-size:12px;font-weight:500;padding:1px 8px;border-radius:999px;font-variant-numeric:tabular-nums}
.req.hi,.card .req.hi{color:#2A9D63;background:#E3F4EC}.req.mid,.card .req.mid{color:#B7811A;background:#FDF1D8}.req.lo,.card .req.lo{color:#C2543E;background:#FBEAE5}
.card .l2{display:grid;grid-template-columns:58px 78px 1fr;align-items:center;gap:8px;margin-top:6px;font-size:12.5px;color:var(--ink3);font-variant-numeric:tabular-nums}
.card .price{font-size:12.5px;font-weight:400;color:var(--navy)}
.card a.price{position:relative;z-index:2;text-decoration:underline;text-decoration-color:#B6C3CF;text-underline-offset:3px}
.card a.price:hover{color:var(--blue);text-decoration-color:currentColor}
.card .l2 .prog{margin:0}
.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:#fff;color:var(--navy);font-weight:500;font-size:12.5px;padding:7px 14px;border-radius:999px;box-shadow:0 4px 16px rgba(47,70,95,.14);z-index:50}
.prog{height:4px;background:var(--panel2);border-radius:99px;overflow:hidden}
.prog i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--navy),var(--blue))}
.flag{margin-top:9px;font-size:12px;color:var(--no);font-weight:600}

/* карточка модели */
.facts{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin:18px 0 6px}
.facts div{background:var(--panel);border-radius:14px;padding:12px 14px;min-width:0;box-shadow:var(--shadow)}
.facts b{display:block;font-size:19px;font-weight:800;color:var(--navy);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin-top:4px;letter-spacing:-.01em}
.facts span{font-size:12px;color:var(--ink3)}
.panel{background:var(--panel);border-radius:16px;padding:16px 18px;box-shadow:var(--shadow)}
.compat{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.compat .blk h4{margin:0 0 8px;font-size:15px;font-weight:800;color:var(--navy)}
.compat .rule{font-size:13.5px}
.compat .note{font-size:12.5px;color:var(--ink2);margin-top:6px;white-space:pre-wrap}
.compat ul{margin:8px 0 0;padding-left:16px;font-size:12.5px}
.legend{display:flex;flex-wrap:wrap;gap:6px;font-size:12px;margin:0 0 14px}
.grp{margin-bottom:18px}
.grp h4{margin:0 0 8px;font-size:13px;font-weight:700;color:var(--navy)}
.cells{display:grid;grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:8px}
.cell{appearance:none;font:inherit;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:9px 12px;border-radius:12px;background:var(--panel);border:1.5px dashed #D5DEE7;color:var(--ink);min-height:64px;transition:transform .12s}
.cell:hover{transform:translateY(-1px)}
.cell[disabled]{cursor:default;transform:none}
.cell .pos{font-size:11px;color:var(--ink3);overflow-wrap:anywhere;font-weight:500}
.cell .val{font-weight:800;font-size:13.5px}
.cell .sm{font-size:11px;color:var(--ink2)}
.cell.s-ok{border:0;background:var(--ok-soft)}.cell.s-ok .val{color:var(--ok)}
.cell.s-no{border:0;background:var(--no-soft)}.cell.s-no .val{color:var(--no)}
.cell.s-na{border:0;background:var(--na-soft)}.cell.s-na .val{color:var(--na)}
.cell.s-link{border:0;background:var(--link-soft)}.cell.s-link .val{color:var(--link)}
.cell.s-own{border:0;background:var(--own-soft)}.cell.s-own .val{color:var(--own)}
.cell.s-empty .val{color:#B6C3CF}

/* формы */
label{display:block;font-size:12px;color:var(--ink2);margin-bottom:4px;font-weight:500}
input[type=text],input[type=search],input[type=password],input[type=number],select,textarea{font:inherit;font-size:13.5px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:8px 11px;width:100%}
textarea{min-height:64px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--blue);border-color:transparent;background:#fff}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.seg{display:flex;gap:6px;flex-wrap:wrap}
.seg label{margin:0;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;cursor:pointer;color:var(--navy);font-size:13px;font-weight:600;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line)}
.seg input{margin:0;accent-color:var(--navy)}
.seg label:has(input:checked){background:var(--navy);color:#fff;box-shadow:none}
.err{background:var(--no-soft);color:var(--no);padding:10px 14px;border-radius:12px;margin-bottom:12px;font-weight:500}
dialog{border:0;border-radius:20px;padding:22px 24px;width:min(480px,calc(100% - 32px));background:#fff;color:var(--ink);box-shadow:var(--shadow-lg)}
dialog::backdrop{background:rgba(47,70,95,.35);backdrop-filter:blur(2px)}
dialog h3{margin:0 0 6px;font-size:17px;font-weight:800;color:var(--navy)}
.stack{display:grid;gap:12px}
table{border-collapse:collapse;width:100%}
th{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--blue);text-align:left;font-weight:700;padding:12px 14px;border-bottom:1px solid var(--line)}
td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:middle}
tr:last-child td{border-bottom:0}
.tbl{background:var(--panel);border-radius:16px;overflow-x:auto;box-shadow:var(--shadow)}
details summary{cursor:pointer;color:var(--navy2);font-size:13px;font-weight:600}
.login{max-width:360px;margin:14vh auto;padding:28px;background:#fff;border-radius:20px;box-shadow:var(--shadow)}
.login h1{margin-bottom:6px;font-weight:900}

@media (max-width:900px){
  .app{grid-template-columns:1fr}
  nav.side{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px}
  .hub{padding:0 4px 0 0;order:-1;font-size:0;gap:0}.hub svg{width:16px;height:16px}
  .brand{width:auto;font-size:15px;padding:0 8px 0 0;border-right:1px solid rgba(255,255,255,.18);margin-right:4px}
  .brand small{display:none}
  .side .nav{padding:6px 10px;font-size:13px;border-radius:999px}
  .side .nav.off{display:none}
  .side .sep{display:none}
  .side .who{width:auto;margin:0 0 0 auto;padding:0;font-size:12px}
  .side .who span{display:none}
  main{padding:16px 16px 60px}
  h1{font-size:24px;margin-bottom:12px}
  .spread{gap:10px}
  .hrow{width:100%;gap:10px}
  .search{width:100%}
  .facts{grid-template-columns:repeat(2,1fr)}
  .compat,.grid2,.grid3{grid-template-columns:1fr}
  .board{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.card,.cell,.btn{transition:none}.card:hover,.cell:hover{transform:none}}

/* поиск на доске */
.hrow{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.hrow h1{margin:0}
.search{width:280px;max-width:100%;font:inherit;font-size:14px;padding:9px 14px 9px 36px;border-radius:999px;border:0;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%236696B7' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='7' cy='7' r='5'/%3E%3Cpath d='m11 11 3.5 3.5'/%3E%3C/svg%3E") no-repeat 13px center;box-shadow:var(--shadow);color:var(--ink)}
.search:focus{outline:2px solid var(--blue)}
.card.hide{display:none}
.spread{align-items:center;margin-bottom:18px}

/* наверх */
.totop{position:fixed;right:24px;bottom:24px;width:44px;height:44px;border-radius:50%;border:0;background:var(--navy);color:#fff;box-shadow:var(--shadow-lg);cursor:pointer;display:grid;place-items:center;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .2s,transform .2s,background .15s;z-index:40}
.totop.on{opacity:1;transform:none;pointer-events:auto}.totop:hover{background:var(--blue)}
.totop:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
@media (max-width:900px){.totop{right:16px;bottom:16px}}

/* обновления: не переносить короткие столбцы */
.tbl th.w,.tbl td.w{white-space:nowrap}
.tbl td:first-child{white-space:nowrap}
.src{color:var(--navy2);text-decoration:underline;text-decoration-color:#B6C3CF;text-underline-offset:3px}
.src:hover{color:var(--blue);text-decoration-color:currentColor}

/* фильтр категорий на доске */
.cats{display:flex;gap:6px;flex-wrap:wrap}
.cat{appearance:none;border:0;cursor:pointer;font:600 13px var(--ui);padding:8px 14px;border-radius:999px;background:#fff;color:var(--navy);box-shadow:var(--shadow)}
.cat:hover{color:var(--blue)}
.cat[aria-pressed="true"]{background:var(--navy);color:#fff}
.cat:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
/* бренды в карточке */
.chip.b-bros{background:#DADAD3;color:#4A4A42}
.chip.b-rosco{background:#2F465F;color:#fff}
/* кнопки совместимости в цветах статусов */
.kinds label.k-ok:has(input:checked){background:var(--ok);box-shadow:none;color:#fff}
.kinds label.k-link:has(input:checked){background:var(--link);box-shadow:none;color:#fff}
.kinds label.k-warn:has(input:checked){background:var(--warn);box-shadow:none;color:#fff}
.facts a.price{color:var(--navy);text-decoration:underline;text-decoration-color:#B6C3CF;text-underline-offset:4px}
.facts a.price:hover{color:var(--blue);text-decoration-color:currentColor}

/* запросы в карточке модели */
.facts .req.hi{background:var(--ok-soft)}.facts .req.hi b{color:#2A9D63}
.facts .req.mid{background:#FDF1D8}.facts .req.mid b{color:#B7811A}
.facts .req.lo{background:var(--no-soft)}.facts .req.lo b{color:#C2543E}
.facts .go{font-size:14px;color:var(--ink3);text-decoration:none;font-weight:600}
.facts .go:hover{color:var(--blue)}
/* кнопки совместимости — в один ряд, без рамки фокуса у кружка */
.compat .seg.kinds{flex-wrap:nowrap}
.compat .seg.kinds label{padding:7px 10px;font-size:12.5px;white-space:nowrap}
.seg input[type=radio]{appearance:none;width:11px;height:11px;border-radius:50%;box-shadow:inset 0 0 0 1.5px currentColor;outline:none}
.seg label:has(input:checked) input[type=radio]{box-shadow:inset 0 0 0 3px #fff}
.seg input[type=radio]:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:50%}
/* «Обновлено» без переноса */
.tbl td .muted{white-space:nowrap}
tr.pick{cursor:pointer}tr.pick:hover td{background:var(--mist,#F5F7FA)}
.tbl tr.grp td{padding:10px 14px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);background:#E6F0F7;border-top:1px solid #D3E2EE;border-bottom:1px solid #D3E2EE}
.btn.danger{background:var(--no-soft);color:var(--no);box-shadow:none}
.subacc{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0}.subgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px;padding-left:14px;border-left:2px solid var(--cyan)}@media (max-width:860px){.subgrid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.subgrid{grid-template-columns:1fr}}
.pres{display:block;width:100%;height:calc(100vh - 120px);min-height:420px;border:0;border-radius:16px;background:#0d1116;box-shadow:var(--shadow)}
/* инструкции — формат базы знаний: оглавление слева, все статьи на одной странице */
.kb{display:grid;grid-template-columns:220px minmax(0,823px);gap:32px;align-items:start;color:var(--navy)}
/* заголовок «Инструкции» закреплён сверху, оглавление стоит ровно под ним — при переходах ничего не сдвигается */
.kb-head{position:sticky;top:0;z-index:5;background:var(--bg);margin:-30px -34px 0;padding:30px 34px 18px}
.kb-head h1{margin:0}
.kb-tree{position:sticky;top:81px;font-size:13px;line-height:1.45;max-height:calc(100vh - 101px);overflow:auto}
.kb-tree summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);padding:5px 0}
.kb-tree summary::-webkit-details-marker{display:none}.kb-tree summary:hover{color:var(--navy)}
.kb-tree summary i{width:6px;height:6px;border:solid currentColor;border-width:0 1.8px 1.8px 0;transform:rotate(-45deg);transition:transform .15s;margin:0 4px 0 2px}
.kb-tree details[open]>summary i{transform:rotate(45deg)}.kb-tree details[open]>summary{color:var(--navy)}
.kb-tree a{display:block;color:var(--ink3);padding:4px 10px;border-left:2px solid var(--line)}
.kb-tree a:hover{color:var(--navy);border-left-color:var(--blue)}.kb-tree a.act{color:var(--navy);font-weight:700;border-left-color:var(--navy)}
.kb-art{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:24px 28px;margin:0 0 22px;scroll-margin-top:97px}
.kb-art .eyebrow{margin-bottom:6px}.kb-art h2{all:unset;display:block;font-size:22px;font-weight:800;color:var(--navy);letter-spacing:-.01em;margin:0 0 10px}
.kb-lead{color:var(--ink2);font-size:15px;margin:0 0 6px}
.kb-steps{counter-reset:s;list-style:none;padding:0;margin:16px 0 0}
.kb-steps li{counter-increment:s;position:relative;padding:14px 0 14px 44px;border-top:1px solid var(--line)}
.kb-steps li:first-child{border-top:0}
.kb-steps li::before{content:counter(s);position:absolute;left:0;top:13px;width:28px;height:28px;border-radius:50%;background:var(--accent-soft);color:var(--navy);font-weight:700;font-size:13px;display:grid;place-items:center}
.kb-steps p{margin:3px 0 10px;font-size:15px;color:var(--navy)}
.kb-steps img{display:block;max-width:100%;height:auto;border:1px solid var(--line);border-radius:8px;cursor:zoom-in}
.kb-note{margin-top:10px;background:var(--no-soft);border-radius:10px;padding:12px 16px;color:var(--navy)}.kb-note ul{margin:6px 0 0;padding-left:18px}.kb-note li{margin:3px 0}
.kb-src{font-size:12.5px;color:var(--ink3);margin:-4px 0 10px}
@media (max-width:1080px){.kb{grid-template-columns:1fr}.kb-tree{position:static;max-height:none;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:8px 14px}}
@media (max-width:640px){.kb-art{padding:18px 16px}.kb-steps li{padding-left:38px}}
.zoom{position:fixed;inset:0;z-index:50;background:rgba(13,17,22,.88);display:flex;align-items:center;justify-content:center;padding:24px;cursor:zoom-out}
.zoom[hidden]{display:none}.zoom img{max-width:100%;max-height:100%;border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.4);background:#fff}
.kb-steps .shot{display:inline-block;max-width:100%;vertical-align:top}
.kb-steps .shot img{max-width:100%}
/* скрин на серой подложке — чтобы не сливался с текстом (выбор Дарьи 17.10) */
.kb-steps .shot{background:#EEF2F6;border-radius:12px;padding:14px}
.kb-steps .shot img{border-color:#DDE4EB;border-radius:6px}
@media (max-width:640px){.kb-steps .shot{padding:8px;border-radius:10px}}
@media (max-width:900px){.kb-head{margin:-16px -16px 0;padding:16px 16px 12px}.kb-art{scroll-margin-top:72px}}
td form{margin:0}
/* Обновления: все строки одной высоты, кнопки одного размера */
table.upd tr:not(.grp) td{height:51px;box-sizing:border-box}
table.upd td .row form{display:flex}
table.upd td .btn.small{min-width:86px;text-align:center;margin:0}
table.upd .howto{font-size:12px;white-space:nowrap;margin-left:4px}
table.contr{width:100%;table-layout:fixed}
table.contr th:nth-child(1){width:44%}table.contr th:nth-child(2){width:30%}table.contr th:nth-child(3){width:14%}table.contr th:nth-child(4){width:12%}
.tbl table.contr td,.tbl table.contr td.w,.tbl table.contr td:first-child,.tbl table.contr td .muted{vertical-align:top;color:var(--navy);white-space:normal;overflow-wrap:anywhere}table.contr td .muted{font-size:12.5px;margin-top:2px;color:var(--ink3)}
table.contr td.notes{font-size:13px;color:var(--ink2)}
table.contr .grp .cnt{font-weight:600;color:var(--ink3);letter-spacing:0;margin-left:6px}
table.contr td .chip{margin-top:4px}
.tbl table.contr tr.grp.arch td{background:var(--panel2);color:var(--ink2);border-top:2px solid var(--line)}
.ok-note{background:var(--ok-soft);color:var(--ok);padding:10px 14px;border-radius:12px;margin-bottom:12px;font-weight:500}
table.contr .btn.write{margin-top:6px}
.mailw{max-width:820px;color:var(--navy)}.mailw textarea{font:inherit;font-size:14px;line-height:1.5;color:var(--navy)}
.mailw .hint{font-size:12px;margin-top:4px}.mailw .sig{margin:0;font:13px/1.5 var(--ui);color:var(--ink2);background:var(--bg);border-radius:10px;padding:10px 12px;white-space:pre-wrap}
table.contr td.act{text-align:right}table.contr td.act .btn{margin:0}
.tbl table.contr tr.grp[data-fold]{cursor:pointer;user-select:none}.tbl table.contr tr.grp[data-fold]:hover td{color:var(--navy)}
table.contr .fold{display:inline-block;width:7px;height:7px;border:solid currentColor;border-width:0 1.8px 1.8px 0;transform:rotate(-45deg);margin:0 10px 1px 2px;transition:transform .15s}
table.contr tr.open .fold{transform:rotate(45deg)}
dialog#mw{border:0;border-radius:16px;padding:0;width:min(760px,94vw);max-height:92vh;box-shadow:var(--shadow-lg);color:var(--navy)}
dialog#mw::backdrop{background:rgba(34,52,74,.45)}
.mw-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px 0}.mw-head b{font-size:18px}
.mw-x{border:0;background:none;font-size:26px;line-height:1;color:var(--ink3);cursor:pointer;padding:0 4px}.mw-x:hover{color:var(--navy)}
#mwb{padding:12px 20px 20px;max-width:none}#mwb .panel{box-shadow:none;padding:0}
button.chip.st{border:0;cursor:pointer;font-family:inherit}button.chip.st:hover{filter:brightness(.95);box-shadow:0 0 0 2px var(--line)}
.stmenu{position:absolute;z-index:40;background:var(--panel);border-radius:12px;box-shadow:var(--shadow-lg);padding:6px;display:flex;flex-direction:column;gap:2px;min-width:150px}
.stmenu[hidden]{display:none}.stmenu button{border:0;background:none;text-align:left;padding:6px 8px;border-radius:8px;cursor:pointer}
.stmenu button:hover,.stmenu button.cur{background:var(--bg)}
.stmenu hr{border:0;border-top:1px solid var(--line);margin:4px 2px}.stmenu button.del{color:var(--no);font-weight:600;font-size:12.5px;padding:6px 10px}.stmenu button.del:hover{background:var(--no-soft)}
/* Контрагенты на телефоне: карточки вместо таблицы */
@media (max-width:700px){
  .tbl table.contr,.tbl table.contr tbody{display:block;width:100%}
  .tbl table.contr tr:first-child{display:none}
  .tbl table.contr tr.grp,.tbl table.contr tr.grp td{display:block}
  .tbl table.contr tr.c{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:12px 14px;border-bottom:1px solid var(--line)}
  .tbl table.contr tr.c[hidden]{display:none}
  .tbl table.contr tr.c td{display:block;padding:0;border:0;width:auto}
  .tbl table.contr tr.c td:nth-child(1){grid-column:1;grid-row:1}
  .tbl table.contr tr.c td.act{grid-column:2;grid-row:1;align-self:start}
  .tbl table.contr tr.c td:nth-child(2){grid-column:1/-1;font-size:13px}
  .tbl table.contr tr.c td.last{grid-column:1/-1;display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink2)}
  .tbl table.contr tr.c td.last div{margin:0}.tbl table.contr tr.c td.last .chip{margin:0}
}
.onec-wrap{max-width:none;overflow-x:auto}.tbl table.onec{font-size:12.5px}.tbl table.onec th{white-space:nowrap}
.tbl table.onec td{color:var(--navy);white-space:nowrap}.tbl table.onec td[data-c="0"],.tbl table.onec td[data-c="6"]{white-space:normal;min-width:260px}
.tbl table.onec td.bad{background:var(--no-soft);color:var(--no);font-weight:600}.badbtn{border:0;background:var(--no-soft);color:var(--no);font:inherit;font-weight:600;padding:2px 10px;border-radius:999px;cursor:pointer}.badbtn:hover{filter:brightness(.96)}.badbtn.on{background:var(--no);color:#fff}
label.chk{display:flex;align-items:center;gap:6px;margin:0;font-size:13px;color:var(--ink2);white-space:nowrap}
.cnt-big{font-size:18px;font-weight:700;color:var(--ink3);margin-left:6px;letter-spacing:0}
.badbtn{padding:6px 14px}
table.onec .cw{display:inline-flex;align-items:center;gap:4px}
table.onec .cp{appearance:none;border:0;background:none;padding:2px;margin:0;color:#B6C3CF;cursor:pointer;border-radius:5px;display:grid;place-items:center;flex:none}
table.onec .cp:hover{color:var(--navy);background:var(--panel2)}table.onec .cp:focus{outline:none}table.onec .cp:focus-visible{outline:2px solid var(--blue)}
.tbl table.onec .sel{width:34px;text-align:center}
/* галочка в цветах стиля: без системной чёрной обводки и без рамки фокуса при нажатии */
input[type=checkbox].ck,.tbl table.onec .sel input{appearance:none;-webkit-appearance:none;width:16px;height:16px;margin:0;border-radius:4px;
  background:#fff;box-shadow:inset 0 0 0 1.5px #B6C3CF;cursor:pointer;vertical-align:middle;display:inline-grid;place-items:center;outline:none}
.tbl table.onec .sel input:hover,input[type=checkbox].ck:hover{box-shadow:inset 0 0 0 1.5px var(--blue)}
.tbl table.onec .sel input:checked,input[type=checkbox].ck:checked{background:var(--navy);box-shadow:none}
.tbl table.onec .sel input:checked::after,input[type=checkbox].ck:checked::after{content:"";width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}
.tbl table.onec .sel input:focus{outline:none}.tbl table.onec .sel input:focus-visible,input[type=checkbox].ck:focus-visible{box-shadow:inset 0 0 0 1.5px var(--blue),0 0 0 3px var(--cyan)}
.tbl table.onec .sel input:disabled,input[type=checkbox].ck:disabled{cursor:not-allowed;background:var(--panel2);box-shadow:inset 0 0 0 1.5px var(--line)}
.ofilters{gap:8px;margin:0 0 14px;align-items:center}
/* фильтры — свои выпадающие списки в цветах стиля */
.dd{position:relative}
.dd-btn{display:flex;align-items:center;gap:10px;height:34px;padding:0 14px;border:0;border-radius:10px;background:#fff;color:var(--navy);
  font:500 13px var(--ui);cursor:pointer;box-shadow:0 1px 2px rgba(47,70,95,.06);transition:background-color .15s}
.dd-btn i{width:7px;height:7px;border:solid var(--blue);border-width:0 1.8px 1.8px 0;transform:translateY(-2px) rotate(45deg);margin-left:6px;transition:transform .15s}
.dd:hover .dd-btn,.dd.open .dd-btn{background:#EAF6FB}
.dd.open .dd-btn i{transform:translateY(1px) rotate(-135deg)}
.dd.on .dd-btn{background:#EAF6FB;font-weight:700}
.dd-btn:focus{outline:none}.dd-btn:focus-visible{box-shadow:0 0 0 3px var(--cyan)}
.dd-menu{position:absolute;top:100%;left:0;z-index:30;min-width:100%;margin:0;padding:6px;list-style:none;background:#fff;border-radius:12px;
  box-shadow:var(--shadow-lg);display:none;max-height:320px;overflow:auto}
.dd.open .dd-menu{display:block}
.dd::after{content:"";position:absolute;left:0;right:0;top:100%;height:6px}   /* мостик: меню не закрывается по дороге от кнопки */
.dd-menu{margin-top:4px}
.dd-menu li{display:flex;justify-content:space-between;gap:16px;padding:8px 12px;border-radius:8px;color:var(--navy);font-size:13px;white-space:nowrap;cursor:pointer}
.dd-menu li small{color:var(--ink3);font-size:12px}
.dd-menu li:hover{background:#EAF6FB}
.dd-menu li[aria-selected="true"]{font-weight:700}
.dd-menu li[aria-selected="true"]::before{content:"";width:5px;height:9px;border:solid var(--navy);border-width:0 2px 2px 0;transform:rotate(45deg);margin:2px 4px 0 0;order:-1;flex:none}
.freset{border:0;background:none;color:var(--navy2);font:500 13px var(--ui);cursor:pointer;padding:6px 8px;border-radius:8px}
.freset:hover{background:var(--panel2)}.freset[hidden]{display:none}
.tbl table.onec tr[data-s]:hover td{background:var(--bg)}
.tbl table.onec tr.picked td{background:#EAF6FB}.tbl table.onec tr.picked:hover td{background:#E1F1F8}
.tbl table.onec tr[data-s] td.bad,.tbl table.onec tr[data-s]:hover td.bad,.tbl table.onec tr.picked td.bad{background:var(--no-soft)}
.dd-menu li[hidden]{display:none}
.goodbtn{border:0;background:var(--ok-soft);color:var(--ok);font:inherit;font-weight:600;padding:6px 14px;border-radius:999px;cursor:pointer}.goodbtn:hover{filter:brightness(.96)}.goodbtn.on{background:var(--ok);color:#fff}

/* «Добавить в 1С»: окно с ходом и итогом */
dialog.pw{width:min(520px,calc(100% - 32px))}
.pw-act{justify-content:flex-end;gap:8px;margin-top:18px}
.pw-pct{font-size:34px;font-weight:800;color:var(--navy);margin:10px 0 8px;font-variant-numeric:tabular-nums}
.pw-bar{height:8px;border-radius:99px;background:var(--panel2);overflow:hidden}.pw-bar i{display:block;height:100%;width:0;background:var(--blue);border-radius:99px;transition:width .4s}
.pw-stage{color:var(--ink2);font-size:13px;margin:10px 0 0;min-height:18px}
.pw-h{font-weight:700;margin:14px 0 6px}.pw-h.ok{color:var(--ok)}.pw-h.no{color:var(--no)}
.pw-list{list-style:none;margin:0;padding:0;max-height:38vh;overflow:auto;font-size:13px}
.pw-list li{display:flex;gap:10px;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--line)}.pw-list li span{color:var(--ink2);text-align:right}
.pw-err{color:var(--no);background:var(--no-soft);padding:8px 12px;border-radius:10px;font-size:13px}

/* база знаний раздела: таблицы «что → как», пункт меню внизу над именем */
.kb-tbl{width:100%;border-collapse:collapse;margin:14px 0 4px;font-size:14px}
.kb-tbl th,.kb-tbl td{text-align:left;vertical-align:top;padding:8px 0;border-top:1px solid var(--line);border-bottom:0}
.kb-tbl tr:first-child th,.kb-tbl tr:first-child td{border-top:0}
.kb-tbl th{width:34%;padding-right:16px;font:700 14px/1.4 var(--ui);letter-spacing:0;text-transform:none;color:var(--navy);background:none}.kb-tbl td{color:var(--ink2)}
.kb-sub{font-weight:700;margin:16px 0 8px;font-size:14px}
.kb-chips{display:flex;flex-wrap:wrap;gap:6px}.kb-chips span{background:var(--panel2);border-radius:8px;padding:4px 9px;font-size:12.5px;color:var(--ink2)}
.kb-chips b{color:var(--navy);margin-right:6px}
.side .kb-link{margin-top:auto;margin-bottom:6px}.side .kb-link~.who{margin-top:0}
@media (max-width:640px){.kb-tbl th{width:42%}}
.pw .cp{appearance:none;border:0;background:none;padding:2px;margin:0;color:#B6C3CF;cursor:pointer;border-radius:5px;display:inline-grid;place-items:center;flex:none;vertical-align:-3px}.pw .cp:hover{color:var(--navy);background:var(--panel2)}.pw .cp:focus{outline:none}.pw .cp:focus-visible{outline:2px solid var(--blue)}.pw-h .cp{margin-left:6px}.pw-list .cw{display:inline-flex;align-items:center;gap:4px}
/* Склад: задачи, места хранения, пул, кладовщики */
.wk{padding:22px 24px}.wk-t{all:unset;display:block;font-size:20px;font-weight:800;color:var(--navy);margin:0 0 14px}
.wk-take{font-size:16px;padding:14px 26px;border-radius:12px}.wk-done{margin-top:18px;gap:8px}.wk-done form{margin:0}
.pl-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.pl-art{font-size:16px;color:var(--navy)}
.pl-head .cw{display:inline-flex;align-items:center;gap:4px}.pl-stock{text-align:right;white-space:nowrap;color:var(--ink2);font-size:12px}.pl-stock span{display:block;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--ink3);font-size:11px}.pl-stock b{display:block;font-size:24px;line-height:1.15;color:var(--navy)}.pl-stock small{font-size:12px}
table.pl{width:100%;border-collapse:collapse;font-size:14px}table.pl th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);padding:6px 8px;border-bottom:1px solid var(--line)}
table.pl td{padding:9px 8px;border-bottom:1px solid var(--line);color:var(--navy)}table.pl td.act{text-align:right}
.pl-btns{margin-top:14px;gap:8px}.pl-form{margin-top:10px;gap:8px}.pl-form[hidden]{display:none}
.pl-card .cp,.wk .cp{appearance:none;border:0;background:none;padding:2px;margin:0;color:#B6C3CF;cursor:pointer;border-radius:5px;display:inline-grid;place-items:center}.pl-card .cp:hover{color:var(--navy);background:var(--panel2)}
label.rad{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--navy);padding:4px 0;cursor:pointer}
.wkt td{color:var(--navy);vertical-align:top}.wkt td.act{text-align:right;white-space:nowrap}.wkt th.c,.wkt td.c{text-align:center}
.wk-new{gap:8px;margin-bottom:14px;box-sizing:border-box}
.wk-new input[type=date],.row input[type=date]{font:inherit;font-size:13.5px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.side .nav-grp{display:flex;align-items:center;gap:4px;width:100%;letter-spacing:normal;border:0;background:none;cursor:pointer;text-align:left;margin:0;padding:9px 12px;border-radius:10px;font:inherit;font-weight:500;color:#C9D6E2}
.side .nav-grp:hover{background:rgba(255,255,255,.07);color:#fff}.side .nav-grp:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.side .nav-grp i{width:7px;height:7px;border:solid #9FB3C6;border-width:0 1.8px 1.8px 0;transform:translateY(-2px) rotate(45deg);margin-left:6px;transition:transform .15s}
.side .nav-grp[aria-expanded=true] i{transform:translateY(1px) rotate(-135deg)}.side .nav-sub[hidden]{display:none}
.side .nav.nav-in{padding-left:22px}
@media (max-width:900px){.side .nav-grp{width:auto;padding:6px 10px;font-size:13px;border-radius:999px}.side .nav-sub{display:contents}.side .nav-sub[hidden]{display:none}.side .nav.nav-in{padding-left:10px}}
/* свой календарь (срок задачи) */
.dp-btn{display:inline-flex;align-items:center;gap:7px;border:0;background:#fff;color:var(--navy);font:inherit;font-size:13.5px;height:34px;padding:0 14px;border-radius:10px;cursor:pointer;white-space:nowrap}
.dp-btn:hover{background:#EAF6FB}.dp-btn.set{background:#EAF6FB;font-weight:700}.dp-btn:focus{outline:none}.dp-btn:focus-visible{box-shadow:0 0 0 3px var(--cyan)}
.wk-new .dp-btn{background:var(--bg);box-shadow:inset 0 0 0 1px var(--line)}.wk-new .dp-btn:hover,.wk-new .dp-btn.set{background:#EAF6FB;box-shadow:none}
.wkt .dp-btn.due{height:28px;padding:0 10px;background:var(--panel2);color:var(--ink3);font-size:13px;font-variant-numeric:tabular-nums}.wkt .dp-btn.due svg{color:var(--blue)}.wkt .dp-btn.due:hover{background:#EAF6FB;color:var(--navy)}.wkt .dp-btn.due.set{background:#EAF6FB;color:var(--navy);font-weight:700}
/* пул: длинный текст задачи переносится, чтобы «Срок» и «Кто» не уезжали за край */
.tbl table.wkt td:first-child{white-space:normal;overflow-wrap:anywhere}.wkt td:nth-child(2),.wkt td:nth-child(3){white-space:nowrap}
.dp{position:absolute;z-index:60;width:272px;background:#fff;border-radius:14px;box-shadow:0 10px 32px rgba(47,70,95,.18);padding:12px;color:var(--navy)}
.dp[hidden]{display:none}
.dp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.dp-head b{font-size:14px}
.dp-nav{width:30px;height:30px;border:0;background:none;border-radius:8px;cursor:pointer;display:grid;place-items:center}.dp-nav:hover{background:#EAF6FB}.dp-nav:disabled{opacity:.3;cursor:default;background:none}
.dp-nav i{width:7px;height:7px;border:solid var(--blue);border-width:0 0 1.8px 1.8px;transform:translateX(1px) rotate(45deg)}.dp-nav.nx i{transform:translateX(-1px) rotate(-135deg)}
.dp-wd,.dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.dp-wd span{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);padding:4px 0}
.dp-grid button{height:32px;border:0;background:none;border-radius:8px;font:inherit;font-size:13px;color:var(--navy);cursor:pointer;font-variant-numeric:tabular-nums}
.dp-grid button:hover{background:#EAF6FB}.dp-grid button.td{box-shadow:inset 0 0 0 1.5px var(--blue);font-weight:700}
.dp-grid button.on{background:var(--navy);color:#fff;font-weight:700}.dp-grid button:disabled{color:#C3CED8;cursor:default;background:none}
.dp-foot{display:flex;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.dp-foot button[hidden]{display:none}.dp-foot button{flex:1;border:0;background:var(--panel2);color:var(--navy);font:inherit;font-size:12.5px;font-weight:500;padding:7px 0;border-radius:8px;cursor:pointer}.dp-foot button:hover{background:#EAF6FB}
/* числовое поле со своими стрелками (без системных чёрных) */
.num{position:relative;display:inline-block}
.num input{padding-right:28px;color:var(--navy);-moz-appearance:textfield}
.num input::-webkit-outer-spin-button,.num input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.num input::placeholder{color:var(--ink3)}
.num-st{position:absolute;right:4px;top:3px;bottom:3px;display:flex;flex-direction:column;width:20px}
.num-st button{flex:1;border:0;background:none;border-radius:5px;cursor:pointer;display:grid;place-items:center;padding:0}
.num-st button:hover{background:#EAF6FB}
.num-st i{width:6px;height:6px;border:solid var(--blue);border-width:0 1.6px 1.6px 0;transform:translateY(1px) rotate(-135deg)}
.num-st button[data-d="-1"] i{transform:translateY(-2px) rotate(45deg)}
.num-st button:hover i{border-color:var(--navy)}
/* «Пользователи»: доступ по разделам, свои выпадающие списки */
.acc-list{grid-column:1/-1;border-top:1px solid var(--line);padding-top:6px}
.acc-h{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);margin:8px 0 4px}
.acc-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--line)}
.acc-row label{margin:0;font-size:14px;color:var(--navy);font-weight:500}
.acc-row.acc-in{padding-left:22px;border-bottom-style:dashed}.acc-row.acc-in label{font-weight:400}
.acc-subs[hidden]{display:none}
.acc-tg{display:flex;align-items:center;gap:4px;border:0;background:none;padding:6px 8px 6px 0;font:inherit;font-size:14px;font-weight:700;color:var(--navy);cursor:pointer}
.acc-tg i{width:7px;height:7px;border:solid var(--blue);border-width:0 1.8px 1.8px 0;transform:translateY(-2px) rotate(45deg);margin-left:6px;transition:transform .15s}
.acc-tg[aria-expanded=true] i{transform:translateY(1px) rotate(-135deg)}
.dd.f{width:210px}.dd.f .dd-btn{width:100%;justify-content:space-between;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);font-weight:500}
.dd.f.open .dd-btn,.dd.f .dd-btn:hover{background:#EAF6FB;box-shadow:none}.dd.f .dd-menu{min-width:100%;box-sizing:border-box}
.dd.f.dis .dd-btn{opacity:.6;cursor:default}.dd.f.dis .dd-btn:hover{background:var(--bg);box-shadow:inset 0 0 0 1px var(--line)}
.grid2>div>.dd.f{width:100%}
@media (max-width:560px){.dd.f{width:160px}}
/* телефон: поля ввода 16px — иначе iPhone увеличивает страницу при вводе и не возвращает обратно */
@media (max-width:900px){input,select,textarea{font-size:16px!important}}
/* телефон: задачи и места хранения */
@media (max-width:640px){
  .wk{padding:16px 14px;border-radius:14px}.wk-t{font-size:18px;margin-bottom:10px}
  .pl-head{gap:8px}.pl-art{font-size:15px;overflow-wrap:anywhere}.pl-stock b{font-size:20px}
  table.pl,table.pl tbody{display:block}table.pl tr:first-child{display:none}
  table.pl tr{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:10px 0;border-bottom:1px solid var(--line)}
  table.pl td{display:block;padding:0;border:0}
  table.pl td:first-child{grid-column:1;grid-row:1}
  table.pl td[data-l]{grid-column:1;font-size:13px;color:var(--ink2)}table.pl td[data-l]::before{content:attr(data-l) ": "}
  table.pl td.act{grid-column:2;grid-row:1/span 3;align-self:center}
  table.pl td[colspan]{grid-column:1/-1}
  .pl-btns,.wk-done{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pl-btns .btn,.wk-done .btn,.wk-done form{width:100%}
  .pl-btns .btn{white-space:normal;line-height:1.25;padding:9px 10px;display:flex;align-items:center;justify-content:center;text-align:center}
  .pl-form{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pl-form input{width:100%!important;box-sizing:border-box}.pl-form .btn{grid-column:1/-1;padding:11px}
  .wk-done .btn{padding:13px 10px;font-size:14px}
  .wk-take{width:100%;padding:16px}
  dialog.pw label.rad{padding:8px 0}
}
/* телефон: шапка в одну строку «‹ Раздел | Текущий ▾ … Выйти», остальные пункты — списком по нажатию */
.m-menu{display:none}
@media (max-width:900px){
  .app{grid-template-rows:auto 1fr}
  nav.side{gap:4px 8px;padding:10px 14px;align-content:flex-start}
  nav.side .hub{order:0}nav.side .brand{order:1}nav.side .m-menu{order:2}nav.side .who{order:3}
  .m-menu{display:inline-flex;align-items:center;gap:4px;border:0;background:rgba(255,255,255,.1);color:#fff;font:inherit;font-size:14px;font-weight:600;padding:6px 12px;border-radius:999px;cursor:pointer}
  .m-menu i{width:6px;height:6px;border:solid #9FB3C6;border-width:0 1.6px 1.6px 0;transform:translateY(-2px) rotate(45deg);margin-left:6px;transition:transform .15s}
  .m-menu[aria-expanded=true] i{transform:translateY(1px) rotate(-135deg)}
  nav.side>.nav,nav.side>.nav-grp,nav.side>.nav-sub,nav.side .nav-sub{display:none}
  nav.side.open>.nav,nav.side.open>.nav-grp{display:flex;order:10;flex-basis:100%;box-sizing:border-box;padding:10px 12px;font-size:15px;border-radius:10px;width:auto}
  nav.side.open>.nav-sub:not([hidden]){display:block;order:10;flex-basis:100%}
  nav.side.open .nav-sub .nav{display:block;padding:10px 12px 10px 26px;font-size:15px;border-radius:10px}
  nav.side.open>.nav:first-of-type,nav.side.open>.nav-grp:first-of-type{margin-top:6px}
  nav.side.open>.nav.off{display:none}
}
/* окно подтверждения платформы (вместо системного) */
/* вариант A: вопрос, пояснение обычным шрифтом, строки «название — значение», жирные только значения */
dialog.ask,dialog#dw{width:min(440px,calc(100% - 32px))}
dialog.ask h3,dialog#dw h3{margin:0 0 4px;font-size:17px;font-weight:800;color:var(--navy)}
dialog.ask p,dialog#dw form>p{margin:0 0 14px;color:var(--ink2);font-size:14px;line-height:1.45;font-weight:400}
dialog.ask dl,dialog#dw dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:8px 14px;font-size:14px}
dialog.ask dt,dialog#dw dt{color:var(--ink3)}dialog.ask dd,dialog#dw dd{margin:0;font-weight:700;color:var(--navy);overflow-wrap:anywhere}
dialog.ask [hidden]{display:none}
.toast.bad{background:var(--no);color:#fff}
.wkt .cw{display:inline-flex;align-items:center;gap:4px}.wkt .cp{appearance:none;border:0;background:none;padding:2px;margin:0;color:#B6C3CF;cursor:pointer;border-radius:5px;display:inline-grid;place-items:center}.wkt .cp:hover{color:var(--navy);background:var(--panel2)}
dialog .btn.danger{background:var(--no);color:#fff;box-shadow:none}dialog .btn.danger:hover{background:#C4553F}
/* «Ненайденный товар»: выбор итога */
.nf-src{color:var(--ink2);font-size:13px;margin:0 0 14px}
.nf-how{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.nf-how .btn{white-space:normal}
.nf-how .btn.on{background:var(--navy);color:#fff;box-shadow:none}
.nf-step{margin:10px 0}.nf-step[hidden]{display:none}.nf input[type=text][hidden]{display:none}
@media (max-width:640px){.nf-how{grid-template-columns:1fr 1fr}.nf-how .btn{padding:12px 8px}#nfgo{width:100%;padding:13px}}
.pf{gap:8px;margin:0 0 10px}
/* кружки выбора в стиле платформы */
input[type=radio]{appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:0;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1.5px #B6C3CF;cursor:pointer;display:inline-grid;place-items:center;vertical-align:middle;outline:none;flex:none}
input[type=radio]:hover{box-shadow:inset 0 0 0 1.5px var(--blue)}input[type=radio]:checked{box-shadow:inset 0 0 0 1.5px var(--navy)}
input[type=radio]:checked::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--navy)}
input[type=radio]:focus{outline:none}input[type=radio]:focus-visible{box-shadow:inset 0 0 0 1.5px var(--navy),0 0 0 3px var(--cyan)}
label.rad{gap:10px}
/* подсказки мест */
.ac-wrap{position:relative}.ac{position:absolute;z-index:40;left:0;top:100%;margin:4px 0 0;padding:6px;list-style:none;background:#fff;border-radius:12px;box-shadow:var(--shadow-lg);min-width:220px;max-height:280px;overflow:auto}
.ac[hidden]{display:none}.ac li{padding:8px 12px;border-radius:8px;color:var(--navy);font-size:14px;cursor:pointer;white-space:nowrap}.ac li:hover,.ac li.on{background:#EAF6FB}
.ac li.none{color:var(--ink3);cursor:default}.ac li.none:hover{background:none}
.num input{width:100%;box-sizing:border-box}
/* загрузка мест: фильтры-чипы по результату проверки */
.im-st{gap:6px;margin:0 0 12px}.chip-f{border:0;font:inherit;font-size:13px;padding:6px 12px;border-radius:999px;cursor:pointer;background:var(--panel2);color:var(--ink2)}
.chip-f b{color:var(--navy);margin-left:4px}.chip-f.add{background:var(--ok-soft);color:var(--ok)}.chip-f.qty{background:var(--link-soft);color:var(--link)}.chip-f.no_art,.chip-f.no_cell,.chip-f.bad_qty{background:var(--no-soft);color:var(--no)}
.chip-f:hover{filter:brightness(.96)}.chip-f.on{box-shadow:inset 0 0 0 2px currentColor}
.pl-find .btn{height:34px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-width:92px;padding:0 14px;line-height:1}
/* места хранения: загрузить и добавить */
.up-box{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.cn-top{display:grid;grid-template-columns:minmax(0,420px) 220px;gap:16px;align-items:start}.cn textarea{width:100%;box-sizing:border-box;font-size:14px}
@media (max-width:640px){.cn-top{grid-template-columns:1fr}}
/* дежурства */
.wk-range{font-weight:700;color:var(--navy);font-size:14px;min-width:120px;text-align:center}
.wk-nav{width:34px;height:34px;padding:0;display:inline-grid;place-items:center}.wk-nav i{width:7px;height:7px;border:solid var(--blue);border-width:0 0 1.8px 1.8px}
.wk-nav i.l{transform:translateX(1px) rotate(45deg)}.wk-nav i.r{transform:translateX(-1px) rotate(-135deg)}
table.duty th span{color:var(--ink3);font-weight:500;margin-left:4px}table.duty th.td,table.duty td.td{background:#EAF6FB}
table.duty td{vertical-align:middle}.duty-dd .dd-btn{width:100%;min-width:120px;justify-content:space-between;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);height:32px}
.duty-dd.on .dd-btn{background:#fff;font-weight:700}.duty-dd .dd-btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}
.duty-note{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;background:var(--cyan);color:var(--navy);padding:12px 16px;border-radius:12px;margin-bottom:12px}
.duty-note span{font-size:13px;color:var(--ink2)}.duty-note b{font-size:15px}
.tbl table.duty td:first-child{min-width:190px;max-width:240px;white-space:normal;overflow-wrap:normal}.duty-dd .dd-btn{min-width:110px}
.duty-dd .dd-btn{min-width:0;padding:0 10px}.tbl table.duty th,.tbl table.duty td{padding-left:8px;padding-right:8px}.tbl table.duty td:first-child{min-width:170px}
/* дежурства: списки не обрезаются таблицей, дни по центру */
.tbl.tbl-open{overflow:visible}.tbl.tbl-open table{border-radius:16px}
.tbl table.duty th:not(:first-child),.tbl table.duty td:not(:first-child){text-align:center}
.duty-dd .dd-menu{left:50%;transform:translateX(-50%);text-align:left;z-index:40}
/* задачи бригадира: длинный текст переносится, без прокрутки вбок */
.tbl table.brig{table-layout:fixed;width:100%}.tbl table.brig td,.tbl table.brig td:first-child,.tbl table.brig td .muted{white-space:normal;overflow-wrap:anywhere}
.tbl table.brig th:nth-child(1){width:26%}.tbl table.brig th:nth-child(3){width:14%}.tbl table.brig th:nth-child(4){width:90px}.tbl table.brig th:nth-child(5){width:230px}
.tbl table.brig td.act,.tbl table.brig td.w{white-space:nowrap}
.tbl table.duty td:nth-last-child(-n+2) .duty-dd .dd-menu{left:auto;right:0;transform:none}
.duty-who{font-weight:700;color:var(--navy)}.duty-away td{color:var(--ink3);font-size:13px}.duty-away td:first-child{color:var(--ink2)}
.duty-h{font-size:18px;margin:26px 0 10px}.ab-new{gap:8px;margin-bottom:12px}.ab-new .dd.f{width:200px}
/* дежурства: одинаковые столбцы, скруглённая подсветка сегодняшнего дня; на телефоне — карточки дней */
.tbl table.duty{table-layout:fixed;width:100%;border-collapse:separate;border-spacing:0}
.tbl table.duty th:first-child{width:22%}
.tbl table.duty th.td{border-radius:12px 12px 0 0}.tbl table.duty tr:last-child td.td{border-radius:0 0 12px 12px}
.tbl table.duty td:not(:first-child){overflow-wrap:anywhere}
/* дежурства: карточки по дням — на компьютере в ряд, на телефоне столбиком */
.duty-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:8px}
.duty-card{background:var(--panel);border-radius:14px;padding:14px 16px;box-shadow:var(--shadow)}
.duty-card.td{background:#EAF6FB;box-shadow:inset 0 0 0 1.5px var(--blue)}
.dc-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:13px;color:var(--ink3);margin-bottom:4px}.dc-h b{color:var(--navy);font-size:15px;font-weight:700}
.dc-r{margin-top:10px}.dc-r span{display:block;font-size:11.5px;color:var(--ink3);line-height:1.3}.dc-r b{display:block;font-size:14.5px;font-weight:500;color:var(--navy);margin-top:2px}
.dc-away{margin-top:12px;padding-top:10px;border-top:1px solid var(--line);font-size:12.5px;color:var(--ink3)}
@media (max-width:1000px){.duty-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){.duty-cards{grid-template-columns:1fr;gap:10px}.dc-h{justify-content:flex-start}.dc-r b{font-size:15px}}
/* пул: очередь на сегодня */
.wkt .qn{width:44px;white-space:nowrap;color:var(--ink3);font-variant-numeric:tabular-nums;text-align:right;padding-right:6px}
.wkt tr.q-sep td{background:var(--panel2);color:var(--ink2);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:8px 14px}
/* пул на телефоне: задачи карточками, без прокрутки вбок */
@media (max-width:700px){
  #ptasks,#ptasks tbody{display:block;width:100%}#ptasks tr:first-child{display:none}
  #ptasks tr[data-type]{display:grid;grid-template-columns:34px 1fr auto auto;gap:8px 10px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line)}
  #ptasks tr[data-type][hidden]{display:none}
  #ptasks td{display:block;padding:0;border:0;white-space:normal}
  #ptasks td.qn{grid-column:1;grid-row:1;align-self:start;text-align:left;width:auto;padding-top:1px;white-space:nowrap}
  #ptasks td:nth-child(2){grid-column:2/-1;grid-row:1;font-size:14px;line-height:1.35;overflow-wrap:anywhere}
  #ptasks td:nth-child(2) .muted{display:block;font-size:12.5px;margin-top:2px;white-space:normal}
  #ptasks td:nth-child(3){grid-column:2;grid-row:2}#ptasks td:nth-child(4){grid-column:3;grid-row:2;font-size:13px;text-align:right}
  #ptasks td:nth-child(5){grid-column:4;grid-row:2}
  #ptasks tr.q-sep{display:block}#ptasks tr.q-sep td{display:block}
  .pf{flex-wrap:wrap}.pf .dd{flex:1 1 150px}.pf .dd .dd-btn{width:100%;justify-content:space-between}
}
@media (max-width:700px){
  /* виды задач карточками: название сверху, ниже подписанные поля */
  table.ptypes,table.ptypes tbody,table.ticks,table.ticks tbody{display:block;width:100%}table.ptypes tr:first-child,table.ticks tr:first-child{display:none}
  table.ptypes tr{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;padding:12px 14px;border-bottom:1px solid var(--line)}
  table.ptypes td{display:block;padding:0;border:0;white-space:normal}table.ptypes td:first-of-type{grid-column:1/-1;font-size:15px}
  table.ptypes td[data-l]::before{content:attr(data-l);display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);margin-bottom:3px}
  table.ptypes td.act{grid-column:1/-1;text-align:left}table.ptypes td.act .btn{width:100%}
  table.ptypes .num input{width:100%!important}table.ptypes .num{width:100%}
  /* какие задачи кому: имя сверху, ниже галочки с названиями */
  table.ticks tr{display:block;padding:10px 14px;border-bottom:1px solid var(--line)}
  table.ticks td{display:flex;align-items:center;gap:10px;padding:5px 0;border:0;text-align:left!important;white-space:normal}
  table.ticks td:first-child{padding-bottom:4px;font-size:15px}
  table.ticks td[data-l]::after{content:attr(data-l);font-size:14px;color:var(--navy);order:2}
  .wk-new input[type=text]{min-width:0!important;flex:1 1 100%}
}
/* задачи бригадира на телефоне — карточками */
@media (max-width:700px){
  table.brig,table.brig tbody{display:block;width:100%}table.brig tr:first-child{display:none}
  table.brig tr{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;padding:12px 14px;border-bottom:1px solid var(--line)}
  .tbl table.brig td{display:block;padding:0;border:0;width:auto}
  table.brig td:first-child,table.brig td:nth-child(2),table.brig td.act{grid-column:1/-1}
  table.brig td[data-l]::before{content:attr(data-l);display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);margin-bottom:2px}
  table.brig td.act .row{justify-content:stretch!important}table.brig td.act .row>*{flex:1 1 0;min-width:0}table.brig td.act .btn{width:100%}
}
/* фото к задачам */
.ph-box{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:4px 0 14px}.ph-it{position:relative}
.ph-th{width:72px;height:72px;object-fit:cover;border-radius:10px;cursor:zoom-in;background:var(--panel2);display:block}
.ph-del{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;border:0;background:var(--navy);color:#fff;font:700 14px/1 var(--ui);cursor:pointer;display:grid;place-items:center}
.ph-it form{margin:0}.ph-add{margin:0}.ph-add label{display:inline-flex;align-items:center;gap:6px;margin:0;cursor:pointer}.ph-add label.busy{opacity:.5;pointer-events:none}
.ph-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.ph-row .ph-th{width:56px;height:56px;border-radius:8px}
.ph-zoom{position:fixed;inset:0;z-index:100;background:rgba(34,52,74,.85);display:grid;place-items:center;cursor:zoom-out;padding:16px}
.ph-zoom[hidden]{display:none}.ph-zoom img{max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);object-fit:contain;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.4)}
#nfrd{width:280px;max-width:100%}
#bcd{width:100%}#bcd .dd-menu{position:relative;top:auto;margin-top:4px;box-shadow:var(--shadow)}
/* KPI */
.kpi-p{gap:6px;margin:0 0 14px}.kpi-p a.chip-f{text-decoration:none}.kpi-p a.chip-f.on{background:var(--navy);color:#fff;box-shadow:none}
.tbl table.kpi{table-layout:fixed;width:100%}.tbl table.kpi th:first-child{width:16%}.tbl table.kpi td,.tbl table.kpi th{text-align:center;white-space:normal;padding-left:6px;padding-right:6px}.tbl table.kpi th{font-size:10.5px;line-height:1.3;letter-spacing:.02em;overflow-wrap:anywhere}.tbl table.kpi td:first-child,.tbl table.kpi th:first-child{text-align:left}
.took{font-size:12px;color:var(--ink3);margin-top:2px}
@media (max-width:700px){
  table.kpi,table.kpi tbody{display:block;width:100%}table.kpi tr:first-child{display:none}
  table.kpi tr{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;padding:12px 14px;border-bottom:1px solid var(--line)}
  .tbl table.kpi td{display:block;padding:0;border:0;text-align:left;white-space:normal}table.kpi td:first-child{grid-column:1/-1;font-size:15px}
  table.kpi td[data-l]::before{content:attr(data-l);display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3)}
}
/* загрузка по дням: одна шкала голубой → тёмно-синий, % в клетке, при наведении — часы */
.hm-wrap{overflow-x:auto}table.hm{border-collapse:separate;border-spacing:3px;width:100%;font-size:12.5px}
table.hm th{font-size:11px;font-weight:700;color:var(--ink3);text-align:center;letter-spacing:.04em;padding:6px 2px}table.hm th span{display:block;font-weight:500;color:var(--ink3)}
table.hm td{text-align:center;height:34px;min-width:44px;border-radius:6px;padding:0 4px;font-variant-numeric:tabular-nums}
table.hm td.hm-n{text-align:left;white-space:nowrap;color:var(--navy);font-weight:700;padding-right:10px;min-width:120px}
.hm .l0,.hm-legend .l0{background:#F2F5F8;color:var(--ink3)}.hm .l1,.hm-legend .l1{background:#D9EEF7;color:var(--navy)}
.hm .l2,.hm-legend .l2{background:#AFD3E6;color:var(--navy)}.hm .l3,.hm-legend .l3{background:#6696B7;color:#fff}
.hm .l4,.hm-legend .l4{background:#3E6C8C;color:#fff}.hm .l5,.hm-legend .l5{background:#2F465F;color:#fff}
.hm td.hm-off{background:repeating-linear-gradient(135deg,#EEF2F6 0 6px,#E3E9EF 6px 12px);color:var(--ink3)}.hm td.hm-fut{background:transparent}
.hm td.hm-c:hover{outline:2px solid var(--navy);outline-offset:1px}
.hm-legend{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px;color:var(--ink2);margin:8px 0 0}
.hm-legend i{width:22px;height:12px;border-radius:3px;display:inline-block}.hm-legend .hm-k-off{margin-left:14px;background:repeating-linear-gradient(135deg,#EEF2F6 0 4px,#E3E9EF 4px 8px)}
table.hm td.hm-n{position:sticky;left:0;background:var(--panel);z-index:1}@media (max-width:700px){table.hm td.hm-n{min-width:96px;font-size:12px;white-space:normal}}
/* среднее время по видам: голубой — быстрее среднего, коралловый — медленнее, серый — около */
.tbl table.sp td,.tbl table.sp th{text-align:center}.tbl table.sp td:first-child,.tbl table.sp th:first-child{text-align:left}
table.sp td.sp-c b,table.sp tr.sp-avg b{display:block;color:var(--navy)}table.sp td span,table.sp tr.sp-avg span{display:block;font-size:12px;color:var(--ink2)}
.sp .f2,.sp-k.f2{background:#AFD3E6}.sp .f1,.sp-k.f1{background:#D9EEF7}.sp .mid,.sp-k.mid{background:#EEF2F6}
.sp .s1,.sp-k.s1{background:#FBEAE5}.sp .s2,.sp-k.s2{background:#F3C7BC}
.sp-k{width:22px;height:12px;border-radius:3px;display:inline-block}
table.sp tr.sp-avg td{background:var(--panel2);color:var(--ink2);font-weight:600}
@media (max-width:700px){
  table.sp,table.sp tbody{display:block;width:100%}table.sp tr:first-child{display:none}
  table.sp tr{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:10px 14px;border-bottom:1px solid var(--line)}
  .tbl table.sp td{display:block;padding:6px;border:0;border-radius:8px;text-align:left}table.sp td:first-child{grid-column:1/-1;padding:0 0 2px}
  table.sp td[data-l]::before{content:attr(data-l);display:block;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink3);margin-bottom:2px}
}
.mt-ed{appearance:none;border:0;background:none;padding:3px;margin-left:4px;color:#B6C3CF;cursor:pointer;border-radius:5px;display:inline-grid;place-items:center;vertical-align:-3px}.mt-ed:hover{color:var(--navy);background:var(--panel2)}
/* комплектовщики */
.pk textarea{width:100%;box-sizing:border-box;font-size:14px}.pk-dirs{display:flex;flex-wrap:wrap;gap:6px}
.pk-dirs .chip-f.on{background:var(--navy);color:#fff;box-shadow:none}
.pk-l td{vertical-align:middle}
@media (max-width:700px){table.pko,table.pko tbody{display:block}table.pko tr:first-child{display:none}
  table.pko tr{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;padding:12px 14px;border-bottom:1px solid var(--line)}
  .tbl table.pko td{display:block;padding:0;border:0;white-space:normal}table.pko td:nth-child(3){grid-column:1/-1}
  table.pko td[data-l]::before{content:attr(data-l);display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3)}}
/* меню: группа подразделов на светлой подложке, подразделы заметно правее разделов (вариант D) */
.side .nav-sub{background:rgba(255,255,255,.07);border-radius:12px;margin:2px 0 6px;padding:4px}
.side .nav.nav-in{padding-left:28px;font-size:13.5px}
@media (max-width:900px){nav.side.open .nav-sub .nav{padding-left:30px}}
/* кто какие задачи берёт: переключатели-плашки */
.tg-box{margin-bottom:18px}.tg-h{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);margin-bottom:6px}
.tg-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:8px 0;border-top:1px solid var(--line)}.tg-row:first-of-type{border-top:0}
.tg-row>b{min-width:180px;color:var(--navy)}.tg-list{display:flex;flex-wrap:wrap;gap:6px}
.tg{display:inline-flex;align-items:center;gap:6px;border:0;font:inherit;font-size:13px;padding:6px 12px;border-radius:999px;background:var(--panel2);color:var(--ink2);cursor:pointer}
.tg i{width:14px;height:14px;border-radius:4px;box-shadow:inset 0 0 0 1.5px #B6C3CF;background:#fff;display:inline-grid;place-items:center}
.tg.on{background:#EAF6FB;color:var(--navy);font-weight:600}.tg.on i{background:var(--navy);box-shadow:none}
.tg.on i::after{content:"";width:3px;height:7px;border:solid #fff;border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}
.tg:disabled{cursor:default}
@media (max-width:700px){.tg-row>b{min-width:0;width:100%}}
.pk-wh{display:grid;grid-template-columns:repeat(2,minmax(0,260px));gap:12px}.pk-wh .dd.f{width:100%}@media (max-width:640px){.pk-wh{grid-template-columns:1fr}}
/* порядок видов задач: ручка ⋮⋮ (перетащить) и стрелки на телефоне */
td.dg{width:34px;padding-right:0!important}th.dg-h{width:34px}
button.dg-h{border:0;background:none;cursor:grab;width:24px;height:28px;border-radius:6px;display:grid;place-items:center;padding:0}
button.dg-h i{width:8px;height:14px;background:radial-gradient(circle,var(--blue) 1.3px,transparent 1.6px) 0 0/4px 5px}
button.dg-h:hover{background:#EAF6FB}button.dg-h:hover i{background-image:radial-gradient(circle,var(--navy) 1.3px,transparent 1.6px)}
button.dg-h:active{cursor:grabbing}tr.dg-on td{background:#EAF6FB}
.dg-ar{display:none}.dg-ar button{border:1px solid var(--line);background:var(--panel);border-radius:8px;width:30px;height:30px;cursor:pointer;display:grid;place-items:center;padding:0}
.dg-ar button i{width:7px;height:7px;border:solid var(--blue);border-width:0 1.6px 1.6px 0;transform:translateY(2px) rotate(-135deg)}
.dg-ar button[data-mv="1"] i{transform:translateY(-2px) rotate(45deg)}
.dg-ar button:hover{background:#EAF6FB}.dg-ar button:hover i{border-color:var(--navy)}
@media (max-width:700px){button.dg-h{display:none}.dg-ar{display:flex;gap:6px}table.ptypes td.dg{grid-column:1/-1;width:auto}}
.btn.danger-solid{background:var(--no);color:#fff}.btn.danger-solid:hover{background:#C4553F}
/* мобильные формы: «Кто отсутствует», новая ручная задача, карточки видов задач в пуле */
.ab-new .dp-btn{background:var(--bg);box-shadow:inset 0 0 0 1px var(--line)}.ab-new .dp-btn:hover,.ab-new .dp-btn.set{background:#EAF6FB;box-shadow:none}
.wk-new .dd .dd-btn{background:var(--bg);box-shadow:inset 0 0 0 1px var(--line)}.wk-new .dd.open .dd-btn,.wk-new .dd .dd-btn:hover{background:#EAF6FB;box-shadow:none}
@media (max-width:700px){
  .ab-new,.wk-new{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .ab-new .dd.f,.ab-new .dd.f:last-of-type,.ab-new>.btn,.wk-new input[type=text],.wk-new>.btn{grid-column:1/-1;width:100%}
  .ab-new .dp-btn,.wk-new .dp-btn{width:100%;justify-content:center;height:42px}
  .wk-new{grid-template-columns:auto 1fr}.wk-new input[type=text]{min-width:0!important;height:42px}
  .wk-new .dd{width:100%}.wk-new .dd .dd-btn{width:100%;justify-content:space-between;height:42px}
  .ab-new>.btn,.wk-new>.btn{height:42px}
  table.ptypes tr.dg-row{position:relative}
  table.ptypes td.dg{position:absolute;top:10px;right:14px;grid-column:auto}
  table.ptypes td.tt{grid-column:1/-1;font-size:15px;padding-right:76px;min-height:30px;display:flex;align-items:center}
}
/* пул на телефоне: каждый вид задачи — отдельная карточка с номером в очереди */
@media (max-width:700px){
  .tbl:has(table.ptypes){background:none;box-shadow:none;border:0;overflow:visible}
  table.ptypes{counter-reset:pt}
  table.ptypes tr.dg-row{counter-increment:pt;background:#fff;border:0;border-radius:16px;box-shadow:var(--shadow);margin-bottom:12px}
  table.ptypes td.tt b::before{content:counter(pt);display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;font-size:13px;margin-right:10px;flex:none}
  table.ptypes td.tt b{display:flex;align-items:center}
}
/* номер в очереди — всегда в одну строку (общее правило первой колонки .wkt разрешает переносы) */
.tbl table.wkt td.qn{white-space:nowrap;overflow-wrap:normal;width:44px;min-width:44px}
/* прогресс за день на странице «Задачи»: кольцо и всплывашка после «Готово» */
.panel.prg{display:flex;align-items:center;gap:16px;padding:14px 18px;margin-bottom:14px}.prg svg{flex:none}.prg svg text{font-family:var(--ui)}
.prg-n{font-size:24px;font-weight:800;color:var(--navy);line-height:1.1}.prg-s{font-size:13px;color:var(--ink2);margin-top:4px}.prg-g{font-size:13px;font-weight:700;color:var(--ok);margin-top:6px}
.cheer{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);width:min(380px,calc(100% - 28px));z-index:60;background:var(--navy);color:#fff;border-radius:14px;padding:12px 14px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow-lg);animation:cheer-in .25s ease-out;transition:opacity .4s,transform .4s}
.cheer svg{flex:none}.cheer>div{flex:1}.cheer b{font-size:14px}.cheer span{display:block;font-size:12px;color:#C9D6E2;margin-top:2px}
.cheer-b{height:6px;border-radius:999px;background:rgba(255,255,255,.18);margin-top:7px;overflow:hidden}.cheer-b i{display:block;height:100%;border-radius:999px;background:var(--cyan)}
.cheer.out{opacity:0;transform:translate(-50%,12px);pointer-events:none}
@keyframes cheer-in{from{opacity:0;transform:translate(-50%,12px)}}
.mn-f{font-size:12px;color:var(--ink3);margin-top:3px}.mn-f.far{color:var(--warn);font-weight:700}
.tbl table.hd tr.hd-hi td{background:var(--warn-soft)}.tbl table.hd tr.hd-hi td b{color:var(--warn)}
/* база знаний склада: презентация — первым пунктом оглавления, со страницы презентации — назад в базу */
.kb-tree a.kb-pres{display:block;font-weight:700;color:var(--navy);padding:6px 10px;margin-bottom:8px;border-radius:8px;background:var(--panel2)}.kb-tree a.kb-pres:hover{background:#EAF6FB}
.kb-back{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--link);margin-bottom:4px}.kb-back::before{content:"";width:6px;height:6px;border:solid currentColor;border-width:0 0 1.6px 1.6px;transform:rotate(45deg)}
/* меню: иконки у пунктов и групп вместо стрелок (вариант C) */
@media (min-width:901px){.side .nav:not(.nav-in),.side .nav-grp{display:flex;align-items:center;gap:10px}}
nav.side.open>.nav,nav.side.open>.nav-grp{align-items:center;gap:10px}
.side .ico{flex:none;opacity:.75}.side .nav.on .ico,.side .nav:hover .ico,.side .nav-grp:hover .ico{opacity:1}
.side .nav-grp[aria-expanded=true]{color:#fff}.side .nav-grp[aria-expanded=true] .ico{opacity:1}
@media (min-width:901px){.side .nav.nav-in{padding-left:39px}}
/* «Кто отсутствует» на телефоне: карточками, без прокрутки вбок */
@media (max-width:700px){
  table.abs,table.abs tbody{display:block;width:100%}table.abs tr:first-child{display:none}
  table.abs tr{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:12px 14px;border-bottom:1px solid var(--line);align-items:center}
  table.abs td{display:block;padding:0;border:0;white-space:normal}
  table.abs td:first-child{grid-column:1;grid-row:1}table.abs td.ab-r{grid-column:2;grid-row:1;color:var(--ink2);font-size:13px;text-align:right}
  table.abs td.ab-d{grid-column:1/-1;grid-row:2;color:var(--ink2);font-size:13.5px}
  table.abs td.act{grid-column:1/-1;grid-row:3;margin-top:8px}table.abs td.act .btn{width:100%}
  table.abs td[colspan]{grid-column:1/-1}
}
/* журнал склада: лента по дням с цветными точками */
.panel.lg{padding:0 0 4px;overflow:hidden}
.lg-day{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);padding:18px 20px 4px}
.lg-r{display:grid;grid-template-columns:14px 1fr;gap:14px;padding:0 20px}
.lg-dot{position:relative}.lg-dot::before{content:"";position:absolute;left:6px;top:0;bottom:0;width:1.5px;background:var(--line)}
.lg-dot i{position:absolute;left:1px;top:15px;width:11px;height:11px;border-radius:50%;background:var(--panel);box-shadow:inset 0 0 0 2.5px var(--blue)}
.lg-dot i.ok{box-shadow:inset 0 0 0 2.5px var(--ok)}.lg-dot i.no{box-shadow:inset 0 0 0 2.5px var(--no)}.lg-dot i.wn{box-shadow:inset 0 0 0 2.5px var(--warn)}
.lg-b{padding:11px 0;border-bottom:1px solid var(--line);min-width:0}.lg-r:last-child .lg-b{border-bottom:0}
.lg-h{font-size:14px;color:var(--navy);overflow-wrap:anywhere}.lg-h b{font-weight:700}.lg-art{font-weight:600}.lg-cell{color:var(--ink2)}
.lg-m{font-size:12.5px;color:var(--ink3);margin-top:2px}.lg-s{font-size:13px;color:var(--ink2);margin-top:3px;overflow-wrap:anywhere}
.lg .took{font-size:12px;color:var(--ink3);margin-top:3px}.lg-act{gap:6px;margin-top:8px}
@media (max-width:700px){.lg-day{padding:16px 14px 4px}.lg-r{padding:0 14px;gap:12px}}
.lg .cw{display:inline-flex;align-items:center;gap:2px;vertical-align:baseline}
.lg .cp{appearance:none;border:0;background:none;padding:2px;margin:0;color:#B6C3CF;cursor:pointer;border-radius:5px;display:inline-grid;place-items:center;flex:none;vertical-align:-3px}.lg .cp:hover{color:var(--navy);background:var(--panel2)}
.lg-cell{white-space:nowrap}
/* задача «Порядок на полке»: ячейки карточками, количество — в каждой */
.sec-l{display:grid;gap:10px;margin:12px 0 4px}
.sec-r{border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:grid;grid-template-columns:1fr auto;gap:8px 16px;align-items:center}
.sec-h{grid-column:1;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;font-size:15px;color:var(--navy)}.sec-c{font-weight:800}
.sec-r .cw{display:inline-flex;align-items:center;gap:2px}.sec-r .cp{appearance:none;border:0;background:none;padding:2px;color:#B6C3CF;cursor:pointer;border-radius:5px;display:inline-grid;place-items:center}.sec-r .cp:hover{color:var(--navy);background:var(--panel2)}
.sec-d{grid-column:1;margin:0;display:flex;flex-wrap:wrap;gap:4px 18px;font-size:13px}.sec-d div{display:flex;gap:6px}.sec-d dt{color:var(--ink3)}.sec-d dd{margin:0;color:var(--navy);font-weight:500}
.sec-q{grid-column:2;grid-row:1/3;display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3)}
@media (max-width:700px){.sec-r{grid-template-columns:1fr}.sec-q{grid-column:1;grid-row:auto}.sec-q .num,.sec-q input{width:100%!important}}
/* другие места артикула: нажали — место отмечено к удалению при «Завершить» */
.sec-d .sec-od{flex-basis:100%;align-items:center;flex-wrap:wrap}.sec-od dd{display:flex;flex-wrap:wrap;gap:6px}
.sec-o{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:3px 6px 3px 10px;font-size:12.5px;font-weight:500;color:var(--navy);cursor:pointer;background:var(--panel)}
.sec-o input{position:absolute;opacity:0;pointer-events:none}
.sec-o i{width:16px;height:16px;border-radius:50%;background:var(--panel2);position:relative;flex:none}
.sec-o i::before,.sec-o i::after{content:"";position:absolute;left:4px;right:4px;top:7.25px;height:1.5px;background:var(--ink3);border-radius:2px;transform:rotate(45deg)}.sec-o i::after{transform:rotate(-45deg)}
.sec-o:hover{border-color:var(--no)}.sec-o:hover i::before,.sec-o:hover i::after{background:var(--no)}
.sec-o:has(input:checked){background:var(--no-soft);border-color:var(--no);color:var(--no)}.sec-o:has(input:checked) span{text-decoration:line-through}
.sec-o:has(input:checked) i{background:var(--no)}.sec-o:has(input:checked) i::before,.sec-o:has(input:checked) i::after{background:#fff}
.sec-o:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:2px}
.sec-o.lk{cursor:default;padding:3px 10px;color:var(--ink2)}
/* «Обновления»: список в две строки, статус точкой, кнопки-иконки — без прокрутки вбок */
.panel.upl{padding:0;overflow:hidden;max-width:1180px}
.upl-g{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);padding:14px 20px 6px;background:var(--panel2)}
.upl-r{display:grid;grid-template-columns:minmax(0,1fr) 270px 110px;gap:4px 18px;align-items:center;padding:12px 20px;border-top:1px solid var(--line)}
.upl-g+.upl-r{border-top:0}
.upl-t{min-width:0}.upl-t b{font-size:14.5px;color:var(--navy)}.upl-t div{font-size:12.5px;color:var(--ink2);margin-top:2px;overflow-wrap:anywhere}
.upl-s{font-size:13px;color:var(--navy);white-space:nowrap;display:flex;align-items:center}.upl-s .mut{color:var(--ink3)}.upl-s .no{color:var(--no)}
.upl-s .dot{width:8px;height:8px;border-radius:50%;background:var(--ok);margin-right:7px;flex:none}.upl-s .dot.no{background:var(--no)}.upl-s .dot.run{background:var(--warn);animation:upl-p 1s ease-in-out infinite alternate}
@keyframes upl-p{to{opacity:.35}}
.upl-b{display:flex;gap:6px;justify-content:flex-end;min-width:0}.upl-b form{margin:0}
.ib{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;border:0;background:var(--panel);box-shadow:inset 0 0 0 1px var(--line);color:var(--navy);cursor:pointer;padding:0}
.ib:hover{background:#EAF6FB;box-shadow:none}.ib.m{background:var(--navy);color:#fff;box-shadow:none}.ib.m:hover{background:var(--navy2)}.ib:disabled{opacity:.45;cursor:default}
.upl-e,.upl-x{grid-column:1/-1;font-size:12.5px;color:var(--no);overflow-wrap:anywhere}.upl-x{color:var(--ink2)}
@media (max-width:700px){.upl-g{padding:12px 14px 6px}.upl-r{grid-template-columns:minmax(0,1fr) auto;padding:12px 14px}.upl-s{grid-column:1;grid-row:2}.upl-b{grid-column:2;grid-row:1/3}}
/* журнал: отметка ошибки и исправления под записью */
.lg-err{font-size:13px;color:var(--no);margin-top:4px;overflow-wrap:anywhere}.lg-err span,.lg-fix span{color:var(--ink3)}
.lg-fix{font-size:13px;color:var(--ok);margin-top:3px;overflow-wrap:anywhere}
.fx-l{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;color:var(--ink3);margin-bottom:10px}.fx-l input,.fx-l textarea{font-weight:400}
.fx-g{display:grid;grid-template-columns:1fr 1fr 110px;gap:8px}.fx-g input{width:100%;box-sizing:border-box}
.fx-c{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--navy);margin:2px 0 4px}
@media (max-width:700px){.fx-g{grid-template-columns:1fr}}
.kpi-err{color:var(--no)}
.lg .lg-act{display:inline-flex;vertical-align:top;margin-right:6px}
/* «Проверить»: подсказки артикулов и мест, список артикулов на месте */
.pl-sw{display:inline-block}.pl-sug{min-width:100%;max-width:min(420px,calc(100vw - 32px));right:auto}
.pl-sug li{display:flex;align-items:baseline;gap:8px;white-space:normal}.pl-sug .sg-t{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);flex:none;width:88px}
.pl-sug b{font-weight:600;overflow-wrap:anywhere}.pl-sug .sg-n{display:none}
.pl-at{display:grid;gap:0}.pl-at-r{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line);color:var(--navy);text-decoration:none}
.pl-at-r:first-child{border-top:0}.pl-at-r:hover b{color:var(--link)}.pl-at-r>span:first-child{display:flex;flex-direction:column;min-width:0}.pl-at-r b{overflow-wrap:anywhere}.pl-at-r .muted{font-size:12.5px}
.pl-at-q{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:14px}
@media (max-width:700px){.pl-find{width:100%}.pl-sw{flex:1}.pl-sw input{width:100%!important}}
/* пул: текст задачи переносится, без прокрутки вбок */
.tbl table#ptasks{width:100%}.tbl #ptasks td:nth-child(2){white-space:normal;overflow-wrap:anywhere;width:100%}
.tbl #ptasks td:nth-child(2) .muted{white-space:normal}
/* задачи бригадиру от руководителя */
.bt-new{margin-bottom:14px}.bt-src{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--own);margin-bottom:2px}
.bt-late{color:var(--no);font-weight:700}.bt-no{color:var(--no)}tr.bt-st td{background:var(--no-soft)}
/* пул: «кому» задача — список прямо в строке */
.dd.asg .dd-btn{height:28px;padding:0 10px;font-size:13px;background:var(--panel2);color:var(--ink2);font-weight:500;gap:6px}
.dd.asg.on .dd-btn{background:#EAF6FB;color:var(--navy)}.dd.asg .dd-menu{right:0;left:auto;min-width:200px}
.dd.asg{margin-top:4px}td>.chip+.dd.asg{display:block;width:max-content}
.dd.asg .dd-btn{white-space:nowrap;width:auto;max-width:none}.dd.asg .dd-btn span{white-space:nowrap}
.tbl #ptasks td:nth-child(4){white-space:nowrap;width:1%}
@media (max-width:700px){.tbl #ptasks td:nth-child(4){width:auto}}
/* пул: колонки фиксированной ширины — смена исполнителя не сдвигает таблицу */
@media (min-width:701px){
  .tbl table#ptasks{table-layout:fixed}
  #ptasks th:nth-child(1){width:52px}#ptasks th:nth-child(3){width:140px}#ptasks th:nth-child(4){width:230px}#ptasks th:nth-child(5){width:96px}
  .tbl #ptasks td:nth-child(4){width:auto}
  .dd.asg{display:block;width:100%}.dd.asg .dd-btn{width:100%;justify-content:space-between}
  .dd.asg .dd-btn span{overflow:hidden;text-overflow:ellipsis;min-width:0}
}
/* пул: «Виды задач» и «Кто какие задачи берёт» свёрнуты, раскрываются по нажатию */
details.pfold{margin-bottom:10px}details.pfold[open]{margin-bottom:18px}
details.pfold>summary{list-style:none;display:flex;align-items:center;gap:10px;padding:12px 18px;background:var(--panel);border-radius:14px;box-shadow:var(--shadow);cursor:pointer;color:var(--navy);font-weight:700;font-size:14.5px}
details.pfold>summary::-webkit-details-marker{display:none}details.pfold>summary small{font-size:12px;font-weight:600;color:var(--ink3);background:var(--panel2);border-radius:999px;padding:1px 8px}
details.pfold>summary i{margin-left:auto;width:7px;height:7px;border:solid var(--blue);border-width:0 1.8px 1.8px 0;transform:translateY(-2px) rotate(45deg);transition:transform .15s}
details.pfold[open]>summary i{transform:translateY(1px) rotate(-135deg)}details.pfold>summary:hover{background:#EAF6FB}
details.pfold[open]>summary{margin-bottom:8px}details.pfold .tg-box{margin-bottom:0}
/* пул на телефоне: «кто» отдельной строкой во всю ширину — без прокрутки вбок */
@media (max-width:700px){
  #ptasks tr[data-type]{grid-template-columns:34px minmax(0,1fr) auto}
  #ptasks td:nth-child(3){grid-column:2;grid-row:2}#ptasks td:nth-child(5){grid-column:3;grid-row:2}
  #ptasks td:nth-child(4){grid-column:2/-1;grid-row:3;text-align:left;min-width:0;white-space:normal}
  .dd.asg{display:block;width:100%;margin-top:0}.dd.asg .dd-btn{width:100%;justify-content:space-between;height:34px}
  .dd.asg .dd-btn span{overflow:hidden;text-overflow:ellipsis;min-width:0}.dd.asg .dd-menu{left:0;right:auto;max-width:calc(100vw - 40px)}
  td>.chip+.dd.asg{margin-top:6px;width:100%}
}
details.pfold>summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none}
@media (hover:none){details.pfold>summary:hover{background:var(--panel)}}
details.pfold>summary i{transition:none}
/* пул: в списке до 2 000 задач — браузер не рассчитывает строки за пределами экрана, раскрытие блоков и прокрутка не тормозят */
#ptasks tr[data-type]{content-visibility:auto;contain-intrinsic-size:auto 58px}
@media (max-width:700px){#ptasks tr[data-type]{contain-intrinsic-size:auto 150px}}
/* «Проверить»: кнопка фото в поле поиска */
.pl-sw{position:relative}.pl-sw input{padding-right:44px}
.pl-cam{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:36px;height:34px;border-radius:9px;display:grid;place-items:center;color:var(--blue);cursor:pointer}
@media (hover:hover){.pl-cam:hover{background:#EAF6FB;color:var(--navy)}}.pl-cam{-webkit-tap-highlight-color:transparent}
/* «Идеи и ошибки»: лента сообщений сотрудников */
.fbf{gap:6px;margin-bottom:14px;flex-wrap:wrap}.fbf-sep{width:1px;height:22px;background:var(--line);margin:0 4px}
.fbx{display:grid;gap:12px;max-width:900px}.panel.fbx-it{padding:14px 18px}
.fbx-h{display:flex;justify-content:space-between;align-items:center;gap:10px}.fbx-k{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.fbx-k.bug{color:var(--no)}.fbx-k.idea{color:var(--own)}.fbx-k.ux{color:var(--warn)}
.fbx-st .dd-btn{height:28px;font-size:12.5px;padding:0 10px;background:var(--panel2);gap:6px}.fbx-st.new .dd-btn{background:#EAF6FB;color:var(--link);font-weight:700}
.fbx-st.done .dd-btn{background:var(--ok-soft);color:var(--ok)}.fbx-st .dd-menu{right:0;left:auto}
.fbx-t{margin:6px 0 0;font-size:15px;white-space:pre-wrap;overflow-wrap:anywhere}.fbx-ph{display:flex;gap:8px;margin-top:8px}.fbx-ph img{width:72px;height:72px;object-fit:cover;border-radius:10px;cursor:zoom-in}
.fbx-m{font-size:12.5px;color:var(--ink3);margin-top:8px;overflow-wrap:anywhere}.fbx-m a{color:var(--link)}
.fbx-re{margin-top:10px;padding:8px 12px;border-radius:10px;background:var(--ok-soft);font-size:14px;overflow-wrap:anywhere}
.fbx-rf{display:flex;gap:8px;margin-top:10px}.fbx-rf input{flex:1;min-width:0}
@media (max-width:700px){main{padding-bottom:calc(84px + env(safe-area-inset-bottom))!important}}   /* кнопка «Написать Даше» не закрывает нижние кнопки */
/* «Порядок на полке»: сохранение каждой ячейки сразу в 1С */
.sec-sv{grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sec-ok{font-size:13px;font-weight:600;color:var(--ok)}
.sec-r.saved{border-color:var(--ok);background:linear-gradient(0deg,var(--ok-soft),var(--ok-soft)) padding-box}
.sec-r.saved .sec-save{background:var(--panel);color:var(--navy);box-shadow:inset 0 0 0 1px var(--line)}
@media (max-width:700px){.sec-sv .btn{flex:1}}
button.sec-o{font:inherit;font-size:12.5px;font-weight:500;-webkit-tap-highlight-color:transparent}button.sec-o:disabled{opacity:.5}button.sec-o:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
/* «Собрать перемещение»: чек-лист по строкам */
.pk-pr{margin:6px 0 8px}.pk-pr-t{display:flex;justify-content:space-between;font-size:13.5px;font-weight:700;color:var(--navy)}
.pk-bar{height:8px;border-radius:999px;background:var(--panel2);margin-top:6px;overflow:hidden}.pk-bar i{display:block;height:100%;width:0;background:var(--ok);border-radius:999px;transition:width .2s}
.pk-sec{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);margin:14px 0 2px}
.pk-ln{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:4px 10px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.pk-a{display:flex;flex-direction:column;min-width:0}.pk-a b{font-size:14px;overflow-wrap:anywhere}.pk-a .muted{font-size:12px}.pk-need{font-size:12.5px;color:var(--ink3);margin-top:2px}
.pk-ln input[type=number]{width:72px;height:40px;text-align:center;box-sizing:border-box}
.pk-ok{width:44px;height:44px;border-radius:12px;border:0;box-shadow:inset 0 0 0 1.5px var(--line);background:var(--panel);color:var(--ink3);display:grid;place-items:center;cursor:pointer;-webkit-tap-highlight-color:transparent}
.pk-ln.done .pk-ok{background:var(--ok);color:#fff;box-shadow:none}.pk-ln.part .pk-ok{background:var(--warn);color:#fff;box-shadow:none}
.pk-ln.done .pk-a b{color:var(--ink2)}.pk-ln.part .pk-need{color:var(--warn);font-weight:700}
dialog.ask dd{white-space:pre-line}
/* «Пользователи»: группы по должностям, доступы плашками, карточка окном */
.ug-list{max-width:1100px}.ug .ug-box{padding:0;overflow:hidden}
.ur{display:grid;grid-template-columns:minmax(150px,220px) minmax(0,1fr) auto;gap:6px 16px;align-items:center;padding:11px 18px;border-top:1px solid var(--line)}
.ur:first-child{border-top:0}.ur.pick{cursor:pointer}.ur.pick:hover{background:#F7FAFC}.ur.pick:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
.ur.off .ur-n b{color:var(--ink3)}.ur-n b{display:block;font-size:14.5px;color:var(--navy)}.ur-n span{font-size:12px;color:var(--ink3)}
.ur-a{display:flex;flex-wrap:wrap;gap:6px}.ua{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;background:var(--panel2);color:var(--ink2);font-size:12.5px;font-weight:600}
.ua em{font-style:normal;font-weight:800}.ua.e{background:var(--ok-soft);color:#1f7a4c}.ua.all{background:var(--navy);color:#fff}
.ur-s{font-size:12.5px;color:var(--ink3);white-space:nowrap}.ur-s.on{color:var(--ok)}
@media (max-width:700px){.ur{grid-template-columns:1fr auto}.ur-a{grid-column:1/-1;grid-row:2}}
dialog.ud{border:0;padding:20px 22px;border-radius:20px;width:min(1000px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;box-shadow:var(--shadow-lg);box-sizing:border-box;background:var(--bg)}
dialog.ud::backdrop{background:rgba(20,30,45,.4)}dialog.ud #uform{max-width:none!important;margin:0}
.ud-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.ud-h h2{margin:0}
.ud-x{border:0;background:var(--panel2);color:var(--ink2);width:34px;height:34px;border-radius:50%;font-size:22px;line-height:1;cursor:pointer}
@media (max-width:700px){dialog.ud{width:100%;max-width:100%;max-height:100dvh;height:100dvh;border-radius:0;padding:16px 14px calc(16px + env(safe-area-inset-bottom))}}
/* карточка пользователя: подразделы Склада по группам меню, у группы — общий выбор */
.acc-grp{margin:4px 0 8px 22px;border-left:2px solid var(--line);padding-left:10px}
.acc-row.acc-gh{border-bottom:0;padding-top:8px}.acc-gh>span{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3)}
.acc-grp .acc-row.acc-in{padding-left:0}
/* карточка пользователя, вариант B: раздел — тёмная линия слева и голубой фон, группа — голубая плашка, подраздел — точка и отступ */
.acc-list>.acc-row,.acc-sec>.acc-row:first-child{border-left:4px solid var(--navy);background:linear-gradient(90deg,#EAF6FB,transparent 70%);padding:8px 8px 8px 12px;margin-top:8px;border-bottom:0;border-radius:2px}
.acc-list>.acc-row>label,.acc-sec>.acc-row:first-child .acc-tg{font-weight:800;font-size:15px;color:var(--navy)}
.acc-grp{border-left:0;margin:6px 0 4px 16px;padding-left:0}
.acc-row.acc-gh{padding:10px 0 2px}.acc-gh>span{text-transform:none;letter-spacing:0;font-size:12.5px;font-weight:700;color:var(--navy);background:#EAF6FB;border-radius:999px;padding:3px 12px}
.acc-row.acc-in{padding-left:28px;position:relative;border-bottom:1px dashed var(--line)}
.acc-row.acc-in::before{content:"";position:absolute;left:16px;top:50%;width:5px;height:5px;border-radius:50%;background:var(--blue);transform:translateY(-50%)}
.acc-row.acc-in label{color:var(--ink2);font-weight:400}
.acc-grp .acc-row.acc-in{padding-left:28px}
/* План упаковки */
.pp-upd{font-size:13px}.pp-old{padding:0;margin:10px 0 14px}.pp-old summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;cursor:pointer;flex-wrap:wrap}
.pp-old summary::-webkit-details-marker{display:none}.pp-old summary b{color:var(--warn)}.pp-old-l{padding:0 16px 12px;font-size:13px;color:var(--ink2);display:grid;gap:4px;max-height:320px;overflow:auto}
.pp-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-top:10px}
.panel.pp-d{padding:12px 12px 14px;display:flex;flex-direction:column;gap:8px}.pp-d.today{box-shadow:inset 0 0 0 1.5px var(--blue),var(--shadow)}.pp-d.we{background:#F7F9FB}
.pp-h{font-size:13px;color:var(--ink3)}.pp-h b{color:var(--navy);font-size:15px}
.pp-v{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:0}.pp-v div{background:var(--panel2);border-radius:8px;padding:6px 6px;text-align:center}.pp-v dt{font-size:11px;color:var(--ink3);font-weight:700}.pp-v dd{margin:0;font-weight:700;font-size:14px;color:var(--navy)}
.pp-in{display:flex;flex-direction:column;gap:3px;font-size:11.5px;color:var(--ink3);font-weight:600}.pp-in input{width:100%;box-sizing:border-box;height:34px}
.pp-r{font-size:13px;color:var(--ink2)}.pp-r b{color:var(--navy);font-size:16px}
.pp-out{background:var(--no-soft);color:var(--no);border-radius:10px;padding:8px 10px;font-size:13.5px}.pp-out b{font-size:18px}
.pp-sp{background:var(--ok-soft);color:#1f7a4c;border-radius:10px;padding:8px 10px;font-size:12.5px}.pp-ok{color:var(--ok);font-size:13px;font-weight:600}

@media (max-width:1100px){.pp-days{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:700px){.pp-days{grid-template-columns:1fr 1fr}}
@media (max-width:420px){.pp-days{grid-template-columns:1fr}}
/* пул: лёгкие строки — значок срока стилем, «кто» — простая кнопка с общей менюшкой */
#ptasks .dp-btn.due::before{content:"";width:14px;height:14px;flex:none;background:var(--blue);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.5'%3E%3Crect x='2.5' y='3.5' width='11' height='10' rx='2'/%3E%3Cpath d='M2.5 6.8h11M5.5 2v3M10.5 2v3'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.5'%3E%3Crect x='2.5' y='3.5' width='11' height='10' rx='2'/%3E%3Cpath d='M2.5 6.8h11M5.5 2v3M10.5 2v3'/%3E%3C/svg%3E") center/contain no-repeat}
button.asg{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;height:28px;border:0;border-radius:10px;padding:0 10px;background:var(--panel2);color:var(--ink2);font:500 13px var(--ui);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}
button.asg::after{content:"";flex:none;width:6px;height:6px;border:solid var(--blue);border-width:0 1.6px 1.6px 0;transform:translateY(-2px) rotate(45deg)}
button.asg.on{background:#EAF6FB;color:var(--navy)}td>.chip+button.asg{margin-top:6px}
.asg-m{position:absolute;right:0;top:100%;z-index:40;min-width:200px;display:block}.asg-m[hidden]{display:none}
@media (max-width:700px){button.asg{height:34px}.asg-m{left:0;right:auto}}
.pp-oc{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px dashed var(--line);cursor:pointer;color:var(--ink2)}.pp-oc span{flex:1;min-width:0;overflow-wrap:anywhere}.pp-oc .pp-u{color:var(--navy);white-space:nowrap}
.pp-oc.all{font-weight:700;color:var(--navy)}.pp-inc{color:var(--ok);font-weight:700}.pp-oh{font-size:12.5px}
.pp-ob{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:10px}
/* «Упаковка впрок» на телефоне — карточками, без прокрутки вбок */
@media (max-width:700px){
  table.pp-a,table.pp-a tbody{display:block;width:100%}table.pp-a tr:first-child{display:none}
  table.pp-a tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;padding:10px 14px;border-bottom:1px solid var(--line)}
  table.pp-a td{display:block;padding:0;border:0;white-space:normal;font-size:13px}table.pp-a td:first-child{grid-column:1/-1;font-size:14px;overflow-wrap:anywhere}
  table.pp-a td[data-l]::before{content:attr(data-l);display:block;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink3)}
  table.pp-a td[data-l="Бренд"]{display:none}
}
/* «Наверх» над кнопкой «Написать Даше», а не поверх неё */
.totop{bottom:calc(80px + env(safe-area-inset-bottom))}
@media (max-width:900px){.totop{right:16px;bottom:calc(74px + env(safe-area-inset-bottom))}}
.pp-v .pp-pk{display:block;font-size:10.5px;color:var(--ink3);font-weight:600;line-height:1.2}
.pp-n{margin-top:16px;padding:12px 16px}
.pp-nh{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.pp-nl{width:100%;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink3);margin-bottom:2px}
.pp-c{display:inline-flex;gap:5px;align-items:baseline;background:var(--panel2);border-radius:999px;padding:5px 12px;font-size:13px;color:var(--ink2)}.pp-c b{color:var(--navy)}
.pp-nh .btn{margin-left:4px}
.pp-nf{display:none;max-width:320px;margin-top:8px}.pp-n.on .pp-nf{display:block}.pp-n.on .pp-nh .btn{display:none}
.pp-nf label{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--line);font-size:14px;color:var(--navy)}
.pp-nf input{width:90px;text-align:right}.pp-nf .row{gap:8px;margin-top:10px}
@media (max-width:900px){.pp-nf{max-width:none}.pp-nh .btn{width:100%;margin:4px 0 0}.pp-nf .row .btn{flex:1}}
.upl-s{flex-wrap:wrap}.upl-w{flex-basis:100%;font-size:11.5px;color:var(--ink3);margin-top:2px;white-space:normal}
.lg-warn{display:inline-block;margin:4px 0 12px;padding:8px 14px;border-radius:10px;background:#FCEBEB;color:var(--no);font-size:13.5px;text-decoration:none}
.lg-p{padding:4px 0}.lg-pr{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 110px minmax(0,1fr);gap:10px;align-items:center;padding:9px 16px;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--navy);text-decoration:none}
.lg-pr:last-child{border:0}.lg-pr:hover{background:#EAF6FB}.lg-pr b{font-weight:600}
.lg-f{gap:12px;margin:6px 0 10px;align-items:center}.lg-ck{display:flex;align-items:center;gap:6px;font-size:13.5px;color:var(--navy)}
table.lg-a td{font-size:13.5px}table.lg-a tr.bad td{background:#FDF5F5}.lg-ok{color:var(--ok)}.lg-no{color:var(--no);font-weight:600}
@media (max-width:900px){.lg-pr{grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:10px 14px}.lg-pr .muted:not(.lg-d){display:none}.lg-d{grid-column:1/-1;font-size:12px}
  table.lg-a,table.lg-a tbody{display:block;width:100%}table.lg-a tr:first-child{display:none}
  table.lg-a tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;padding:10px 14px;border-bottom:1px solid var(--line)}
  table.lg-a td{display:block;padding:0;border:0;white-space:normal;overflow-wrap:anywhere}table.lg-a td:nth-child(2){grid-column:1/-1;order:-1}
  table.lg-a td[data-l]::before{content:attr(data-l);display:block;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink3)}
  .lg-f .dd{flex:1;min-width:0}.lg-f .dd-btn{width:100%;justify-content:space-between}}
@media (max-width:700px){.upl-r{grid-template-columns:minmax(0,1fr) auto}}
/* Android: без серо-синего прямоугольника при нажатии (фокус с клавиатуры остаётся) */
*{-webkit-tap-highlight-color:transparent}
/* Пользователи: открытый доступ — зелёный */
.dd.f[data-v="view"] .dd-btn{background:var(--ok-soft);color:#1f7a4c;box-shadow:inset 0 0 0 1px #BFE5CF}
.dd.f[data-v="edit"] .dd-btn{background:#CDEBD9;color:#16603b;font-weight:700;box-shadow:inset 0 0 0 1px #9FD7B8}
.dd.f[data-v="mixed"] .dd-btn{background:#F1F8F4;color:#1f7a4c;box-shadow:inset 0 0 0 1px #D5EEDF}
.dd.f[data-v="view"] .dd-btn i,.dd.f[data-v="edit"] .dd-btn i,.dd.f[data-v="mixed"] .dd-btn i{border-color:#1f7a4c}
/* Android: камера или галерея */
.camsh{position:fixed;inset:0;z-index:2000;background:rgba(30,58,95,.35);display:flex;align-items:flex-end}
.camsh>div{width:100%;background:#fff;border-radius:18px 18px 0 0;padding:14px 14px calc(14px + env(safe-area-inset-bottom));display:grid;gap:8px}
.camsh button{height:48px;border-radius:12px;border:0;background:var(--panel2);color:var(--navy);font:600 15px var(--ui)}
.camsh button.m{background:var(--navy);color:#fff}
/* без рамки фокуса после нажатия пальцем/мышью (с клавиатуры рамка остаётся) */
a:focus:not(:focus-visible),button:focus:not(:focus-visible),summary:focus:not(:focus-visible),[role=button]:focus:not(:focus-visible){outline:none}
.wk-cm{margin:12px 0 4px}.wk-cm textarea{width:100%;box-sizing:border-box;min-height:56px;resize:vertical}.wk-cs{display:block;min-height:16px;font-size:12px;color:var(--ok);margin-top:3px}
/* пауза в задаче и перерыв */
.pz-g{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);margin:12px 0 6px}
.pz-r{display:grid;gap:8px}.pz-r .btn{width:100%;height:46px;font-size:15px}
.brk{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;box-sizing:border-box;z-index:3000;background:#2F465F;color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px}
.brk>div{display:flex;flex-direction:column;gap:10px;align-items:center;width:100%;max-width:360px}.brk #brkt{font-size:18px;font-weight:700;letter-spacing:.04em}.brk b{font-size:56px;font-weight:700;font-variant-numeric:tabular-nums}
.brk span{color:#B8C7D6;font-size:14px}.brk .btn{margin-top:14px;background:#fff;color:var(--navy);height:48px;padding:0 26px;font-size:15px}
.wk-pz{margin-top:8px}
.pn-btn.on{background:var(--ok-soft);color:#1f7a4c;box-shadow:inset 0 0 0 1px #BFE5CF}.pn-hint{font-size:13px;color:var(--ink2);background:var(--panel2);border-radius:10px;padding:8px 12px;margin:0 0 10px}
.fbx-v{position:relative;width:180px;height:180px;border-radius:50%;overflow:hidden;background:#1E3A5F;display:block;margin:8px 0;cursor:pointer;border:0;padding:0}
.fbx-v img{width:100%;height:100%;object-fit:cover;display:block}.fbx-v i{position:absolute;inset:0;margin:auto;width:46px;height:46px;border-radius:50%;background:rgba(47,70,95,.75)}
.fbx-v i::after{content:"";position:absolute;left:18px;top:14px;border-style:solid;border-width:9px 0 9px 15px;border-color:transparent transparent transparent #fff}
.vz{position:fixed;inset:0;z-index:2500;background:rgba(20,34,52,.92);display:grid;place-items:center}.vz[hidden]{display:none}
.vz video{width:min(92vw,86vh,640px);aspect-ratio:1;border-radius:50%;object-fit:cover;background:#1E3A5F}
.vz-x{position:absolute;top:calc(14px + env(safe-area-inset-top));right:14px;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.15);color:#fff;font-size:22px;cursor:pointer}
.fbx-vw{position:relative;width:180px;margin:8px 0}.fbx-vw .fbx-v{margin:0}.fbx-vd{position:absolute;top:4px;right:4px;width:28px;height:28px;border-radius:50%;border:0;background:#2F465F;color:#fff;font-size:16px;line-height:1;cursor:pointer}
.sec-rec dd{color:#1f7a4c;font-weight:800}
/* брак */
.bk .wk-t{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.bk-rv{display:grid;gap:8px;margin:12px 0}
.bk-i{background:var(--panel2);border-radius:12px;padding:10px 12px}.bk-i p{margin:4px 0 0;font-size:14px;color:var(--navy);white-space:pre-line}
.bk-h{display:flex;justify-content:space-between;gap:8px;font-size:12.5px;color:var(--ink2)}.bk-st{color:#E0A33A;letter-spacing:1px}
.bk-pl{margin:10px 0}.bk-c{display:inline-block;background:#EAF1FA;color:var(--navy);border-radius:8px;padding:4px 10px;font-size:13px;margin:4px 6px 0 0}
.bk-stop{margin:12px 0 4px}.ck-row{display:flex;align-items:center;gap:10px;border:0;background:none;padding:6px 0;font:600 14px var(--ui);color:var(--navy);cursor:pointer;text-align:left}
.ck-row .ck{width:20px;height:20px;border-radius:6px;box-shadow:inset 0 0 0 1.8px var(--line);flex:none;position:relative}.ck-row .ck.on{background:#D8634C;box-shadow:none}
.ck-row .ck.on::after{content:"";position:absolute;left:7px;top:3px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.bk-stop.on .ck-row{color:#B5442E}.bk-back{margin-top:6px;font-size:13px}
.bw-th{gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px;font-size:14px;color:var(--navy)}.bw-th input{width:80px}
.bw{display:flex;flex-wrap:wrap;gap:6px;padding:12px}.bw-w{display:inline-flex;align-items:center;gap:4px;background:var(--panel2);border-radius:999px;padding:4px 6px 4px 12px;font-size:13px;color:var(--navy);margin:0}
.bw-w button{border:0;background:none;color:var(--ink3);font-size:16px;line-height:1;cursor:pointer;padding:0 4px}.bw-add{flex-basis:100%;gap:8px;margin-top:8px}.bw-add input{flex:1;min-width:0}
.pk-stop{display:block;margin-top:4px;color:#B5442E;font-weight:700;font-size:12.5px}
.bk-ah{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:14px;color:var(--navy)}.bk-m{font-size:13px;color:var(--ink2);margin:3px 0 2px}.bk-m b{color:var(--navy)}
.bk-sa{font-size:11.5px;color:var(--ink3);margin-right:4px}
.dt{padding:14px 18px;margin-bottom:10px}.dt.done{opacity:.75}.dt-h{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:13px;margin-bottom:6px}
.dt-st{font-size:12px;font-weight:700;border-radius:999px;padding:2px 10px;background:#FAEEDA;color:#854F0B}.dt-st.work{background:#EAF1FA;color:var(--navy)}.dt-st.done{background:var(--ok-soft);color:#1f7a4c}
.dt-a{font-size:14.5px;color:var(--navy);margin:2px 0;display:flex;gap:8px;flex-wrap:wrap;align-items:baseline}.dt-k{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}
.dt-c{margin:8px 0 0;font-size:14px;color:var(--navy)}.dt-rv{margin-top:8px}.dt-rv summary{cursor:pointer;color:var(--blue);font-size:13.5px;font-weight:600}.dt-rv .bk-i{margin-top:6px}
.dt-f{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.dt-f input{flex:1;min-width:220px}
.bk-r{display:flex;align-items:center;gap:10px;padding:8px 0;font-size:14.5px;color:var(--navy);border-bottom:1px solid var(--line)}.bk-err{padding:4px 0 8px 30px}.bk-err[hidden]{display:none}
.bk-err .dd.f{margin:6px 0}.bk-err .dd-btn{width:100%;justify-content:space-between}
.kpi-dep{margin:8px 0 0;font-size:14px;color:var(--navy)}
.bk-dep{display:flex;gap:14px;flex-wrap:wrap;margin:4px 0 6px;font-size:14px;color:var(--navy)}.bk-dep label{display:flex;gap:6px;align-items:center}.bk-ph{margin-top:8px}.bk-phn{margin-left:8px;font-size:13px}
.bk-close{color:#B5442E}.bk-closeh{margin:4px 0 6px 30px;font-size:13px;color:#B5442E;background:#FDF5F5;border-radius:8px;padding:6px 10px}.bk-closeh[hidden]{display:none}
.bk-pl{border-top:1px solid var(--line);padding-top:10px;margin-top:10px}.bk-pl .pl-card{margin-top:6px}
.bk-mv{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0 4px}.bk-mvt{font-size:13px;font-weight:700;color:var(--navy)}.bk-mv input{width:80px}.bk-mv .dd.f{min-width:150px}
.bk-mvl{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.bk-tg{min-width:200px;flex:1}
.bk-art{display:inline-flex;gap:6px;align-items:center;margin-right:12px}
.bk-sec{border-radius:14px;margin:10px 0;background:#F1F6FB}.bk-sec[open]{background:#fff;box-shadow:inset 0 0 0 1.5px #DCE7F2}
.bk-sec>summary{list-style:none;cursor:pointer;padding:12px 14px;font-weight:700;font-size:14.5px;color:var(--navy);display:flex;gap:10px;align-items:center;-webkit-tap-highlight-color:transparent}
.bk-sec>summary::after{margin-left:auto}.bk-si{width:30px;height:30px;border-radius:9px;background:#fff;display:grid;place-items:center;color:var(--blue);flex:none}.bk-sec[open] .bk-si{background:#EAF6FB}.bk-si .ico{margin:0}
.bk-sec>summary::-webkit-details-marker{display:none}.bk-sec>summary::after{content:"";width:7px;height:7px;border:solid var(--blue);border-width:0 1.8px 1.8px 0;transform:translateY(-2px) rotate(45deg);transition:transform .15s}
.bk-sec[open]>summary::after{transform:translateY(1px) rotate(-135deg)}.bk-sec>:not(summary){margin:0 14px 12px}.bk-sec .pl-card{margin-top:0}
.bk-f{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 110px auto;gap:10px;align-items:end}.bk-f label{display:flex;flex-direction:column;gap:4px;margin:0}
.bk-f .dd.f,.bk-f .dd-btn{width:100%}.bk-f .dd-btn{justify-content:space-between}.bk-f input{width:100%;box-sizing:border-box}.bk-f .bk-w{grid-column:span 2}.bk-f .pl-sw{display:block}.bk-f .bk-w{display:flex;flex-direction:column;gap:4px}
@media (max-width:700px){.bk-f{grid-template-columns:1fr 1fr}.bk-f .bk-w{grid-column:1/-1}.bk-f .btn{grid-column:1/-1;height:44px}}
.bk-art{display:block;margin:2px 0 8px}.bk-art b{font-size:15px;color:var(--navy);overflow-wrap:anywhere}.bk-lk{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:4px}
.bk-ln{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:#EAF1FA;color:var(--navy);font-size:12.5px;font-weight:600;text-decoration:none}
.bk-ln i{width:10px;height:10px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M4 2h6v6M10 2 3 9' stroke='black' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M4 2h6v6M10 2 3 9' stroke='black' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}
@media (hover:hover){.bk-ln:hover{background:#DCEAF7}}


/* поля действий брака: одинаковые высота, шрифт и толщина; камера ровно по центру поля */



.bk-f .pl-cam{top:0;bottom:0;margin:auto 0;transform:none;height:34px;display:grid;place-items:center;gap:0}   /* это тоже label — без правил подписей формы */
.bk-sec>form{padding-bottom:14px;margin-bottom:0}
@media (max-width:700px){.bk .wk-done{display:grid;grid-template-columns:1fr 1fr;gap:8px}.bk .wk-done>*{width:100%;margin:0}.bk .wk-done .btn{padding-left:8px;padding-right:8px;min-width:0;white-space:normal;line-height:1.2}.bk .wk-done{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.bk-h{flex-wrap:wrap;row-gap:4px}
.pl-mi{margin-bottom:10px}.bk-f input::placeholder{color:var(--ink3);font-weight:400;opacity:1}

/* действия с товаром — как «Откуда / Куда» в «Перемещении»: те же выпадающие списки, подписи и поля */
.bk-f label>span,.bk-f .bk-w>span:first-child{font-size:12px;font-weight:500;color:var(--ink2)}
.bk-f .dd-btn{width:100%;justify-content:space-between}.bk-f input[type=text],.bk-f input[type=number]{height:36px;box-sizing:border-box}
.bk-f .num{display:block;width:100%}
.bk-sec[open]>summary::after{transform:translateY(2px) rotate(-135deg)}

/* кнопки в строку — одной высоты (у .row по умолчанию выравнивание по центру) */
.pl-btns,.wk-done{align-items:stretch}.wk-done>.btn,.wk-done>form>.btn,.pl-btns>.btn{height:100%;min-height:44px}
/* «Откуда / Куда» — как в «Перемещении»: на телефоне каждое поле на всю ширину, название склада в одну строку */
.bk-f .dd-btn span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:640px){.bk-f{grid-template-columns:1fr}.bk-f .bk-w{grid-column:auto}}
/* «Место и количество»: место — первой строкой, количество — второй, кнопка — третьей */
.pl-one{grid-template-columns:minmax(0,260px)}.pl-set{display:grid;gap:8px;margin-top:10px;max-width:420px}.pl-set[hidden]{display:none}.pl-set input{width:100%!important;box-sizing:border-box}.pl-set .num{display:block;width:100%}
/* задача брака: «Завершить проверку» — главная, на всю ширину; ниже «Передать бригадиру» и «Пауза» */
.bk .wk-done{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.bk .wk-done>.btn:first-child{grid-column:1/-1}
/* блоки задачи брака: содержимое не упирается в нижнюю рамку */
.bk-sec>.pl-card{padding-bottom:6px}.bk-sec[open]{padding-bottom:4px}
.pl-form.pl-set{display:grid;grid-template-columns:1fr;flex-direction:initial}.pl-form.pl-set[hidden]{display:none}
@media (max-width:700px){.pl-one{grid-template-columns:1fr}}
.bk .wk-done>.btn:not(:first-child),.bk .wk-done>.pz-go{white-space:nowrap;padding-left:6px;padding-right:6px}
.bk-mvl .chip{white-space:normal;text-align:left;line-height:1.35;max-width:100%}
/* Хранение → Поставки */
.sp-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.sp-top h1{margin:0}
.sp-top form label.btn{margin:0}
.sp-st{font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;white-space:nowrap;background:var(--na-soft);color:var(--ink2)}
.sp-st.way{background:#E3ECFD;color:#2563EB}.sp-st.customs{background:var(--warn-soft);color:var(--warn)}.sp-st.work{background:#EFE7FF;color:#7B3FF2}.sp-st.done{background:var(--ok-soft);color:var(--ok)}
.sp-t tr[data-href]{cursor:pointer}.sp-t a{color:inherit;text-decoration:none}
.sp-sub{font-size:12px;color:var(--ink3);margin-top:2px;display:none}
.sp-back{margin:0 0 8px}.sp-back a{color:var(--navy2);text-decoration:none;font-weight:600;font-size:13px}
.iv-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px 18px;margin-bottom:14px}
.iv-g small{display:block;color:var(--ink3);font-size:11px;margin-bottom:3px}.iv-g b{font-size:14px;color:var(--navy)}
.iv-sum{display:flex;gap:18px;flex-wrap:wrap;margin:6px 0 12px;font-weight:700;color:var(--navy)}
.iv-act{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.iv-act .btn{flex:1;min-width:160px}
.tbl td.n,.tbl th.n{text-align:right;white-space:nowrap}
.sp-no td{background:var(--no-soft)}
.sp-a{word-break:break-word}
.sp-h2{font-size:16px;margin:22px 0 10px}.sp-log{display:grid;gap:8px;font-size:13px}
@media(max-width:700px){.hide-m{display:none}.sp-sub{display:block}}
.pl-sp{display:grid;gap:6px;margin:0 0 12px;font-size:13px;color:var(--navy)}.pl-sp>div{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.sp-pl-top{margin-top:22px}.sp-pl-top .sp-h2{margin:0}.sp-pl-top form label.btn{margin:0}
.sp-ok{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}.sp-rc{margin:0}
.sp-units{display:grid;gap:8px}.sp-u{border:1px solid var(--line);border-radius:12px;padding:10px 14px}
.sp-u summary{cursor:pointer;display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;color:var(--navy)}
.sp-box{margin-top:10px;padding-top:8px;border-top:1px dashed var(--line)}
.sp-ln{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:3px 0;color:var(--navy)}
.sp-sts{display:flex;gap:8px;align-items:center}.sp-sts form{margin:0}
.sp-drv{margin:-4px 0 12px;font-size:13px;color:var(--ink2)}
.cust-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;background:var(--warn-soft);color:var(--warn);border-radius:12px;padding:10px 14px;margin:0 0 12px;font-weight:600;font-size:14px}
.cust-bar b{color:var(--navy)}
.pz-u{display:grid;gap:8px}.pz-c{display:flex;align-items:center;gap:10px;min-height:42px;padding:0 12px;border-radius:10px;box-shadow:inset 0 0 0 1px var(--line);font-size:14px;color:var(--navy);cursor:pointer}
.pz-c input{width:18px;height:18px;accent-color:var(--navy)}.pz-u .btn{width:100%;height:46px;font-size:15px}
.sp-term{font-size:12px}.sp-sts .btn.ghost{white-space:nowrap}
.ad-l{display:grid;gap:10px}.ad-r{display:grid;grid-template-columns:200px 1fr auto;gap:8px;align-items:center;margin:0}
@media(max-width:700px){.ad-r{grid-template-columns:1fr}.sp-sts{flex-wrap:wrap}}
.call-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;background:var(--no-soft);color:var(--no);border-radius:12px;padding:10px 14px;margin:0 0 12px;font-size:14px}
.call-bar b{color:var(--no)}
.br-live{display:grid;gap:14px;margin-bottom:14px}.br-l{display:block;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);margin-bottom:6px}
.br-call{display:flex;gap:10px;justify-content:space-between;align-items:flex-start;background:var(--no-soft);border-radius:12px;padding:10px 12px;color:var(--navy)}.br-call form{margin:0}
.br-who{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.br-who .chip{white-space:normal}
.br-cf{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0}.br-cf .br-l{width:100%;margin:0}.br-cf input[type=text]{flex:1;min-width:180px;width:auto}
.br-p{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:6px 0;border-top:1px solid var(--line);font-size:13px;color:var(--navy)}.br-p form{margin:0}
.br-p.long{color:var(--no)}
@media(max-width:700px){.sp-t .sp-sts{flex-direction:column;align-items:flex-start;gap:6px}.sp-t .cu-go{padding:5px 9px;font-size:11px}.sp-t td,.sp-t th{padding-left:10px;padding-right:10px}}
.sp-top .sp-sts .btn{height:38px;display:inline-flex;align-items:center;padding:0 16px;margin:0;font-size:13px}
.sp-st-go{border:0;cursor:pointer;font:inherit;font-size:11px;font-weight:700;display:inline-flex;align-items:center;gap:5px}
.sp-st-go i{width:6px;height:6px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.sp-st-go:hover{filter:brightness(.95)}
.seg.pick input{position:absolute;opacity:0;width:1px;height:1px}
.seg.pick label:has(input:checked){background:var(--navy);color:#fff;box-shadow:none}
.seg.pick label:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:2px}
/* Бригадир → Схема склада */
.wh-top{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px}.wh-top h1{margin:0 8px 0 0}
.wh-f{display:flex;gap:8px;flex:1;min-width:260px;max-width:520px;margin:0}.wh-f input{flex:1}
#wh{position:relative;height:calc(100dvh - 150px);min-height:460px;border-radius:16px;overflow:hidden;box-shadow:var(--shadow);background:#F5F7FA}
#wh canvas{display:block;width:100%;height:100%;touch-action:none}
.wh-pad{position:absolute;right:14px;bottom:14px;display:grid;grid-template-columns:repeat(3,40px);grid-template-rows:repeat(3,40px);gap:4px}
.wh-pad button{border:0;border-radius:10px;background:#fff;color:var(--navy);font:700 15px var(--ui);box-shadow:0 2px 8px rgba(47,70,95,.15);cursor:pointer}
.wh-pad [data-m="0,-1"]{grid-area:1/2}.wh-pad [data-m="-1,0"]{grid-area:2/1}.wh-pad [data-m="1,0"]{grid-area:2/3}.wh-pad [data-m="0,1"]{grid-area:3/2}.wh-pad [data-z="-1"]{grid-area:1/3}.wh-pad [data-z="1"]{grid-area:3/3}
.wh-leg{position:absolute;left:14px;bottom:14px;display:flex;flex-wrap:wrap;gap:6px 12px;max-width:calc(100% - 180px);background:rgba(255,255,255,.92);border-radius:12px;padding:8px 12px;font-size:12px;color:var(--ink2)}
.wh-leg i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.wh-info{position:absolute;right:14px;top:14px;width:290px;max-width:calc(100% - 28px);max-height:55%;overflow:auto;background:#fff;border-radius:14px;padding:12px 14px;box-shadow:0 4px 18px rgba(47,70,95,.14);font-size:13px;color:var(--navy)}
.wh-info>b{display:block;font-size:15px;margin-bottom:6px}.wh-r{display:flex;justify-content:space-between;gap:8px;padding:4px 0;border-top:1px solid var(--line)}
.wh-tip{position:absolute;pointer-events:none;background:var(--navy);color:#fff;font-size:12px;font-weight:700;padding:4px 8px;border-radius:6px;white-space:nowrap}
.wh-say{position:absolute;transform:translate(-50%,-100%);background:#fff;color:var(--navy);font-weight:800;font-size:14px;padding:8px 12px;border-radius:14px;box-shadow:0 4px 14px rgba(47,70,95,.2);pointer-events:none;white-space:nowrap}
@media(max-width:700px){#wh{height:calc(100dvh - 210px)}.wh-leg{display:none}.wh-info{top:auto;bottom:14px;right:auto;left:14px;width:calc(100% - 170px)}}
.wh-ac{position:relative;flex:1;display:flex}.wh-ac input{flex:1}
.wh-sug{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:20;margin:0;padding:6px;list-style:none;background:#fff;border-radius:12px;box-shadow:0 8px 24px rgba(47,70,95,.18);max-height:300px;overflow:auto}
.wh-sug li{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;color:var(--navy)}
.wh-sug li:hover{background:var(--bg)}.wh-sug small{color:var(--ink3);font-weight:500}
.wh-catq{position:absolute;transform:translate(-50%,-100%);background:#fff;color:var(--navy);border-radius:14px;padding:10px 12px;box-shadow:0 6px 18px rgba(47,70,95,.22);max-width:240px;font-size:14px;font-weight:600;z-index:5}
.wh-catq p{margin:0}.wh-cb{display:flex;gap:6px;margin-top:8px}.wh-cb .btn{flex:1}
/* Задача «Принять мешок» */
.sb-sub{color:var(--ink3);font-size:13px;margin:0 0 12px}
.sb-sec{margin:14px 0}.sb-h{font:700 12px var(--ui);letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);margin-bottom:8px}
.sb-w{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap}.sb-w small,.sb-q small{display:block;font-size:11px;color:var(--ink3);margin-bottom:3px}.sb-w b,.sb-q b{color:var(--navy);font-size:15px}
.sb-w input{width:120px}
.sb-box{border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:10px}
.sb-bh{display:flex;gap:10px;align-items:center;flex-wrap:wrap;color:var(--navy)}.sb-bh input{width:110px;margin-left:auto}
.sb-ln{border-top:1px dashed var(--line);padding-top:10px;margin-top:10px}.sb-box>.sb-ln:first-child{border:0;padding:0;margin:0}
.sb-a{color:var(--navy);font-size:14px;word-break:break-word;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.sb-q{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0;align-items:end}.sb-q input{width:100%}
.sb-in{align-items:center}.sb-in .muted{font-size:12px;margin-right:4px}
input.sb-off{border-color:var(--no);background:var(--no-soft)}input.sb-bad-in{border-color:var(--no)}
.sb-pl{border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:10px}.sb-pl.ok{border-color:var(--ok);background:var(--ok-soft)}.sb-pl.over{border-color:var(--no)}
.sb-cnt{margin-left:auto;font-size:12px;color:var(--ink2)}.sb-cnt b{color:var(--navy)}
.sb-hint{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:8px 0;font-size:13px;color:var(--navy)}
.sb-rows{display:grid;gap:6px}.sb-r{display:grid;grid-template-columns:1fr 90px auto;gap:6px;align-items:center}.sb-x{grid-row:2;grid-column:3;justify-self:center}.sb-r .sb-lbl{grid-column:1/3}.sb-r:only-child .sb-x{display:none}
.wk:has(#sbsug){position:relative}
.sb-step{border:1px solid var(--line);border-radius:16px;padding:12px 14px;margin:12px 0;background:var(--panel)}
.sb-step>summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px;color:var(--navy);font-size:16px;list-style:none}
.sb-step>summary::-webkit-details-marker{display:none}.sb-step>summary::after{content:"";width:8px;height:8px;border-right:2px solid var(--ink3);border-bottom:2px solid var(--ink3);transform:rotate(45deg);margin-left:6px}
.sb-step[open]>summary::after{transform:rotate(-135deg)}.sb-step[open]>summary{margin-bottom:6px}
.sb-st{margin-left:auto;font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;background:var(--warn-soft);color:var(--warn)}.sb-st.ok{background:var(--ok-soft);color:var(--ok)}
.sb-row{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin:6px 0}.sb-l{font-size:12px;color:var(--ink3);min-width:104px}
.sb-mt{flex:1;min-width:180px}
.sb-ph{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:8px 0 0}.sb-th{position:relative;width:52px;height:52px;border-radius:8px;overflow:hidden}
.sb-th img{width:100%;height:100%;object-fit:cover;cursor:zoom-in}.sb-th button{position:absolute;top:2px;right:2px;width:18px;height:18px;border:0;border-radius:50%;background:rgba(47,70,95,.75);color:#fff;font-size:12px;line-height:18px;padding:0;cursor:pointer}
.sb-cam{display:inline-flex;align-items:center;gap:6px;margin:0}.sb-cam.busy{opacity:.5;pointer-events:none}
.sb-ac{position:relative;display:block}.sb-ac input{width:100%}
.sb-sug{position:absolute;z-index:20;margin:0;padding:6px;list-style:none;background:#fff;border-radius:12px;box-shadow:0 8px 24px rgba(47,70,95,.18);max-height:260px;overflow:auto}
.sb-sug li{padding:8px 10px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;color:var(--navy)}.sb-sug li:hover{background:var(--bg)}
@media(max-width:700px){.sb-w{gap:10px}.sb-l{min-width:0;width:100%}}
/* компактный короб: тёмная шапка, артикулы строками с цветной полосой, открыт один */
.sb-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap;margin-bottom:10px}.sb-top .wk-t{margin:0}
.sb-box{padding:0;overflow:hidden;border:0;box-shadow:var(--shadow);background:#fff}
.sb-box .sb-bh{background:var(--navy);color:#fff;padding:10px 12px}.sb-box .sb-bh b{color:#fff}.sb-bm{font-size:12px;opacity:.8}
.sb-box .sb-bh input{background:#fff;color:var(--navy);border:0}
.sb-box>.sb-ph{padding:0 12px}.sb-box .sb-bh+.sb-ph{margin-top:8px}
.sb-box>.sb-ph .sb-cam{background:#fff}
.sb-ln{border:0;margin:8px 10px;padding:0;border-radius:12px;background:#F7F9FC}
.sb-box>.sb-ln:first-child{margin:8px 10px}
.sb-ln.done{background:var(--ok-soft)}.sb-ln.open{background:#fff}
.sb-lh{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;border:0;background:none;padding:11px 10px;text-align:left;cursor:pointer;color:var(--navy);font:inherit;font-size:13px}
.sb-nm{min-width:0;overflow-wrap:anywhere;line-height:1.3}.sb-nm .chip{vertical-align:1px}.sb-n{font-size:11px;font-weight:800;padding:2px 7px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.sb-ls{font-size:12px;font-weight:700;white-space:nowrap;color:var(--ink2)}.sb-ln.done .sb-ls{color:var(--ok)}
.sb-lb{padding:0 10px 10px}
.sb-box:last-child{margin-bottom:4px}.sb-box{padding-bottom:4px}
/* примерка на компьютере */
.ft-top{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:12px}.ft-top h1{margin:0}.ft-info{color:var(--ink2);font-size:14px;flex:1}
.ft{display:grid;grid-template-columns:1fr 320px;gap:14px;min-height:calc(100dvh - 160px)}
.ft-stage{background:var(--bg);border-radius:16px;display:grid;place-items:center;overflow:auto;position:relative}
.ft-stage img{display:block;max-width:none}.ft-empty{color:var(--ink3);font-size:15px}
.ft-side{display:flex;flex-direction:column;gap:12px}.ft-art{display:grid;gap:4px;color:var(--navy);font-size:15px}.ft-art .muted{font-size:13px}
.ft-var{display:flex;flex-wrap:wrap;gap:6px}.ft-var .chip-f.on{box-shadow:inset 0 0 0 2px currentColor}
.ft-act{display:grid;gap:8px}.ft-act .btn.on{box-shadow:0 0 0 3px var(--ok)}
.ft-card{border:2px dashed var(--navy);border-radius:12px;margin:12px auto}
.sb-mp{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 6px}.sb-mp a{font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--link-soft);color:var(--link);text-decoration:none}
@media(max-width:900px){nav.side.open::after{content:"";order:9;flex-basis:100%;height:10px}}   /* открытое меню на телефоне: отступ между шапкой и первым разделом */
.sb-fitb{margin-right:4px}

.sb-q input.f-ok{border-color:var(--ok);background:var(--ok-soft)}.sb-q input.f-no{border-color:var(--no)}
.sb-ac .sb-pcam{right:2px}.sb-ac:has(.sb-pcam) input{padding-right:40px}
.sb-sec>.sb-ph{margin-top:10px}
.seg[hidden],.seg label[hidden]{display:none}.sb-ln .sb-ls.off{color:var(--no)}
.seg .sb-act{display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;border:0;cursor:pointer;color:var(--navy);font:600 13px var(--ui);background:#fff;box-shadow:inset 0 0 0 1.5px var(--navy2)}
@media (hover:hover){.seg .sb-act:hover{background:#EAF6FB}}.seg .sb-act:disabled{opacity:.5}
.sb-pv{display:inline-flex;align-items:center;gap:8px;color:var(--navy);font-size:13px}.sb-pv span{color:var(--ink2)}
.sb-sw{width:28px;height:28px;border-radius:8px;box-shadow:inset 0 0 0 1px rgba(47,70,95,.18);background:repeating-linear-gradient(45deg,var(--bg) 0 4px,#fff 4px 8px)}
#ftr{-webkit-appearance:none;appearance:none;display:block;width:100%;height:6px;margin:14px 0 4px;padding:0;border:0;border-radius:999px;background:var(--line);outline:none;box-shadow:none}
#ftr::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:var(--navy);border:3px solid #fff;box-shadow:0 1px 4px rgba(47,70,95,.35);cursor:pointer}
#ftr::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--navy);border:3px solid #fff;box-shadow:0 1px 4px rgba(47,70,95,.35);cursor:pointer}
#ftr:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px #EAF6FB,0 1px 4px rgba(47,70,95,.35)}
.sb-ln.gone{opacity:.55}.sb-ln.gone .sb-lh{cursor:default}.sb-ln.gone .sb-ls{color:var(--ink3);font-weight:600}
.sb-box.gone{opacity:.7}.sb-prev{font-size:12px;color:var(--ink2);margin:2px 0 8px}
.lk-list{max-height:min(60vh,520px);overflow:auto;display:grid;gap:6px}.lk-list .pz-c{align-items:center;text-align:left}.lk-list .pz-c b{color:var(--navy)}
.sb-cam{position:relative;overflow:hidden}.sb-fi{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:0}
.sb-camw{padding:0;border:0;width:100vw;height:100dvh;max-width:none;max-height:none;background:#0d1b2a;margin:0}.sb-camw::backdrop{background:#0d1b2a}
.sb-camw video{width:100%;height:calc(100dvh - 110px);object-fit:contain;display:block;background:#0d1b2a}
.sb-camb{height:110px;display:flex;align-items:center;justify-content:space-around;padding:0 16px}.sb-camb .btn.ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5)}
.sb-shot{width:68px;height:68px;border-radius:50%;border:4px solid #fff;background:rgba(255,255,255,.25);cursor:pointer}.sb-shot:active{background:#fff}
.bt-late small{display:block;font-size:11px;font-weight:600}.tbl table.brig th:nth-child(5){width:340px}
.sb-lbl{grid-column:1/-1;display:flex;align-items:center;gap:8px;margin:0 0 4px;font-size:12.5px;color:var(--ink2);cursor:pointer}.sb-lbl input{width:18px;height:18px;margin:0;accent-color:var(--ok)}
.sb-r.need .sb-lbl{color:var(--no)}
.sb-nm .cp,.sb-a .cp,.sp-a .cp,.sp-u summary .cp{display:inline-grid;vertical-align:-3px;margin-left:4px}
.pl-stock .pl-rs{display:block;color:var(--warn);font-weight:600}
.pl-ord{margin:12px 0 0;padding:10px 12px;border-radius:12px;background:var(--panel2);display:grid;gap:4px;font-size:13px;color:var(--ink2)}
.pl-ord .pl-sh{font:700 11px var(--ui);letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);margin-bottom:2px}
.pl-ord>div{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:baseline}.pl-ord b{color:var(--navy)}.pl-ord a{text-decoration:none;overflow-wrap:anywhere}
.pl-ord>div[hidden]{display:none}.pl-ord .pl-more{justify-self:start;margin-top:2px}
.sb-pl .sb-a{cursor:pointer;margin:0}.sb-pl.open .sb-a{margin-bottom:8px}.sb-pl.open{background:#fff;border-color:var(--navy2)}.sb-pl.ok.open{border-color:var(--ok)}
button.cp{appearance:none;border:0;background:none;padding:2px;margin:0;color:#B6C3CF;cursor:pointer;border-radius:5px;display:inline-grid;place-items:center;flex:none;vertical-align:-3px;box-shadow:none}
@media (hover:hover){button.cp:hover{color:var(--navy2);background:var(--panel2)}}
.sb-ln.part{background:#fff;box-shadow:inset 0 0 0 1.5px var(--no)}.sb-ln.part.open{box-shadow:inset 0 0 0 1.5px var(--no)}
.sb-miss{grid-column:2/-1;font-size:11.5px;color:var(--no);margin-top:-4px}
.sb-row.need>.sb-l{color:var(--no);font-weight:600}
.sb-pl{box-sizing:border-box;width:100%;min-width:0}.sb-pl .sb-a b{overflow-wrap:anywhere;min-width:0}
.ft-find{flex:1;max-width:420px;margin:0}.ft-find .pl-sw{display:block}.ft-find input{width:100%}
.sb-note{margin:4px 0 10px;padding:9px 12px;border-radius:10px;background:var(--warn-soft);color:var(--navy);font-size:13px;line-height:1.4}
.sb-pk{flex:1;min-width:180px}.sb-nph .sb-ph{margin:0}
@media(max-width:700px){.ft-top{gap:10px}.ft-find{flex:1 1 100%;max-width:none;order:3}.ft{grid-template-columns:1fr;min-height:0}.ft-stage{min-height:50dvh}.ft-empty{text-align:center;padding:24px}}
.pl-sw input[type=search]::-webkit-search-cancel-button{display:none}
.pl-clr{position:absolute;right:42px;top:50%;transform:translateY(-50%);width:30px;height:30px;border:0;border-radius:8px;background:none;color:var(--ink3);cursor:pointer;display:grid;place-items:center;font-size:20px;line-height:1;padding:0}
.pl-clr[hidden]{display:none}@media (hover:hover){.pl-clr:hover{background:var(--panel2);color:var(--navy)}}.pl-sw:has(.pl-clr:not([hidden])) input{padding-right:78px}
.ft-empty{align-self:start;margin-top:40px;text-align:center;padding:0 16px}

.ft-stage{place-items:start center;align-content:start}.ft-stage img{margin-top:16px;transition:opacity .15s}
.mq>summary{flex-wrap:wrap}.mq-n{min-width:22px;color:var(--navy2)}.mq-c{display:flex;gap:6px;flex-wrap:wrap}.mq-c em{font-style:normal;font-size:12px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--panel2);color:var(--ink2)}.mq-c em.bad{background:var(--no-soft);color:var(--no)}.mq .tbl{margin-top:8px}
.sec-steps{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 12px;font-size:13px;font-weight:600;color:var(--ink3)}
.sec-steps span{padding:5px 12px;border-radius:999px}.sec-steps .on{background:#EAF6FB;color:var(--navy)}
.fr{display:grid;gap:14px;margin-bottom:16px}
.fr-gh{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px;font-size:13px;font-weight:700;color:var(--ink3)}
.fr-g{border:1px solid var(--line);border-radius:14px;padding:10px 14px}
.fr-r{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:8px 0;border-top:1px solid var(--line)}.fr-gh+.fr-r{border-top:0}
.fr-a{flex:1 1 220px;display:grid;gap:2px;color:var(--navy)}.fr-a small{color:var(--ink3);font-size:12.5px}
.fr-to{width:170px}.fr-q{width:80px}
.sec-lock{opacity:.45;pointer-events:none}
@media (max-width:700px){
  .sc-top{flex-wrap:wrap;gap:10px}
  table.scp,table.scp tbody{display:block;width:100%}table.scp tr:first-child{display:none}
  table.scp tr{display:grid;grid-template-columns:repeat(2,1fr);gap:4px 10px;padding:12px 14px;border-bottom:1px solid var(--line)}table.scp tr[hidden]{display:none}
  .tbl table.scp td{display:block;padding:2px 0;border:0;text-align:left;white-space:normal}
  table.scp td.sc-n{display:none}table.scp td.sc-a{grid-column:1/-1;grid-row:1;overflow-wrap:anywhere}table.scp td.sc-s{grid-column:1/-1}
  table.scp td[data-l]::before{content:attr(data-l);display:block;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink3);margin-bottom:1px}
}
.sb-mw:has(.sb-mt[hidden]){display:none}.sb-mw .sb-mt{padding-right:40px}.sb-ac .sb-mcam{right:2px}
.sb-mw{flex:1;min-width:180px}.sb-mw .sb-mt{width:100%;box-sizing:border-box}

/* надписи: кнопка «Нет» в задаче на мешок, справочник у бригадира, строка в «Проверить» */
.mk-w{display:flex;gap:8px;align-items:center;flex:1;min-width:180px}.mk-w .sb-mw{flex:1;min-width:0}.mk-w:has(.sb-mt[hidden]){display:none}
.mk-no{flex:0 0 auto;font:700 13px var(--ui);border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:10px;padding:9px 14px;cursor:pointer}
.mk-no.on{background:var(--navy);border-color:var(--navy);color:#fff}.sb-mt[readonly]{color:var(--ink3)}
.mk-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 14px}.mk-bar input{flex:1;min-width:220px}
.mk-chip{font:600 13px var(--ui);padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--navy);cursor:pointer}.mk-chip.on{background:#EAF6FB;border-color:#EAF6FB}
table.mk td input{width:100%;box-sizing:border-box;font:500 14px var(--ui);color:var(--navy);border:1px solid transparent;background:var(--panel2);border-radius:10px;padding:8px 10px}
table.mk td input:focus{border-color:#6696B7;background:#fff;outline:0}table.mk td input.no{color:var(--ink3)}table.mk td input.empty{background:#FFF7E6}
table.mk td input.saved{border-color:var(--ok)}table.mk td input.bad{border-color:var(--no)}
.mk-who{font-size:12.5px;color:var(--ink3)}.mk-h{border:0;background:none;padding:0;font:600 12.5px var(--ui);color:#6696B7;cursor:pointer}
.mk-hist td{background:var(--panel2);font-size:12.5px;color:var(--ink2)}.mk-hist div{padding:2px 0}
@media (max-width:700px){table.mk.scp tr{grid-template-columns:1fr}table.mk.scp tr.mk-hist td{display:block}}
.pl-mk{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:6px;font-size:12.5px;color:var(--ink3)}.pl-mk b{color:var(--navy);font-weight:700}

/* FBS: кабинеты по брендам и маркетплейсам */
.fbs{margin-bottom:14px}.fbs-b{font:800 17px var(--ui);color:var(--navy);margin-bottom:6px}
.fbs-r{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;padding:10px 0;border-top:1px solid var(--line)}.fbs-r.off .fbs-t{color:#6696B7}
.fbs-t{font-weight:700;min-width:130px}.fbs-s{font-size:13px;display:flex;align-items:center;gap:6px}.fbs-x{flex-basis:100%;font-size:12px;color:#B0413E}
.fbs-sw{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.fbs-sw input{position:absolute;opacity:0}.fbs-sw span{width:38px;height:22px;border-radius:11px;background:#DDE5EC;position:relative;transition:.15s}
.fbs-sw span::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:.15s}.fbs-sw input:checked+span{background:var(--navy)}.fbs-sw input:checked+span::after{left:18px}
.fbs-sw input:focus-visible+span{outline:2px solid #6696B7}
.fbs-seg{display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden}.fbs-seg button{font:600 13px var(--ui);color:var(--navy);background:#fff;border:0;padding:7px 12px;cursor:pointer}.fbs-seg button.on{background:#EAF6FB}
.fbs-min{font-size:14px;display:flex;align-items:center;gap:6px}.fbs-min input{width:58px;text-align:center}
.bk-mm{display:inline-flex;align-items:center;gap:5px;text-decoration:none}.bk-mm i{width:12px;height:12px;background:var(--navy);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6h8M6.5 2.5 10 6l-3.5 3.5' stroke='black' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6h8M6.5 2.5 10 6l-3.5 3.5' stroke='black' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
@media (hover:hover){.bk-mm:hover b{text-decoration:underline}}
.fbs-how summary{font-size:14px}.fbs-how ol{margin:10px 0 0;padding-left:20px;font-size:14px;line-height:1.5;color:var(--navy)}.fbs-how li+li{margin-top:4px}
.fbs-ord{flex-basis:100%;margin-top:4px}.fbs-oh{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;color:var(--navy);margin-bottom:6px}.fbs-oh form{margin:0}.fbs-g{align-items:center}.fbs-g .btn{margin-left:auto}.fbs-o{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:13px;padding:4px 0;border-top:1px dashed var(--line)}
.fbs-pr{display:flex;flex-direction:column;gap:12px}.fbs-prs{font-size:15px;font-weight:600;color:var(--navy)}.fbs-prs.no{color:#B0413E}
.fbp{display:flex;flex-direction:column;gap:12px;max-width:520px}.fbp-n{font-size:18px;font-weight:700;color:var(--navy)}.fbp-big{width:100%;min-height:52px;font-size:17px}.fbp-mp{font-size:13px;color:var(--ink2)}.fbp-a{font:800 24px var(--ui);color:var(--navy);word-break:break-all}.fbp-m{font-size:15px;color:var(--navy)}.fbp-c{display:flex;flex-wrap:wrap;gap:6px}.fbp-c .chip{font-size:15px;padding:6px 12px}.fbp-ph{width:160px;border-radius:12px}.fbp-chk .pl-sw{width:100%}.fbp-chk input[type=text]{width:100%;font-size:17px}.fbp-res{font-size:16px;font-weight:700;min-height:22px}.fbp-res.ok{color:#2E7D4F}.fbp-res.no{color:#B0413E}.fbp-btns{display:flex;flex-direction:column;gap:8px}.fbp-btns form{margin:0}
.fbp{width:100%;box-sizing:border-box;min-width:0}.fbp>*{min-width:0;max-width:100%}.fbp-chk .pl-sw{display:flex;box-sizing:border-box}.fbp-chk input[type=text]{min-width:0;flex:1}

/* Обновления: сворачиваемые группы */
.upl-g{display:flex;align-items:center;gap:8px;cursor:pointer;user-select:none;padding-bottom:14px}.upl-g:hover{color:var(--navy)}
.upl-g~.upl-g{border-top:1px solid var(--line)}
.upl-g .fold{display:inline-block;width:7px;height:7px;border:solid currentColor;border-width:0 1.8px 1.8px 0;transform:rotate(-45deg);margin:0 4px 1px 2px;transition:transform .15s}
.upl-g.open .fold{transform:rotate(45deg)}
.upl-g .cnt{font-weight:600;letter-spacing:0;color:var(--ink3)}
.upl-g .sum{margin-left:auto;font-size:13px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--ink3)}.upl-g .sum.no{color:var(--no)}
.upl-r[hidden]{display:none}
