*{box-sizing:border-box;margin:0;-webkit-tap-highlight-color:transparent}
body{background:#F7F6F4;color:#232227;font:16px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
     padding:0 0 24px;max-width:560px;margin:0 auto}
header{background:#DE0C12;color:#fff;padding:14px 16px 15px;position:sticky;top:0;z-index:5}
/* Выход с экрана — в липкой шапке, всегда на виду. До 15.09 он лежал только
   внизу страницы: на чек-листе смены это два экрана прокрутки, и владелец
   справедливо сказал, что вернуться нельзя, пока не долистаешь. */
.nazad-verh{display:inline-flex;align-items:center;background:#ffffff2e;color:#fff;
  text-decoration:none;font-size:14px;font-weight:600;padding:7px 14px;border-radius:20px;
  margin-bottom:8px;-webkit-tap-highlight-color:transparent}
.nazad-verh:active{background:#ffffff4d}
/* Подпись под кнопкой на главной: куда она приведёт, словами. Цвет у неё СВОЙ:
   общее `.chto` ниже (18.09, подсказки экрана смены) красило её в серый, и на
   красных «Акциях» подпись пропала — 1,2:1, на белых кнопках 2,8:1 (№542, 25.09).
   Прозрачности нет: белое на красном даёт 5:1 только сплошным, с .82 — 3,7:1. */
.knopka .chto{display:block;font-size:12.5px;font-weight:400;margin-top:3px;
  line-height:1.3;color:#fff}
.knopka.tihaya .chto{color:#6B665F}
/* Снимок, выбранный только что и ЕЩЁ НЕ сохранённый. Рамка и цвет отличаются от
   сохранённого намеренно: человек должен видеть разницу между «выбрал» и «ушло». */
.foto-novyy{background:#FFF7ED;border:1.5px dashed #F59E0B;border-radius:10px;
  padding:10px;margin-bottom:9px}
.foto-novyy img{display:block;width:100%;max-height:210px;object-fit:cover;
  border-radius:8px;background:#efedea}
.foto-novyy .pometka{color:#B45309;font-size:13.5px;font-weight:600;margin-bottom:8px}
.foto-novyy .peresnyat{display:block;width:100%;text-align:center;background:#fff;
  color:#232227;border:1px solid #E4E2DE;border-radius:9px;padding:10px;margin-top:8px;
  font-size:14.5px;font-weight:600;cursor:pointer}
header .t{font-size:18px;font-weight:700;letter-spacing:-.2px}
header .p{font-size:13px;opacity:.9;margin-top:2px}
/* «Посмотреть обучение» в шапке раздела (№683): белая пилюля под названием — видна сразу,
   но не спорит с главной кнопкой экрана. Красный на белом — 4,6:1. */
header .obuchenie{display:inline-flex;align-items:center;gap:6px;margin-top:9px;
  background:#fff;color:#DE0C12;text-decoration:none;font-size:14px;font-weight:700;
  padding:7px 14px;border-radius:20px}
header .obuchenie:active{background:#FDECEC}
video.obuchenie{display:block;width:100%;max-height:74vh;border-radius:14px;background:#000}
main{padding:14px 14px 0}
h2{font-size:14px;text-transform:uppercase;letter-spacing:.5px;color:#6E6B75;margin:16px 0 8px}
h2:first-child{margin-top:4px}
.card{background:#fff;border-radius:12px;padding:13px 15px;margin-bottom:9px;
      box-shadow:0 1px 3px rgba(0,0,0,.07)}
.card .n{font-weight:600;line-height:1.3}
.ceny{display:flex;align-items:baseline;gap:9px;margin-top:6px}
.promo{font-size:21px;font-weight:700;color:#DE0C12;letter-spacing:-.4px}
.staro{font-size:15px;color:#BBB6AE;text-decoration:line-through}
.skidka{margin-left:auto;background:#DE0C12;color:#fff;font-size:12px;font-weight:700;
        padding:3px 8px;border-radius:20px}
.srok{font-size:12.5px;color:#6E6B75;margin-top:5px}
.pusto{background:#fff;border-radius:12px;padding:26px 18px;text-align:center;color:#6E6B75}
a.knopka,button{display:block;width:100%;background:#DE0C12;color:#fff;border:0;border-radius:12px;
      padding:15px;font-size:16px;font-weight:600;text-align:center;text-decoration:none;
      margin-bottom:9px;cursor:pointer;font-family:inherit}
a.knopka.tihaya,button.tihaya{background:#fff;color:#232227;box-shadow:0 1px 3px rgba(0,0,0,.07)}
label.punkt{display:flex;gap:12px;align-items:flex-start;background:#fff;border-radius:12px;
      padding:14px 15px;margin-bottom:8px;box-shadow:0 1px 3px rgba(0,0,0,.07);cursor:pointer}
label.punkt input{width:24px;height:24px;accent-color:#1D7A45;flex:none;margin-top:1px}
label.punkt.gotovo{background:#F1F8F3}
select,textarea,input:not([type]),input[type=text],input[type=password],input[type=number],input[type=tel]{width:100%;border:1px solid #E4E2DE;
      border-radius:12px;padding:13px 14px;
      font-size:16px;font-family:inherit;background:#fff;margin-bottom:9px}
textarea{min-height:120px;resize:vertical}
.stroka{display:flex;justify-content:space-between;align-items:center;gap:10px;
      background:#fff;border-radius:12px;padding:12px 15px;margin-bottom:8px;
      box-shadow:0 1px 3px rgba(0,0,0,.07)}
.da{color:#1D7A45;font-weight:700}.net{color:#BBB6AE}
.metka{font-size:12px;font-weight:600;padding:3px 9px;border-radius:20px;background:#F7F6F4;color:#6E6B75}
.metka.novaya{background:#FDECEC;color:#DE0C12}
.nazad{display:inline-block;color:#6E6B75;text-decoration:none;font-size:14px;padding:12px 0}

/* ── чек-лист смены ── */
.punkt-k{background:#fff;border-radius:12px;padding:14px 15px;margin-bottom:9px;
      box-shadow:0 1px 3px rgba(0,0,0,.07)}
.punkt-k.bito{background:#FFF7F7;box-shadow:0 0 0 1.5px #DE0C12 inset}
.punkt-k .pt{font-weight:600;line-height:1.35}
/* Метка в заголовке карточки переносится целиком (№761): с номером «№ 900001» строка заявки на
   375 не помещается, и «ждёт сегодня» рвалась пополам вместе с фоном метки. */
.punkt-k .pt .metka{display:inline-block;white-space:nowrap}
.nado-foto{font-size:11px;font-weight:700;background:#FFF1E6;color:#B45309;
      padding:2px 7px;border-radius:20px;margin-left:6px;vertical-align:2px}
.vybor{display:flex;gap:8px;margin-top:11px}
.vybor .v{flex:1;position:relative}
.vybor .v input{position:absolute;opacity:0;pointer-events:none}
.vybor .v span{display:block;text-align:center;padding:11px 6px;border-radius:10px;
      border:1.5px solid #E4E2DE;font-size:14.5px;font-weight:600;color:#6E6B75;cursor:pointer}
.vybor .ok input:checked+span{background:#1D7A45;border-color:#1D7A45;color:#fff}
.vybor .bad input:checked+span{background:#DE0C12;border-color:#DE0C12;color:#fff}
.etalon{margin-top:9px}
.etalon summary{color:#2563EB;font-size:14px;cursor:pointer;list-style:none}
.etalon summary::-webkit-details-marker{display:none}
.etalon summary::before{content:"⌄ "}
.etalon div{margin-top:7px;background:#F4F7FB;border-radius:9px;padding:11px 13px;
      font-size:14.5px;color:#3E4C63;line-height:1.45}
.foto{margin-top:11px;border-top:1px dashed #E4E2DE;padding-top:11px}
.snyat{display:block;text-align:center;background:#F7F6F4;border:1.5px dashed #C9C5BE;
      border-radius:10px;padding:13px;font-size:15px;font-weight:600;color:#6E6B75;cursor:pointer}
.snyat input{display:none}
/* Снимок выбран — под превью одна кнопка, «Переснять». Подпись-кнопку foto-srazu.js
   прячет атрибутом hidden, а display:block строкой выше его перебивал: с 15.09 под
   снимком стояли две кнопки на одно действие (D-035, №614, 28.09). */
.snyat[hidden]{display:none}
.foto-est{color:#1D7A45;font-weight:600;font-size:14px;margin-bottom:8px}
/* Снимок в чек-листе: смена видит, ЧТО ушло, и может переснять. */
.snimok{display:block;width:100%;max-height:210px;object-fit:cover;border-radius:10px;
      margin-bottom:9px;background:#EFEDEA}
/* Фотоотчёт в сводке: лента плиток, тап открывает снимок целиком. */
.foto-lenta{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:9px}
.foto-lenta a{display:block;text-decoration:none;color:#6E6B75;background:#fff;
      border-radius:12px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.07)}
.foto-lenta img{display:block;width:100%;height:126px;object-fit:cover;background:#EFEDEA}
.foto-lenta span{display:block;padding:8px 10px 10px;font-size:12.5px;line-height:1.35}
.foto-net{color:#B45309;font-size:14px;margin-bottom:8px}
.foto details{margin-top:8px}
.foto summary{color:#6E6B75;font-size:13.5px;cursor:pointer}
.foto select{margin-top:8px;margin-bottom:0}
.ostalos{background:#FFF1E6;color:#B45309;border-radius:10px;padding:11px 14px;
      font-size:14.5px;margin-bottom:11px;text-align:center}
.ostalos.gotov{background:#F1F8F3;color:#1D7A45}
.oshibka{background:#FDECEC;color:#DE0C12;border-radius:10px;padding:12px 14px;
      font-size:14.5px;margin-bottom:11px;font-weight:600;line-height:1.4}
/* Полоска показа переносится, а не прокручивается: на телефоне часть
   ролей уезжала за правый край, и «Руководство» — экран, ради которого
   показ и делается, — зритель просто не находил. */
.kto{display:flex;flex-wrap:wrap;gap:6px;padding:10px 14px 0}
.kto a{flex:none;background:#fff;color:#6E6B75;text-decoration:none;font-size:13px;
      padding:7px 12px;border-radius:20px;box-shadow:0 1px 3px rgba(0,0,0,.07)}
.kto a.on{background:#232227;color:#fff}
.vyhod{display:block;text-align:center;color:#BBB6AE;text-decoration:none;font-size:13.5px;
      padding:18px 0 4px}
.konspekt{background:#fff;border-radius:12px;padding:15px 16px;margin-bottom:12px;
      box-shadow:0 1px 3px rgba(0,0,0,.07);white-space:pre-line;line-height:1.55;font-size:15px}
input[type=date],input[type=month]{width:100%;border:1px solid #E4E2DE;border-radius:12px;padding:13px 14px;
      font-size:16px;font-family:inherit;background:#fff;margin-bottom:9px}


/* ── Ввод под палец (18.09: владелец на стенде — «для ввода вообще ужас») ──
   Всё ниже про один и тот же промах: разметка писалась под классы, которых
   в этом файле не было. Подписи слипались с названиями, выбор не выглядел
   кнопкой, поля обрезали текст. Магазин работает пальцем и на ходу, поэтому
   размеры здесь не украшение: 16px в поле — это порог, ниже которого iPhone
   зумит страницу при фокусе, а 52px высоты — размер, в который попадают, не
   целясь. */

/* Пояснение под названием — ОТДЕЛЬНОЙ строкой. Инлайновый span слипался
   с заголовком в «Техникзамки, двери, свет». Цвет #6B665F — 5,7:1 на белом:
   прежний #8A857E давал 3,7:1, подсказку смены было не прочесть (№542, 25.09). */
.chto,.vybor .v i{display:block;font-style:normal;font-weight:400;font-size:13.5px;
      line-height:1.35;margin-top:3px;color:#6B665F}
.vybor .v input:checked+span .chto,.vybor .v input:checked+span i{color:rgba(255,255,255,.85)}
/* В столбике выбранная карточка светлая, и белое пояснение на ней исчезает.
   Проверено глазами на 375: «замки, двери, свет» читались как пустое место. */
.vybor.stolbik .v input:checked+span .chto,
.vybor.stolbik .v input:checked+span i{color:#8A4B4B}

/* Выбор в столбик: десять причин брака в ряд не помещаются никак, а карточки
   разной высоты прыгают. В столбик — читается и попадается пальцем. */
.vybor.stolbik{display:flex;flex-direction:column;gap:8px}
.vybor.stolbik .v{flex:none}
.vybor.stolbik .v span{text-align:left;padding:14px 16px;min-height:52px;
      display:flex;flex-direction:column;justify-content:center;font-size:16px;
      color:#232227;background:#fff}
.vybor.stolbik .v input:checked+span{border-color:#DE0C12;background:#FDECEC;color:#232227}
.vybor.stolbik .v input:focus-visible+span{outline:2px solid #2563EB;outline-offset:2px}

/* Шаг смены: заголовок, что уйдёт в чат, и само действие. */
.shag{background:#fff;border-radius:12px;padding:14px 16px;margin-bottom:10px;
      box-shadow:0 1px 3px rgba(0,0,0,.07)}
.shag .pt{font-weight:700;font-size:16px;line-height:1.3}
.shag .foto{margin-top:10px}

/* Состав смены: строка на человека. Слева галочка с именем, справа «старший»
   отдельной кнопкой — раньше чекбокс и радио стояли встык и читались как каша. */
.sostav{margin-top:10px;display:flex;flex-direction:column;gap:8px}
.chelovek{display:flex;align-items:center;gap:10px;border:1.5px solid #E4E2DE;
      border-radius:12px;padding:10px 12px;background:#fff;min-height:52px}
.chelovek .v-smene{flex:1;display:flex;align-items:center;gap:10px;cursor:pointer;
      font-size:16px}
.chelovek .v-smene input{width:22px;height:22px;accent-color:#DE0C12;flex:none;margin:0}
.chelovek .starshiy{display:flex;align-items:center;gap:7px;cursor:pointer;
      font-size:14px;color:#6E6B75;white-space:nowrap;padding:6px 10px;
      border-radius:20px;background:#F7F6F4}
.chelovek .starshiy input{width:18px;height:18px;accent-color:#DE0C12;margin:0}
.chelovek .starshiy input:checked+span{color:#DE0C12;font-weight:700}
/* Старший смены обязателен (№736, холст владельца 30.09). Подсказки под списком; пока
   работает shagi-smeny.js, «старший» у неотмеченных погашен, а у отмеченных обведён
   красным, пока старшего нет. Без скрипта ничего не гаснет: радио остаётся нажимаемым. */
.st-nuzhen[hidden],.st-odin[hidden],.st-sostav[hidden]{display:none}
.st-odin,.st-sostav{margin-top:8px;font-size:14px}
.chto.zeleno{color:#1D7A45;font-weight:600}
.sostav.zhivoy .chelovek:not(.otmechen) .starshiy{opacity:.45}
.sostav.nuzhen .chelovek.otmechen .starshiy{box-shadow:0 0 0 2px #E5484D}
/* Окно «не хватает» с выбором старшего: кто сегодня за старшего, кнопками. */
.okno .okno-vopros{font-size:15px;margin-top:4px}
.okno .kandidaty{display:flex;flex-direction:column;gap:8px}
.okno button.kandidat{display:flex;align-items:center;gap:10px;min-height:52px;padding:0 14px;
  border-radius:12px;border:1.5px solid #E4E2DE;background:#fff;color:#232227;font-size:16px;
  font-weight:600;text-align:left;box-shadow:none}
.okno button.kandidat .krug{width:20px;height:20px;border-radius:50%;border:2px solid #A8A29A;
  flex-shrink:0;box-sizing:border-box}
.okno button.kandidat[aria-pressed="true"]{border-color:#DE0C12;background:#FDECEC}
.okno button.kandidat[aria-pressed="true"] .krug{border:6px solid #DE0C12}
.okno button:disabled{opacity:.45}

/* Подпись над полем: placeholder обрезается на узком экране и исчезает при
   вводе — человек забывает, что он тут пишет. */
.pole{display:block;margin-bottom:11px}
.pole span{display:block;font-size:13px;font-weight:600;letter-spacing:.3px;
      text-transform:uppercase;color:#8A857E;margin-bottom:5px}
.pole input,.pole textarea,.pole select{margin-bottom:0}

/* Кнопка отправки не должна теряться в конце длинной формы. */
button[type=submit]{min-height:54px;font-size:17px}
/* Под кнопкой смены — куда уйдёт «Открыто»/«Закрыто». Лежит на фоне страницы,
   а не на белой карточке: #6B665F на #F7F6F4 — 5,3:1, смоук держит порог.
   Отступ снизу больше верхнего: без него подпись липла к белой кнопке ниже
   и читалась как её (осмотр на 375, 28.09). */
.pod-knopkoy{text-align:center;margin:6px 0 18px}
/* Состояние смены в шапке главной (№633, макет владельца 28.09). Плашка белая:
   зелёное прямо на красной шапке почти не читается. На телефоне справа от
   подписи она не помещается, поэтому стоит строкой ниже. Нажатие — в чек-лист. */
.plashka-smeny{display:flex;flex-direction:column;align-items:flex-start;gap:6px;
  margin-top:10px;padding:2px 0 4px;min-height:44px;color:#fff;text-decoration:none}
.plashka-smeny .sost{display:inline-flex;align-items:center;gap:7px;background:#fff;
  color:#232227;font-size:13.5px;font-weight:600;line-height:1.3;padding:6px 12px 6px 10px;
  border-radius:20px}
.plashka-smeny .sost i{width:10px;height:10px;border-radius:50%;border:2px solid #A8A29A;
  background:#fff;flex-shrink:0}
.plashka-smeny .sost.otkryta i{border-color:#1D7A45;background:#1D7A45}
.plashka-smeny .sost.zakryta i{border-color:#F59E0B;background:#F59E0B}
.plashka-smeny .pod-plashkoy{font-size:12.5px;line-height:1.35;color:#fff}
/* Экран «Чек-лист смены»: сделанное зелёным, чего не хватает — красным.
   Зелёный на светло-зелёном 5:1, красный на белом 6,5:1. */
a.knopka.tihaya.gotovo{background:#F1F8F3}
.knopka.tihaya .chto.zeleno{color:#1D7A45;font-weight:600}
.knopka.tihaya .chto.krasno{color:#B91C1C;font-weight:600;margin-top:2px}
/* Машина у магазина, уход не отмечен (№681): ждём, а не ошибка — янтарный, 5:1 на белом. */
.knopka.tihaya .chto.zhdet{color:#B45309;font-weight:600;margin-top:2px}
/* Что уже ушло в СБ сегодня — под формой выемки и покупки. */
.ushlo{background:#fff;border-radius:12px;padding:11px 15px;margin-bottom:8px;
  box-shadow:0 1px 3px rgba(0,0,0,.07);font-size:14.5px;line-height:1.35}
.ushlo .kogda{color:#6B665F;font-size:13px}
/* Снимок прямо над кнопкой отправки (покупка для себя, брак под личной учёткой):
   без отступа рамка снимка ложилась на кнопку вплотную. */
form>.foto{margin-bottom:12px}
/* У шага смены несколько снимков и комментарий по желанию (28.09, вечер).
   «Из галереи» — второе поле без capture: только так телефон даёт выбрать
   несколько кадров сразу; основное поле по-прежнему открывает камеру. */
.snyat.eshche{margin-top:8px;padding:11px;font-size:14.5px;border-style:dotted;background:#fff}
.snimki-ryad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.snimki-ryad img.snimok{height:96px;width:100%;object-fit:cover;margin:0}
.snimok-odin{display:block}
.kom-shaga{margin:10px 0 0}
.kom-shaga textarea{min-height:56px}
.foto-mnogo{background:#FFF7ED;border:1.5px dashed #F59E0B;border-radius:10px;padding:10px;
  margin-bottom:9px;color:#B45309;font-size:13.5px;font-weight:600}
.foto-mnogo .ryad{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:8px}
.foto-mnogo img{width:100%;height:64px;object-fit:cover;border-radius:6px}
/* Несколько снимков в шаге подряд (02.10, №777): у добавленного кадра «Убрать», на
   пределе восьми кадров поля «ещё» прячутся и экран говорит почему. */
.ubrat-snimok{display:block;width:100%;margin-top:6px;padding:9px;background:none;border:none;
  color:#B91C1C;font-size:14px;font-weight:600;text-decoration:underline;
  text-underline-offset:3px;cursor:pointer}
.predel-snimkov{margin-top:6px;font-size:13.5px;font-weight:600;color:#6B665F}
/* Задача управляющей, до 15 снимков (№808): снимки сеткой по 4, у каждого крестик или
   «переснять» в углу, кнопки камеры и галереи в ряд под сеткой; сверху счёт «N из 15». */
.foto.setka{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start}
.foto.setka>*{flex:1 1 100%;min-width:0}
.foto.setka>label.snyat{flex:1 1 40%;margin:0}
.foto.setka>.foto-novyy{flex:0 0 calc(25% - 4.5px);position:relative;padding:0;margin:0;border:0;background:none}
.foto.setka .foto-novyy .pometka{display:none}
.foto.setka .foto-novyy img{width:100%;height:auto;max-height:none;aspect-ratio:3/4;object-fit:cover;border-radius:9px;margin:0}
.foto.setka .foto-novyy .peresnyat,.foto.setka .foto-novyy .ubrat-snimok{position:absolute;top:3px;right:3px;
  width:30px;height:30px;min-height:0;margin:0;padding:0;border:0;border-radius:15px;background:rgba(20,20,22,.74);
  color:#fff;font-size:0;text-decoration:none;display:flex;align-items:center;justify-content:center}
.foto.setka .foto-novyy .peresnyat::after{content:"↻";font-size:17px}
.foto.setka .foto-novyy .ubrat-snimok::after{content:"×";font-size:20px;line-height:1}
.foto.setka .foto-novyy:has(.ubrat-snimok) .peresnyat{display:none}
.schet-snimkov{font-size:14px;font-weight:700;color:#4F4B45;font-variant-numeric:tabular-nums}
.foto.setka:has(.foto-novyy,.foto-mnogo)>.chto{display:none}
.foto.setka>.foto-mnogo{padding:0;border:0;background:none;font-size:0}
.foto.setka .foto-mnogo .ryad{margin:0;gap:6px}
.foto.setka .foto-mnogo img{height:auto;aspect-ratio:3/4;border-radius:9px}
.foto.setka .foto-mnogo .ubrat-snimok{font-size:13.5px;margin-top:4px;padding:4px}
/* Дошло ли в чат: «отправлен» — по очереди отправки, не обещанием (28.09). */
.foto-est.zhdet{color:#B45309}
.foto-est.beda{color:#B91C1C}
/* Изменение персонала (№637): выбранное событие, поиск людей и поля времени. */
a.knopka.tihaya.vybrano{border:1.5px solid #DE0C12;background:#FDECEC}
input[type=search],input[type=time]{width:100%;border:1px solid #E4E2DE;border-radius:12px;
  padding:13px 14px;font-size:16px;font-family:inherit;background:#fff;margin-bottom:9px}
.ushlo .chto{font-size:13px;margin-top:2px}
/* «Изменение персонала» (№733, холст владельца 30.09): три события в ряд; «Ушёл» и
   «Отпросился» галочками, можно несколько; кто теперь старший, если уходит старший (№736);
   что уйдёт в группу СБ. */
.sobytiya{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}
.sobytiya .sob{display:flex;align-items:center;justify-content:center;min-height:52px;padding:4px 6px;
  border-radius:12px;background:#fff;border:1.5px solid transparent;box-shadow:0 1px 3px rgba(0,0,0,.07);
  color:#232227;font-weight:600;text-align:center;text-decoration:none}
.sobytiya .sob.vybrano{background:#FDECEC;border-color:#DE0C12;font-weight:700}
.kto-spisok{display:flex;flex-direction:column;gap:8px;margin-bottom:11px}
.kto-chel{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 14px;border-radius:12px;
  background:#fff;border:1.5px solid #E4E2DE;cursor:pointer}
.kto-chel input{width:22px;height:22px;accent-color:#DE0C12;margin:0;flex-shrink:0}
.kto-chel span{display:flex;flex-direction:column}
.kto-chel b{font-weight:600}
.kto-chel i{font-style:normal;font-size:13px;color:#6B665F}
.kto-chel:has(input:checked){background:#FDECEC;border-color:#DE0C12}
.novyy-starshiy{margin-bottom:11px}
.novyy-starshiy[hidden],.novyy-starshiy .v[hidden]{display:none}
.novyy-starshiy .chto{margin:0 0 8px}
/* Пришёл позже времени ухода: старшим за ушедшего не выбрать (ревью AEGION 30.09). */
.novyy-starshiy .v.nelzya span{color:#8A857E;background:#F7F6F4;border-style:dashed;cursor:default}
.predprosmotr{background:#FFF7ED;border-radius:12px;padding:12px 14px;margin-bottom:11px;font-size:14px;
  line-height:1.4}
.predprosmotr[hidden]{display:none}
.predprosmotr b{display:block;margin-bottom:4px}
.predprosmotr .tekst{display:block;white-space:pre-line}
/* Дашборд службы безопасности на ПК (№635, пример владельца 28.09): 1920×1080 и 1366×768.
   Широкий экран — только у страниц с body.shiroko, телефонные экраны не задеты. */
body.shiroko{max-width:none}
body.shiroko main{padding:16px 24px 0}
/* Шапка кабинета СБ одной строкой (№678, макет владельца 29.09): назад, название, день.
   Прежние вкладки ломали «Другой день» в две строки, а в карточке теряли магазин. */
body.shiroko header{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:14px 24px}
body.shiroko header .nazad-verh{margin:0;background:rgba(0,0,0,.18);font-size:15px;padding:9px 16px}
body.shiroko header .zag{min-width:0;margin-right:auto}
body.shiroko header .t{font-size:24px;font-weight:800;letter-spacing:-.3px;line-height:1.15}
body.shiroko header .p{font-size:14px;opacity:1;margin-top:3px}
.ik{display:block;flex:none}
.sb-dni{display:flex;align-items:center;gap:2px;padding:4px;border-radius:24px;background:rgba(0,0,0,.18)}
.sb-dni>a,.sb-dni>span.net{display:flex;align-items:center;gap:4px;height:38px;padding:0 14px;
  border-radius:19px;color:#fff;text-decoration:none;font-size:15px;font-weight:600;white-space:nowrap}
.sb-dni>a.tek{background:#fff;color:#B91C1C;font-weight:700}
/* Класс net у пропущенного пункта и у погасшей стрелки: общее .net красит серым. */
.sb-dni>span.net{opacity:.4;padding:0 10px;color:#fff}
.sb-kalendar{position:relative}
.sb-kalendar summary{display:flex;align-items:center;gap:8px;height:38px;padding:0 14px;border-radius:19px;
  color:#fff;font-size:15px;font-weight:600;cursor:pointer;list-style:none;white-space:nowrap}
.sb-kalendar summary::-webkit-details-marker{display:none}
.sb-kalendar.tek summary{background:#fff;color:#B91C1C;font-weight:700}
.sb-kalendar form{position:absolute;right:0;top:46px;z-index:20;background:#fff;color:#232227;
  border-radius:12px;padding:12px;box-shadow:0 8px 24px rgba(0,0,0,.18);display:flex;gap:8px;
  align-items:flex-end;width:max-content}
.sb-kalendar label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#6B665F}
.sb-kalendar input[type=date]{font-size:15px;font-family:inherit;border:1px solid #E4E2DE;border-radius:10px;
  padding:8px 10px;margin:0}
.sb-kalendar button{width:auto;margin:0;padding:10px 16px;font-size:15px}
.sb-pilyulya{display:flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:20px;
  border:1.5px solid rgba(255,255,255,.85);color:#fff;text-decoration:none;font-size:15px;font-weight:600;
  white-space:nowrap}
.sb-obnovleno{font-size:13px;line-height:1.3;white-space:nowrap}
/* Все магазины сети цветом дня под шапкой карточки: соседний в один клик. */
.sb-magaziny{flex-basis:calc(100% + 48px);margin:2px -24px -14px;background:#fff;border-bottom:1px solid #E4E2DE;
  padding:10px 24px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:#232227}
.sb-magaziny .podpis{font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;
  color:#6B665F;margin-right:6px;white-space:nowrap}
.sb-mag{display:flex;align-items:center;gap:8px;height:34px;padding:0 13px;border-radius:17px;
  background:#F7F6F4;border:1px solid #E4E2DE;color:#232227;text-decoration:none;font-size:14px;
  font-weight:600;white-space:nowrap}
.sb-mag.tek{background:#232227;border-color:#232227;color:#fff}
.tochka{width:10px;height:10px;border-radius:50%;flex:none;background:#A8A29A}
.tochka.ok{background:#1D7A45}.tochka.vnimanie{background:#D97706}.tochka.beda{background:#B91C1C}
.sb-mag.tek .tochka{box-shadow:0 0 0 2px #fff}
.sb-svodka{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}
.sb-chislo{background:#fff;border:1px solid #E4E2DE;border-radius:14px;padding:14px 18px;
  display:flex;flex-direction:column;gap:3px;min-width:0}
.sb-chislo b{font-size:40px;font-weight:800;line-height:1.05;letter-spacing:-.5px;
  font-variant-numeric:tabular-nums}
.sb-chislo span{font-size:16px;font-weight:700}
.sb-chislo i{font-style:normal;font-size:13px;color:#6B665F;overflow-wrap:anywhere}
.sb-chislo.ok b{color:#1D7A45}.sb-chislo.vnimanie b{color:#B45309}
.sb-chislo.beda b{color:#B91C1C}.sb-chislo.zhdem b{color:#6B665F}
.sb-setka{display:flex;gap:24px;align-items:flex-start}
.sb-levo{flex:1;min-width:0}
.sb-pravo{width:440px;flex-shrink:0;display:flex;flex-direction:column;gap:14px}
.sb-legenda{display:flex;flex-wrap:wrap;gap:14px;font-size:13px;color:#6B665F;margin:-2px 0 10px}
.sb-legenda span{display:inline-flex;align-items:center;gap:6px}
.sb-legenda span::before{content:"";width:10px;height:10px;border-radius:50%;background:#A8A29A}
.sb-legenda .ok::before{background:#1D7A45}.sb-legenda .vnimanie::before{background:#D97706}
.sb-legenda .beda::before{background:#B91C1C}
.sb-plitki{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.sb-plitka{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid #E4E2DE;
  border-top:5px solid #A8A29A;border-radius:14px;padding:12px 14px;color:#232227;text-decoration:none}
.sb-plitka.ok{border-top-color:#1D7A45}.sb-plitka.vnimanie{border-top-color:#D97706;background:#FFF7ED}
.sb-plitka.beda{border-top-color:#B91C1C;background:#FEF2F2}.sb-plitka.zhdem{border-top-color:#A8A29A}
.sb-tochka{font-size:16px;font-weight:700}
.sb-tochka span{display:block;font-size:12.5px;font-weight:400;color:#6B665F}
.sb-vremya{font-size:36px;font-weight:800;line-height:1.05;letter-spacing:-.5px;
  font-variant-numeric:tabular-nums;margin-top:4px}
.sb-sost{font-size:14px;font-weight:700}
.sb-mel{font-size:13px;color:#6B665F;line-height:1.35}
.sb-povtory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;margin-top:8px}
.sb-blok{background:#fff;border:1px solid #E4E2DE;border-radius:14px;padding:12px 16px}
.sb-blok h2{margin-top:2px}
/* Лента дня живёт в своём окне: дашборд держат открытым на экране, а не листают. */
.sb-lenta{max-height:440px;overflow-y:auto}
.sb-stroka{display:flex;flex-direction:column;gap:1px;padding:8px 0 8px 12px;border-left:3px solid #E4E2DE;
  margin:4px 0;color:#232227;text-decoration:none;font-size:14px}
.sb-stroka b{font-weight:700}
.sb-stroka span{color:#6B665F;font-size:13px}
.sb-stroka.ok{border-left-color:#1D7A45}.sb-stroka.vnimanie{border-left-color:#D97706}
.sb-stroka.beda{border-left-color:#B91C1C}.sb-stroka.zhdem{border-left-color:#A8A29A}
.sb-snimki{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.sb-snimok{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid #E4E2DE;
  border-radius:12px;padding:8px;color:#232227;text-decoration:none;font-size:13px}
.sb-snimok img{width:100%;height:150px;object-fit:cover;border-radius:8px;background:#EFEDEA}
.sb-snimok.net{justify-content:center;min-height:120px;color:#6B665F}
.sb-snimok i{font-style:normal;font-size:12px}
@media (max-width:1100px){.sb-setka{flex-direction:column}.sb-pravo{width:100%}
  .sb-svodka{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1200px) and (max-width:1348px){:where(body.ramka) .sb-setka{flex-direction:column}:where(body.ramka) .sb-pravo{width:100%}:where(body.ramka) .sb-svodka{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Шаги смены по номерам (№679, макет владельца 29.09): новички путались, какой отчёт
   не отправили. У шага номер; сделанный зелёный с обводкой, пропущенный красный,
   ещё не начатый серый. Обводка сделана тенью: рамка сдвигала бы вёрстку при перекраске. */
.shag{scroll-margin-top:130px}
.shag-golova{display:flex;align-items:flex-start;gap:12px}
.shag-golova .pt{flex:1;min-width:0;display:block}
.nomer{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  flex:none;box-sizing:border-box;font-size:17px;font-weight:800;line-height:1;
  font-variant-numeric:tabular-nums;background:#fff;color:#6B665F;border:2px solid #CFCAC3}
.nomer-ok{background:#1D7A45;border-color:#1D7A45;color:#fff}
.nomer-net{background:#D93A3F;border-color:#D93A3F;color:#fff}
.nomer-zhdem{background:#fff;color:#6B665F}
.shag-ok{box-shadow:0 0 0 2.5px #2E9E57,0 1px 3px rgba(0,0,0,.07)}
.shag-net{box-shadow:0 0 0 2.5px #E5484D,0 1px 3px rgba(0,0,0,.07)}
.shag-zhdem{box-shadow:0 1px 3px rgba(0,0,0,.07)}
.shag-net-stroka{color:#B91C1C;font-weight:700;font-size:14px;line-height:1.4;margin-top:8px}
/* Сделанный шаг при досылке одной строкой, раскрыть можно. */
.svernut summary{display:block;list-style:none;cursor:pointer}
.svernut summary::-webkit-details-marker{display:none}
.svernut:not([open]) .shag-golova .chto{display:none}
.svernut .kratko{display:block;color:#1D7A45;font-weight:600;font-size:13.5px;line-height:1.35;margin-top:3px}
.svernut .pokazat{display:inline-block;margin-top:4px;font-size:13.5px;color:#6E6B75;text-decoration:underline}
.svernut[open] .kratko,.svernut[open] .pokazat{display:none}
/* Плашка над шагами: номера подряд цветом, сколько осталось, переход к шагу. */
.plashka-shagov{border-radius:12px;padding:12px 14px;margin-bottom:12px;display:flex;
  flex-direction:column;gap:8px;background:#fff;border:1px solid #E4E2DE;color:#232227}
.pl-net{background:#FFF4F4;border:1.5px solid #F4B9BB;color:#B91C1C}
.pl-ok{background:#F1F8F3;border:1.5px solid #BFE3CB;color:#1D7A45}
.pl-zhdem{background:#fff}
.plashka-verh{display:flex;align-items:center;gap:12px}
.plashka-verh b{font-size:15.5px;font-weight:800;line-height:1.25}
.plashka-tekst{font-size:14.5px;line-height:1.4}
.lesenka{display:flex;gap:6px;flex:none}
.lesenka .nomer{width:24px;height:24px;font-size:13px}
.k-shagu{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;background:#C8262C;
  color:#fff;font-size:14.5px;font-weight:700;padding:9px 14px;border-radius:10px;text-decoration:none}
/* Шаг вечера со своей формой (выемка, остаток): кнопка ведёт на неё. */
a.knopka.tihaya.k-forme{margin:12px 0 0;border:1.5px solid #E4E2DE;box-shadow:none}
/* «Чек-лист смены»: не всё прислали, дослать первым и крупно. */
.doslat{background:#FFF4F4;border-radius:14px;padding:14px 16px;margin-bottom:12px;
  box-shadow:0 0 0 2.5px #E5484D;display:flex;flex-direction:column;gap:10px;color:#232227}
.doslat .plashka-verh b{color:#B91C1C}
.doslat a.knopka{margin:0}
.doslat .pod-knopkoy{margin:0}
/* Окно «не хватает» снизу (shagi-smeny.js): над плашкой очереди без связи. */
.okno-fon{position:fixed;inset:0;background:rgba(20,20,22,.45);z-index:60}
.okno{position:fixed;left:0;right:0;bottom:0;z-index:61;max-width:560px;margin:0 auto;
  background:#fff;border-radius:18px 18px 0 0;box-sizing:border-box;
  padding:10px 18px calc(20px + env(safe-area-inset-bottom));box-shadow:0 -8px 30px rgba(0,0,0,.18);
  display:flex;flex-direction:column;gap:12px;max-height:88vh;overflow-y:auto}
.okno .ruchka{align-self:center;width:40px;height:4px;border-radius:2px;background:#D6D2CB}
.okno h3{margin:0;font-size:19px;font-weight:800;line-height:1.25}
.okno p{margin:0;font-size:14.5px;line-height:1.4}
.okno-net{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;
  background:#FFF4F4;border:1.5px solid #F4B9BB}
.okno-net b{display:block;font-size:16px}
.okno-net .kuda{display:block;font-size:13.5px;color:#6B665F}
.okno-gotovo{display:flex;align-items:center;gap:10px;font-size:14.5px}
.okno-gotovo .nomer{width:22px;height:22px;font-size:12px}
.okno button{margin:0}
.okno button.tiho{background:transparent;color:#6E6B75;text-decoration:underline;font-size:14.5px;
  font-weight:600;padding:6px;box-shadow:none}
/* «Закрыть смену» и «Дослать снимки» внутри белой карточки шага: без рамки белое на белом. */
.shag button.tihaya{border:1.5px solid #E4E2DE;box-shadow:none}
/* Карточка магазина в кабинете СБ по шагам смены (№678, макет владельца 29.09): строка
   итога с «Не хватает», колонки, каждый снимок внутри своего пункта с подписью. С 30.09
   (№731, холст, вариант Б) колонок четыре: утро, деньги за день, товар за день, вечер.
   Колонки уже, поэтому плитки снимков меньше, а тело пункта без отступа под значком. */
.sbk-itog{background:#fff;border:1px solid #E4E2DE;border-radius:14px;padding:14px 20px;display:flex;
  align-items:stretch;margin-bottom:18px}
.sbk-itog .sost{display:flex;align-items:center;gap:12px;padding-right:24px}
.sbk-itog .krug{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none}
.sbk-itog .krug.ok{background:#E9F4EC}.sbk-itog .krug.vnimanie{background:#FFF1E0}
.sbk-itog .krug.beda{background:#FEF2F2}.sbk-itog .krug.zhdem{background:#F1EFEC}
.sbk-itog .sost b{display:block;font-size:22px;font-weight:800;line-height:1.15;white-space:nowrap}
.sbk-itog .sost b.ok{color:#1D7A45}.sbk-itog .sost b.vnimanie{color:#B45309}
.sbk-itog .sost b.beda{color:#B91C1C}.sbk-itog .sost b.zhdem{color:#6B665F}
.sbk-itog .sost span{display:block;font-size:13px;color:#6B665F;margin-top:2px}
.sbk-itog .fakt{border-left:1px solid #E4E2DE;padding:0 24px;display:flex;flex-direction:column;
  justify-content:center;gap:1px;flex:none}
.sbk-itog .fakt span{font-size:13px;color:#6B665F;white-space:nowrap}
.sbk-itog .fakt b{font-size:22px;font-weight:800;line-height:1.15;font-variant-numeric:tabular-nums}
.sbk-itog .chego{border-left:1px solid #E4E2DE;padding-left:24px;flex:1;min-width:0;display:flex;
  flex-direction:column;justify-content:center;gap:8px}
.sbk-itog .ryad{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sbk-itog .metka-net,.sbk-itog .metka-zhdem{font-size:12.5px;font-weight:800;letter-spacing:.5px;
  text-transform:uppercase;width:128px;flex:none}
.sbk-itog .metka-net{color:#B91C1C}.sbk-itog .metka-zhdem{color:#6B665F}
.chip-net{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:10px;background:#FEF2F2;
  border:1px solid #F2B8B8;color:#B91C1C;font-size:14.5px;font-weight:700;text-decoration:none;white-space:nowrap}
.chip-zhdem{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:10px;background:#F7F6F4;
  border:1px dashed #CFCAC3;color:#57534D;font-size:14px;font-weight:600;white-space:nowrap}
.sbk-itog .vse{font-size:18px;font-weight:700;color:#1D7A45}
.sbk-itog .skolko{font-size:13.5px;color:#6B665F}
.sbk-setka{display:flex;gap:24px;align-items:flex-start}
.sbk-kolonki{flex:1;min-width:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;
  align-items:start}
.sbk-kolonka{display:flex;flex-direction:column;gap:12px;min-width:0}
.sbk-kolonka .kol-golova{display:flex;align-items:center;justify-content:space-between;gap:10px}
.sbk-kolonka h2,.sbk-blok h2{margin:0}
.sbk-kolonka .schet{font-size:13px;font-weight:700;padding:3px 10px;border-radius:12px;white-space:nowrap;
  background:#EFEDEA;color:#6B665F}
.sbk-kolonka .schet.ok{background:#E9F4EC;color:#1D7A45}
.sbk-kolonka .schet.vnimanie{background:#FFF1E0;color:#B45309}
.sbk-kolonka .kol-pod{font-size:13px;color:#6B665F;margin-top:-8px}
.sbk-punkt{background:#fff;border:1px solid #E4E2DE;border-radius:14px;padding:14px 16px;display:flex;
  flex-direction:column;gap:10px;scroll-margin-top:190px}
.sbk-punkt.net{background:#FEF2F2;border:1.5px solid #F2B8B8;color:#232227}
.sbk-punkt.zhdem{background:rgba(255,255,255,.5);border:1.5px dashed #CFCAC3}
.sbk-punkt .golova{display:flex;align-items:flex-start;gap:10px}
.sbk-punkt .znak{flex:none;display:block}
.sbk-punkt .imya{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.sbk-punkt .imya b{font-size:16px;font-weight:700;line-height:1.3}
.sbk-punkt.zhdem .imya b{color:#57534D}
.sbk-punkt .pod,.sbk-punkt .kuda{font-size:13px;color:#6B665F;line-height:1.35}
.sbk-punkt.net .pod{color:#B91C1C;font-weight:600}
.sbk-punkt .kuda{display:flex;align-items:center;gap:5px}
.sbk-punkt .sprava{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.sbk-punkt.net .sprava{color:#B91C1C}.sbk-punkt.zhdem .sprava{color:#6B665F}
.sbk-punkt .telo{padding-left:0;display:flex;flex-direction:column;gap:10px}
.sbk-metki{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}
.sbk-metka{font-size:12px;font-weight:700;line-height:1.3;padding:2px 8px;border-radius:8px;
  background:#EFEDEA;color:#57534D}
.sbk-metka.seryy{background:#EFEDEA;color:#57534D}
.sbk-metka.yantar{background:#FFF1E0;color:#B45309}.sbk-metka.krasnyy{background:#FEF2F2;color:#B91C1C}
.sbk-polya{display:flex;flex-direction:column;gap:2px}
.sbk-pole{font-size:13.5px;line-height:1.4;overflow-wrap:anywhere}
.sbk-pole span{color:#6B665F}
.sbk-lyudi,.sbk-peremeny{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.sbk-lyudi li{display:flex;align-items:center;gap:6px;font-size:14px;padding:5px 10px;border-radius:8px;
  background:#F7F6F4;border:1px solid #E4E2DE}
.sbk-lyudi .starshiy{font-size:11.5px;font-weight:700;color:#fff;background:#232227;padding:1px 6px;border-radius:5px}
.sbk-peremeny{flex-direction:column;gap:3px;font-size:13.5px}
.sbk-peremeny .zag{font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#6E6B75}
.sbk-snimki{display:flex;gap:10px;flex-wrap:wrap}
.sbk-snimok{display:flex;flex-direction:column;gap:5px;width:86px;color:#6B665F;text-decoration:none;font-size:12.5px}
.sbk-snimok .kadr{position:relative;display:block;width:86px;height:115px;border-radius:10px;overflow:hidden;
  border:1px solid #E4E2DE;background:#EFEDEA}
.sbk-snimok img{display:block;width:100%;height:100%;object-fit:cover}
.sbk-snimok .metka{position:absolute;left:5px;top:5px;padding:2px 5px;border-radius:6px;
  background:rgba(20,20,22,.8);color:#fff;font-size:11px;font-weight:700;line-height:1.4;white-space:nowrap;
  max-width:calc(100% - 10px);box-sizing:border-box;overflow:hidden;text-overflow:ellipsis}
/* Длинная метка плитки (от 10 знаков): мельче и в две строки, если в ней два слова
   («Чек возврата»), одно слово («Инкассация») помещается мелким шрифтом. */
.sbk-snimok .metka.dlinnaya{font-size:9.5px;padding:2px 4px;white-space:normal;line-height:1.25}
.sbk-zamok{width:86px;height:115px;box-sizing:border-box;border-radius:10px;background:#EFEDEA;display:flex;
  flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#6B665F;font-size:12px;
  line-height:1.3;text-align:center;padding:10px}
.sbk-kom{font-size:13.5px;line-height:1.4;padding:8px 10px;border-radius:8px;background:#F7F6F4}
.sbk-kom span{color:#6B665F}
.sbk-stroka{font-size:13.5px}
.sbk-ne-bylo{background:rgba(255,255,255,.5);border:1.5px dashed #CFCAC3;border-radius:14px;padding:12px 16px}
.sbk-ne-bylo b{display:block;font-size:14px;color:#57534D;margin-bottom:6px}
.sbk-ne-bylo ul{list-style:none;margin:0;padding:0}
.sbk-ne-bylo li{display:flex;align-items:center;gap:10px;padding:7px 0;border-top:1px solid #EDEBE7;
  font-size:14px;color:#57534D}
.sbk-pravo{width:340px;flex:none;display:flex;flex-direction:column;gap:14px}
.sbk-blok{background:#fff;border:1px solid #E4E2DE;border-radius:14px;padding:14px 16px}
.sbk-blok .pod{font-size:13px;color:#6B665F;margin-top:2px}
.sbk-nedelya{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:1px}
.sbk-nedelya a{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:10px;
  border:1px solid transparent;color:#232227;text-decoration:none;font-size:14px;line-height:1.3}
.sbk-nedelya a.tek{background:#F7F6F4;border-color:#E4E2DE}
.sbk-nedelya b{width:70px;flex:none}
.sbk-nedelya span:last-child{color:#6B665F;min-width:0}
.sbk-soob{list-style:none;margin:8px 0 0;padding:0}
.sbk-soob li{display:grid;grid-template-columns:46px minmax(0,1fr);gap:8px;padding:6px 0;
  border-top:1px solid #EDEBE7;font-size:13.5px;line-height:1.35}
.sbk-soob li>span:only-child{grid-column:1/-1}
.sbk-soob i{font-style:normal;color:#6B665F}
@media (max-width:1500px){.sbk-itog .fakt{padding:0 16px}.sbk-itog .sost{padding-right:16px}}
@media (min-width:1200px) and (max-width:1748px){:where(body.ramka) .sbk-itog .fakt{padding:0 16px}:where(body.ramka) .sbk-itog .sost{padding-right:16px}}
/* Уже 1600 px четырём колонкам рядом с правыми блоками тесно (на 1366 выходило по 232 px):
   блоки справа уходят под колонки и встают в ряд. */
@media (max-width:1599px){.sbk-setka{flex-direction:column}
  .sbk-pravo{width:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));align-items:start}}
@media (min-width:1200px) and (max-width:1847px){:where(body.ramka) .sbk-setka{flex-direction:column}:where(body.ramka) .sbk-pravo{width:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));align-items:start}}
@media (max-width:1100px){.sbk-kolonki{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sbk-itog{flex-wrap:wrap;gap:12px}
  .sbk-itog .chego{flex:1 1 100%;border-left:0;padding-left:0}
  .sbk-itog .metka-net,.sbk-itog .metka-zhdem{width:100%}
  .sbk-itog .chip-net,.sbk-itog .chip-zhdem{white-space:normal}}
@media (min-width:1200px) and (max-width:1348px){:where(body.ramka) .sbk-kolonki{grid-template-columns:repeat(2,minmax(0,1fr))}:where(body.ramka) .sbk-itog{flex-wrap:wrap;gap:12px}:where(body.ramka) .sbk-itog .chego{flex:1 1 100%;border-left:0;padding-left:0}:where(body.ramka) .sbk-itog .metka-net,:where(body.ramka) .sbk-itog .metka-zhdem{width:100%}:where(body.ramka) .sbk-itog .chip-net,:where(body.ramka) .sbk-itog .chip-zhdem{white-space:normal}}
@media (max-width:700px){.sbk-kolonki{grid-template-columns:1fr}
  .sbk-itog{flex-direction:column;align-items:stretch}
  .sbk-itog .fakt{border-left:0;padding:0}}
/* Снимок крупно (sb-foto.js): листать, повернуть, открыть оригинал, лента всех снимков дня. */
.sbf-fon{position:fixed;inset:0;z-index:100;background:#161517;color:#fff;display:flex;flex-direction:column}
.sbf-verh{height:88px;padding:0 32px;display:flex;align-items:center;gap:14px;flex:none;
  border-bottom:1px solid rgba(255,255,255,.08)}
.sbf-zag{min-width:0;margin-right:auto}
.sbf-zag b{display:block;font-size:22px;font-weight:800}
.sbf-zag span{display:block;font-size:14px;color:#CFCAC3;margin-top:3px}
.sbf-knopka{display:flex;align-items:center;gap:8px;height:44px;padding:0 18px;border-radius:22px;
  background:rgba(255,255,255,.1);color:#fff;border:0;font-family:inherit;font-size:15px;font-weight:600;
  cursor:pointer;text-decoration:none;width:auto;margin:0;white-space:nowrap}
.sbf-knopka.belaya{background:#fff;color:#232227}
.sbf-seredina{flex:1;min-height:0;display:flex;align-items:center;justify-content:space-between;
  padding:12px 32px;gap:16px}
.sbf-strelka{display:flex;flex-direction:column;align-items:center;gap:12px;width:200px;flex:none;
  color:#CFCAC3;font-size:14px;text-align:center;background:none;border:0;cursor:pointer;margin:0;padding:0;
  font-family:inherit}
.sbf-strelka .krug{width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;
  align-items:center;justify-content:center}
.sbf-strelka[disabled]{visibility:hidden}
.sbf-kadr{flex:1;min-width:0;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}
.sbf-kadr img{max-width:100%;max-height:100%;object-fit:contain;transition:transform .2s;
  box-shadow:0 20px 60px rgba(0,0,0,.5)}
.sbf-lenta{flex:none;padding:14px 32px 18px;display:flex;align-items:flex-end;gap:28px;
  border-top:1px solid rgba(255,255,255,.08);overflow-x:auto}
.sbf-gruppa{display:flex;flex-direction:column;gap:9px}
.sbf-gruppa>span{font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:#A9A39B}
.sbf-gruppa>div{display:flex;gap:14px}
.sbf-mini{display:flex;flex-direction:column;align-items:center;gap:7px;color:#CFCAC3;font-size:12.5px;
  background:none;border:0;cursor:pointer;padding:0;margin:0;width:auto;white-space:nowrap;font-family:inherit}
.sbf-mini img{width:64px;height:86px;object-fit:cover;border-radius:7px;opacity:.7;
  outline:3px solid transparent;outline-offset:2px}
.sbf-mini.tek{color:#fff;font-weight:700}
.sbf-mini.tek img{opacity:1;outline-color:#fff}
.sbf-podskazka{margin-left:auto;font-size:13.5px;color:#A9A39B;padding-bottom:4px;max-width:430px;
  text-align:right}
/* Масштаб (№720): «−», проценты и «Увеличить» слева от «Повернуть». Курсор говорит, что
   сделает мышь: у целого снимка — увеличит, у увеличенного — потащит. */
.sbf-zum{display:flex;align-items:center;gap:6px}
.sbf-knopka.kvadrat{width:44px;padding:0;justify-content:center}
.sbf-knopka.kvadrat .tekst{display:none}
.sbf-knopka.procent{min-width:78px;padding:0 10px;justify-content:center;font-variant-numeric:tabular-nums}
.sbf-knopka[aria-disabled="true"]{opacity:.38;cursor:default}
.sbf-kadr{touch-action:none}
.sbf-kadr img{cursor:zoom-in;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}
.sbf-kadr.uvelichen img{cursor:grab}
.sbf-kadr.tyanut img{cursor:grabbing}
.sbf-kadr img.bez-plavnosti{transition:none}
@media (max-width:900px){
  .sbf-verh{height:auto;min-height:60px;padding:8px 12px;gap:8px;flex-wrap:wrap}
  .sbf-zag{flex-basis:100%}
  .sbf-zag b{font-size:17px}
  .sbf-knopka{height:40px;padding:0 11px}
  .sbf-knopka .tekst{display:none}
  .sbf-knopka.kvadrat{width:40px}
  .sbf-knopka.procent{min-width:64px}
  .sbf-seredina{padding:6px 8px;gap:4px}
  .sbf-strelka{width:44px}
  .sbf-strelka .krug{width:44px;height:44px}
  .sbf-strelka .podpis{display:none}
  .sbf-lenta{padding:10px 12px 12px;gap:16px}
  .sbf-podskazka{display:none}}
/* Просьба отдела сверху главной магазина (№692, №693, макет владельца 29.09): что сделать
   и кнопка прямо к задаче. Янтарная, а не красная: это просьба, а не авария смены. */
.prosba{background:#FFF7ED;border:1.5px solid #E9B77A;border-radius:14px;padding:12px 14px;
  margin-bottom:10px;display:flex;flex-direction:column;gap:10px;color:#232227}
.prosba-tekst{font-size:15px;line-height:1.4}
.prosba-tekst b{display:block;color:#8A4B0B}
.prosba-knopka{align-self:flex-start;background:#B45309;color:#fff;font-size:15px;font-weight:700;
  padding:10px 18px;border-radius:10px;text-decoration:none}
.zadacha-otdela{box-shadow:0 0 0 2px #E9B77A,0 1px 3px rgba(0,0,0,.07)}
.ot-otdela{font-size:12.5px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;
  color:#8A4B0B;margin-bottom:4px}
.zadacha-otdela .opis{font-size:15px;line-height:1.45;margin-top:4px}
.bylo{margin-top:10px}
.bylo .chto{display:block;margin-bottom:6px}
.gotovo-otdel{background:#F1F8F3;border:1.5px solid #BFE3CB;border-radius:14px;padding:16px;
  margin-bottom:12px;display:flex;flex-direction:column;gap:4px}
.gotovo-otdel b{font-size:18px;color:#1D7A45}
.gotovo-otdel p{margin:6px 0 0;font-size:14.5px;line-height:1.4}
/* «Уже уехал в офис» (№801): бумажные Z и товарный отдали в офис, переснять нечем. Сиреневый —
   свой цвет «в офисе» и у магазина, и в кабинете бухгалтерии (холст 04.10). */
.prosba-knopki{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.prosba-knopki .prosba-knopka{display:flex;align-items:center;justify-content:center;text-align:center;
  line-height:1.2;min-height:48px;box-sizing:border-box;padding:8px;min-width:0}
.prosba-knopka.ofis{background:#4C2F96}
/* Вопрос магазину по чекам для себя (№882): снимки дня миниатюрами и три ответа кнопками.
   «Другое» раскрывает поле словами без скрипта (details). */
.sebe-vopros .prosba-tekst b{margin-bottom:3px}
.sebe-foto{display:flex;flex-wrap:wrap;gap:8px}
.sebe-foto a{display:block;width:64px;height:64px;border-radius:8px;overflow:hidden;border:1px solid #E9B77A;background:#fff}
.sebe-foto img{display:block;width:100%;height:100%;object-fit:cover}
.sebe-knopki{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}
.sebe-knopki form{margin:0}
.sebe-knopki button.prosba-knopka{width:auto;margin:0;min-height:44px;min-width:0;border:0;
  font-family:inherit;line-height:1.2;cursor:pointer}
.sebe-knopki .prosba-knopka.kontur{background:#fff;color:#8A4B0B;border:1.5px solid #E9B77A}
.sebe-drugoe{display:block}
.sebe-drugoe[open]{flex-basis:100%}
.sebe-drugoe summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box}
.sebe-drugoe summary::-webkit-details-marker{display:none}
.sebe-drugoe form{margin-top:10px}
.sebe-drugoe textarea{min-height:72px}
.vybor.sebe-chekov .v span{font-size:18px;font-weight:800}
a.v-ofis-knopka{display:flex;flex-direction:column;align-items:center;gap:3px;margin:12px 0 4px;padding:12px;
  border-radius:12px;border:1.5px solid #B7A6E6;background:#fff;color:#4C2F96;font-size:16px;font-weight:800;
  text-decoration:none;text-align:center}
a.v-ofis-knopka i{font-style:normal;font-size:12.5px;font-weight:600;color:#6B665F}
.ofis-forma{margin-top:12px;display:flex;flex-direction:column;gap:12px;background:#F5F2FD;
  border:1.5px solid #B7A6E6;border-radius:14px;padding:14px}
.ofis-forma .zag-f b{display:block;font-size:16.5px;color:#4C2F96}
.ofis-forma .zag-f span{display:block;font-size:13.5px;color:#4F4B45;margin-top:3px;line-height:1.4}
.ofis-forma fieldset{border:0;margin:0;padding:0}
.ofis-forma legend{font-size:14.5px;font-weight:800;margin-bottom:8px;padding:0}
.ofis-chipy{display:flex;flex-wrap:wrap;gap:8px}
.ofis-chip{display:inline-flex;position:relative}
.ofis-chip input{position:absolute;opacity:0;width:1px;height:1px}
.ofis-chip span{display:flex;align-items:center;min-height:44px;padding:0 15px;border-radius:22px;
  border:1px solid #D8D4CE;background:#fff;color:#232227;font-size:15px;font-weight:700}
.ofis-chip input:checked+span{background:#4C2F96;border-color:#4C2F96;color:#fff}
.ofis-chip input:focus-visible+span{outline:2px solid #4C2F96;outline-offset:2px}
.ofis-forma .pole{margin:0}
.ofis-forma button.ofis-otpravit{margin:2px 0 0;background:#4C2F96}
.ofis-otmena{display:block;text-align:center;font-size:14.5px;font-weight:700;color:#6B665F;text-decoration:none;padding:4px 0}
.gotovo-otdel.ofis{background:#F5F2FD;border-color:#B7A6E6}
.gotovo-otdel.ofis b{color:#4C2F96}
.prosba-otdela{background:#FFF7ED;border:1.5px solid #E9B77A;border-radius:14px;padding:12px 14px;
  margin-bottom:12px}
.prosba-otdela b{font-size:17px}
.prosba-otdela p{margin:6px 0 0;font-size:15px;line-height:1.45}
.nado{font-size:11.5px;font-weight:800;color:#8A4B0B;background:#FDF1E3;padding:1px 6px;
  border-radius:5px;margin-left:4px;text-transform:uppercase;letter-spacing:.3px}
.popravit{margin:10px 0}
.popravit summary{cursor:pointer;color:#6E6B75;text-decoration:underline;font-size:14.5px;padding:6px 0}
/* Касса за день из ОКО в кабинете СБ (№738, холст владельца 30.09, ряд «Чеки из ОКО»):
   блок панели во всю ширину под сводкой, блоки карточки в правой колонке, строка в плитке.
   Цвета холста: янтарь, когда есть что проверить, красный, когда документа в СМЕНЕ нет. */
.ks-ik{display:block;flex:none}
.ks-blok{background:#fff;border:1px solid #E4E2DE;border-radius:14px;padding:12px 18px 14px;
  margin-bottom:16px;display:flex;flex-direction:column;gap:10px}
.ks-golova{display:flex;align-items:center;gap:10px;color:#6E6B75}
.ks-golova h2{margin:0;font-size:14px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#6E6B75}
.ks-kogda{margin-left:auto;font-size:13px;color:#6B665F;text-align:right}
.ks-chisla{display:grid;gap:10px 0}
.ks-sem{grid-template-columns:repeat(7,minmax(0,1fr))}
.ks-chislo{display:flex;flex-direction:column;gap:2px;padding:0 14px;border-left:1px solid #EFEDE9;min-width:0}
.ks-sem .ks-chislo:first-child{border-left:0;padding-left:0}
.ks-chislo b{font-size:28px;font-weight:800;line-height:1.05;letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.ks-chislo span{font-size:14.5px;font-weight:700}
.ks-chislo i{font-style:normal;font-size:12.5px;line-height:1.35;color:#6B665F;overflow-wrap:anywhere}
.ks-chislo.vnimanie b,.ks-chislo.vnimanie i{color:#B45309}.ks-chislo.vnimanie i{font-weight:700}
.ks-chislo.beda i{color:#B91C1C;font-weight:700}
.ks-pyat{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ks-pyat .ks-chislo{padding:0;border-left:0}
.ks-pyat .ks-chislo b{font-size:26px}
.ks-pyat .ks-chislo:nth-child(3){grid-column:1/-1}
.ks-voprosy{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:6px 14px}
.ks-voprosy h3,.ks-razdel h3{grid-column:1/-1;margin:4px 0 2px;display:flex;align-items:center;gap:8px;
  font-size:13px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#6E6B75}
.ks-vopros,.ks-vchera{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:10px;align-items:start;
  padding:8px 11px;border-radius:10px;background:#FFF7ED;border:1px solid #E9B77A;color:#232227;text-decoration:none}
.ks-vopros .ks-ik,.ks-vchera .ks-ik{color:#B45309;grid-row:1/3;margin-top:2px}
.ks-vopros b,.ks-vchera b{font-size:14px}
.ks-vopros span,.ks-vchera span{font-size:13px;color:#6B665F}
.ks-vopros:hover,.ks-vchera:hover{border-color:#D08A3C}
.ks-mel{font-size:13px;color:#6B665F;line-height:1.4}
.ks-otkuda{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:#6B665F;line-height:1.4;
  border-top:1px solid #EFEDE9;padding-top:8px}
.ks-otkuda .ks-ik{margin-top:1px}
.ks-pusto{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ks-pusto>div{display:flex;flex-direction:column;gap:3px;min-width:220px;flex:1}
.ks-pusto b{font-size:16px;line-height:1.3}
.ks-pusto span{font-size:13.5px;color:#4F4B45;line-height:1.4}
.ks-pusto>.ks-ik{color:#4F4B45}
.ks-pusto.malo b{font-size:14.5px}
.ks-mel.vnimanie{color:#B45309;font-weight:700}
.ks-chetyre{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ks-chetyre .ks-chislo{padding:0;border-left:0}
.ks-chetyre .ks-chislo b{font-size:24px}
.ks-podrobno{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;font-size:14px;font-weight:700;color:#232227;text-decoration:underline;text-underline-offset:3px}
.ks-knopka{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px 0 18px;border-radius:20px;
  border:1px solid #D8D4CE;background:#fff;color:#232227;font-weight:700;font-size:14.5px;text-decoration:none;
  white-space:nowrap}
.ks-plitka{margin-top:5px;border-top:1px solid #EFEDE9;padding-top:7px;display:flex;flex-direction:column;gap:2px}
.ks-p-zag{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:800;letter-spacing:.5px;
  text-transform:uppercase;color:#6E6B75}
.ks-p-golova{display:flex;align-items:baseline;gap:5px}
.ks-p-golova b{font-size:21px;font-weight:800;letter-spacing:-.3px;font-variant-numeric:tabular-nums}
.ks-p-golova span{font-size:13.5px;font-weight:600}
.ks-p-golova i{font-style:normal;margin-left:auto;font-size:14px;font-weight:800;white-space:nowrap}
.ks-p-ryad{display:flex;justify-content:space-between;gap:8px;font-size:13.5px;line-height:1.35}
.ks-p-ryad span{color:#4F4B45}
.ks-p-ryad b{font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.ks-p-ryad b.vnimanie{color:#B45309;font-weight:800}
.ks-p-mel{display:flex;gap:6px;align-items:center;font-size:13px;color:#6B665F;line-height:1.35}
.ks-p-vopros{display:flex;gap:7px;align-items:flex-start;margin-top:3px;padding:5px 9px;border-radius:9px;
  background:#FFF7ED;border:1px solid #E9B77A;font-size:13px;line-height:1.35;font-weight:700;color:#B45309}
.ks-p-vopros .ks-ik{margin-top:2px}
.ks-kartochka{display:flex;flex-direction:column;gap:10px}
.ks-kartochka h2{display:flex;align-items:center;gap:8px}
.ks-razdel{display:flex;flex-direction:column;gap:6px;border-top:1px solid #EFEDE9;padding-top:10px}
/* Левая колонка списков кассы по самому широкому содержимому (осмотр H 01.10: номер чека рвался
   «000Ч-018 / 342» в колонке 62 px). Строки делят колонку через subgrid, время и номер чека в каждой
   строке на одной линии; без subgrid колонка строки своя, по её содержимому. */
.ks-spisok{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:10px}
.ks-spisok li{grid-column:1/-1;display:grid;grid-template-columns:max-content minmax(0,1fr);grid-template-columns:subgrid;
  column-gap:10px;padding:8px 0;border-top:1px solid #F0EEEA}
.ks-spisok li:first-child{border-top:0}
.ks-spisok li.vnimanie .ks-vr b{color:#B45309}
.ks-vr{display:flex;flex-direction:column;gap:1px;min-width:0}
.ks-vr b{font-size:16px;font-variant-numeric:tabular-nums}
.ks-vr span{font-size:12px;color:#6B665F;white-space:nowrap}
.ks-slitno{white-space:nowrap}
.ks-chto>b.ks-sebe-zag{display:flex;flex-wrap:wrap;align-items:center;gap:3px 8px}
.ks-sebe-zag .ks-metka{margin-left:0}
.ks-chto{display:flex;flex-direction:column;gap:2px;min-width:0}
.ks-chto>b{font-size:14.5px;line-height:1.3}
.ks-chto>span{font-size:13px;color:#6B665F;line-height:1.35}
.ks-chto>span.ks-vozvr{display:flex;gap:5px;align-items:center;color:#B45309;font-weight:700}
.ks-status{display:flex;flex-direction:column;gap:2px;margin-top:4px;padding:7px 10px;border-radius:10px;border:1px solid}
.ks-status b{display:flex;align-items:center;gap:6px;font-size:13.5px;font-weight:800;line-height:1.3}
.ks-status span{font-size:12.5px;line-height:1.35}
.ks-status a{color:inherit}
.ks-status.zel{background:#E3F1E8;border-color:#A7D3B5;color:#1D5B34}.ks-status.zel b{color:#1D7A45}
.ks-status.kras{background:#FBE9E9;border-color:#EBA7A7;color:#8F1D1D}.ks-status.kras b{color:#B91C1C}
.ks-status.yantar{background:#FFF7ED;border-color:#E9B77A;color:#8A4B0B}.ks-status.yantar b{color:#B45309}
.ks-status.sery{background:#F7F6F4;border-color:#E4E2DE;color:#57534D}.ks-status.sery b{color:#4F4B45}
.ks-fishki{display:flex;flex-wrap:wrap;gap:6px}
.ks-fishka{padding:5px 10px;border-radius:10px;background:#F1EFEC;border:1px solid #E4E2DE;font-size:13px;font-weight:700}
.ks-fishka.zel{background:#E3F1E8;border-color:#A7D3B5;color:#1D7A45}
.ks-fishka.kras{background:#FBE9E9;border-color:#EBA7A7;color:#B91C1C}
.ks-fishka.yantar{background:#FFF7ED;border-color:#E9B77A;color:#B45309}
.ks-metka{font-style:normal;margin-left:8px;padding:1px 8px;border-radius:9px;background:#F1EFEC;color:#4F4B45;
  font-size:12px;font-weight:800;white-space:nowrap}
.ks-metka.prod{background:#E8EEFB;color:#1E40AF}
@media (max-width:1500px){.ks-sem{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ks-sem .ks-chislo:nth-child(5){border-left:0;padding-left:0}}
@media (min-width:1200px) and (max-width:1748px){:where(body.ramka) .ks-sem{grid-template-columns:repeat(4,minmax(0,1fr))}:where(body.ramka) .ks-sem .ks-chislo:nth-child(5){border-left:0;padding-left:0}}
@media (max-width:900px){.ks-sem{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ks-sem .ks-chislo:nth-child(odd){border-left:0;padding-left:0}.ks-kogda{margin-left:0}
  .ks-golova{flex-wrap:wrap}}
/* Кабинет бухгалтерии (№692, макет владельца 29.09, «692 огонь»): месяц «магазины × дни»,
   карточка дня, «Проверить подряд». Цвета клеток — макета: принят зелёный, ждёт синий
   контуром, переснято синий сплошной, на доработке янтарный, нет Z красный. */
.bz-podryad-knopka{display:flex;align-items:center;gap:8px;height:44px;padding:0 20px 0 16px;
  border-radius:22px;background:#fff;color:#B91C1C;font-size:16px;font-weight:800;white-space:nowrap;
  text-decoration:none}
.sb-chislo.sin b{color:#1E40AF}
a.sb-chislo{text-decoration:none;color:inherit}
a.sb-chislo:hover{border-color:#CFCAC3}
.bz-setka{display:flex;gap:24px;align-items:flex-start}
.bz-levo{flex:1;min-width:0;background:#fff;border:1px solid #E4E2DE;border-radius:14px;padding:16px 18px 12px;
  max-width:100%;overflow-x:auto}
.bz-pravo{width:400px;flex:none;display:flex;flex-direction:column;gap:14px}
.bz-golova{display:flex;align-items:center;justify-content:space-between;gap:12px 16px;flex-wrap:wrap;
  margin-bottom:12px}
.bz-golova h2{margin:0}
.bz-legenda{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:#4F4B45}
.bz-legenda>span{display:inline-flex;align-items:center;gap:6px}
.bz-matrica{display:grid;grid-template-columns:180px repeat(var(--dni),minmax(22px,64px)) minmax(76px,1fr);
  gap:5px 4px;align-items:center}
.bz-zag-imya,.bz-zag-itog{font-size:12px;color:#6B665F}
.bz-zag-itog,.bz-itog{text-align:right}
.bz-den{display:flex;flex-direction:column;align-items:center;font-size:11.5px;line-height:1.2;color:#6B665F}
.bz-den b{font-size:14px;color:#232227}
.bz-den.seg,.bz-den.seg b{color:#B91C1C}
.bz-imya{display:flex;flex-direction:column;min-width:0;padding:3px 0}
.bz-imya b{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bz-imya span{font-size:12.5px;color:#6B665F}
.bz-itog{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.bz-itog.vse{color:#1D7A45}
.bz-kl{display:flex;align-items:center;justify-content:center;height:36px;border-radius:8px;
  box-sizing:border-box;text-decoration:none}
.bz-kl .ik{display:block}
.bz-kl.ok{background:#E3F1E8;color:#1D7A45}
.bz-kl.zhdet{background:#EAF0FC;border:1.5px solid #8FA8E6;color:#1E40AF}
.bz-kl.pere{background:#1E40AF;color:#fff}
.bz-kl.dorab{background:#FDF1E3;border:1.5px solid #E9B77A;color:#B45309}
.bz-kl.net{background:#FBE9E9;border:1.5px solid #EBA7A7;color:#B91C1C}
.bz-kl.idet{background:#F1EFEC;color:#A8A29A}
.bz-kl.ofis{background:#EFEAFB;border:1.5px solid #B7A6E6;color:#4C2F96}
.bz-kl.pusto{border:1px dashed #E4E2DE}
.bz-kl.budet{visibility:hidden}
.bz-kl.mini{display:inline-flex;width:24px;height:18px;border-radius:5px;flex:none}
a.bz-kl:hover{filter:brightness(.95)}
.bz-podskazka{margin:10px 0 0;font-size:13px;color:#6B665F}
.bz-stroka{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-top:1px solid #F0EEEA;
  color:#232227;text-decoration:none;font-size:14px}
.bz-stroka>span:last-child{display:flex;flex-direction:column;gap:1px}
.bz-stroka i{font-style:normal;font-size:13px;color:#6B665F}
.bz-reshenie-str{display:flex;gap:12px;padding:9px 0;border-top:1px solid #F0EEEA;font-size:14px}
.bz-reshenie-str>span:first-child{width:44px;flex:none;color:#6B665F;font-variant-numeric:tabular-nums}
.bz-karta{display:grid;grid-template-columns:220px minmax(0,1fr) 420px;gap:22px;align-items:start}
.bz-den-spisok{display:flex;flex-direction:column;gap:3px;background:#fff;border:1px solid #E4E2DE;
  border-radius:14px;padding:12px}
.bz-den-spisok h2{margin:0 0 6px}
.bz-mag{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:9px;color:#232227;
  text-decoration:none;font-size:14.5px}
.bz-mag.tek{background:#232227;color:#fff;font-weight:700}
.bz-seredina{display:flex;flex-direction:column;gap:14px;min-width:0}
.bz-kassa,.bz-pere{background:#fff;border:1px solid #E4E2DE;border-radius:14px;padding:14px 16px;
  display:flex;flex-direction:column;gap:10px}
.bz-kassa.dorab{border:1.5px solid #E9B77A;background:#FFFBF5}
.bz-kassa.net{border:1.5px solid #EBA7A7;background:#FEF6F6}
.bz-pere{border:2px solid #1E40AF;background:#F5F8FE}
.bz-pere.zhdem{border:1.5px dashed #CFCAC3;background:#fff}
.bz-pere.ofis{border:2px solid #8B74D6;background:#FAF8FE}
.bz-pere.ofis.bolshoy{min-width:320px;max-width:520px}
.bz-ofis-stroki{display:flex;flex-direction:column;gap:6px;font-size:15px;line-height:1.4}
.bz-ofis-stroki i{display:inline-block;min-width:130px;font-style:normal;color:#6B665F}
.bz-plashka.ofis{background:#EFEAFB;color:#4C2F96}
.bz-kassa-zag{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.bz-kassa-zag b{font-size:16px}
.bz-kassa-pod{font-size:14px}
.bz-kassa-pod.vnimanie{color:#8A4B0B;font-weight:600}
.bz-plashka{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:13px;
  font-size:13px;font-weight:700}
.bz-plashka.vnimanie{background:#FDF1E3;color:#8A4B0B}
.bz-plashka.beda{background:#FBE9E9;color:#B91C1C}
.bz-fotki{display:flex;gap:12px;flex-wrap:wrap}
.bz-foto{position:relative;display:block;width:180px;height:240px;border-radius:10px;overflow:hidden;
  border:1px solid #E4E2DE;background:#EFEDEA}
.bz-foto img{display:block;width:100%;height:100%;object-fit:cover}
.bz-foto .metka{position:absolute;left:8px;top:8px;padding:2px 8px;border-radius:6px;
  background:rgba(20,20,22,.8);color:#fff;font-size:12px;font-weight:700;line-height:1.5;white-space:nowrap}
.bz-h{margin:6px 0 0}
.bz-pravo-karta{display:flex;flex-direction:column;gap:14px}
.bz-reshenie{background:#fff;border:1px solid #E4E2DE;border-radius:14px;padding:16px;display:flex;
  flex-direction:column;gap:12px}
.bz-status{display:inline-flex;align-self:flex-start;align-items:center;gap:8px;height:32px;padding:0 13px;
  border-radius:16px;font-size:14px;font-weight:700;box-sizing:border-box}
.bz-status.ok{background:#E3F1E8;color:#1D7A45}
.bz-status.zhdet{background:#EAF0FC;border:1.5px solid #8FA8E6;color:#1E3A8A}
.bz-status.pere{background:#1E40AF;color:#fff}
.bz-status.dorab{background:#FDF1E3;border:1.5px solid #E9B77A;color:#8A4B0B}
.bz-status.net{background:#FBE9E9;border:1.5px solid #EBA7A7;color:#B91C1C}
.bz-status.idet,.bz-status.pusto{background:#F1EFEC;color:#57534D}
.bz-status.ofis{background:#EFEAFB;border:1.5px solid #B7A6E6;color:#4C2F96}
button.bz-net-v-ofise{display:flex;align-items:center;justify-content:center;gap:10px;height:52px;margin:0;
  border-radius:12px;border:2px solid #B91C1C;background:#fff;color:#B91C1C;font-size:16px;font-weight:700}
.bz-poyasnenie{margin:0;font-size:14.5px;line-height:1.4}
button.bz-prinyat{display:flex;align-items:center;justify-content:center;gap:10px;height:60px;margin:0;
  border-radius:12px;background:#1D7A45;font-size:18px;font-weight:700}
a.bz-dorab{display:flex;align-items:center;justify-content:center;gap:10px;height:56px;border-radius:12px;
  border:2px solid #D97706;background:#fff;color:#B45309;font-size:17px;font-weight:700;text-decoration:none;
  box-sizing:border-box}
.bz-prinyat kbd,.bz-dorab kbd,.bz-propusk kbd{font-family:inherit;font-size:13px;font-weight:700;
  border-radius:5px;padding:2px 8px;margin-left:4px;background:rgba(255,255,255,.2)}
.bz-dorab kbd{background:#FDF1E3}
.bz-klavishi{margin:0;font-size:13px;color:#6B665F}
.bz-istoriya{list-style:none;margin:8px 0 0;padding:0}
.bz-istoriya li{display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px;padding:8px 0;
  border-top:1px solid #EDEBE7;font-size:13.5px;line-height:1.4}
.bz-istoriya .kogda{color:#6B665F;font-variant-numeric:tabular-nums}
.bz-istoriya li.seychas b{color:#1E40AF}
/* Окно «На доработку» открывается адресом #dorabotka без скрипта: :target. */
.bz-okno-fon{display:none;position:fixed;inset:0;z-index:80;background:rgba(24,22,28,.55);
  align-items:flex-start;justify-content:center;padding:6vh 16px;overflow-y:auto}
.bz-okno-fon:target{display:flex}
.bz-okno-zakryt-fon{position:fixed;inset:0}
.bz-okno{position:relative;width:760px;max-width:100%;background:#fff;border-radius:18px;
  box-shadow:0 24px 60px rgba(0,0,0,.35);padding:24px 28px;display:flex;flex-direction:column;gap:18px}
.bz-okno-verh{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.bz-okno-verh h2{margin:0;font-size:22px;font-weight:800;text-transform:none;letter-spacing:0;color:#232227}
.bz-okno-verh p{margin:4px 0 0;font-size:14px;color:#6B665F}
.bz-zakryt{width:44px;height:44px;border-radius:22px;background:#F1EFEC;display:flex;align-items:center;
  justify-content:center;color:#4F4B45;text-decoration:none;font-size:18px;flex:none}
.bz-pole{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.bz-pole legend,.bz-legend{display:block;font-size:13px;font-weight:700;letter-spacing:.5px;
  text-transform:uppercase;color:#6E6B75;padding:0;margin-bottom:8px}
.bz-kassy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.bz-vybor{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1.5px solid #E4E2DE;
  border-radius:12px;cursor:pointer}
.bz-vybor input{width:22px;height:22px;accent-color:#B45309;margin:0;flex:none}
.bz-vybor span{display:flex;flex-direction:column}
.bz-vybor i{font-style:normal;font-size:13px;color:#6B665F}
.bz-vybor:has(input:checked){border:2px solid #B45309;background:#FFF7ED}
.bz-chipy{display:flex;flex-wrap:wrap;gap:8px}
.bz-chip{position:relative}
.bz-chip input{position:absolute;opacity:0}
.bz-chip span{display:inline-flex;align-items:center;height:44px;padding:0 16px;border-radius:22px;
  border:1.5px solid #D6D2CC;background:#fff;font-size:15px;font-weight:600;cursor:pointer}
.bz-chip input:checked+span{background:#B45309;border-color:#B45309;color:#fff}
.bz-chip input:focus-visible+span{outline:3px solid #8FA8E6;outline-offset:2px}
.bz-okno textarea{min-height:64px}
.bz-predprosmotr{background:#FFF7ED;border:1.5px solid #E9B77A;border-radius:12px;padding:14px 16px;
  display:flex;flex-direction:column;gap:4px}
.bz-predprosmotr .bz-legend{color:#8A4B0B;margin:0}
.bz-predprosmotr b{font-size:17px}
.bz-predprosmotr i{font-style:normal;font-size:13px;color:#6B665F}
.bz-okno-niz{display:flex;gap:12px;justify-content:flex-end;align-items:center}
.bz-otmena{padding:0 20px;font-size:16px;font-weight:600;color:#4F4B45;text-decoration:none}
button.bz-dorab-knopka{display:flex;align-items:center;gap:10px;width:auto;margin:0;height:52px;
  padding:0 24px;background:#B45309;font-size:17px;font-weight:700}
/* «Проверить подряд»: снимок крупно на тёмном, решение справа. */
.bz-podryad{display:flex;min-height:calc(100vh - 150px);margin:-16px -24px 0}
.bz-kadry{flex:1;min-width:0;position:relative;background:#1C1B1F;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:14px;padding:72px 96px 24px}
.bz-bylo-ryad{display:flex;align-items:center;gap:10px;color:#CFCAC3;font-size:13px;font-weight:600}
.bz-kadry-knopki{position:absolute;right:24px;top:18px;display:flex;gap:8px}
.bz-kadry-knopki button{width:auto;margin:0;height:44px;padding:0 16px;border-radius:22px;
  background:rgba(255,255,255,.14);display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600}
.bz-kadry-ryad{display:flex;gap:18px;align-items:flex-start;justify-content:center;flex-wrap:wrap;
  max-height:calc(100vh - 250px);overflow:auto}
.bz-foto.bolshoy{width:auto;height:calc(100vh - 270px);min-height:360px;background:#2A292E;border:0}
.bz-foto.bolshoy img{width:auto;height:100%;object-fit:contain;transform:rotate(var(--povorot,0deg));
  transition:transform .2s}
.bz-foto.malyy{width:90px;height:120px;opacity:.85}
.bz-foto.malyy .metka{left:4px;top:4px;padding:1px 6px;font-size:11px}
.bz-kadry:has(.bz-bylo-ryad) .bz-foto.bolshoy{height:calc(100vh - 420px)}
.bz-kadry-ryad.uvelichen .bz-foto.bolshoy{height:auto}
.bz-kadry-ryad.uvelichen .bz-foto.bolshoy img{height:auto;max-width:none}
.bz-strelka{position:absolute;right:24px;top:50%;margin-top:-28px;width:56px;height:56px;border-radius:28px;
  background:rgba(255,255,255,.14);color:#fff;font-size:26px;display:flex;align-items:center;
  justify-content:center;text-decoration:none}
.bz-podryad-pravo{width:480px;flex:none;background:#fff;border-left:1px solid #E4E2DE;padding:22px 24px;
  display:flex;flex-direction:column;gap:14px}
.bz-magazin{margin:0;font-size:28px;font-weight:800;text-transform:none;letter-spacing:-.3px;color:#232227}
.bz-preduprezhdenie{display:flex;gap:10px;align-items:flex-start;background:#FFF7ED;border:1.5px solid #E9B77A;
  border-radius:12px;padding:10px 12px;font-size:14px;line-height:1.4;color:#8A4B0B}
a.bz-propusk{display:flex;align-items:center;justify-content:center;gap:8px;height:48px;border-radius:12px;
  background:#F1EFEC;color:#4F4B45;font-size:16px;font-weight:600;text-decoration:none}
.bz-propusk kbd{background:#fff}
.bz-ochered{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.bz-ochered a{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:10px;font-size:15px;
  color:#232227;text-decoration:none}
.bz-ochered a b{flex:1}
.bz-ochered a span:last-child{font-size:13px;color:#6B665F}
.bz-ochered li.tek a{background:#EAF0FC;border:1.5px solid #8FA8E6}
.bz-progress{display:flex;gap:6px}
.bz-progress span{width:36px;height:8px;border-radius:4px;background:rgba(0,0,0,.22)}
.bz-progress span.gotovo{background:#fff}
.bz-progress span.tek{background:rgba(255,255,255,.55);outline:2px solid #fff;outline-offset:1px}
@media (max-width:1500px){.bz-setka{flex-direction:column}.bz-pravo{width:100%;flex-direction:row}
  .bz-pravo>*{flex:1;min-width:0}.bz-karta{grid-template-columns:190px minmax(0,1fr) 340px}
  .bz-foto{width:140px;height:187px}.bz-podryad-pravo{width:400px}.bz-kadry{padding:72px 72px 24px}}
@media (min-width:1200px) and (max-width:1748px){:where(body.ramka) .bz-setka{flex-direction:column}:where(body.ramka) .bz-pravo{width:100%;flex-direction:row}:where(body.ramka) .bz-pravo>*{flex:1;min-width:0}:where(body.ramka) .bz-karta{grid-template-columns:190px minmax(0,1fr) 340px}:where(body.ramka) .bz-foto{width:140px;height:187px}:where(body.ramka) .bz-podryad-pravo{width:400px}:where(body.ramka) .bz-kadry{padding:72px 72px 24px}}
@media (max-width:1100px){.bz-karta{grid-template-columns:1fr}.bz-pravo{flex-direction:column}}
@media (min-width:1200px) and (max-width:1348px){:where(body.ramka) .bz-karta{grid-template-columns:1fr}:where(body.ramka) .bz-pravo{flex-direction:column}}
/* Кабинет управляющей «Мои магазины» (№722, холст владельца 30.09). Панель и карточка
   магазина — классы СБ (sb-, sbk-); здесь разделы, дела под плиткой, заявки, задачи и отчёты.
   Глобальные button и select растянуты на ширину телефона: внутри кабинета они свои. */
.kb-razdely{scrollbar-width:none;flex-basis:calc(100% + 48px);margin:2px -24px -14px;background:#fff;
  border-bottom:1px solid #E4E2DE;padding:0 24px;display:flex;align-items:stretch;gap:4px;
  min-height:54px;color:#232227;overflow-x:auto}
.kb-razdely.s-magazinami{margin-bottom:0}
.kb-razdely.s-magazinami+.sb-magaziny{margin-top:-12px;border-top:1px solid #F0EEEA}
.kb-razdely a{display:flex;align-items:center;gap:8px;padding:0 16px;font-size:16px;font-weight:600;
  color:#4F4B45;text-decoration:none;border-bottom:3px solid transparent;white-space:nowrap}
.kb-razdely a.tek{color:#232227;font-weight:800;border-bottom-color:#DE0C12}
.kb-metka{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:11px;
  background:#B91C1C;color:#fff;font-size:12.5px;font-weight:800}
.kb-razdely a.kb-postavit{margin-left:auto;align-self:center;height:40px;padding:0 16px;border-radius:20px;
  border:1.5px solid #DE0C12;color:#B91C1C;font-weight:800}
.sb-svodka.pyat{grid-template-columns:repeat(5,minmax(0,1fr))}
a.sb-chislo{text-decoration:none;color:#232227}
.sb-chislo.sin b{color:#1E40AF}
.sb-chislo.tek{outline:2px solid currentColor;outline-offset:-2px}
.sb-chislo.beda.tek{background:#FFF4F4;color:#B91C1C}.sb-chislo.vnimanie.tek{background:#FFF7ED;color:#B45309}
.sb-chislo.sin.tek{background:#F3F6FE;color:#1E40AF}.sb-chislo.ok.tek{background:#F2F9F4;color:#1D7A45}
.sb-chislo.tek span{color:#232227}
.kb-delo{display:flex;gap:7px;align-items:flex-start;font-size:13px;line-height:1.3;color:#6B665F}
.kb-delo .ik{margin-top:1px}
.kb-delo.beda{color:#B91C1C;font-weight:700}.kb-delo.vnimanie{color:#B45309;font-weight:600}
.kb-delo.ok{color:#1D7A45}
.sb-plitka{min-height:100%}
.kb-gotovo{background:#F1F8F3;color:#1D7A45;border-radius:10px;padding:12px 14px;margin-bottom:14px;font-weight:600}
/* главная управляющей */
.kb-glavnaya{background:#fff;border-radius:14px;padding:14px;margin-bottom:12px;box-shadow:0 1px 3px rgba(0,0,0,.07)}
.kb-glavnaya h2{margin:0 0 10px}
.kb-chisla{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:6px}
.kb-ch{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;background:#F7F6F4;
  color:#232227;text-decoration:none}
.kb-ch b{font-size:26px;font-weight:800;line-height:1.05}
.kb-ch span{font-size:13.5px;font-weight:600;line-height:1.3}
.kb-ch.ok{background:#F2F9F4}.kb-ch.ok b{color:#1D7A45}
.kb-ch.beda{background:#FFF4F4}.kb-ch.beda b{color:#B91C1C}
.kb-ch.vnimanie{background:#FFF7ED}.kb-ch.vnimanie b{color:#B45309}
.kb-ch.tiho b{color:#6B665F}
.kb-glavnaya .sb-stroka{text-decoration:none;color:#232227;margin-top:8px}
/* заявки */
.kb-filtry{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.kb-chip-f{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 14px;border-radius:19px;
  border:1px solid #D8D4CE;background:#fff;color:#232227;text-decoration:none;font-size:14.5px;font-weight:700}
.kb-chip-f i{font-style:normal;font-weight:600;opacity:.7}
.kb-chip-f.tek{background:#232227;border-color:#232227;color:#fff}
.kb-poisk{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin:0 0 14px}
.kb-poisk label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#6B665F}
.kb-poisk select,.kb-poisk input{width:auto;margin:0;padding:9px 12px;font-size:15px;border-radius:10px;
  border:1px solid #D8D4CE;background:#fff}
.kb-poisk .kb-slovo input{width:300px}
.kb-poisk button{width:auto;margin:0;padding:10px 18px;font-size:15px;border-radius:10px;background:#232227}
.kb-setka{display:flex;gap:24px;align-items:flex-start}
.kb-spisok,.kb-zadachi,.kb-otchet{flex:1;min-width:0;background:#fff;border:1px solid #E4E2DE;border-radius:14px;
  padding:4px 18px 12px}
.kb-pravo{width:400px;flex:none;display:flex;flex-direction:column;gap:14px}
.kb-zag-str,.kb-zayavka{display:grid;grid-template-columns:30px 140px 150px minmax(0,1fr) 220px 150px 130px;
  gap:14px;align-items:center}
.kb-zag-str{padding:10px 0;border-bottom:1px solid #E4E2DE;font-size:12px;font-weight:700;
  text-transform:uppercase;letter-spacing:.4px;color:#6E6B75}
.kb-gruppa{display:flex;align-items:baseline;gap:10px;margin:16px 0 6px;font-size:14px;font-weight:800;
  text-transform:uppercase;letter-spacing:.4px;color:#232227}
.kb-gruppa span{font-size:13px;font-weight:400;text-transform:none;letter-spacing:0;color:#6B665F}
.kb-gruppa.prosr{color:#B91C1C}.kb-gruppa.zhdut{color:#B45309}.kb-gruppa.vrabote{color:#1E40AF}
.kb-gruppa.sdelano{color:#1D7A45}
.kb-zayavka{min-height:56px;padding:6px 0;border-top:1px solid #F0EEEA}
.kb-zayavka.prosr{background:#FFF8F8;margin:0 -18px;padding:6px 18px}
.kb-znak{display:inline-flex;align-items:center;justify-content:center;width:30px;height:26px;border-radius:7px}
.kb-znak.prosr{background:#FBE9E9;border:1.5px solid #EBA7A7;color:#B91C1C}
.kb-znak.zhdut{background:#FDF1E3;border:1.5px solid #E9B77A;color:#B45309}
.kb-znak.vrabote{background:#EAF0FC;border:1.5px solid #8FA8E6;color:#1E40AF}
.kb-znak.sdelano{background:#E3F1E8;color:#1D7A45}
.kb-nomer{display:flex;flex-direction:column;color:#232227;text-decoration:none;font-size:13px}
.kb-nomer b{font-size:14.5px;font-variant-numeric:tabular-nums}
.kb-isp{display:flex;flex-direction:column;gap:1px}
.kb-isp b{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600}
.kb-isp i{font-style:normal;font-size:12.5px;color:#6B665F}.kb-isp i.sejchas{color:#B91C1C;font-weight:700}
.kb-chto{color:#232227;text-decoration:none;font-size:14.5px;line-height:1.35;overflow-wrap:anywhere}
.kb-hod{display:flex;flex-direction:column;font-size:13px;color:#4F4B45}
.kb-hod i{font-style:normal}.kb-hod i.trevoga{color:#B45309}
.kb-zhdet{font-size:14px;font-weight:600}.kb-zhdet.prosr{color:#B91C1C;font-weight:800}
.kb-deystvie{display:flex;justify-content:flex-end}
.kb-napomnit{margin:0}
.kb-napomnit button,.kb-deystviya button{display:inline-flex;align-items:center;gap:6px;width:auto;margin:0;
  padding:8px 12px;border-radius:9px;border:1px solid #D8D4CE;background:#fff;color:#232227;font-size:13.5px;
  font-weight:700;white-space:nowrap}
.kb-deystviya button{width:100%;justify-content:center;padding:14px;font-size:16px;background:#DE0C12;
  border-color:#DE0C12;color:#fff}
.kb-deystviya button[disabled]{background:#E4E2DE;border-color:#E4E2DE;color:#6B665F;cursor:default}
.kb-deystviya p{margin:8px 0 0;font-size:13.5px;line-height:1.4;color:#4F4B45}
.kb-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:7px;font-size:12.5px;
  font-weight:800;font-style:normal;line-height:1.3}
.kb-chip.ok{background:#E3F1E8;color:#1D7A45}.kb-chip.vnimanie{background:#FDF1E3;color:#B45309}
.kb-chip.beda{background:#FBE9E9;color:#B91C1C}.kb-chip.sin{background:#EAF0FC;color:#1E40AF}
.kb-chip.ser{background:#F1EFEC;color:#4F4B45}
.kb-esche{display:block;padding:10px 0 4px 44px;border-top:1px solid #F0EEEA;color:#B91C1C;font-weight:700;
  text-decoration:none;font-size:14px}
/* «Исполнители · 30 дней» в правой колонке (320 px на 1366, 400 px на 1920). Пятью колонками в строку
   имени оставалось 0 px, «Холодильщик» налезал на число, «Делает» вылезал за карточку (осмотр H
   01.10, №722). Имя своей строкой, под ним четыре числа по колонкам заголовка. Доли колонок по самым
   длинным надписям: «Открыто» 55 px, «Просроч.» 59 px, время вида «9 ч 59 мин» 72 px (у времени доля
   с запасом на шрифт Windows). На 1366 клетки 55, 59, 77 и 77 px, на 1920 71, 76, 101 и 101 px. */
.kb-stat-str{display:grid;grid-template-columns:minmax(0,55fr) minmax(0,59fr) minmax(0,78fr) minmax(0,78fr);
  gap:2px 6px;align-items:baseline;padding:8px 0;border-top:1px solid #F0EEEA;font-size:14px;
  font-variant-numeric:tabular-nums}
.kb-stat-str b{grid-column:1/-1;overflow-wrap:anywhere}
.kb-stat-str span{text-align:right;white-space:nowrap}.kb-stat-str span.beda{color:#B91C1C;font-weight:800}
.kb-stat-str.zag{border-top:0;border-bottom:1px solid #E4E2DE;font-size:12px;font-weight:700;color:#6E6B75}
.kb-stat-str.zag b{display:none}
.kb-bar{display:grid;grid-template-columns:130px minmax(0,1fr) 28px;gap:10px;align-items:center;padding:5px 0;
  color:#232227;text-decoration:none;font-size:14px}
.kb-bar .polosa{display:flex;height:12px;border-radius:6px;background:#F1EFEC;overflow:hidden}
.kb-bar .pr{background:#B91C1C}.kb-bar .ost{background:#8FA8E6}
.kb-bar b{text-align:right;font-variant-numeric:tabular-nums}
.kb-pravilo{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px solid #F0EEEA;font-size:14px}
.kb-pravilo b{text-align:right}
/* одна заявка */
.kb-karta-setka{display:flex;gap:24px;align-items:flex-start}
.kb-karta-levo{flex:1;min-width:0;display:flex;flex-direction:column;gap:14px}
.kb-karta-pravo{width:480px;flex:none;display:flex;flex-direction:column;gap:14px}
.kb-zayavka-karta{background:#fff;border:1px solid #E4E2DE;border-radius:14px;padding:18px 20px}
.kb-zayavka-karta.prosr{border-color:#EBA7A7}
.kb-karta-verh{display:flex;gap:24px;justify-content:space-between}
.kb-chipy{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.kb-zayavka-karta h2{margin:0 0 12px;font-size:26px;font-weight:800;letter-spacing:-.3px;line-height:1.2;
  text-transform:none;color:#232227}
.kb-polya{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px;margin:0}
.kb-polya dt{font-size:12.5px;color:#6B665F}.kb-polya dd{margin:2px 0 0;font-weight:700;font-size:14.5px}
.kb-snimok{display:flex;flex-direction:column;gap:4px;flex:none;width:160px;color:#6B665F;font-size:12.5px;
  text-decoration:none}
.kb-snimok img{width:160px;height:200px;object-fit:cover;border-radius:10px;background:#EFEDEA}
.kb-snimok-s{display:flex;flex-direction:column;gap:6px;flex:none;width:160px}
.kb-put{list-style:none;margin:0;padding:0}
.kb-put li{display:grid;grid-template-columns:110px 18px minmax(0,1fr);gap:14px;padding-bottom:12px;position:relative}
.kb-put .kogda{font-size:13.5px;color:#6B665F;text-align:right;padding-top:1px;font-variant-numeric:tabular-nums}
.kb-put .tochka{width:14px;height:14px;margin-top:3px;border-radius:50%;background:#A8A29A;
  box-shadow:0 0 0 3px #F1EFEC}
.kb-put li::after{content:"";position:absolute;left:131px;top:20px;bottom:0;width:2px;background:#E4E2DE}
.kb-put li:last-child::after{display:none}
.kb-put li b{display:block;font-size:15px}.kb-put li i{font-style:normal;font-size:13.5px;color:#4F4B45}
.kb-put .sin .tochka{background:#1E40AF;box-shadow:0 0 0 3px #EAF0FC}
.kb-put .zel .tochka{background:#1D7A45;box-shadow:0 0 0 3px #E3F1E8}
.kb-put .ya .tochka{background:#D97706;box-shadow:0 0 0 3px #FDF1E3}
.kb-put .kr .tochka{background:#B91C1C;box-shadow:0 0 0 3px #FBE9E9}.kb-put .kr b{color:#B91C1C}
.kb-kz{display:flex;flex-direction:column;gap:3px;padding:10px 0;border-top:1px solid #F0EEEA;color:#232227;
  text-decoration:none;font-size:14px}
.kb-kz a{display:flex;flex-direction:column;gap:2px;color:#232227;text-decoration:none}
.kb-kz i{font-style:normal;font-size:12.5px;color:#6B665F}
.kb-kz.prosr i{color:#B91C1C;font-weight:700}.kb-kz.sdelano b{color:#1D7A45}
.kb-kz .kb-napomnit{margin-top:4px}
/* «Не моя заявка» (№735): заявка ждёт решения управляющей */
.kb-gruppa.razbor{color:#B91C1C}
.kb-znak.razbor{background:#FBE9E9;border:1.5px solid #EBA7A7;color:#B91C1C}
.kb-zayavka.razbor{background:#FFF8F8;margin:0 -18px;padding:6px 18px}
.kb-zhdet.razbor{color:#B91C1C}
.kb-zayavka-karta.razbor{border-color:#EBA7A7}
.kb-kz.razbor i{color:#B91C1C;font-weight:700}
a.kb-reshit{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:8px 12px;border-radius:9px;
  border:1px solid #DE0C12;background:#fff;color:#B91C1C;font-size:13.5px;font-weight:700;white-space:nowrap;
  text-decoration:none}
.kb-kz a.kb-reshit{flex-direction:row;margin-top:4px;color:#B91C1C}
/* Ссылка «#razbor» ставит блок под липкую шапку: без отступа отказ формы уходил бы под неё. */
.kb-razbor{border:1.5px solid #EBA7A7;scroll-margin-top:170px}
.kb-razbor .vybor{margin:10px 0 12px}
.kb-razbor .oshibka{margin:8px 0 0}
.kb-razbor textarea{min-height:84px}
.kb-kd{display:flex;flex-direction:column;gap:2px;padding:8px 0;border-top:1px solid #F0EEEA;font-size:14px}
.kb-kd span{font-size:12.5px;color:#6B665F}
.kb-kd.prosrocheno span{color:#B91C1C;font-weight:700}.kb-kd.segodnya span{color:#B45309;font-weight:700}
.kb-kd.sdelano span{color:#1D7A45}
.kb-vse{display:inline-block;margin-top:8px;font-size:13.5px;font-weight:700;color:#B91C1C;text-decoration:none}
/* задачи */
.kb-golova{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:12px 0 10px}
.kb-golova h2{margin:0}
.kb-vid{display:flex;gap:2px;padding:4px;border-radius:22px;background:#F1EFEC}
.kb-vid a{display:flex;align-items:center;height:34px;padding:0 14px;border-radius:17px;color:#4F4B45;
  text-decoration:none;font-size:14px;font-weight:600}
.kb-vid a.tek{background:#fff;color:#232227;font-weight:700;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.kb-legenda{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:#4F4B45;margin:0 0 12px}
.kb-legenda>span{display:inline-flex;align-items:center;gap:6px}
.kb-matrica{overflow-x:auto}
.kb-zad-str{display:grid;grid-template-columns:minmax(260px,420px) repeat(var(--n),minmax(56px,88px)) 84px;
  align-items:center;gap:0 4px;padding:9px 0;border-bottom:1px solid #F0EEEA}
.kb-zad-str.zag{border-bottom-color:#E4E2DE;font-size:12px;font-weight:700;color:#232227}
.kb-zad-str.zag .kb-zad-imya,.kb-zad-str.zag .kb-zad-itog{color:#6E6B75;text-transform:uppercase;letter-spacing:.4px}
.kb-mag{text-align:center;font-size:12.5px;line-height:1.2;hyphens:auto;-webkit-hyphens:auto}
.kb-zad-imya{display:flex;flex-direction:column;gap:3px;padding-right:12px}
.kb-zad-imya b{font-size:14.5px;line-height:1.3}
.kb-zad-imya span{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:12.5px;color:#6B665F}
.kb-zad-itog{text-align:right;font-weight:800;font-variant-numeric:tabular-nums}.kb-zad-itog.vse{color:#1D7A45}
.kb-kl{display:flex;align-items:center;justify-content:center;height:36px;border-radius:8px;box-sizing:border-box;
  text-decoration:none;justify-self:center;width:100%;max-width:56px}
.kb-kl.sdelano,.kb-kl.ok{background:#E3F1E8;color:#1D7A45}
.kb-kl.segodnya,.kb-kl.opozdanie,.kb-kl.ranshe,.kb-kl.propusk{background:#FDF1E3;border:1.5px solid #E9B77A;color:#B45309}
.kb-kl.zhdem{background:#EAF0FC;border:1.5px solid #8FA8E6;color:#1E40AF}
.kb-kl.prosrocheno{background:#B91C1C;color:#fff}
.kb-kl.net{background:#FBE9E9;border:1.5px solid #EBA7A7;color:#B91C1C}
.kb-zad-str .kb-kl.net{background:#F7F6F4;border:0;color:#C9C4BC}
.kb-kl.snyata,.kb-kl.idet{background:#F1EFEC;color:#A8A29A}
.kb-kl.do{border:1px dashed #E4E2DE;background:transparent}
.kb-kl.mini{display:inline-flex;width:24px;height:18px;border-radius:5px;flex:none}
a.kb-kl:hover{filter:brightness(.95)}
/* отчёты */
.kb-otchety{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px;align-items:start}
.kb-otchety.s-pravym{grid-template-columns:280px minmax(0,1fr) 340px}
.kb-otchety .kb-pravo{width:auto}
.kb-menyu{display:flex;flex-direction:column;gap:4px}
.kb-menyu a{display:flex;flex-direction:column;gap:2px;padding:11px 14px;border-radius:12px;border:1px solid transparent;
  color:#232227;text-decoration:none}
.kb-menyu a b{font-size:15px}.kb-menyu a span{font-size:13px;color:#6B665F;line-height:1.35}
.kb-menyu a.tek{background:#fff;border-color:#D8D4CE}.kb-menyu a.tek b{font-weight:800}
.kb-disc{display:grid;grid-template-columns:170px repeat(var(--dni),minmax(26px,56px)) 90px;gap:6px 4px;
  align-items:center;overflow-x:auto}
.kb-d-zag{font-size:12px;color:#6B665F}.kb-d-zag.itog{text-align:right}
.kb-den{display:flex;flex-direction:column;align-items:center;font-size:11.5px;line-height:1.2;color:#6B665F}
.kb-den b{font-size:14px;color:#232227}.kb-den.seg,.kb-den.seg b{color:#B91C1C}
.kb-d-imya{display:flex;flex-direction:column;gap:1px}.kb-d-imya b{font-size:14.5px}
.kb-d-imya span{font-size:12.5px;color:#6B665F}
.kb-disc .kb-kl,.kb-disc .bz-kl{height:38px;max-width:none}
.kb-d-itog{text-align:right;font-size:16px;font-variant-numeric:tabular-nums}
.kb-d-itog.ok{color:#1D7A45}.kb-d-itog.vnimanie{color:#B45309}.kb-d-itog.beda{color:#B91C1C}
.kb-povtor{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-top:1px solid #F0EEEA}
.kb-povtor>b{width:30px;flex:none;font-size:24px;line-height:1;text-align:center}
.kb-povtor>b.beda{color:#B91C1C}.kb-povtor>b.vnimanie{color:#B45309}
.kb-povtor span{display:flex;flex-direction:column;gap:1px;font-size:13.5px;color:#4F4B45}
.kb-povtor span b{color:#232227;font-size:14px}
.kb-doki{display:flex;flex-direction:column}
.kb-dok{display:grid;grid-template-columns:70px 130px 150px minmax(0,1fr) 150px 200px 170px 48px;gap:12px;
  align-items:center;padding:8px 0;border-top:1px solid #F0EEEA;font-size:14px}
.kb-dok.zag{border-top:0;border-bottom:1px solid #E4E2DE;font-size:12px;font-weight:700;color:#6E6B75;
  text-transform:uppercase;letter-spacing:.4px}
.kb-kogda{display:flex;flex-direction:column;font-size:12.5px;color:#6B665F;font-variant-numeric:tabular-nums}
.kb-kogda b{font-size:14.5px;color:#232227}
.kb-dok-kuda{font-size:13px;color:#4F4B45;line-height:1.35}
.kb-dok-mag,.kb-dok-vid{font-size:14.5px}.kb-dok-chto{line-height:1.35;overflow-wrap:anywhere}
.kb-dok-kto{font-size:14px;color:#232227}
.kb-mini img{display:block;width:44px;height:52px;object-fit:cover;border-radius:6px;background:#EFEDEA}
.kb-den-str,.kb-mash-str,.kb-lyudi-str{display:grid;gap:12px;align-items:center;padding:8px 0;
  border-top:1px solid #F0EEEA;font-size:14px}
.kb-den-str{grid-template-columns:160px repeat(6,minmax(0,1fr))}
.kb-mash-str{grid-template-columns:70px 160px 80px 80px 90px minmax(0,1fr)}
.kb-lyudi-str{grid-template-columns:160px minmax(0,1fr) minmax(0,1fr)}
.kb-den-str.zag,.kb-mash-str.zag{border-top:0;border-bottom:1px solid #E4E2DE;font-size:12px;font-weight:700;color:#6E6B75}
@media (max-width:1500px){.kb-pravo{width:320px}.kb-karta-pravo{width:380px}
  .kb-otchety.s-pravym{grid-template-columns:240px minmax(0,1fr)}.kb-otchety.s-pravym .kb-pravo{grid-column:2}
  .kb-zag-str,.kb-zayavka{grid-template-columns:30px 120px 130px minmax(0,1fr) 180px 120px 120px}
  /* Журнал документов на 1366 (найдено 30.09 при №737): постоянные колонки съедали всю ширину,
     и «Что внутри» сжималось до буквы в строке. */
  .kb-dok{grid-template-columns:60px 100px 120px minmax(0,1fr) 130px 150px 110px 48px;gap:10px}}
@media (min-width:1200px) and (max-width:1748px){:where(body.ramka) .kb-pravo{width:320px}:where(body.ramka) .kb-karta-pravo{width:380px}:where(body.ramka) .kb-otchety.s-pravym{grid-template-columns:240px minmax(0,1fr)}:where(body.ramka) .kb-otchety.s-pravym .kb-pravo{grid-column:2}:where(body.ramka) .kb-zag-str,:where(body.ramka) .kb-zayavka{grid-template-columns:30px 120px 130px minmax(0,1fr) 180px 120px 120px}:where(body.ramka) .kb-dok{grid-template-columns:60px 100px 120px minmax(0,1fr) 130px 150px 110px 48px;gap:10px}}
/* Столбиком блоки тянутся на всю ширину: с flex-start «Задачи» брали ширину таблицы «задача × магазин»
   (562 px на 375 при пяти магазинах), и страница выходила шире экрана (D-076). Таблица листается
   внутри своей рамки .kb-matrica. */
@media (max-width:1100px){.kb-setka,.kb-karta-setka{flex-direction:column;align-items:stretch}
  .kb-pravo,.kb-karta-pravo{width:100%}
  .sb-svodka.pyat{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kb-otchety,.kb-otchety.s-pravym{grid-template-columns:1fr}.kb-otchety.s-pravym .kb-pravo{grid-column:auto}
  .kb-menyu{flex-direction:row;overflow-x:auto}.kb-menyu a{min-width:200px}}
@media (min-width:1200px) and (max-width:1348px){:where(body.ramka) .kb-setka,:where(body.ramka) .kb-karta-setka{flex-direction:column;align-items:stretch}:where(body.ramka) .kb-pravo,:where(body.ramka) .kb-karta-pravo{width:100%}:where(body.ramka) .sb-svodka.pyat{grid-template-columns:repeat(2,minmax(0,1fr))}:where(body.ramka) .kb-otchety,:where(body.ramka) .kb-otchety.s-pravym{grid-template-columns:1fr}:where(body.ramka) .kb-otchety.s-pravym .kb-pravo{grid-column:auto}:where(body.ramka) .kb-menyu{flex-direction:row;overflow-x:auto}:where(body.ramka) .kb-menyu a{min-width:200px}}
/* Телефон: строки заявок и документов карточками, разделы прокручиваются вбок. */
@media (max-width:700px){
  body.shiroko main{padding:12px 12px 0}
  body.shiroko header{padding:12px 14px}
  .kb-razdely{flex-basis:calc(100% + 28px);margin:2px -14px -12px;padding:0 14px}
  .kb-razdely.s-magazinami{margin-bottom:0}
  /* Магазины под шапкой карточки стоят по полям шапки: на телефоне они 14 px, а не 24 (D-076). */
  body.shiroko .sb-magaziny{flex-basis:calc(100% + 28px);margin-left:-14px;margin-right:-14px;
    margin-bottom:-12px;padding:10px 14px}
  .kb-razdely a{padding:0 10px;font-size:15px}
  .kb-razdely a.kb-postavit{margin-left:8px}
  .kb-razdely,.kb-filtry,.kb-menyu{scrollbar-width:none}
  body.shiroko .sb-chislo b{font-size:30px}
  body.shiroko .sb-dni{max-width:100%;overflow-x:auto;scrollbar-width:none}
  .kb-razdely::-webkit-scrollbar,.kb-filtry::-webkit-scrollbar,.kb-menyu::-webkit-scrollbar{display:none}
  .kb-filtry{flex-wrap:nowrap;overflow-x:auto;margin-right:-12px;padding-right:12px}
  .kb-chip-f{flex:none}
  .sb-svodka,.sb-svodka.pyat{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .kb-zag-str,.kb-dok.zag,.kb-den-str.zag,.kb-mash-str.zag{display:none}
  .kb-zayavka{grid-template-columns:30px minmax(0,1fr);grid-template-areas:"znak nomer" "znak chto" "znak isp"
    "znak hod" "znak zhdet" "znak deystvie";gap:4px 12px;padding:12px 0}
  .kb-zayavka.prosr,.kb-zayavka.razbor{margin:0 -18px;padding:12px 18px}
  .kb-znak{grid-area:znak;align-self:start}.kb-nomer{grid-area:nomer;flex-direction:row;gap:8px;align-items:baseline}
  .kb-chto{grid-area:chto;font-weight:700;font-size:16px}.kb-isp{grid-area:isp;flex-direction:row;gap:8px}
  .kb-hod{grid-area:hod}.kb-zhdet{grid-area:zhdet}.kb-deystvie{grid-area:deystvie;justify-content:flex-start}
  .kb-poisk .kb-slovo,.kb-poisk .kb-slovo input{width:100%}
  .kb-karta-verh{flex-direction:column}.kb-polya{grid-template-columns:1fr}
  .kb-put li{grid-template-columns:78px 18px minmax(0,1fr);gap:10px}.kb-put li::after{left:95px}
  .kb-dok{grid-template-columns:minmax(0,1fr) 48px;gap:4px 10px}
  .kb-dok>*{grid-column:1}.kb-dok .kb-mini{grid-column:2;grid-row:1/span 4}
  .kb-den-str,.kb-mash-str,.kb-lyudi-str{grid-template-columns:1fr;gap:2px}
  .kb-zad-str{grid-template-columns:minmax(200px,260px) repeat(var(--n),48px) 60px}
  .kb-disc{grid-template-columns:120px repeat(var(--dni),38px) 60px}}
.kb-delo.mel{color:#6B665F}

/* ─── Машина: приход и уход без ошибок (№725, холст владельца 30.09) ───
   Время считается в момент нажатия: кнопки «сейчас» и «N мин назад», крупное время над
   ними, «Другое время» кнопками вместо колёсика (static/mashina.js). */
a.knopka.temnaya,button.temnaya{background:#232227;color:#fff}
a.knopka.tihaya.mashina-stoit{background:#FFF4E5;border:1.5px solid #E9A24B;color:#7A4306;font-weight:700}
.ms-vremya{background:#fff;border-radius:14px;padding:14px 15px;margin-bottom:11px;
  box-shadow:0 1px 3px rgba(0,0,0,.07);display:flex;flex-direction:column;gap:10px}
.ms-vopros{font-size:17px;font-weight:700}
.ms-itog{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 0}
.ms-chasy{font-size:44px;font-weight:800;letter-spacing:-1.5px;line-height:1;font-variant-numeric:tabular-nums}
.ms-kak{font-size:13px;color:#6B665F;text-align:center}
.ms-stoyala{font-size:14px;font-weight:700;color:#1D7A45}
.ms-stoyala.malo{color:#B45309}
.ms-chipy{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ms-chip{display:block;cursor:pointer}
.ms-chip input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.ms-chip span{display:flex;align-items:center;justify-content:center;min-height:48px;padding:6px 4px;
  border:1px solid #D8D4CE;border-radius:12px;background:#fff;font-size:14.5px;font-weight:700;
  text-align:center;line-height:1.2}
.ms-chip input:checked+span{background:#232227;border-color:#232227;color:#fff}
.ms-chip input:focus-visible+span{outline:2px solid #DE0C12;outline-offset:2px}
.ms-chip.nelzya span{color:#BBB6AE;border-style:dashed}
.ms-drugoe summary,.ms-prishla-drugaya summary{list-style:none;cursor:pointer;display:flex;gap:8px;
  align-items:center;justify-content:center;min-height:44px;border:1px dashed #C9C4BC;border-radius:12px;
  font-size:15px;font-weight:700;color:#4F4B45}
.ms-drugoe summary::-webkit-details-marker,.ms-prishla-drugaya summary::-webkit-details-marker{display:none}
.ms-drugoe[open] summary,.ms-prishla-drugaya[open] summary{margin-bottom:10px;border:1.5px solid #4F4B45}
.ms-drugoe summary .ik,.ms-prishla-drugaya summary .ik{transition:transform .15s}
.ms-drugoe[open] summary .ik,.ms-prishla-drugaya[open] summary .ik{transform:rotate(180deg)}
.ms-prishla-drugaya{margin-bottom:11px}
/* «Другое время» барабаном (№730, слово владельца 30.09: «просто крутить или выше ниже
   делать цифры удобно под палец»). Барабан рисует static/mashina.js, поле time под ним
   прячется только вместе с барабаном: без скрипта остаётся поле. */
.ms-s-barabanom .pole{display:none}
.ms-baraban-obertka{display:flex;flex-direction:column;align-items:center;gap:10px;padding:2px 0 4px}
.ms-baraban{display:flex;align-items:flex-start;justify-content:center;gap:8px}
.ms-kol{display:flex;flex-direction:column;align-items:center;gap:6px;width:118px}
button.ms-strelka{display:flex;align-items:center;justify-content:center;width:100%;height:52px;margin:0;
  padding:0;background:#fff;color:#232227;border:1px solid #D8D4CE;border-radius:12px;
  touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
button.ms-strelka:active{background:#F2F0ED}
button.ms-strelka:disabled{opacity:.35;cursor:default}
button.ms-strelka svg{display:block}
.ms-cifry{position:relative;width:100%;height:224px;border-radius:14px;background:#F2F0ED;
  touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;
  align-items:center;justify-content:center;overflow:hidden}
.ms-cifry.tyanut{cursor:grabbing}
.ms-cifry:focus-visible{outline:2px solid #2563EB;outline-offset:2px}
.ms-okoshko{position:absolute;left:5px;right:5px;top:82px;height:60px;border-radius:11px;background:#fff;
  box-shadow:0 0 0 1.5px #232227 inset,0 1px 3px rgba(0,0,0,.08)}
.ms-r{position:relative;display:flex;align-items:center;justify-content:center;font-weight:700;
  font-variant-numeric:tabular-nums;letter-spacing:-.5px}
.ms-r0{height:60px;font-size:42px;font-weight:800;color:#232227}
.ms-r1{height:44px;font-size:27px;color:#8A857E}
.ms-r2{height:38px;font-size:21px;color:#B5B0A8}
.ms-r.vne{color:#E0DCD6}
.ms-dvoetochie{font-size:40px;font-weight:800;line-height:1;margin-top:144px}
.ms-kol-podpis{font-size:12.5px;color:#6B665F}
.ms-baraban.ne-vybrano .ms-okoshko{box-shadow:0 0 0 2px #B45309 inset}
.ms-baraban.ne-vybrano .ms-r0{color:#8A857E}
.ms-predel{font-size:13.5px;font-weight:600;color:#6B665F;text-align:center}
.ms-predel.vnimanie{color:#B45309}
/* «Пришла не в …? Поправить» лежит на фоне страницы, а не в белой карточке. */
.ms-prishla-drugaya .ms-baraban-obertka{background:#fff;border-radius:14px;padding:12px 8px;
  box-shadow:0 1px 3px rgba(0,0,0,.07)}

/* ─── Кто приехал в магазин (№739, холст владельца 30.09, ряд «Кто приехал») ───
   Плитки «Часто» крупные, со значком и подписью; «Реже» столбиком пониже, значок и имя
   на тех же местах, что у крупных. По две в ряд «Роспотребнадзор» не влезал в плитку на
   360 и 375 (осмотр H 01.10). Пока гость в магазине, его кнопка в чек-листе янтарная,
   как у стоящей машины. */
a.knopka.tihaya.gost-v-magazine{background:#FFF4E5;border:1.5px solid #E9A24B;color:#7A4306;font-weight:700}
.metka-novoe{display:inline-block;margin-left:8px;vertical-align:2px;font-size:11.5px;font-weight:800;
  letter-spacing:.3px;padding:2px 8px;border-radius:10px;background:#E3F1E8;color:#1D7A45}
.gs-chasto{display:flex;flex-direction:column;gap:8px;margin-bottom:4px}
.gs-redko{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
a.gs-plitka{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:6px 10px;
  border-radius:12px;border:1.5px solid #E4E2DE;background:#fff;color:#232227;text-decoration:none;
  font-size:15px;font-weight:700;text-align:left}
a.gs-plitka.bolshaya{justify-content:flex-start;gap:14px;min-height:72px;padding:10px 14px;
  box-shadow:0 1px 3px rgba(0,0,0,.07);font-size:17px}
a.gs-plitka.vybrano{border-color:#DE0C12;background:#FDECEC}
.gs-redko a.gs-plitka{justify-content:flex-start;gap:14px;padding:6px 14px}
.gs-redko .gs-ikonka{width:46px}
.gs-ikonka{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#4F4B45}
.gs-plitka.bolshaya .gs-ikonka{width:46px;height:46px;border-radius:12px;background:#F7F6F4}
.gs-plitka.vybrano .gs-ikonka{color:#DE0C12}
.gs-plitka.bolshaya.vybrano .gs-ikonka{background:#fff}
.gs-imya{display:flex;flex-direction:column;gap:2px;min-width:0}
.gs-imya b{line-height:1.25}
.gs-plitka .gs-imya .chto{margin-top:0}
.gs-plitka.vybrano .gs-imya .chto{color:#8A4B4B}
.gs-podskazka{margin:8px 6px 14px;text-align:center;font-size:14px}
.gs-forma,.gs-kto{scroll-margin-top:110px}
.gs-vybrano{display:flex;align-items:center;gap:10px;background:#FDECEC;border:1.5px solid #DE0C12;
  border-radius:12px;padding:10px 12px;margin:4px 0 11px;color:#DE0C12}
.gs-vybrano b{flex:1;color:#232227;font-size:16px}
.gs-vybrano a{color:#8A4B4B;font-size:14px;font-weight:600;white-space:nowrap}
.gs-blok{background:#fff;border-radius:14px;padding:14px 15px;margin-bottom:11px;
  box-shadow:0 1px 3px rgba(0,0,0,.07);display:flex;flex-direction:column;gap:6px}
.gs-blok .vybor.stolbik{margin-top:4px}
.gs-put{display:block;background:#F7F6F4;border-radius:10px;padding:9px 11px;font-size:13.5px;
  line-height:1.4;color:#4F4B45}
.gs-put.gs-put-zapisano{background:#fff;border-radius:12px;padding:12px 14px;margin-bottom:11px;
  box-shadow:0 1px 3px rgba(0,0,0,.07);font-size:14.5px;color:#232227}
textarea.gs-zachem{min-height:64px}
.gs-stoit>span:first-child{display:flex;flex-direction:column;min-width:0}
.gs-stoit .chto{color:#7A4306;margin-top:2px}
.gs-stoit>span:last-child{font-size:15px;font-weight:700;white-space:nowrap}
.gs-zapisano-slovo{font-size:13px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:#1D7A45}
/* Кабинет СБ: «Кто приезжал» в карточке магазина и строка плитки панели (Gosti_SB).
   Полиция, ГБР и Роспотребнадзор красной меткой, 5,9:1 на светло-красном. */
.gs-sb-spisok{list-style:none;margin:8px 0 0;padding:0}
.gs-sb-spisok li{display:flex;flex-direction:column;gap:3px;padding:10px 0;border-top:1px solid #EDEBE7}
.gs-sb-verh{font-size:15px;line-height:1.55}
.gs-sb-verh a{color:#B91C1C;font-weight:700;text-decoration:none}
.gs-sb-niz{font-size:13px;line-height:1.35;color:#6B665F}
.gs-sb-foto{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.gs-vremya{font-variant-numeric:tabular-nums}
.gs-trevoga{display:inline-flex;align-items:center;gap:5px;padding:1px 9px;border-radius:8px;background:#FBE9E9;
  color:#B91C1C;font-size:13.5px;font-weight:700;line-height:1.5;vertical-align:1px}
.gs-esche{color:#B45309}
.gs-mel{color:#6B665F;font-size:13px}
.gs-sb-legenda{display:flex;align-items:center;gap:8px;margin-top:8px;padding-top:10px;
  border-top:1px solid #EDEBE7;font-size:12.5px;color:#6B665F}
.gs-sb-legenda .gs-trevoga{font-size:12.5px}
.gs-plitka-trevoga{display:flex;align-items:center;gap:7px;margin-top:6px;padding:7px 10px;border-radius:10px;
  background:#FBE9E9;color:#B91C1C;font-size:14.5px;font-weight:700}
.ms-pro-sdvig{margin:-2px 2px 12px;font-size:13.5px}
.ms-stoit{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#FFF4E5;
  border:1.5px solid #E9A24B;border-radius:14px;padding:13px 15px;margin-bottom:11px;color:#7A4306}
.ms-stoit b{font-size:17px}
.ms-zapisano{background:#fff;border-radius:14px;padding:18px 16px;margin-bottom:11px;text-align:center;
  box-shadow:0 1px 3px rgba(0,0,0,.07);display:flex;flex-direction:column;align-items:center;gap:4px}
.ms-zapisano>b{font-size:20px}
.ms-zapisano .chto{font-size:13.5px;color:#6B665F}
.ms-zapisano .chto.zhdet{color:#B45309}
.ms-zapisano .chto.beda{color:#B91C1C;font-weight:600}
.ms-galka{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;
  background:#E6F4EA;color:#1D7A45;font-size:24px;font-weight:800;margin-bottom:4px}
.ms-sovet{background:#FFF7ED;border-radius:12px;padding:12px 14px;margin-bottom:11px;font-size:14.5px;line-height:1.4}
.ms-perespros{background:#fff;border-radius:16px;padding:20px 16px;display:flex;flex-direction:column;gap:12px;
  box-shadow:0 1px 3px rgba(0,0,0,.07);text-align:center}
.ms-perespros>b{font-size:20px}
.ms-perespros p{font-size:15px;line-height:1.45}
.ms-perespros form button{margin:0}
.ms-perespros a.knopka{margin:0}
.ms-znak{align-self:center;display:flex;align-items:center;justify-content:center;width:52px;height:52px;
  border-radius:50%;background:#FDF1E3;color:#B45309;font-size:26px;font-weight:800}
.ms-v-gruppe{display:flex;flex-direction:column;gap:6px;margin-bottom:11px}
.ms-puzyr{background:#E9F3E6;border-radius:12px;padding:10px 12px;font-size:15px;line-height:1.4;
  display:flex;flex-direction:column}
.ms-puzyr-kto{font-size:13px}
/* Время в окне «Проверьте перед отправкой» скрипт обновляет раз в 5 секунд: цифры одной
   ширины, строка не дёргается. */
.ms-puzyr-vremya{font-variant-numeric:tabular-nums}
.ms-puzyr s{color:#B91C1C}
.ms-okno .ms-vy-vybrali{background:#FFF7ED;border-radius:10px;padding:10px 12px;font-size:14px}
.ms-okno>.chto{font-size:12.5px;color:#6B665F;text-align:center}
.ms-chipy.ms-tri{grid-template-columns:repeat(3,minmax(0,1fr))}
.ms-yavno .pole{margin-bottom:0}

/* ─── Кабинет техника и холодильщика (№735, холст владельца 30.09) ───
   Телефон, 375: плитки-фильтры 2×2, переключатель «по срочности / по магазинам», один
   магазин списком, карточки заявок с «Принял» и «Сделал». Цвета те же, что у сроков в
   кабинете управляющей: красный просрочено, янтарный ждут, синий в работе, зелёный сделано. */
.isp-plitki{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}
.isp-plitka{display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:74px;padding:10px 14px;
  border-radius:14px;border:1px solid #E4E2DE;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.07);
  color:#232227;text-decoration:none}
.isp-plitka b{font-size:27px;font-weight:800;line-height:1.05;font-variant-numeric:tabular-nums}
.isp-plitka span{font-size:14.5px;font-weight:700;line-height:1.25}
.isp-plitka.novye b{color:#B45309}.isp-plitka.vrabote b{color:#1E40AF}
.isp-plitka.prosr b{color:#B91C1C}.isp-plitka.sdelano b{color:#1D7A45}
.isp-plitka.nol b{color:#A8A29A}
.isp-plitka.tek{box-shadow:none}
.isp-plitka.novye.tek{background:#FFF7ED;border:2px solid #B45309}
.isp-plitka.vrabote.tek{background:#EAF0FC;border:2px solid #1E40AF}
.isp-plitka.prosr.tek{background:#FBE9E9;border:2px solid #B91C1C}
.isp-plitka.sdelano.tek{background:#E3F1E8;border:2px solid #1D7A45}
.isp-rezhim{display:flex;gap:4px;padding:4px;border-radius:14px;background:#ECEAE6;margin-bottom:12px}
.isp-rezhim a{flex:1;display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:10px;
  color:#5E5A54;text-decoration:none;font-size:15px;font-weight:700}
.isp-rezhim a.tek{background:#fff;color:#232227;box-shadow:0 1px 3px rgba(0,0,0,.12)}
/* «Где» (№761, слово владельца 02.10): все, магазины, офис, склад. Чипы ссылками, без скрипта.
   Полоса листается вбок внутри себя на поля main (14 px), страница вбок не едет. Чип с нулём
   приглушён, но стоит: офис и склад наполнятся с ботом ЗАЯВКА. */
.isp-napr-zag{display:block;font-size:13px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;
  color:#6B665F;margin:0 0 6px}
.isp-napr{display:flex;flex-wrap:nowrap;gap:6px;margin:0 -14px 12px;padding:0 14px 2px;overflow-x:auto;
  scrollbar-width:none}
.isp-napr a{flex:none;display:inline-flex;align-items:center;gap:5px;min-height:42px;padding:0 12px;
  border-radius:21px;border:1px solid #D8D4CE;background:#fff;color:#232227;text-decoration:none;
  font-size:14px;font-weight:700;white-space:nowrap}
.isp-napr a b{font-weight:800;color:#6B665F;font-variant-numeric:tabular-nums}
.isp-napr a.nol{background:transparent;border-color:#E4E2DE;color:#6B665F}
.isp-napr a.nol b{color:#A8A29A}
.isp-napr a.tek{background:#232227;border-color:#232227;color:#fff}
.isp-napr a.tek b{color:#D8D4CE}
.isp-vybor{margin-bottom:4px}
.isp-vybor select{font-weight:600}
/* Скрипт isp.js прячет «Показать» атрибутом hidden: общее button{display:block} его перебивало бы. */
.isp-pokazat[hidden]{display:none}
.isp-zag-spiska{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;margin-bottom:6px}
.isp-zag-spiska h2{margin:0}
.isp-sbros{display:flex;align-items:center;min-height:44px;padding:0 14px;border-radius:12px;border:1px solid #D8D4CE;
  background:#fff;color:#232227;text-decoration:none;font-size:14px;font-weight:700;white-space:nowrap}
.isp-gruppa{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}
.isp-gruppa-zag{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;padding:10px 2px 0;
  border-top:1px solid #E4E2DE}
.isp-gruppa-zag span{display:flex;flex-direction:column;min-width:0}
.isp-gruppa-zag span b{font-size:16px;line-height:1.25}
.isp-gruppa-zag i{font-style:normal;font-size:13px;color:#6B665F}
.isp-gruppa-zag>b{font-size:13.5px;color:#4F4B45;white-space:nowrap}
/* Вид места в шапке группы «По местам» (№761): магазин серым, офис и склад синим (obekt). */
.isp-gruppa-vid{font-style:normal;font-size:11.5px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;
  color:#6B665F;margin-bottom:1px}
.isp-gruppa-vid.obekt{color:#1E40AF}
/* Телефон магазина под адресом в шапке группы (№761, холст): ссылкой tel:, синим. Отступ сверху и
   снизу растит место под палец, номер не тянется на всю ширину шапки. */
.isp-gruppa-tel{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:4px 0;
  font-size:14px;font-weight:700;color:#1E40AF;text-decoration:none;font-variant-numeric:tabular-nums}
.isp-kartochka{background:#fff;border-radius:14px;padding:14px;box-shadow:0 1px 3px rgba(0,0,0,.07);
  border:1.5px solid transparent;display:flex;flex-direction:column;gap:8px}
.isp-kartochka.prosr{border-color:#EBA7A7}
.isp-verh{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.isp-sr{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:6px;font-size:12.5px;
  font-weight:800;white-space:nowrap}
.isp-sr.sejchas{background:#FBE9E9;color:#B91C1C}.isp-sr.segodnya{background:#FFF7ED;color:#B45309}
.isp-sr.zhdat{background:#F1EFEC;color:#6B665F}
.isp-nomer{font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap}
.isp-pravo{margin-left:auto;font-size:13.5px;font-weight:700;white-space:nowrap}
.isp-pravo.kr{color:#B91C1C}.isp-pravo.yantar{color:#B45309}.isp-pravo.ser{color:#6B665F}
.isp-telo{display:flex;gap:12px;align-items:flex-start;color:#232227;text-decoration:none}
.isp-tekst{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.isp-tekst b{font-size:16.5px;line-height:1.3;overflow-wrap:anywhere}
.isp-mag{font-size:13.5px;color:#4F4B45}
.isp-mini img{display:block;width:56px;height:56px;object-fit:cover;border-radius:10px;background:#EFEDEA;
  border:1px solid #E4E2DE}
.isp-hod{font-size:13px;line-height:1.4;color:#6B665F}
.isp-hod.kr{color:#B91C1C}.isp-hod.yantar{color:#B45309}.isp-hod.zel{color:#1D7A45}.isp-hod.svezh{font-weight:600}
.isp-dva{display:flex;gap:8px;align-items:center}
.isp-dva>*{flex:1;min-width:0}
.isp-forma{margin:0}
button.isp-knopka,a.isp-knopka{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;
  margin:0;padding:0 12px;border-radius:12px;font-size:15.5px;font-weight:700;text-decoration:none;width:100%}
button.isp-knopka.kontur,a.isp-knopka.kontur{background:#fff;color:#232227;border:1.5px solid #D8D4CE}
button.isp-knopka.temnaya,a.isp-knopka.temnaya{background:#232227;color:#fff;border:0}
.isp-prinyal{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:700;line-height:1.3;color:#1E40AF}
.isp-podval{padding:0 6px;font-size:13.5px;line-height:1.4;color:#6B665F;text-align:center;margin:4px 0 8px}
/* одна заявка */
.isp-zayavka{background:#fff;border-radius:14px;padding:14px;box-shadow:0 1px 3px rgba(0,0,0,.07);
  display:flex;flex-direction:column;gap:10px;border:1.5px solid transparent;margin-bottom:12px}
.isp-zayavka.prosr{border-color:#EBA7A7}
.isp-srochnost{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13.5px;color:#6B665F}
.isp-srochnost .isp-sr{height:26px;padding:0 10px;font-size:13.5px}
.isp-plashka{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:10px;font-size:14.5px;
  font-weight:700;line-height:1.35;border:1px solid #E4E2DE;background:#F1EFEC;color:#4F4B45}
.isp-plashka .ik{margin-top:1px}
.isp-plashka.beda{background:#FBE9E9;border-color:#EBA7A7;color:#B91C1C}
.isp-plashka.zhdem{background:#FFF7ED;border-color:#E9B77A;color:#B45309}
.isp-plashka.ok{background:#E3F1E8;border-color:#A7D3B5;color:#1D7A45}
.isp-chto{font-size:21px;line-height:1.25;letter-spacing:-.2px;overflow-wrap:anywhere}
.isp-podala{font-size:14px;color:#4F4B45}
.isp-snimok{display:flex;flex-direction:column;gap:4px;color:#6B665F;font-size:12.5px;text-decoration:none}
.isp-snimok img{display:block;width:100%;max-height:260px;object-fit:cover;border-radius:10px;background:#EFEDEA;
  border:1px solid #E4E2DE}
.isp-posle{display:flex;flex-direction:column;gap:8px;font-size:14.5px;line-height:1.4}
a.isp-glavnaya,button.isp-glavnaya{display:flex;align-items:center;justify-content:center;min-height:56px;
  margin:0 0 6px;border-radius:12px;background:#DE0C12;color:#fff;font-size:17px;font-weight:700;
  text-decoration:none;width:100%}
.isp-podskazka{font-size:13px;line-height:1.4;color:#6B665F;text-align:center;margin:0 0 12px}
.isp-sdelal-srazu{margin-bottom:6px}
.isp-gotovo{display:flex;align-items:center;gap:8px;background:#E3F1E8;color:#1D7A45;border-radius:12px;
  padding:11px 14px;margin-bottom:12px;font-size:14.5px;font-weight:600;line-height:1.35}
.isp-blok{background:#fff;border-radius:14px;padding:14px;box-shadow:0 1px 3px rgba(0,0,0,.07);
  display:flex;flex-direction:column;gap:4px;margin-bottom:12px}
.isp-blok h2{margin:0 0 6px}
.isp-blok-imya{font-size:18px;line-height:1.3;overflow-wrap:anywhere}
.isp-blok-adres{font-size:15.5px}
.isp-blok-mel{font-size:14px;color:#6B665F}
a.isp-karta{margin-top:8px;min-height:44px}
/* Номер на кнопке «Позвонить» (№761): цифры ровным столбиком и жирнее слова. */
.isp-tel{font-variant-numeric:tabular-nums;font-weight:800}
/* Телефон точки в строке текста (админка «Точки», №761): номер не рвётся на «+7» и остаток. */
.tel-slitno{white-space:nowrap;font-variant-numeric:tabular-nums}
.isp-blok .kb-put{margin-top:4px}
a.isp-peredat{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:12px;
  border:1px dashed #C9C4BC;color:#4F4B45;text-decoration:none;font-size:15px;font-weight:700;margin-bottom:12px}
.isp-peredano{background:#fff;border-radius:14px;padding:14px;box-shadow:0 1px 3px rgba(0,0,0,.07);
  display:flex;flex-direction:column;gap:10px;margin-bottom:12px;font-size:14.5px;line-height:1.45;color:#4F4B45}
.isp-peredano-zag{display:flex;align-items:center;gap:8px;color:#1D7A45}
.isp-peredano-zag b{font-size:17px;color:#232227}
/* Заявку отдала управляющая после «Не моя заявка»: кто вернул, кому отдана, её слова. */
.isp-razbor{background:#FFF7ED;border:1px solid #E9B77A;border-radius:12px;padding:12px 14px;margin-bottom:12px;
  display:flex;flex-direction:column;gap:4px;font-size:14.5px;line-height:1.4;color:#4F4B45}
.isp-razbor b{font-size:15.5px;color:#B45309}
/* Подтверждение «Не моя заявка» листом снизу, без скрипта: у страницы свой параметр в адресе. */
.isp-zatemnenie{position:fixed;inset:0;background:rgba(35,34,39,.45);z-index:20}
.isp-okno{position:fixed;left:0;right:0;bottom:0;z-index:21;background:#fff;border-radius:20px 20px 0 0;
  padding:10px 16px 26px;display:flex;flex-direction:column;gap:12px;box-shadow:0 -4px 18px rgba(0,0,0,.14);
  max-width:560px;margin:0 auto}
.isp-okno-ruchka{align-self:center;width:40px;height:4px;border-radius:2px;background:#D8D4CE}
.isp-okno>b{font-size:19px;letter-spacing:-.2px}
.isp-okno>span{font-size:15px;line-height:1.45;color:#4F4B45}
.isp-okno .isp-knopka{min-height:52px}
/* «Отмена» уже, «Отдать управляющей» шире: на 375 длинная подпись иначе ломалась бы надвое. */
.isp-okno .isp-dva>:first-child{flex:0 0 34%}
/* «Сделал»: что сделали кнопками, комментарий и снимок, всё по желанию */
.isp-kratko{gap:6px}
.isp-chipy{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.isp-chip{position:relative;cursor:pointer}
.isp-chip input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.isp-chip span{display:flex;align-items:center;min-height:46px;padding:0 16px;border-radius:23px;
  border:1px solid #D8D4CE;background:#fff;color:#232227;font-size:15px;font-weight:700}
.isp-chip input:checked+span{background:#232227;border-color:#232227;color:#fff}
.isp-chip input:focus-visible+span{outline:2px solid #DE0C12;outline-offset:2px}
.isp-zapisano{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:18px 0 14px}
.isp-zapisano>b{font-size:24px;letter-spacing:-.3px}
.isp-zapisano>span{font-size:15.5px;color:#4F4B45}
.isp-zapisano .isp-krug{display:flex;align-items:center;justify-content:center;width:72px;height:72px;
  border-radius:50%;background:#E3F1E8;color:#1D7A45}
.isp-itog{display:flex;align-items:flex-start;gap:10px;color:#1D7A45;padding:4px 0}
.isp-itog .ik{margin-top:2px}
.isp-itog span{font-size:15px;line-height:1.4;color:#232227}
/* ── «Запросить фото у магазина» (№761, холст 02.10, ряды 1 и 2) ──
   Окно «Какое фото нужно?» стоит на странице карточки всегда и спрятано атрибутом hidden: flex
   окна иначе перебил бы его, поэтому [hidden] сказан явно. Подсказки видны только со скриптом
   (static/prosba-foto.js). «Ждём фото» янтарём, как просьба отдела, ответ магазина зелёным,
   снимки по три в ряд. */
.isp-okno[hidden],.isp-zatemnenie[hidden],.okno-chipy[hidden]{display:none}
.isp-okno .pole{margin:0}
/* 16 px сказаны здесь явно: до 05.10 общее правило полей писало «font:16px inherit», и браузер
   отбрасывал его целиком, поля выходили 13,3 px (замер 02.10, починено в №771). */
.isp-okno textarea{min-height:84px;resize:none;font-size:16px;font-family:inherit}
.okno-chipy{display:flex;flex-wrap:wrap;gap:8px}
button.okno-chip{display:flex;align-items:center;width:auto;min-height:42px;margin:0;padding:0 14px;
  border-radius:21px;border:1px solid #D8D4CE;background:#fff;color:#232227;font-size:14.5px;font-weight:700}
button.okno-chip.on{background:#232227;border-color:#232227;color:#fff}
.okno-oshibka{font-size:14px;font-weight:600;line-height:1.4;color:#B91C1C}
/* После «Попросить магазин» карточка открывается на этом блоке (#foto-zhdem): он встаёт ниже
   липкой шапки, а не под ней. */
.isp-zapros{display:flex;flex-direction:column;gap:6px;background:#FFF7ED;border:1.5px solid #E9B77A;
  border-radius:14px;padding:12px 14px;margin-bottom:12px;scroll-margin-top:130px}
.isp-zapros b{color:#8A4B0B;font-size:15.5px}
.isp-zapros span{font-size:15px;line-height:1.4;overflow-wrap:anywhere}
.isp-zapros i{font-style:normal;font-size:13px;line-height:1.4;color:#6B665F}
.isp-otvet{display:flex;flex-direction:column;gap:8px;background:#E3F1E8;border:1.5px solid #A7D3B5;
  border-radius:14px;padding:12px 14px;margin-bottom:12px}
.isp-otvet b{color:#1D5B34;font-size:15.5px}
.isp-otvet span{font-size:14.5px;line-height:1.4;overflow-wrap:anywhere}
.isp-otvet i{font-style:normal;font-size:13px;color:#4F4B45}
.foto-ryad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.foto-ryad a{display:block;min-width:0}
.foto-ryad img{display:block;width:100%;height:104px;object-fit:cover;border-radius:10px;background:#EFEDEA;
  border:1px solid #DDD9D3}
/* Просьба у самой заявки в «Заявке в офис» и строка «кто и когда» над формой «Фото для техника». */
.prosba-v-kartochke{margin-top:10px;display:flex;flex-direction:column;gap:8px;background:#FFF7ED;
  border:1.5px solid #E9B77A;border-radius:12px;padding:10px 12px}
.prosba-v-kartochke b{color:#8A4B0B;font-size:14.5px}
.prosba-v-kartochke span{font-size:14.5px;line-height:1.4;overflow-wrap:anywhere}
.prosba-otdela .mel{font-size:13px;line-height:1.4;color:#6B665F}
/* Снимки по просьбе в карточке заявки у управляющей: ответ за ответом, плитки сеткой. Снимков в ответе
   до десяти, и плитка 160 px снимка заявки на 375 встала бы по одной в ряд: здесь их по две. */
.kb-prosba-otvet+.kb-prosba-otvet{margin-top:12px;padding-top:12px;border-top:1px solid #E4E2DE}
.kb-prosba-foto{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-top:8px}
.kb-prosba-foto .kb-snimok-s,.kb-prosba-foto .kb-snimok{width:auto;min-width:0}
.kb-prosba-foto .kb-snimok img{width:100%;height:170px}

/* ── Отчёт исполнителя снимками и видео (№761, холст 02.10: Isp_Sdelal, Mag_Zayavki) ──
   «Сделать снимок», «Из галереи», «Снять видео» кнопками со значком; снимки отчёта плитками
   по три в ряд, видео тёмной плиткой «▶ 0:42», как на холсте. */
.otchet-foto-pole,.otchet-video-pole{margin:0 0 12px;border-top:0;padding-top:0}
.otchet-forma .snyat{display:flex;align-items:center;justify-content:center;gap:8px}
.otchet-forma .snyat[hidden]{display:none}
.otchet-forma .snyat .ik{flex:none}
.hint-video{font-size:13px;color:#6B665F;margin:8px 0 0;text-align:center}
.otchet-skolko{font-size:13.5px;color:#4F4B45;line-height:1.4}
.otchet-ryad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.otchet-ryad.shiroko{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}
.otchet-foto{display:block;border-radius:10px;overflow:hidden;background:#EFEDEA;border:1px solid #E4E2DE}
.otchet-foto img{display:block;width:100%;height:96px;object-fit:cover}
.video-pl{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  height:98px;border-radius:10px;background:#2B2A2F;color:#fff;font-size:12.5px;font-weight:700;
  text-decoration:none}
.video-pl span{font-variant-numeric:tabular-nums}
.video-udaleno{display:block;margin-top:6px;font-size:13px;line-height:1.4;color:#6B665F}
.otchet-mag{margin-top:10px;display:flex;flex-direction:column;gap:8px}
.otchet-mag .otchet-foto img{height:84px}
.otchet-mag .video-pl{height:86px}
.otchet-kletka{display:flex;flex-direction:column;gap:4px;min-width:0}
.otchet-pod{font-size:12.5px;line-height:1.3;color:#6B665F}
.kb-otchet .otchet-ryad{margin-top:6px}
a.isp-dobavit{flex-wrap:wrap;gap:2px 8px;min-height:56px;margin-top:4px;text-align:center}
a.isp-dobavit i{font-style:normal;font-weight:600;font-size:13.5px;color:#1D7A45}
/* Выбранное видео видно сразу (static/video.js): превью, длительность и вес, «Убрать видео». */
.otchet-video{display:flex;align-items:center;gap:12px;background:#FFF7ED;border:1.5px dashed #F59E0B;
  border-radius:10px;padding:10px;margin-bottom:8px}
.otchet-video video{display:block;width:120px;height:90px;flex:none;border-radius:8px;background:#2B2A2F;
  object-fit:cover}
.otchet-video .chto-v{display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}
.otchet-video .chto-v span{font-size:13.5px;line-height:1.4;color:#4F4B45}
.otchet-video .chto-v button{min-height:44px;margin:0}
.video-oshibka{font-size:14px;font-weight:600;line-height:1.4;color:#B91C1C;margin:0 0 8px}

/* ── Возврат покупателю (№737, холст владельца 30.09) ──
   Выбор кнопками, как на холсте: выбранная светло-красная с красной рамкой. Отказ словами
   под каждым полем и красная рамка у поля. Лишнее (снимок чека при «Чека нет», «Что
   подарили» при «Нет») браузер прячет сам через :has, скрипт только проверяет и выключает
   спрятанные поля; старый браузер без :has показывает всё, подписи это объясняют. */
.vz-knopka .vz-novoe{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:10px;
  background:#E3F1E8;color:#1D7A45;font-size:11.5px;font-weight:800;letter-spacing:.3px;
  vertical-align:2px}
.vz-kuda{display:block;margin-top:5px;font-size:12.5px;font-weight:600;line-height:1.3;color:#4F4B45}
.vz-ik{display:inline-block;vertical-align:-2px;margin-right:5px;flex:none}
.vz-blok{margin-bottom:12px}
.vz-blok h2{margin:14px 0 8px}
.vz-zag{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:14px 0 8px}
.vz-zag h2{margin:0}
.vz-zag span{font-size:12.5px;font-weight:700;color:#B91C1C}
.vz-summa{display:flex;align-items:center;gap:10px;min-height:72px;padding:4px 18px;
  border-radius:14px;background:#fff;border:1px solid #E4E2DE;cursor:text}
.vz-summa>span{flex:none;font-size:14px;font-weight:600;line-height:1.25;color:#6B665F}
.vz-summa>span span{display:block}
.vz-summa input[type=text]{flex:1;min-width:0;width:100%;border:0;outline:none;background:transparent;
  padding:0;margin:0;text-align:right;font-size:40px;font-weight:800;letter-spacing:-1px;
  font-variant-numeric:tabular-nums;color:#232227}
.vz-summa b{font-size:30px;font-weight:800;color:#6B665F}
.vz-chipy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.vz-chipy.vz-tri{grid-template-columns:repeat(3,minmax(0,1fr))}
.vz-chipy.vz-stolbik{grid-template-columns:1fr}
.vz-chipy.vz-pilyuli{display:flex;flex-wrap:wrap}
.vz-chip{display:block;position:relative;cursor:pointer}
.vz-chip input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.vz-chip span{display:flex;align-items:center;justify-content:center;gap:9px;min-height:54px;
  padding:6px 10px;border-radius:12px;border:1.5px solid #E4E2DE;background:#fff;color:#232227;
  font-size:16px;font-weight:700;line-height:1.25;text-align:center}
.vz-chipy.vz-tri .vz-chip span{font-size:15px;padding:6px 4px}
.vz-chipy.vz-stolbik .vz-chip span{justify-content:flex-start;text-align:left;min-height:50px;
  padding:10px 16px;font-weight:600}
.vz-chipy.vz-pilyuli .vz-chip span{min-height:44px;padding:0 16px;border-radius:22px;font-size:15px;
  font-weight:600}
.vz-chip .vz-ik{margin:0}
.vz-chip input:checked+span{background:#FDECEC;border-color:#DE0C12;font-weight:700}
.vz-chip input:focus-visible+span{outline:2px solid #2563EB;outline-offset:2px}
.snyat.vz-snyat{background:#FFF5F5;border-color:#DE0C12;color:#DE0C12}
.vz-beda .vz-chip span,.vz-beda .vz-summa,.vz-beda input[type=text],.vz-beda textarea,
.vz-beda .snyat{border-color:#B91C1C}
.vz-osh{margin-top:6px;background:#FBE9E9;color:#B91C1C;border-radius:10px;padding:8px 12px;
  font-size:13.5px;font-weight:600;line-height:1.4}
.vz-osh[hidden]{display:none}
.vz-drugoe-podskazka{margin-top:6px}
.vz-pod.beda{color:#B91C1C;font-weight:600}
.vz-bez-metka{display:inline-block;padding:1px 8px;border-radius:10px;background:#FFF1E6;
  color:#B45309;font-size:12.5px;font-weight:700}
.vz-zapisano{background:#fff;border-radius:14px;padding:22px 18px;box-shadow:0 1px 3px rgba(0,0,0,.07);
  display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;margin-bottom:10px}
.vz-zapisano b{font-size:18px;line-height:1.35}
.vz-zapisano .chto{font-size:13.5px}
.vz-galka{color:#1D7A45}
.vz-galka .vz-ik{display:block;margin:0}
.vz-status{font-size:15px;font-weight:700;color:#1D7A45}
.vz-status.zhdet{color:#B45309}
.vz-status.beda{color:#B91C1C}
@supports selector(:has(*)){
  .vz-forma:has(input[name=chek][value=net]:checked) .vz-s-chekom{display:none}
  .vz-forma:not(:has(input[name=chek][value=net]:checked)) .vz-bez-cheka{display:none}
  .vz-forma:not(:has(input[name=pochemu][value=drugoe]:checked)) .vz-pochemu-slova{display:none}
  .vz-forma:not(:has(input[name=podarok][value=da]:checked)) .vz-podarok-chto{display:none}
  .vz-forma:not(:has(input[name=prichina][value=drugoe]:checked)) .vz-drugoe-podskazka{display:none}
}
/* №734 исправить снимок за три часа (холст Foto_Shag, Foto_Ispravit, Foto_Karta). Кнопка
   «Исправить снимок» заменяет снимок, «Сделать ещё снимок» по-прежнему добавляет. */
.zs-ik{display:block;flex-shrink:0}
.zs-knopka{display:flex;align-items:center;gap:10px;width:100%;min-height:56px;margin:8px 0 0;
  padding:8px 14px;border-radius:12px;border:1.5px solid #E4E2DE;background:#fff;color:#232227;
  text-align:left;text-decoration:none;box-sizing:border-box}
.zs-knopka .zs-ik{color:#4F4B45}
.zs-tekst{display:flex;flex-direction:column;gap:1px}
.zs-tekst b{font-size:15.5px;font-weight:700;line-height:1.2}
.zs-srok{display:block;font-size:12.5px;color:#6B665F;line-height:1.3}
.zs-proshlo{display:flex;align-items:flex-start;gap:7px;margin-top:9px;padding-top:9px;
  border-top:1px dashed #E4E2DE;font-size:13px;line-height:1.4;color:#6B665F;text-align:left}
.zs-proshlo .zs-ik{color:#8A857E;margin-top:1px}
.zs-ispr{margin-top:6px;font-size:13px;font-weight:600;color:#B45309;text-align:left}
.zs-odin{display:flex;gap:12px;align-items:flex-start}
.zs-odin>a{flex:none}
.zs-odin img.snimok{width:66px;height:88px;max-height:none;object-fit:cover;margin:0}
.zs-pravo{flex:1;min-width:0;display:flex;flex-direction:column}
.zs-pravo .foto-est{margin-bottom:0}
.zs-metka{position:absolute;left:6px;bottom:6px;padding:1px 7px;border-radius:6px;background:#B45309;
  color:#fff;font-size:11px;font-weight:700;line-height:1.5}
.bz-foto .zs-metka{left:8px;bottom:8px}
.kb-mini{position:relative;display:block;width:44px}
.kb-mini .zs-metka{left:0;right:0;bottom:0;padding:0;border-radius:0 0 6px 6px;font-size:8px;
  line-height:13px;text-align:center;letter-spacing:-.2px;white-space:nowrap;overflow:hidden}
.zs-plitka{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px 10px}
.zs-bylo{display:flex;flex-direction:column;gap:5px;width:150px;font-size:12.5px;line-height:1.35;
  color:#6B665F}
.zs-bylo b{color:#232227;font-size:13px}
.zs-prezhnie{display:flex;flex-wrap:wrap;gap:6px}
.zs-bylo .zs-prezhniy,.zs-bylo .zs-prezhniy .kadr{width:46px}
.zs-bylo .zs-prezhniy .kadr{height:62px;opacity:.85}
.zs-kto{display:block}
.zs-v-kabinete{display:inline-flex;align-items:center;gap:5px;width:100%;font-size:12.5px;
  font-weight:600;color:#3C5A73;text-decoration:none}
.zs-v-kabinete .zs-ik{width:15px;height:15px}
.zs-blok{background:#fff;border-radius:12px;padding:14px 16px;margin-bottom:10px;
  box-shadow:0 1px 3px rgba(0,0,0,.07)}
.zs-blok h2{margin-top:0}
.zs-zag{display:block;font-size:12.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;
  color:#6E6B75;margin-bottom:8px}
.zs-seychas-ryad{display:flex;gap:12px;align-items:flex-start}
.zs-seychas-ryad img{display:block;width:66px;height:88px;object-fit:cover;border-radius:10px;
  background:#EFEDEA}
.zs-seychas-ryad>div{display:flex;flex-direction:column;gap:2px;font-size:14px;min-width:0}
.zs-seychas .zs-srok{margin-top:10px;font-size:13.5px;font-weight:600;color:#1D7A45}
.zs-seychas .zs-srok.istek,.zs-variant .zs-srok.istek{color:#B45309}
.zs-chipy{display:flex;flex-wrap:wrap;gap:8px}
.zs-chip{position:relative;cursor:pointer}
.zs-chip input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.zs-chip span{display:flex;align-items:center;min-height:44px;padding:0 16px;border-radius:22px;
  border:1px solid #D8D4CE;background:#fff;color:#232227;font-size:15px;font-weight:600}
.zs-chip input:checked+span{background:#232227;border-color:#232227;color:#fff}
.zs-chip input:focus-visible+span{outline:2px solid #2563EB;outline-offset:2px}
.zs-slova{margin-top:10px}
.zs-varianty{display:flex;flex-direction:column;gap:8px}
.zs-variant{display:flex;gap:10px;align-items:center;padding:8px;border-radius:12px;
  border:1.5px solid #E4E2DE;cursor:pointer}
.zs-variant img{width:54px;height:72px;object-fit:cover;border-radius:8px;background:#EFEDEA}
.zs-variant>span{display:flex;flex-direction:column;gap:2px;font-size:13.5px}
.zs-variant.net{opacity:.55;cursor:default}
.zs-gotovo{background:#fff;border-radius:14px;padding:22px 18px;box-shadow:0 1px 3px rgba(0,0,0,.07);
  display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;margin-bottom:10px}
.zs-gotovo>b{font-size:18px}
.zs-galka{color:#1D7A45}
.zs-galka .vz-ik{display:block;margin:0}
.zs-bylo-stalo{display:flex;align-items:center;gap:12px;margin:6px 0}
.zs-bylo-stalo a{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12.5px;
  color:#6B665F;text-decoration:none}
.zs-bylo-stalo img{display:block;width:72px;height:96px;object-fit:cover;border-radius:10px;
  background:#EFEDEA}
.zs-strelka{font-size:20px;color:#8A857E}
.zs-status{font-size:15px;font-weight:700;color:#1D7A45}
.zs-status.zhdet{color:#B45309}
.zs-status.beda{color:#B91C1C}
@supports selector(:has(*)){
  .zs-variant:has(input:checked){border-color:#DE0C12;background:#FDECEC}
  .zs-forma:not(:has(input[name=prichina][value=drugoe]:checked)) .zs-slova{display:none}
}
/* Осмотр после слияния пакета №761 (02.10). Карточка заявки, к которой ведёт «Открыть в СМЕНЕ»
   (#z-<номер>), не прячется под липкой шапкой. «Прислать фото» и «Убрать снимок» под палец не
   ниже 44 px. Плашка «Добавить можно было до…» не липнет к «Уже в отчёте». */
[id^="z-"]{scroll-margin-top:130px}
.prosba-knopka{display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box}
.ubrat-snimok{min-height:44px}
.isp-plashka + .isp-blok{margin-top:12px}
/* «Касса» в заявке (№800, слово владельца 04.10): кассу ведёт Пятигорск, заявку оставляют в 1С. Выбрана
   «Касса» — под карточками инструкция вместо полей заявки, карточки остаются сверху, другую тему
   выбирают, ничего не закрывая. :has видит выбор без скрипта; класс kassa-vybrana ставит сервер по
   ?tema=kassa (возврат формы из браузера без :has и прямая ссылка). */
.kassa-1c{display:none;margin-top:14px;flex-direction:column;gap:12px;background:#FFF7ED;border:1.5px solid #E9B77A;
  border-radius:14px;padding:14px}
.zayavka-forma.kassa-vybrana .kassa-1c,.zayavka-forma:has(input[name=tema][value=kassa]:checked) .kassa-1c{display:flex}
.zayavka-forma.kassa-vybrana .ne-kassa,.zayavka-forma:has(input[name=tema][value=kassa]:checked) .ne-kassa{display:none}
.zayavka-forma.kassa-vybrana:has(input[name=tema]:checked:not([value=kassa])) .kassa-1c{display:none}
.zayavka-forma.kassa-vybrana:has(input[name=tema]:checked:not([value=kassa])) .ne-kassa{display:block}
.k1c-golova{display:flex;flex-direction:column;gap:3px}
.k1c-golova b{font-size:17px;color:#8A4B0B;line-height:1.3}
.k1c-golova span{font-size:14.5px;color:#4F4B45;line-height:1.4}

/* ── Кабинет СБ на два экрана (№804, холст 04.10, правый столбец): «Отчёты магазинов», «Чеки
   магазинов», «Чеки магазина», «Смотреть подряд». Вид для ПК 1920 и 1366, как у кабинета СБ. ── */
.ek-vkladki{display:flex;gap:4px;padding:4px;border-radius:16px;background:rgba(0,0,0,.18)}
.ek-vkladki a{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:12px;color:#fff;text-decoration:none;font-size:16px;font-weight:800;white-space:nowrap}
.ek-vkladki a.tek{background:#fff;color:#B91C1C}
.ek-vkladki .ek-n{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;border-radius:12px;background:#FDE68A;color:#7C2D12;font-size:13px;font-weight:800}
.ek-vkladki a.tek .ek-n{background:#B45309;color:#fff}
.ek-chip{display:inline-block;padding:3px 9px;border-radius:9px;font-size:12.5px;font-weight:800;white-space:nowrap;border:1px solid}
.ek-chip.kras{background:#FBE9E9;border-color:#EBA7A7;color:#B91C1C}
.ek-chip.yant{background:#FFF7ED;border-color:#E9B77A;color:#B45309}
.ek-chip.zel{background:#E3F1E8;border-color:#A7D3B5;color:#1D7A45}
.ek-chip.ser{background:#F1EFEC;border-color:#E4E2DE;color:#4F4B45}
.ek-otkr{display:inline-flex;align-items:center;gap:4px;font-size:14px;font-weight:800;color:#B91C1C;text-decoration:none;white-space:nowrap}
.sb2-polosa{display:flex;align-items:center;gap:22px;padding:14px 24px;background:#fff;border-bottom:1px solid #E4E2DE;margin:-16px -24px 0}
.sb2-polosa .zg{display:flex;flex-direction:column;gap:2px;min-width:240px}
.sb2-polosa .zg b{font-size:18px}
.sb2-polosa .zg span{font-size:13.5px;color:#57534D}
.sb2-hod{flex:1;max-width:620px;font-size:13.5px;color:#57534D;font-weight:600;line-height:1.45}
.sb2-svezh{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:#1D7A45;font-weight:700;background:#E3F1E8;border:1px solid #A7D3B5;border-radius:10px;padding:8px 12px;white-space:nowrap}
.sb2-polosa .pr{margin-left:auto;display:flex;gap:10px;align-items:center}
.sb2-btn{display:inline-flex;align-items:center;gap:8px;width:auto;margin:0;min-height:44px;padding:0 16px;font-size:15px;font-weight:800;border-radius:12px;background:#DE0C12;color:#fff;border:0;text-decoration:none;white-space:nowrap}
.sb2-btn.tiho{background:#fff;color:#232227;border:1px solid #D8D4CE}
.sb2-btn.net{opacity:.45}
.sb2-btn kbd,.sb2-kl kbd,.sb2-podsk kbd{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 5px;border-radius:6px;background:#F1EFEC;border:1px solid #D8D4CE;font-weight:800;font-size:12px;line-height:1;font-family:inherit;color:#232227}
.sb2-main{padding:18px 0 24px;display:flex;flex-direction:column}
.sb2-h{margin:22px 0 10px;font-size:14px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:#57534D;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sb2-h span{font-weight:600;text-transform:none;letter-spacing:0;color:#6B665F;font-size:13.5px}
.sb2-h .pr{margin-left:auto;display:flex;gap:6px}
.sb2-main>.sb2-h:first-child{margin-top:4px}
.sb2-filtr{display:inline-flex;align-items:center;width:auto;margin:0;min-height:34px;padding:0 12px;border-radius:10px;font-size:13.5px;font-weight:800;text-transform:none;letter-spacing:0;background:#fff;border:1px solid #D8D4CE;color:#232227;text-decoration:none;white-space:nowrap}
.sb2-filtr.on{background:#232227;color:#fff;border-color:#232227}
.sb2-svodka{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
a.sb2-ch{display:flex;align-items:baseline;gap:12px;background:#fff;border:1px solid #E4E2DE;border-radius:14px;padding:14px 18px;text-decoration:none;color:#232227}
a.sb2-ch.on{box-shadow:0 0 0 2px #232227 inset;border-color:#232227}
a.sb2-ch b{font-size:30px;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}
a.sb2-ch span{display:flex;flex-direction:column;font-size:15px;font-weight:800;min-width:0}
a.sb2-ch span i{font-style:normal;font-size:13px;font-weight:600;color:#6B665F;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
a.sb2-ch.ok b{color:#1D7A45}a.sb2-ch.vn b{color:#B45309}a.sb2-ch.kr b{color:#B91C1C}
.sb2-dve{display:grid;grid-template-columns:minmax(0,1fr) 500px;gap:24px;align-items:start;margin-top:22px}
.sb2-kol{display:flex;flex-direction:column;gap:16px;min-width:0}
.sb2-kol>.sb2-h:first-child{margin-top:4px}
.sb2-den{background:#fff;border:1px solid #E4E2DE;border-radius:16px;overflow:hidden}
.sb2-den-shk,.sb2-den-str{display:grid;grid-template-columns:200px 78px 84px minmax(0,1fr) 196px;gap:0 14px;align-items:center;padding:0 18px}
.sb2-den-shk{height:40px;background:#FAF9F7;border-bottom:1px solid #E4E2DE;font-size:12px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:#6B665F}
.sb2-den-str{min-height:74px;border-bottom:1px solid #F0EEEA;text-decoration:none;color:#232227}
.sb2-den-str:last-child{border-bottom:0}
.sb2-den-str.vn{background:#FFFBF5}
.sb2-den-str:hover{background:#F7F6F4}
.sb2-mag{display:flex;flex-direction:column;gap:2px;min-width:0}
.sb2-mag b{display:flex;align-items:center;gap:8px;font-size:16px}
.sb2-mag span{font-size:12.5px;color:#6B665F;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sb2-tochka{width:10px;height:10px;border-radius:50%;background:#1D7A45;flex-shrink:0}
.sb2-tochka.vn{background:#D97706}.sb2-tochka.beda{background:#B91C1C}
.sb2-t{display:flex;flex-direction:column;font-variant-numeric:tabular-nums}
.sb2-t b{font-size:19px}
.sb2-t i{font-style:normal;font-size:12px;font-weight:700;color:#6B665F}
.sb2-t.vn b,.sb2-t.vn i{color:#B45309}
.sb2-shkala{position:relative;height:16px}
.sb2-shkala span{position:absolute;top:0;transform:translateX(-50%);font-size:11.5px;font-weight:700;color:#8A857E;text-transform:none;letter-spacing:0}
.sb2-trek{position:relative;height:40px}
.sb2-trek.nizkiy{height:30px}
.sb2-trek .graf{position:absolute;top:15px;height:10px;border-radius:5px;background:repeating-linear-gradient(90deg,#EDEBE7 0 6px,#E4E2DE 6px 8px)}
.sb2-trek .smena{position:absolute;top:13px;height:14px;border-radius:7px;background:#1D7A45;opacity:.9}
.sb2-trek .smena.vn{background:#D97706}
.sb2-trek .opozd{position:absolute;top:13px;height:14px;background:repeating-linear-gradient(45deg,#FDE68A 0 4px,#F59E0B 4px 6px);border-radius:7px 0 0 7px}
.sb2-m{position:absolute;top:0;transform:translateX(-50%);width:26px;height:26px;border-radius:8px;background:#fff;border:1.5px solid #CFCAC3;color:#232227;display:flex;align-items:center;justify-content:center}
.sb2-m.ya{border-color:#D97706;color:#B45309;background:#FFF7ED}
.sb2-m.zl{border-color:#1D7A45;color:#1D7A45}
.sb2-trek.nizkiy .sb2-m{top:2px}
.sb2-dok{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:700}
.sb2-dok span{display:flex;align-items:center;gap:6px;white-space:nowrap}
.sb2-dok .ik{flex-shrink:0}
.sb2-dok .ok{color:#1D7A45}.sb2-dok .vopr{color:#B45309}.sb2-dok .ser{color:#6B665F}
/* Регионы в «Отчётах магазинов» (№916, холст 10.10): кнопки над итогом дня, заголовок группы
   в «Дне магазинов» и строка точек, которые ещё не открыты. */
.sb2-regiony{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 6px}
.sb2-regiony .zg{font-size:13px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:#57534D;margin-right:6px}
a.sb2-region{display:inline-flex;flex-direction:column;align-items:flex-start;width:auto;margin:0;min-height:48px;padding:6px 14px;border-radius:12px;background:#fff;border:1px solid #D8D4CE;color:#232227;text-decoration:none}
a.sb2-region b{font-size:15px}
a.sb2-region span{font-size:12.5px;color:#57534D}
a.sb2-region.on{background:#232227;border-color:#232227;color:#fff}
a.sb2-region.on span{color:#E4E2DE}
.sb2-reg-str{display:flex;align-items:baseline;gap:12px;padding:11px 18px;background:#F1EFEC;border-bottom:1px solid #E4E2DE}
.sb2-reg-str b{font-size:16px;font-weight:800}
.sb2-reg-str b a{color:#232227;text-decoration:none}
.sb2-reg-str span{font-size:13.5px;color:#57534D}
.sb2-reg-zhdut{display:flex;flex-direction:column;gap:2px;padding:12px 18px;background:#FAFAF9;border-bottom:1px solid #F0EEEA;font-size:13.5px;color:#57534D}
.sb2-reg-zhdut b{color:#232227;font-size:14px}
.sb2-reg-metka{display:inline-block;margin-right:6px;font-size:11.5px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:#57534D}
.sb2-legenda{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:#57534D;margin:8px 0 0}
.sb2-legenda span{display:inline-flex;align-items:center;gap:6px}
.sb2-legenda .sb2-m{position:static;transform:none;width:22px;height:22px}
.sb2-legenda i.sw{display:inline-block;width:26px;height:10px;border-radius:5px;background:#1D7A45}
.sb2-legenda i.sw.sv{background:#A7D3B5}
.sb2-legenda i.gr{display:inline-block;width:26px;height:10px;border-radius:5px;background:repeating-linear-gradient(90deg,#EDEBE7 0 6px,#E4E2DE 6px 8px)}
.sb2-legenda i.op{display:inline-block;width:26px;height:10px;border-radius:5px;background:repeating-linear-gradient(45deg,#FDE68A 0 4px,#F59E0B 4px 6px)}
.sb2-legenda i.mt{display:inline-block;width:4px;height:16px;border-radius:2px;background:#B91C1C}
.sb2-legenda i.mt.ya{background:#D97706}.sb2-legenda i.mt.ser{background:#8A857E}
.sb2-pusto{padding:18px;font-size:14px;color:#6B665F}
.sb2-pusto-blok{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid #E4E2DE;border-radius:16px;padding:20px 22px}
.sb2-pusto-blok div{flex:1;display:flex;flex-direction:column;gap:4px}
.sb2-pusto-blok b{font-size:17px}
.sb2-pusto-blok span{font-size:14px;color:#57534D}
.sb2-blok{background:#fff;border:1px solid #E4E2DE;border-radius:16px;padding:16px 18px;display:flex;flex-direction:column;gap:10px}
.sb2-blok h2{margin:0;font-size:14px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:#57534D;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sb2-blok h2 .n{margin-left:auto;font-size:13px;letter-spacing:0;text-transform:none;color:#6B665F;display:flex;gap:6px;flex-wrap:wrap}
.sb2-mel{font-size:13.5px;color:#6B665F}
.sb2-vopr{display:flex;flex-direction:column;gap:8px;border:1px solid #EFE3D0;background:#FFFBF5;border-radius:12px;padding:12px 14px;scroll-margin-top:90px}
.sb2-vopr.gotovo{background:#F4FAF6;border-color:#CDE6D5}
.sb2-vopr.ssylka{background:#fff;border-color:#E4E2DE;text-decoration:none;color:#232227}
.sb2-vopr .vz{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sb2-vopr .vz b{font-size:15.5px}
.sb2-vopr .vz .ek-otkr,.sb2-vopr .vz .ssyl{margin-left:auto}
.sb2-vopr .ssyl{color:#B91C1C;font-weight:800;font-size:14px;display:inline-flex;align-items:center;gap:4px}
.sb2-vopr p{margin:0;font-size:14px;line-height:1.45}
.sb2-vopr p.poch,.sb2-blok p.poch{margin:0;font-size:13.5px;color:#57534D;line-height:1.45}
.sb2-vopr p.poch b,.sb2-blok p.poch b{color:#232227}
.sb2-resh{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0}
.sb2-resh button{white-space:nowrap;display:inline-flex;align-items:center;gap:6px;width:auto;margin:0;min-height:38px;padding:0 12px;font-size:13.5px;font-weight:800;border-radius:10px;background:#fff;color:#232227;border:1px solid #D8D4CE}
.sb2-resh button.ok{color:#1D7A45;border-color:#A7D3B5}
.sb2-resh button.kr{color:#B91C1C;border-color:#EBA7A7}
.sb2-komm{flex-basis:100%}
.sb2-komm summary{font-size:13px;font-weight:700;color:#57534D;cursor:pointer}
.sb2-komm textarea{width:100%;min-height:60px;margin:6px 0 0;border-radius:10px;border:1.5px solid #CFCAC3;padding:8px 10px;font-size:14px;line-height:1.4;font-family:inherit}
.sb2-itog{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:800;color:#1D7A45}
.sb2-itog.kr{color:#B91C1C}
.sb2-itog form{margin:0 0 0 auto}
.sb2-itog button{width:auto;margin:0;min-height:30px;padding:0 10px;font-size:12.5px;border-radius:8px;background:#fff;color:#57534D;border:1px solid #D8D4CE}
.sb2-pov{display:grid;grid-template-columns:170px repeat(7,minmax(36px,56px)) minmax(0,1fr);gap:6px;align-items:center;font-size:13.5px}
.sb2-pov.zg{font-size:11.5px;font-weight:800;color:#8A857E;text-align:center}
.sb2-pov.zg span:first-child{text-align:left}
.sb2-pov>a{display:block;height:26px;border-radius:6px;background:#E3F1E8}
.sb2-pov>a.vn{background:#F59E0B}.sb2-pov>a.kr{background:#B91C1C}.sb2-pov>a.net{background:#EDEBE7}
.sb2-pov>a[aria-current]{outline:2px solid #232227;outline-offset:1px}
.sb2-pov em{font-style:normal;font-size:12.5px;color:#57534D}
.sb2-podsk{font-size:13px;color:#6B665F;line-height:1.5}
.sb2-lenta{display:flex;flex-direction:column}
.sb2-lenta div{display:grid;grid-template-columns:48px 26px minmax(0,1fr);gap:8px;align-items:center;padding:7px 0;border-top:1px solid #F0EEEA;font-size:13.5px}
.sb2-lenta div:first-child{border-top:0}
.sb2-lenta div>b{font-variant-numeric:tabular-nums}
.sb2-lenta .sb2-m{position:static;transform:none;width:24px;height:24px}
a.sb2-filtr[href^="/sb?"],a.sb2-filtr[href="/sb"]{align-self:flex-start}
.sb2-poisk-forma{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0}
.sb2-poisk{display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid #CFCAC3;border-radius:12px;padding:0 14px;min-height:48px;flex:1;max-width:520px}
.sb2-poisk input{border:0;outline:0;font-size:15.5px;flex:1;background:transparent;min-height:44px;padding:0;margin:0;width:auto}
.sb2-poisk-itog{margin:12px 0 8px;font-size:14px;color:#232227}
.sb2-poisk-itog.oshibka{color:#B91C1C;font-weight:700}
.sb2-tabl{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid #E4E2DE;border-radius:16px;overflow:hidden}
.sb2-tabl th{text-align:left;font-size:12px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:#6B665F;padding:11px 14px;background:#FAF9F7;border-bottom:1px solid #E4E2DE}
.sb2-tabl td{padding:12px 14px;border-bottom:1px solid #F0EEEA;font-size:14.5px;vertical-align:middle}
.sb2-tabl tr:last-child td{border-bottom:0}
.sb2-tabl td.n{font-variant-numeric:tabular-nums;font-weight:800}
.sb2-tabl td.kr{color:#B91C1C}.sb2-tabl td.zl{color:#1D7A45}
.sb2-tipy{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
a.sb2-tip{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 14px;border-radius:12px;background:#fff;border:1.5px solid #E4E2DE;color:#232227;font-size:14.5px;font-weight:800;text-decoration:none}
a.sb2-tip b{font-variant-numeric:tabular-nums}
a.sb2-tip.kras b{color:#B91C1C}a.sb2-tip.yant b{color:#B45309}
a.sb2-tip.on{border-color:#232227;box-shadow:0 0 0 2px #232227 inset}
.sb2-och{display:flex;flex-direction:column;background:#fff;border:1px solid #E4E2DE;border-radius:16px;overflow:hidden}
.sb2-och-str{display:grid;grid-template-columns:190px 110px minmax(0,1fr) 330px;gap:16px;align-items:start;padding:16px 18px;border-top:1px solid #F0EEEA;scroll-margin-top:90px}
.sb2-och-str:first-child{border-top:0}
.sb2-och-str.gotovo{background:#FAFCFA}
.sb2-och-str .mg{display:flex;flex-direction:column;gap:4px;align-items:flex-start;min-width:0}
.sb2-och-str .mg .ek-chip{white-space:normal;max-width:100%;line-height:1.3}
.sb2-och-str .mg b{font-size:15.5px}
.sb2-och-str .mg span:not(.ek-chip){font-size:12.5px;color:#6B665F}
.sb2-och-str .sm b{font-size:17px;font-variant-numeric:tabular-nums}
.sb2-och-str .sm span{display:block;font-size:12.5px;color:#6B665F}
.sb2-och-str .op{display:flex;flex-direction:column;gap:5px;font-size:14.5px;line-height:1.4;min-width:0}
.sb2-och-str .op .poch{font-size:13px;color:#57534D}
.sb2-och-str .op .poch b{color:#232227}
.sb2-och-str .op .smena,.sb2-smena{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#232227;background:#F7F6F4;border-radius:8px;padding:5px 9px;align-self:flex-start}
.sb2-och-str b.nom,.sb2-och-str .op b.nom{font-size:17px;letter-spacing:.4px;font-variant-numeric:tabular-nums}
.sb2-och-str .dey{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.sb2-svern{border-top:1px solid #F0EEEA;background:#FAF9F7;font-size:14px;color:#57534D}
.sb2-svern summary{display:flex;align-items:center;gap:10px;padding:14px 18px;cursor:pointer;list-style:none}
.sb2-svern summary::-webkit-details-marker{display:none}
.sb2-svern .ssyl{font-weight:800;color:#B91C1C}
.sb2-svern[open] .ssyl{display:none}
.sb2-svern ul{margin:0;padding:0 18px 14px 44px;display:flex;flex-direction:column;gap:4px}
.sb2-spark{display:flex;align-items:flex-end;gap:3px;height:28px}
.sb2-spark i{display:block;width:10px;border-radius:2px;background:#CFCAC3}
.sb2-spark i.kr{background:#B91C1C}.sb2-spark i.ya{background:#D97706}
.sb2-kassa{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.sb2-kassa>div{background:#fff;border:1px solid #E4E2DE;border-radius:14px;padding:12px 16px;display:flex;flex-direction:column;gap:2px}
.sb2-kassa b{font-size:24px;font-variant-numeric:tabular-nums}
.sb2-kassa span{font-size:13.5px;font-weight:800}
.sb2-kassa i{font-style:normal;font-size:12.5px;color:#6B665F}
.sb2-lt{background:#fff;border:1px solid #E4E2DE;border-radius:16px;padding:16px 18px 18px}
.sb2-lt-str{display:grid;grid-template-columns:190px minmax(0,1fr);gap:14px;align-items:center;min-height:40px}
.sb2-lt-str .im{font-size:14px;font-weight:800}
.sb2-lt-str .im span{display:block;font-size:12px;font-weight:600;color:#6B665F}
.sb2-lt-trek{position:relative;height:30px;border-bottom:1px dashed #E4E2DE}
.sb2-lt-trek .bar{position:absolute;top:8px;height:14px;border-radius:7px;background:#A7D3B5}
.sb2-lt-trek .bar.st{background:#1D7A45}
.sb2-lt-trek .ch{position:absolute;top:4px;transform:translateX(-50%);width:4px;height:22px;border-radius:2px;background:#B91C1C}
.sb2-lt-trek .ch.ya{background:#D97706}.sb2-lt-trek .ch.ser{background:#8A857E}
.sb2-pr{display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:24px;align-items:start}
.kp-nomer{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid #EFE3D0;border-radius:10px;padding:8px 10px}
.kp-nomer b{font-size:19px;font-variant-numeric:tabular-nums;letter-spacing:.5px}
.kp-vid{font-size:12.5px;font-weight:700;color:#6B665F;text-transform:uppercase;letter-spacing:.3px}
button.kp-kopir{width:auto;margin:0 0 0 auto;min-height:34px;padding:0 12px;font-size:13.5px;border-radius:9px;background:#fff;color:#232227;border:1px solid #D8D4CE}
.sb2-karta{scroll-margin-top:90px}
.sb2-cheki5{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.sb2-cheki5 li{display:grid;grid-template-columns:62px 150px minmax(0,1fr) 90px;gap:12px;padding:9px 0;border-top:1px solid #F0EEEA;font-size:14.5px}
.sb2-cheki5 li:first-child{border-top:0}
.sb2-cheki5 li span{color:#57534D}
.sb2-cheki5 li em{font-style:normal;font-weight:800;text-align:right}
.sb2-och-krat{display:flex;flex-direction:column;gap:6px}
a.sb2-och-kr{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;font-size:13.5px;background:#fff;border:1px solid #E4E2DE;color:#232227;text-decoration:none}
a.sb2-och-kr span{flex:1;min-width:0}
a.sb2-och-kr.tek{border:2px solid #232227;font-weight:800}
a.sb2-och-kr.gotovo{color:#6B665F;background:#F7F6F4}
a.sb2-och-kr b{margin-left:auto;font-variant-numeric:tabular-nums;white-space:nowrap}
.sb2-otm-schet{display:flex;gap:16px;font-size:14px;font-weight:800}
.sb2-otm-schet .ok{color:#1D7A45}.sb2-otm-schet .kr{color:#B91C1C}
.sb2-ist{display:flex;flex-direction:column}
.sb2-ist div{display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:10px;padding:8px 0;border-top:1px solid #F0EEEA;font-size:13.5px}
.sb2-ist div:first-child{border-top:0}
.sb2-ist em{font-style:normal;font-weight:800;font-size:12.5px}
.sb2-ist em.ok{color:#1D7A45}.sb2-ist em.kr{color:#B91C1C}
.sb2-tekst{margin:0;font-size:15px;line-height:1.5}
.sb2-kl{display:flex;flex-direction:column;gap:10px;margin:0}
.sb2-kl button{display:flex;align-items:center;gap:12px;width:100%;margin:0;min-height:58px;padding:0 18px;font-size:17px;font-weight:800;border-radius:14px;text-align:left}
.sb2-kl button.ok{background:#1D7A45;color:#fff;border:0}
.sb2-kl button.kr{background:#fff;color:#B91C1C;border:1.5px solid #EBA7A7}
.sb2-kl button kbd{margin-left:auto}
.sb2-kl button.ok kbd{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.35);color:#fff}
.sb2-kom{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:800}
.sb2-kom textarea{min-height:84px;border-radius:12px;border:1.5px solid #CFCAC3;padding:10px 12px;font-size:15px;line-height:1.4;font-family:inherit;resize:vertical;margin:0}
.sb2-podrobno{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;background:#fff;border:1px solid #E4E2DE;border-radius:16px;padding:16px 18px;margin-bottom:16px}
.sb2-levo-kart{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px}
.sb2-levo-kart>.sb2-h{margin:4px 0 0}
.sb2-galereya-blok .pod,.sb2-nedelya .pod{margin-top:4px}
.sb2-galereya{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:8px}
.sb2-galereya .sb2-kadr{display:block;margin:0;width:auto;min-width:0}
.sb2-galereya .sb2-kadr .kadr{display:block;position:relative;width:100%;height:74px;border-radius:8px;overflow:hidden;background:#EDEBE7}
.sb2-galereya .sb2-kadr img{width:100%;height:100%;object-fit:cover;display:block}
.sb2-galereya .sb2-kadr .metka{position:absolute;left:4px;top:4px;font-size:11.5px;font-weight:800;color:#fff;background:rgba(35,34,39,.82);border-radius:6px;padding:2px 6px}
.sb2-kletki{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:8px}
.sb2-kletki a{display:flex;align-items:flex-end;justify-content:center;height:34px;border-radius:7px;background:#E3F1E8;text-decoration:none;color:#57534D;font-size:11.5px;font-weight:800;padding-bottom:3px}
.sb2-kletki a.vn{background:#F59E0B;color:#fff}.sb2-kletki a.kr{background:#B91C1C;color:#fff}.sb2-kletki a.net{background:#EDEBE7}
.sb2-kletki a[aria-current]{outline:2px solid #232227;outline-offset:1px}
.sb2-nedelya-slova{margin:8px 0 0;padding:0;list-style:none;font-size:13px;color:#57534D;display:flex;flex-direction:column;gap:3px}
.sb2-knopki{display:flex;gap:10px;margin-left:auto;align-items:center;flex-wrap:wrap}
.sbk-itog .fakt b.imya{font-size:16px;white-space:nowrap}
.sb2-podskazka .telo p{margin:0 0 6px;font-size:13.5px;line-height:1.4}
.sb2-podskazka .ssyl{font-size:13px;font-weight:800;color:#B91C1C;text-decoration:none;display:inline-flex;align-items:center;gap:4px}
.sb2-vosk{width:22px;height:22px;border-radius:50%;background:#D97706;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;flex:none}
@media (max-width:1700px){.sb2-dve{grid-template-columns:minmax(0,1fr) 430px}.sb2-och-str{grid-template-columns:170px 100px minmax(0,1fr) 300px}}
@media (min-width:1200px) and (max-width:1948px){:where(body.ramka) .sb2-dve{grid-template-columns:minmax(0,1fr) 430px}:where(body.ramka) .sb2-och-str{grid-template-columns:170px 100px minmax(0,1fr) 300px}}
@media (max-width:1500px){.sb2-dve{grid-template-columns:minmax(0,1fr) 380px}.sb2-pr{grid-template-columns:minmax(0,1fr) 380px}
  .sb2-den-shk,.sb2-den-str{grid-template-columns:150px 64px 70px minmax(0,1fr) 150px;gap:0 10px;padding:0 14px}
  .sb2-dok span{white-space:normal}
  .sb2-och-str{grid-template-columns:160px 96px minmax(0,1fr)}.sb2-och-str .dey{grid-column:1/-1;flex-direction:row;align-items:center}
  .sb2-polosa{flex-wrap:wrap}.sb2-podrobno{grid-template-columns:minmax(0,1fr)}
  .sb2-pov{grid-template-columns:130px repeat(7,minmax(28px,46px)) minmax(0,1fr)}}
@media (min-width:1200px) and (max-width:1748px){:where(body.ramka) .sb2-dve{grid-template-columns:minmax(0,1fr) 380px}:where(body.ramka) .sb2-pr{grid-template-columns:minmax(0,1fr) 380px}:where(body.ramka) .sb2-den-shk,:where(body.ramka) .sb2-den-str{grid-template-columns:150px 64px 70px minmax(0,1fr) 150px;gap:0 10px;padding:0 14px}:where(body.ramka) .sb2-dok span{white-space:normal}:where(body.ramka) .sb2-och-str{grid-template-columns:160px 96px minmax(0,1fr)}:where(body.ramka) .sb2-och-str .dey{grid-column:1/-1;flex-direction:row;align-items:center}:where(body.ramka) .sb2-polosa{flex-wrap:wrap}:where(body.ramka) .sb2-podrobno{grid-template-columns:minmax(0,1fr)}:where(body.ramka) .sb2-pov{grid-template-columns:130px repeat(7,minmax(28px,46px)) minmax(0,1fr)}}
@media (max-width:1279px){.sb2-dve,.sb2-pr{grid-template-columns:minmax(0,1fr)}
  .sb2-svodka,.sb2-kassa{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1200px) and (max-width:1527px){:where(body.ramka) .sb2-dve,:where(body.ramka) .sb2-pr{grid-template-columns:minmax(0,1fr)}:where(body.ramka) .sb2-svodka,:where(body.ramka) .sb2-kassa{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* «Все точки Омска» в «Завести сотрудника» (№761, решение владельца 05.10): галочка видна, пока
   выбрана должность, которой положены вторые точки (option с data-vtorye); остальным вместо неё
   строка, у кого «все точки» бывают. :has видит выбор без скрипта; старый браузер без :has
   показывает галочку всем, и тогда правило держит сервер, отказом словами. */
.vse-tochki-net{display:none;margin-top:10px}
@supports selector(:has(*)){
  .forma-lyudi:has(select[name=rol] option:checked:not([data-vtorye])) .vse-tochki{display:none}
  .forma-lyudi:has(select[name=rol] option:checked:not([data-vtorye])) .vse-tochki-net{display:block}
}
/* Карточка человека: строка региона над точками, форма с кнопкой «Прикрепить все» в один ряд. */
.vse-tochki-region{margin-bottom:10px}
.vse-tochki-region button{white-space:nowrap}
/* Кабинет исполнителя на компьютере (№819): таблица /isp/pk теми же kb-* классами, что у
   управляющей. «Сейчас» красным в колонке срочности; ссылка на таблицу в /isp видна только на
   широком экране: с телефона таблица не нужна. */
.kb-isp b.sejchas{color:#B91C1C}
.kb-isp i a{color:inherit;text-decoration:none;white-space:nowrap}
.isp-na-pk{display:none}
@media (min-width:900px){.isp-na-pk{display:flex;align-items:center;justify-content:center;min-height:44px;
  margin:0 0 12px;border-radius:12px;border:1.5px solid #232227;background:#fff;color:#232227;
  font-weight:700;text-decoration:none}}
.kb-pravilo b.beda{color:#B91C1C}
.kb-deystvie .kb-chip{white-space:nowrap}

/* №740: статус приёмки перемещения у отправителя и кнопка «Снять перемещение» (холст Otpr_Forma) */
.chto.priemka{font-weight:600;color:#6B665F;margin-top:2px}
.chto.priemka.zhdet{color:#B45309}
.chto.priemka.ok{color:#1D7A45}
.chto.priemka.beda{color:#B91C1C}
.pusto .chto.priemka{margin-top:6px}
.vybor.stolbik+.pole{margin-top:12px}
.knopka-snyat{display:inline-flex;align-items:center;min-height:44px;margin-top:8px;padding:0 14px;
  border:1px solid #E4E2DE;border-radius:10px;background:#fff;color:#B91C1C;font-size:14.5px;
  font-weight:600;text-decoration:none}
.knopka-snyat:focus-visible{outline:2px solid #2563EB;outline-offset:2px}
/* №771: на телефоне поле мельче 16 px заставляет iPhone увеличивать страницу при вводе.
   До 05.10 общие правила писали «font:16px inherit»: такую запись браузер выбрасывает
   целиком, и поля жили на своих 13,3 px. Это правило держит 16 px на узком экране
   у любого поля, даже где своё правило задаёт меньше (поиск кабинетов). */
@media (max-width:899px){input,select,textarea{font-size:16px!important}}

/* Мониторинг конкурентов (№885). Форма «Поставить задачу»: вид задачи радиокнопками, блок
   невыбранного вида спрятан (form:has). Экран магазина: у каждого конкурента своя сетка по три
   снимка в ряд, «уходит» на снимках из очереди телефона. Таблица офиса: магазин × конкурент,
   в клетке число снимков и имя конкурента (у каждого магазина конкуренты свои). */
.vid-zadachi{display:flex;flex-direction:column;gap:10px;margin-bottom:6px}
.vid-zadachi .vid{display:flex;flex-direction:column;gap:3px;padding:14px 16px;background:#fff;border-radius:12px;
  border:1.5px solid #E4E2DE;cursor:pointer}
.vid-zadachi .vid input{position:absolute;opacity:0;pointer-events:none}
.vid-zadachi .vid b{font-size:17px}
.vid-zadachi .vid span{font-size:14px;color:#6E6B75}
.vid-zadachi .vid:has(input:checked){border-color:#DE0C12;background:#FDECEC}
.vid-zadachi .vid:has(input:checked) span{color:#9B3A3A}
.vid-zadachi .vid:has(input:focus-visible){outline:2px solid #232227;outline-offset:2px}
.forma-zadachi:has(input[name=vid][value=monitoring]:checked) .vid-obychnaya{display:none}
.forma-zadachi:not(:has(input[name=vid][value=monitoring]:checked)) .vid-monitoring:not(.vsegda){display:none}
.vid-monitoring .chto{margin:6px 0 10px}
.vid-monitoring .punkt .chto{display:inline;margin:0 0 0 6px;font-style:normal}
.mon-ot-do{display:flex;gap:14px;align-items:center;margin-bottom:10px}
.mon-ot-do label{display:flex;align-items:center;gap:10px;font-size:16px}
.mon-ot-do input{width:92px;margin:0}
.mon-karta .mon-itog{margin:8px 0 10px;font-weight:700;color:#4F4B45}
.mon-karta .srok.beda{color:#DE0C12}
.mon-pere{display:flex;flex-direction:column;gap:2px;margin:8px 0;padding:9px 12px;border-left:3px solid #E9B77A;
  background:#FDF6EC;border-radius:0 8px 8px 0;font-size:14px}
.mon-pere b{color:#B45309}.mon-pere span{color:#4F4B45}.mon-pere i{font-style:normal;font-size:12.5px;color:#6E6B75}
.mon-pere.ser{border-left-color:#C9C5BE;background:#F7F6F4}.mon-pere.ser b{color:#4F4B45}
.mon-vvod{margin:0 0 12px}
.mon-kon .metka.mon-gotovo{background:#E3F1E8;color:#1D7A45}
.mon-kon .metka.mon-prichina{background:#FDF1E3;color:#B45309}
.mon-schet{margin:12px 0 8px;padding-top:11px;border-top:1px dashed #E4E2DE;font-weight:700;color:#4F4B45;
  font-variant-numeric:tabular-nums}
.mon-setka{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.kb-pravo .mon-setka{margin:10px 0}
.mon-plitka{position:relative;display:block;border-radius:9px;overflow:hidden;background:#F1EFEC}
.mon-plitka img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.mon-plitka form{margin:0}
.mon-plitka .ubrat-snimok{position:absolute;top:4px;right:4px;width:30px;height:30px;min-height:0;margin:0;padding:0;
  border:0;border-radius:15px;background:rgba(20,20,22,.74);color:#fff;font-size:0;text-decoration:none;
  display:flex;align-items:center;justify-content:center}
.mon-plitka .ubrat-snimok::after{content:"×";font-size:20px;line-height:1}
.mon-esche img{filter:brightness(.45)}
.mon-esche span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;
  font-size:20px;font-weight:800}
.mon-plitka.uhodit img{opacity:.45}
.mon-plitka .mon-metka{position:absolute;left:5px;bottom:5px;padding:2px 6px;border-radius:6px;background:#fff;
  font-size:11px;font-weight:700;color:#B45309}
.mon-plitka.otkaz .mon-metka{color:#B91C1C}
.mon-zagruzka{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.mon-zagruzka label.snyat{flex:1 1 40%;margin:0}
.mon-zagruzka .mon-bez-skripta{flex:1 1 100%}
.mon-zagruzka.skript .mon-bez-skripta{display:none}
.mon-ostalos{margin-top:8px}
.mon-ne-smogli{margin-top:10px}
.mon-ne-smogli>summary{list-style:none;text-align:center;border:1.5px solid #C9C5BE;box-shadow:none;
  display:block;background:#fff;color:#232227;border-radius:12px;padding:13px;font-size:16px;font-weight:600;cursor:pointer}
.mon-ne-smogli>summary::-webkit-details-marker{display:none}
.mon-ne-smogli form{margin-top:10px}
.mon-sdat{margin-top:14px}
.mon-sdat-knopka[disabled]{opacity:.5;cursor:not-allowed}
.mon-sdano{display:flex;flex-direction:column;gap:2px;margin-bottom:12px;padding:12px 14px;border-radius:12px;
  background:#E3F1E8;color:#1D7A45}
.mon-sdano span{color:#2F5E43;font-size:14px}
.mon-vkladki{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.mon-vkladki .kb-razdely{flex:1 1 auto;margin:0}
.mon-vkladki .mon-arhiv{width:auto;margin:0;padding:10px 18px;border:1.5px solid #DE0C12;color:#DE0C12;box-shadow:none}
.mon-matrica{overflow-x:auto}
.mon-str{display:grid;grid-template-columns:minmax(200px,300px) repeat(var(--n),minmax(78px,110px)) 70px;
  align-items:center;gap:0 6px;padding:8px 0;border-bottom:1px solid #F0EEEA}
.mon-str.zag{font-size:12px;font-weight:700;color:#6E6B75;text-transform:uppercase;letter-spacing:.4px;
  border-bottom-color:#E4E2DE}
.mon-kol{text-align:center}
.mon-mag{display:flex;flex-direction:column;gap:3px;padding-right:10px}
.mon-mag b{font-size:14.5px}
.mon-mag span{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:12.5px;color:#6B665F}
.mon-gotovo-n{text-align:right;font-weight:800;font-variant-numeric:tabular-nums}.mon-gotovo-n.vse{color:#1D7A45}
.mon-kl{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:44px;border-radius:8px;
  box-sizing:border-box;text-decoration:none;padding:3px 4px;color:#232227;border:1.5px dashed #E4E2DE}
.mon-kl b{font-size:15px;font-variant-numeric:tabular-nums}
.mon-kl span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:#6B665F}
.mon-kl.ok{background:#E3F1E8;border:0;color:#1D7A45}
.mon-kl.idut{background:#EAF0FC;border:1.5px solid #8FA8E6;color:#1E40AF}
.mon-kl.prichina{background:#FDF1E3;border:1.5px solid #E9B77A;color:#B45309}
.mon-kl.net{background:#F7F6F4;border:0}
.mon-kl.tek{outline:2.5px solid #232227;outline-offset:1px}
.mon-kl.mini{display:inline-flex;width:24px;min-height:18px;height:18px;border-radius:5px;flex:none;padding:0}
a.mon-kl:hover{filter:brightness(.96)}
.mon-prezhnie summary{cursor:pointer;color:#6E6B75;font-size:13.5px}
.stroka a.mon-ssylka{color:inherit;text-decoration:none;font-weight:700}
.mon-tekst-kruga{margin:16px 2px 12px;font-size:14px;color:#232227;font-weight:600}
.mon-sprav form{margin-top:10px}
@media (max-width:899px){.mon-vkladki .mon-arhiv{width:100%}}
/* №884 «Одна поломка, одна заявка» (холст 07.10). Под плиткой исполнителя в форме магазина стоит его
   открытая заявка. Без :has блок виден у всех трёх плиток сразу, с :has только у выбранной. */
.vybor.stolbik .dubl-blok{margin:-2px 0 4px}
@supports selector(:has(*)){
  .vybor.stolbik .v:not(:has(input:checked))+.dubl-blok{display:none}
}
.dubl-blok .prosba-tekst .chto{display:block;color:#6B665F;font-size:13.5px}
.dubl-blok>.prosba-knopka{width:100%;justify-content:center;text-align:center}
.dubl-blok .isp-knopka.kontur{display:flex;align-items:center;justify-content:center;text-align:center;
  box-sizing:border-box;padding:8px}
button.prosba-knopka{border:0;font-family:inherit;cursor:pointer}
.isp-dubl{margin:0 0 12px}
.isp-dubl .isp-kartochka,.isp-dubl .isp-k{margin:0}
.isp-dubl .prosba-knopki .isp-knopka{display:flex;align-items:center;justify-content:center;
  box-sizing:border-box;padding:8px;text-align:center;font-family:inherit}
.isp-pohozhaya .prosba-knopka{width:100%;justify-content:center}
.isp-dubl-stroka{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:12px;align-items:baseline;
  padding:8px 10px;border-radius:10px;background:#fff;border:1px solid #F0D3AC;color:#232227;
  text-decoration:none;font-size:14.5px}
.isp-dubl-stroka span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.isp-dubl-stroka i{font-style:normal;color:#6B665F;font-size:13px}
.dubl-dopolneniya{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.dubl-dop{display:flex;flex-direction:column;gap:4px;background:#FFF7ED;border:1px solid #F0D3AC;
  border-radius:10px;padding:8px 10px;font-size:14.5px;line-height:1.4;overflow-wrap:anywhere}
.dubl-dop .chto{font-size:12.5px;color:#8A4B0B}
.dubl-snimok img{display:block;max-width:100%;max-height:220px;border-radius:8px}
.dubl-vest{margin-bottom:10px}
@media (min-width:900px){
  .isp-dubl{display:flex;flex-direction:column;gap:6px}
  .isp-dubl .prosba-knopki{max-width:420px}
}
.dubl-drugoe{font-weight:700}
.kb-kz .kb-kz-tekst{display:flex;flex-direction:column;gap:2px;color:#232227}
/* №889, №890: открыли без листа спецзадач, закрыли без Z-отчёта. Жёлтым, а не красным:
   причину магазин назвал, смена открыта или закрыта. */
.shag-pozzhe{background:#FFF7ED;border:1px solid #E9B77A;border-radius:10px;padding:9px 12px;
  margin-top:8px;color:#B45309;font-size:14px;font-weight:600;line-height:1.4}
.pl-pozzhe{background:#FFF7ED;border:1.5px solid #E9B77A;color:#B45309}
.doslat.pozzhe{background:#FFF7ED;border:1.5px solid #E9B77A}
.doslat.pozzhe .plashka-verh b{color:#B45309}
.plashka-smeny .sost.bez-lista i{border-color:#F59E0B;background:#F59E0B}
.vopros-bez-z{border:1.5px solid #E9B77A;background:#FFF7ED;border-radius:12px;padding:10px 12px;margin:0 0 10px}
.vopros-bez-z legend{font-weight:700;padding:0 4px}
.vopros-bez-z .vybor{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 8px}
.vopros-bez-z .vybor label.v{flex:1 1 45%}
.vopros-bez-z .pole{display:block;font-size:13.5px}
.vopros-bez-z .pole input{width:100%;border:1px solid #E4E2DE;border-radius:10px;padding:10px 12px;
  font-size:16px;font-family:inherit;margin-top:4px}
.okno .okno-prichiny{display:flex;flex-direction:column;gap:8px}
.okno .okno-kom{width:100%;border:1px solid #E4E2DE;border-radius:12px;padding:12px 14px;
  font-size:16px;font-family:inherit}
.okno p.chto{font-size:13px;color:#6E6B75;margin:0}

/* Отзывы о магазине и рейтинг магазинов из ОКО (№891, холст 07.10: otzyvy_mag, reyting_upr).
   Плохой отзыв (1-3 звезды) с красной рамкой и красными звёздами, хороший с зелёными. */
.otz-chipy{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 6px}
.otz-chip{padding:8px 14px;border-radius:20px;font-weight:600;font-size:15px;text-decoration:none;
  background:#fff;border:1px solid #E2DED8;color:#4A4640}
.otz-chip.on{background:#1F1D1A;border-color:#1F1D1A;color:#fff}
.otz-ocenki{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:center;background:#fff;
  border:1px solid #E2DED8;border-radius:14px;padding:14px 16px;margin-top:10px}
.otz-ocenka b{display:block;font-size:30px;font-weight:800;line-height:1.15}
.otz-ocenka span{display:block;color:#6B665F;font-size:14px}
.otz-ocenka i{display:block;font-style:normal;color:#6B665F;font-size:13px;margin-top:4px}
.otz-ocenka.net b{color:#A8A39B;font-size:22px}
.otz-otzyv{background:#fff;border:1px solid #E2DED8;border-radius:14px;padding:14px 16px;margin-top:10px}
.otz-otzyv.ploh{border-color:#F2B8B5}
.otz-verh{display:flex;justify-content:space-between;gap:8px;font-size:14px;color:#6B665F}
.otz-verh>span:last-child{white-space:nowrap;flex-shrink:0}
.otz-zv{color:#1D7A45;font-size:16px;letter-spacing:1px}
.otz-otzyv.ploh .otz-zv{color:#B91C1C}
.otz-tekst{margin-top:6px;font-size:16px;line-height:1.45;overflow-wrap:anywhere}
.otz-tekst.pusto-tekst{color:#A8A39B;font-size:14px}
.otz-niz{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:10px;font-size:13.5px}
.otz-otvet{color:#6B665F}
.otz-ssylka{color:#6B665F}
.otz-zadacha{display:inline-block;padding:9px 13px;border-radius:10px;background:#1F1D1A;color:#fff;
  font-weight:600;font-size:14px;text-decoration:none}
.otz-tablica-obertka{background:#fff;border:1px solid #E2DED8;border-radius:14px;padding:6px 8px;
  margin-top:10px;overflow-x:auto}
.otz-tablica{width:100%;border-collapse:collapse;font-size:14px}
.otz-tablica th{color:#6B665F;font-size:13px;font-weight:600;text-align:left;padding:6px 4px}
.otz-tablica td{padding:9px 4px;border-top:1px solid #F0EDE8}
.otz-tablica{table-layout:fixed}
.otz-tablica .c{text-align:center;width:15%}
.otz-tablica .n{color:#6B665F;width:26px}
.otz-tablica .mag{font-weight:600}
.otz-tablica td.ploh{color:#B91C1C;font-weight:700}
.otz-podval{margin-top:14px}
/* Подменный продавец на шаге 1 (08.10): поиск под списком, найденный встаёт строкой с точкой. */
.poisk-podmeny{margin-top:12px;padding-top:12px;border-top:1px dashed #E4E2DE}
.poisk-podmeny[hidden]{display:none}
.poisk-podmeny-itog{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.poisk-podmeny-itog button{text-align:left;padding:10px 12px;border:1.5px solid #E4E2DE;
      border-radius:12px;background:#fff;color:#1F1D1A;font-size:16px;font-weight:600;cursor:pointer;width:100%}
.poisk-podmeny-itog button i,.podmena-otkuda{display:block;font-style:normal;font-size:13px;color:#6E6B75}
.chelovek .v-smene{flex-wrap:wrap}
.chelovek .v-smene .podmena-otkuda{flex-basis:100%;padding-left:32px;margin-top:-6px}
.pole .poisk-podmeny-ryad{display:flex;gap:8px;align-items:stretch;font-size:inherit;font-weight:400;
      letter-spacing:0;text-transform:none;color:inherit;margin:0}
.poisk-podmeny-pole{flex:1;min-width:0;width:auto}
.poisk-podmeny-pole.nado{border-color:#E9A24B;background:#FFFBF3}
.poisk-podmeny .poisk-podmeny-knopka{width:auto;margin:0;padding:0 18px;background:#232227;color:#fff}
.poisk-podmeny-itog .otvet{font-size:16px;font-weight:600;color:#232227;margin:6px 0 2px}

/* ── Справочник продавца (№902, холст 09.10) ── */
.spr-poisk input[type=search]{margin-bottom:0}
.spr-chipy{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 4px}
.spr-chip{display:inline-flex;align-items:center;min-height:36px;padding:0 13px;border-radius:18px;
      background:#fff;border:1px solid #E4E2DE;font-size:14px;font-weight:600;text-decoration:none;color:#232227}
.spr-spisok,.spr-kartochka{background:#fff;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.07);overflow:hidden;margin-bottom:12px}
.spr-pgr{font-size:12.5px;font-weight:600;color:#8A857D;padding:10px 14px 4px;border-top:1px solid #EFEDEA;background:#FBFAF9}
.spr-pgr:first-child{border-top:0}
.spr-str{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:46px;padding:9px 14px;
      border-top:1px solid #EFEDEA;text-decoration:none;color:#232227;font-size:15.5px;font-weight:600}
.spr-str:first-child,.spr-pgr+.spr-str{border-top:0}
.spr-str span{display:block;font-size:13px;font-weight:400;color:#6B665F;margin-top:2px}
.spr-str i{font-style:normal;color:#A8A29A;font-size:18px;flex:none}
.spr-glavnoe{background:#fff;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.07);margin:0 0 12px;
      padding:12px 14px 12px 34px;font-size:15px;line-height:1.45}
.spr-glavnoe li+li{margin-top:7px}
.spr-ryad{display:flex;gap:12px;padding:11px 14px;border-top:1px solid #EFEDEA;font-size:15px;line-height:1.4}
.spr-ryad:first-child{border-top:0}
.spr-ryad b{flex:none;width:96px;font-weight:800;font-variant-numeric:tabular-nums}
.spr-ryad div{flex:1;min-width:0}
.spr-pri{display:inline-block;margin-top:4px;font-size:12.5px;font-weight:600;background:#F1EFEC;border-radius:6px;padding:2px 7px}
.spr-ryad .spr-pri{display:table}
.spr-shagi{background:#fff;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.07);margin-bottom:12px}
.spr-shagi summary{min-height:48px;display:flex;align-items:center;padding:0 14px;font-weight:600;cursor:pointer}
.spr-shagi ol{margin:0;padding:0 14px 12px 34px;font-size:15px;line-height:1.45}
.spr-shagi li+li{margin-top:8px}
.spr-vazhno{background:#FDECEC;color:#7F1D1D;border-radius:12px;padding:12px 14px;margin-bottom:12px;font-size:14.5px}
.spr-istochnik{font-size:12.5px;color:#8A857D;margin:4px 2px 12px}
.spr-ssylka{display:block;text-align:center;font-size:14px;font-weight:600;color:#232227;padding:12px 0 2px}
.spr-pri.smena{background:#E3F2E8;color:#1D7A45}
/* «Мои магазины» управляющей в виде кабинета СБ (№917): шестая колонка «Дела магазина» в строке
   дня, пять чисел итога, «Напомнить» под просроченной заявкой в «Требует внимания». На телефоне
   строка магазина складывается в карточку: шкала и дела во всю ширину. */
.sb2-svodka.kb-itog{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.sb2-den.kb-s-delami .sb2-den-shk,.sb2-den.kb-s-delami .sb2-den-str{grid-template-columns:190px 74px 80px minmax(0,1fr) 170px 230px}
.sb2-dela{display:flex;flex-wrap:wrap;gap:5px;padding:8px 0}
.sb2-dela span{font-size:12.5px;font-weight:800;line-height:1.25;padding:4px 9px;border-radius:10px;background:#F1EFEC;color:#4F4B45}
.sb2-dela span.kr{background:#FBE9E9;color:#B91C1C}
.sb2-dela span.vn{background:#FFF1E6;color:#B45309}
.sb2-dela span.ok{background:#E3F1E8;color:#1D7A45}
.kb-vnim{gap:4px}
.kb-kassa{margin-top:22px}
.kb-vn-napom{display:flex;flex-direction:column;gap:6px}
.kb-vn-napom .kb-napomnit{padding-left:15px}
@media (max-width:1500px){.sb2-den.kb-s-delami .sb2-den-shk,.sb2-den.kb-s-delami .sb2-den-str{grid-template-columns:140px 62px 66px minmax(0,1fr) 140px 170px;gap:0 10px;padding:0 14px}}
@media (min-width:1200px) and (max-width:1748px){:where(body.ramka) .sb2-den.kb-s-delami .sb2-den-shk,:where(body.ramka) .sb2-den.kb-s-delami .sb2-den-str{grid-template-columns:140px 62px 66px minmax(0,1fr) 140px 170px;gap:0 10px;padding:0 14px}}
@media (max-width:900px){
  .sb2-den .sb2-den-shk{display:none}
  .sb2-den .sb2-den-str,.sb2-den.kb-s-delami .sb2-den-str{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px 12px;padding:12px 14px}
  .sb2-den-str .sb2-mag{grid-column:1/-1}
  .sb2-den-str .sb2-trek,.sb2-den-str .sb2-dok,.sb2-den-str .sb2-dela{grid-column:1/-1}
  .sb2-svodka.kb-itog{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .kb-itog a.sb2-ch{flex-direction:column;align-items:stretch;gap:6px;padding:12px 14px}}
/* «Чеки» управляющей (№941): полоса вопросов кабинета СБ выходит в край страницы отрицательным
   отступом под поля ПК (24px), а на телефоне поля 12px, и полоса торчала вбок на 12px. */
@media (max-width:700px){.sb2-polosa{margin:-12px -12px 0;padding:12px;gap:10px}
  /* Экраны чеков на телефоне: строка вопроса карточкой (магазин и сумма рядом, остальное во всю
     ширину), таблица магазинов прокручивается вбок, лента смены с узкой колонкой имён. */
  .sb2-och-str{grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;padding:14px}
  .sb2-och-str .sm{text-align:right}
  .sb2-och-str .op,.sb2-och-str .dey{grid-column:1/-1}
  .sb2-tabl{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .sb2-tabl td,.sb2-tabl th{white-space:nowrap}
  .sb2-lt{padding:12px}
  .sb2-lt-str{grid-template-columns:96px minmax(0,1fr);gap:8px}
  .sb2-cheki5 li{grid-template-columns:48px minmax(0,1fr) auto;gap:4px 10px}
  .sb2-cheki5 li span:nth-of-type(1){grid-column:2/-1;grid-row:2}
  .sb2-podrobno{padding:12px}}
/* №997 E: телефон, кабинеты и вкладки (осмотр 14.10). Правила выше не трогаем, а перекрываем здесь.
   Смысловой текст плиток и адрес точки переносятся, а не режутся многоточием: «все пункты отк…»
   прятало, о чём число. Оранжевая полоса смены получила строку в легенде. */
a.sb2-ch span i,.sb2-mag span{white-space:normal;overflow:visible;text-overflow:clip}
.sb2-legenda i.sw.vn{background:#D97706}
/* «День магазинов»: где времени нет, стоит слово («ещё нет», «не закрыта») вместо прочерка, мельче. */
.sb2-t.slovo b{font-size:14px;line-height:1.25}
@media (max-width:700px){
  /* Полосы вкладок и чипов листаются вбок, и это видно: правый край гаснет, а пустой хвост в конце
     даёт последней вкладке выйти из тени целиком. Раньше полосы обрезали «Отчё…» без подсказки.
     Разделы кабинета стоят на красной шапке, гасить их маской нельзя (край краснеет), поэтому у них
     тень фоном: она видна, пока справа есть ещё разделы, и уходит, когда долистали. */
  .kb-filtry,.kb-menyu,.isp-napr{
    -webkit-mask-image:linear-gradient(to right,#000 calc(100% - 36px),transparent);
    mask-image:linear-gradient(to right,#000 calc(100% - 36px),transparent)}
  .kb-filtry::after,.kb-menyu::after,.isp-napr::after{content:"";flex:0 0 36px}
  .kb-razdely{background:linear-gradient(to left,#fff 40%,rgba(255,255,255,0)) right center/40px 100% no-repeat local,
    radial-gradient(farthest-side at 100% 50%,rgba(0,0,0,.2),rgba(0,0,0,0)) right center/14px 100% no-repeat scroll;
    background-color:#fff}
  /* Плитки итога дня: число сверху, подпись под ним во всю ширину плитки. */
  a.sb2-ch{flex-direction:column;align-items:flex-start;gap:6px}
  a.sb2-ch span{width:100%}
  /* Выбор дня в три кнопки переносится второй строкой вместо прокрутки («Другой де…»). */
  .sb-dni,body.shiroko .sb-dni{flex-wrap:wrap;overflow:visible;border-radius:22px;max-width:100%}
  /* Две вкладки кабинета СБ делят ширину поровну, подпись встаёт в две строки: было 448 px в 375. */
  .ek-vkladki{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;box-sizing:border-box}
  .ek-vkladki a{white-space:normal;min-height:52px;padding:6px 10px;gap:6px;font-size:15px;line-height:1.15}
  /* «Касса за сегодня появится завтра» и кнопка во вчера: кнопка уходит под текст во всю ширину. */
  .sb2-pusto-blok{flex-wrap:wrap;padding:16px}
  .sb2-pusto-blok div{flex:1 1 200px;min-width:0}
  .sb2-pusto-blok .sb2-btn{flex:1 1 100%;justify-content:center;white-space:normal}
  /* Полоса «Вопросы за …»: заголовок, пояснение и кнопка друг под другом, без узкого столбца. */
  .sb2-polosa .zg{min-width:0;flex:1 1 100%}
  .sb2-hod{flex:1 1 100%;max-width:none}
  .sb2-polosa .pr{margin-left:0}
  /* Повторы за 7 дней: имя точки строкой сверху, семь клеток во всю ширину, итог под ними. */
  .sb2-pov{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
  .sb2-pov>b,.sb2-pov>em{grid-column:1/-1}
  .sb2-pov>b{margin-top:6px}
  .sb2-pov.zg span:first-child,.sb2-pov.zg span:last-child{display:none}
  /* Задачи × магазины: имя точки целыми словами («Зеле-ный» рвалось), столбец «Сделано» влезает;
     у правого края таблицы тень, пока там есть ещё столбцы. */
  .kb-zad-str{grid-template-columns:minmax(130px,220px) repeat(var(--n),64px) 60px}
  .kb-mag{hyphens:manual;-webkit-hyphens:manual;overflow-wrap:normal;font-size:12px}
  .kb-matrica,.kb-disc{background:linear-gradient(to left,#fff 40%,rgba(255,255,255,0)) right center/28px 100% no-repeat local,
    radial-gradient(farthest-side at 100% 50%,rgba(0,0,0,.18),rgba(0,0,0,0)) right center/12px 100% no-repeat scroll;
    background-color:#fff}}
/* №997 F: круг 2 (осмотр 15.10). Правила выше не трогаем, а перекрываем здесь.
   Шапка кабинета делится на две части: первая строка (назад и название) и вкладки с выбором дня.
   На ПК обе части прозрачны для раскладки (display:contents), шапка та же одной строкой. */
.shapka-1,.shapka-2{display:contents}
@media (max-width:700px){
  /* Телефон: прилипает только первая строка, стрелка назад и название. Вкладки и выбор дня
     уезжают с прокруткой: в две строки шапка занимала 299-318 px из 812, почти 40 % экрана.
     Шапка сама уходит в раскладку страницы, чтобы первая строка липла ко всему экрану, а не к ней. */
  body.shiroko header:has(> .shapka-2 > *){display:contents}
  body.shiroko header:has(> .shapka-2 > *)>.shapka-1{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;
    position:sticky;top:0;z-index:5;background:#DE0C12;color:#fff;padding:10px 14px}
  body.shiroko header:has(> .shapka-2 > *)>.shapka-2{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;
    background:#DE0C12;color:#fff;padding:2px 14px 12px}
  /* Задачи × магазины: последний столбец «Сделано» 60 px резал слово до «СДЕЛАНС», а таблица
     на одну точку выходила за карточку (320 в 313). Имя задачи берёт остаток ширины. */
  .kb-zad-str{grid-template-columns:minmax(110px,1fr) repeat(var(--n),64px) 72px}
  /* Дни магазина (/nashi-dni): стрелки и день одной строкой, «15.10 ›» больше не уходит вниз. */
  .sb-dni.strelki{flex-wrap:nowrap;gap:0}
  .sb-dni.strelki>a,.sb-dni.strelki>span.net{padding:0 8px;flex:none}
  .sb-dni.strelki .sb-kalendar{flex:1 1 auto;min-width:0}
  .sb-dni.strelki .sb-kalendar summary{padding:0 8px;gap:4px;justify-content:center}
  .sb-dni.strelki .sb-kalendar summary span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}}
/* №1127 B: окно снимка ценника (static/ceny-snimok.js), образец доска Snimok_Stanet холста 1127.
   Окно поверх экрана, экран под ним стоит на месте. На ПК окно почти во весь экран: снимок
   ценника мелкий, места ему нужно больше, чем на доске; на телефоне окно и есть весь экран.
   Масштаб, поворот и сдвиг ставит скрипт свойством transform у картинки. */
html.snO-otkryto,html.snO-otkryto body{overflow:hidden}
.snO-fon{position:fixed;inset:0;z-index:1000;background:rgba(20,18,16,.55);display:flex;
  align-items:center;justify-content:center;padding:16px;box-sizing:border-box}
.snO-fon[hidden],.snO-fon [hidden]{display:none!important}
.snO-okno{width:min(1040px,100%);height:min(900px,100%);background:#fff;color:#232227;border-radius:16px;
  box-shadow:0 18px 50px rgba(0,0,0,.3);overflow:hidden;display:flex;flex-direction:column;outline:none;
  font-size:13px;line-height:1.35;font-variant-numeric:tabular-nums}
.snO-shapka{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 8px 8px 18px;
  border-bottom:1px solid #F1EFEC}
.snO-zg{display:flex;flex-direction:column;min-width:0}
.snO-zag{font-weight:800;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.snO-podzag{font-size:12px;color:#6B665F}
.snO-kn{width:40px;height:40px;border-radius:10px;border:1px solid #D8D4CE;background:#fff;color:#232227;
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;margin:0;font-family:inherit;font-size:13px;
  flex:none;box-shadow:none;min-height:0}
.snO-kn:hover{background:#F7F6F4}
.snO-kn:focus-visible,.snO-ss:focus-visible,.snO-okno:focus-visible{outline:2px solid #1E40AF;outline-offset:2px}
.snO-x{width:44px;height:44px;border-radius:22px;border:none;background:#F1EFEC}
.snO-proc{width:auto;min-width:62px;font-weight:800}
.snO-slovo{width:auto;padding:0 12px;font-weight:700}
.snO-panel{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid #F1EFEC;
  background:#FAF9F7;flex-wrap:wrap}
.snO-chert{width:1px;height:26px;background:#E4E2DE;margin:0 4px;flex:none}
.snO-raspor{flex:1}
.snO-ss{display:inline-flex;align-items:center;height:40px;padding:0 10px;font-weight:700;text-decoration:none;
  color:#B91C1C}
.snO-ss:hover{color:#7F1D1D}
.snO-scena{flex:1;min-height:0;background:#2B2A28;position:relative;overflow:hidden;cursor:zoom-in;
  user-select:none;-webkit-user-select:none;touch-action:none}
.snO-scena.snO-krupno{cursor:grab}
.snO-scena.snO-tyanu{cursor:grabbing}
.snO-img{position:absolute;left:50%;top:50%;max-width:none;max-height:none;transform-origin:50% 50%;
  box-shadow:0 4px 18px rgba(0,0,0,.4);pointer-events:none}
.snO-img.snO-plavno{transition:transform .18s ease}
.snO-soob{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(420px,80%);
  text-align:center;color:#F7F6F4;font-size:15px;font-weight:600}
.snO-str{position:absolute;top:50%;margin-top:-22px;width:44px;height:44px;border-radius:22px;border:none;
  background:rgba(255,255,255,.88)}
.snO-nazad{left:10px}
.snO-vpered{right:10px}
.snO-podsk{position:absolute;left:12px;bottom:10px;font-size:12px;color:#E4E2DE;background:rgba(0,0,0,.45);
  border-radius:6px;padding:3px 8px;pointer-events:none}
.snO-niz{padding:10px 18px 12px;display:flex;flex-direction:column;gap:2px;min-height:20px}
.snO-tovar{font-weight:700}
.snO-gde{color:#6B665F}
@media (prefers-reduced-motion:reduce){.snO-img.snO-plavno{transition:none}}
@media (hover:none){.snO-podsk{display:none}}
@media (max-width:700px){
  /* Телефон: окно во весь экран. Кнопки в первую строку панели (без чёрточек, иначе не
     влезают в 375), «Скачать» и «Открыть отдельно» второй строкой: в листаемой вбок строке
     их не было видно, а искать их за краем экрана никто не станет. */
  .snO-fon{padding:0}
  .snO-okno{width:100%;height:100%;border-radius:0}
  .snO-shapka{padding:6px 6px 6px 14px}
  .snO-panel{gap:4px;padding:6px 8px}
  .snO-chert{display:none}
  .snO-raspor{flex-basis:100%;height:0}
  .snO-ss{white-space:nowrap;height:32px}
  .snO-niz{padding:8px 14px 12px}}

/* Рама ПК (№1182, 25.10.2026, холст ХОЛСТ-АДМИН-ПК): на экране шире 1200 px сверху красная
   полоса с магазином и «Выйти», слева меню разделов, справа экран шире телефонной колонки.
   Разметку рамы ставит app._ramka_pk; на телефоне и узком окне её нет на экране вовсе,
   там всё как было. */
.pk-shapka,.pk-menu{display:none}
@media (min-width:1200px){
  body.ramka{max-width:none;margin:0;padding:0;display:grid;grid-template-columns:248px minmax(0,1fr);
    grid-template-rows:auto auto 1fr;min-height:100vh}
  body.ramka>*{grid-column:2}
  body.ramka>.pk-shapka{display:flex;grid-column:1/-1;grid-row:1;align-items:center;gap:12px 20px;
    min-height:60px;background:#DE0C12;color:#fff;padding:10px 24px;font-size:14px;position:sticky;top:0;z-index:20}
  .pk-shapka a{color:#fff;text-decoration:none}
  .pk-logo{font-size:19px;font-weight:800;letter-spacing:.4px;width:212px}
  .pk-mag{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border-radius:10px;
    background:rgba(255,255,255,.18);font-size:14.5px}
  .pk-mag span{opacity:.85}
  .pk-mag i{font-style:normal;font-size:12px}
  a.pk-mag:hover{background:rgba(255,255,255,.28)}
  .pk-mag.odin{background:none;padding:0;font-weight:700;font-size:15px}
  .pk-kto{margin-left:auto;font-size:13.5px;opacity:.92;text-align:right}
  .pk-vyhod{font-size:13.5px;font-weight:600;padding:8px 14px;border-radius:20px;background:rgba(255,255,255,.18)}
  .pk-vyhod:hover{background:rgba(255,255,255,.28)}
  body.ramka>.pk-menu{display:block;grid-column:1;grid-row:2/4;background:#fff;border-right:1px solid #E4E2DE}
  .pk-menu-in{position:sticky;top:60px;max-height:calc(100vh - 60px);overflow-y:auto;padding:16px 12px 24px;
    display:flex;flex-direction:column;gap:0;font-size:14.5px}
  /* Группы меню читаются как оглавление (замечание владельца 25.10): заголовок группы обычными
     словами и тёмным, между группами линия, пункты группы сдвинуты под заголовок по линейке. */
  .pk-gr{display:flex;flex-direction:column;gap:1px;padding:12px 0}
  .pk-gr+.pk-gr{border-top:1px solid #EEECE8}
  .pk-gr:first-child{padding-top:0}
  .pk-gt{font-size:13px;font-weight:800;color:#232227;padding:0 10px 6px;letter-spacing:.1px}
  .pk-it{display:flex;align-items:center;gap:8px;min-height:34px;padding:6px 10px;border-radius:8px;
    color:#3A3833;text-decoration:none;line-height:1.3}
  .pk-gt~.pk-it{margin-left:10px;padding-left:12px;border-left:2px solid #EEECE8;border-radius:0 8px 8px 0}
  .pk-it span{flex:1 1 auto}
  .pk-it b{font-size:12px;font-weight:600;padding:2px 8px;border-radius:20px;background:#F1EFEC;color:#57534D}
  .pk-it:hover{background:#F7F6F4;color:#232227}
  .pk-it.on{background:#FDECEC;color:#B91C1C;font-weight:700}
  .pk-gt~.pk-it.on{border-left-color:#DE0C12}
  .pk-it:focus-visible,.pk-shapka a:focus-visible{outline:2px solid #2563EB;outline-offset:2px}

  body.ramka>header{grid-row:2;position:static}
  body.ramka>main{grid-row:3}
  /* Телефонный экран в раме: колонка шире (820 px), шапка становится заголовком на светлом фоне */
  body.ramka:not(.shiroko)>header{background:transparent;color:#232227;padding:22px 28px 14px;width:100%;max-width:876px}
  body.ramka:not(.shiroko)>main{padding:0 28px 32px;width:100%;max-width:876px}
  body.ramka:not(.shiroko)>header .t{font-size:26px;font-weight:800;letter-spacing:-.3px;color:#232227}
  body.ramka:not(.shiroko)>header .p{font-size:14px;color:#6B665F;opacity:1}
  body.ramka:not(.shiroko)>header a,body.ramka:not(.shiroko)>header button{color:#B91C1C;background:#fff;border:1px solid #E4E2DE}
  body.ramka:not(.shiroko)>header .nazad-verh{margin:0 0 10px;padding:6px 12px;font-size:13.5px}
  body.ramka:not(.shiroko)>header .pod-plashkoy{color:#57534D}
  body.ramka:not(.shiroko)>header .plashka-smeny{margin-top:10px;border:0;background:none}
  body.ramka:not(.shiroko)>header .plashka-smeny .sost{border:1px solid #E4E2DE}
  /* Широкий экран (кабинеты, цены) свою красную шапку с вкладками держит: она рисовалась под
     красный фон. Не липнет: сверху и так липнет полоса рамы. Пороги его раскладки сдвинуты
     на ширину меню (app._css_s_ramkoy), иначе шкала часов «Моих магазинов» слипалась. */

  body.ramka>main>.vyhod{display:none}   /* «Выйти» в полосе рамы */

  /* Оглавление админки по делам (admin.knopki_adminki): кнопки карточками, порядок задаёт order */
  body.ramka .adm-dela{display:flex;flex-wrap:wrap;gap:10px}
  body.ramka .adm-dela .adm-zag{display:block;flex:0 0 100%;margin:14px 0 0}
  body.ramka .adm-dela .adm-zag:first-of-type{margin-top:4px}
  body.ramka .adm-dela>a.knopka{flex:0 0 calc((100% - 20px)/3);margin:0;min-height:64px}

  /* Главная на ПК (app._oglavlenie_pk): группы меню карточками вместо столбика кнопок.
     Столбик скрыт, только если карточки на месте: сломалось оглавление, главная остаётся столбиком. */
  body.ramka .pk-oglav{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;
    align-items:start;margin-top:4px}
  body.ramka .pk-oglav~.tel-glavnaya{display:none}
  .pk-kart{background:#fff;border:1px solid #E4E2DE;border-radius:14px;padding:14px 8px 8px}
  .pk-kart h2{font-size:16px;font-weight:800;color:#232227;margin:0 10px 6px;text-transform:none;letter-spacing:0}
  .pk-pt{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:9px 10px;border-radius:10px;
    color:#232227;text-decoration:none}
  .pk-pt:hover{background:#FDECEC}
  .pk-pt:hover b{color:#B91C1C}
  .pk-pt:focus-visible{outline:2px solid #2563EB;outline-offset:1px}
  .pk-pt b{font-size:15px;font-weight:700;line-height:1.3}
  .pk-pt i{font-style:normal;font-size:12px;font-weight:700;padding:2px 8px;border-radius:20px;background:#F1EFEC;
    color:#57534D;align-self:start}
  .pk-pt span{grid-column:1/-1;font-size:13px;color:#6B665F;line-height:1.35}
}
.pk-oglav{display:none}
/* Таблица заявок с правой колонкой (.kb-setka) рассчитана на 1366 без меню. В раме на 1440
   под «Что случилось» оставалось 16 px, и текст шёл столбиком по букве. Пока окно уже 1614
   (1366 плюс меню), правая колонка встаёт под таблицу, её блоки в ряд. */
@media (min-width:1200px) and (max-width:1613px){
  body.ramka .kb-setka{flex-direction:column;align-items:stretch}
  body.ramka .kb-setka>.kb-pravo{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    align-items:start}
}
.adm-zag{display:none}
/* «Нет в списке? Указать вручную» на шаге 1 (№1262) */
.poisk-podmeny-itog button.novyy{border:0;background:#DE0C12;color:#fff}
.poisk-podmeny-itog button.novyy i{color:#FFE3E4}
.poisk-podmeny-itog button.novyy.tiho{background:none;color:#B80A0F;text-align:center;font-size:14px;padding:6px}
.poisk-podmeny-itog .nado-fio{background:#FFF4E5;border:1.5px solid #E9A24B;border-radius:12px;padding:10px 12px;color:#7A4306}
.poisk-podmeny-itog .nado-fio b{display:block;font-size:16px}
.poisk-podmeny-itog .nado-fio span{display:block;font-size:13px}
.poisk-podmeny-itog .nado-fio.tiho{background:none;border:0;padding:6px;text-align:center;color:#6E6B75;font-size:14px}
/* №1289 (холст 28.10): вкладки регионов СБ второй строкой красной шапки, «Вся сеть» последней
   и прозрачной, пока не выбрана. Кнопки над итогом дня (№916) живут выше и в шапке перекрыты. */
header .sb2-regiony{flex-basis:100%;margin:0;gap:8px}
header a.sb2-region{min-width:150px;min-height:0;padding:9px 16px;gap:2px;background:rgba(0,0,0,.18);border:0;color:#fff}
header a.sb2-region span{color:#FDE2E1}
header a.sb2-region.on{background:#fff;color:#232227}
header a.sb2-region.on span{color:#57534D}
header .sb2-regiony a.sb2-region:last-child:not(.on){background:none;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55)}
.sb2-svodka-seti{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-bottom:20px}
.sb2-sv-reg{display:flex;flex-direction:column;gap:12px;background:#fff;border:1px solid #E4E2DE;border-radius:16px;padding:18px 20px}
.sb2-sv-reg h2{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:0;font-size:20px;text-transform:none;letter-spacing:0;color:#232227}
.sb2-sv-reg h2 b{font-weight:800}
.sb2-sv-reg h2 span{font-size:13px;font-weight:400;color:#6B665F}
.sb2-sv-str{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:8px 0;border-top:1px solid #F0EEEA;font-size:15px}
.sb2-sv-str b{font-size:19px;font-weight:800}
.sb2-sv-str b.ok{color:#2F7D3A}.sb2-sv-str b.vn{color:#B45309}.sb2-sv-str b.kr{color:#B91C1C}
.sb2-sv-reg p{margin:0}
.sb2-sv-reg .sb2-btn{margin-top:auto;justify-content:center}
@media (max-width:700px){
  header a.sb2-region{min-width:0;flex:1 1 40%}}
