/* ═══════════════════════════════════════════════════════════════════════
   ТАМОЖНЯ — свой стиль раздела.

   Вынесено из общего maktab.css 2026-08-24. Слово Бати: «может, надо
   рефакторинг, чтобы всё было не в одном файле». Общий файл дорос до
   180 КБ, и мы в нём толкались втроём — доходило до того, что одинаково
   названные классы налезали друг на друга и текст становился нечитаем.

   Здесь только раздел «Таможня»: дорожка пути, фид, расхождения, графы
   декларации, карточка товара, обработка. Свои классы держим с приставкой
   раздела — общие слова в общем доме не занимаем.
   ═══════════════════════════════════════════════════════════════════════ */

.put{
  padding:7px 13px; border-radius:9px; white-space:nowrap;
  font-size:12.5px; font-weight:700; color:var(--dim); text-decoration:none;
  transition:.15s;
}
.put:hover{ color:var(--txt); background:rgba(148,163,184,.1); }
.put.gorit{ color:#fff; background:rgba(220,38,38,.18); box-shadow:inset 0 0 0 1px rgba(220,38,38,.35); }
.put.upravlenie{ margin-left:auto; color:#fbbf24; }

.put-zakaza{display:flex;margin:0 0 18px;padding:15px 10px;border-radius:14px;
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);
  overflow-x:auto;-webkit-overflow-scrolling:touch;}
.put-shag{flex:1 1 0;min-width:120px;position:relative;text-align:center;padding:0 6px;opacity:.4;}
.put-shag.proydeno,.put-shag[class*="viol-"]{opacity:1;}
.put-shag:not(:last-child)::after{content:"";position:absolute;top:13px;left:calc(50% + 17px);
  right:calc(-50% + 17px);height:2px;background:rgba(255,255,255,.12);}
.put-shag.proydeno:not(:last-child)::after{background:rgba(220,38,38,.5);}
.put-tochka{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;
  border-radius:50%;background:rgba(255,255,255,.08);color:#9fb3c8;font-size:13px;font-weight:800;
  position:relative;z-index:1;}
.put-shag.proydeno .put-tochka{background:#dc2626;color:#fff;box-shadow:0 0 0 4px rgba(220,38,38,.15);}
.put-shag.viol-opozdal .put-tochka{background:#f39c12;color:#111;box-shadow:0 0 0 4px rgba(243,156,18,.15);}
.put-shag.viol-prosrochen .put-tochka{background:#e67e22;color:#fff;box-shadow:0 0 0 4px rgba(230,126,34,.18);}
.put-shag.viol-proval .put-tochka{background:#7f1d1d;color:#fff;box-shadow:0 0 0 4px rgba(127,29,29,.25);}
.put-imya{margin-top:7px;font-size:12px;font-weight:800;color:#e8eef5;}
.put-nomer{margin-top:2px;font-size:10px;color:#9fb3c8;font-weight:700;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.put-kogda{margin-top:1px;font-size:10px;color:#7f8fa4;font-weight:600;}
.put-beda{margin-top:2px;font-size:9.5px;font-weight:800;color:#f39c12;text-transform:uppercase;}
.put-shag.viol-proval .put-beda{color:#ef4444;}
.put-shag.proydeno .put-tochka{background:#16a34a;color:#fff;
  box-shadow:0 0 0 4px rgba(22,163,74,.16);}
.put-shag.proydeno:not(:last-child)::after{background:rgba(22,163,74,.5);}
.put-shag.proydeno.viol-opozdal .put-tochka{background:#f39c12;color:#111;
  box-shadow:0 0 0 4px rgba(243,156,18,.16);}
.put-shag.proydeno.viol-opozdal:not(:last-child)::after{background:rgba(243,156,18,.45);}

.doki-obertka{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px;
  border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.03);max-height:520px;
  overflow-y:auto;}
.doki-tablica{width:100%;border-collapse:collapse;font-size:12.5px;min-width:560px;}
.doki-tablica thead th{position:sticky;top:0;z-index:1;padding:10px 12px;text-align:left;
  font-size:10px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:#9fb3c8;
  background:#101a26;border-bottom:1px solid rgba(255,255,255,.09);}
.doki-tablica td{padding:9px 12px;border-bottom:1px solid rgba(255,255,255,.05);
  vertical-align:top;color:#e8eef5;}
.doki-tablica tr:last-child td{border-bottom:none;}
.zakladki-dekl{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 16px;
  border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:10px;}
.sv-tochka{display:inline-block;margin-right:3px;padding:2px 6px;border-radius:5px;
  font-size:9.5px;font-weight:800;letter-spacing:.3px;}
.sv-tochka.est{background:rgba(22,163,74,.16);color:#4ade80;}
.sv-tochka.netu{background:rgba(239,68,68,.14);color:#f87171;text-decoration:line-through;}
.svod-tam{
  display:flex; flex-wrap:wrap; gap:10px; margin:0 0 16px;
}
.st-plitka{
  flex:1 1 130px; min-width:120px;
  background:var(--karta); border:1px solid var(--line);
  border-radius:14px; padding:12px 14px;
  backdrop-filter:blur(8px);
  box-shadow:0 8px 24px rgba(0,0,0,.35);
  position:relative; overflow:hidden;
}
/* тонкая полоска смысла сверху — цвет говорит быстрее слова */
.st-plitka::before{
  content:""; position:absolute; inset:0 0 auto 0; height:3px;
  background:rgba(148,163,184,.35);
}
.st-plitka.v1s::before   { background:var(--jamarik); }
.st-plitka.gotovo::before{ background:#1a9e54; }
.st-plitka.zhdet::before { background:#ed8b00; }
.st-plitka.beda::before  { background:var(--akcent); }
.st-plitka b{
  display:block; font-size:24px; font-weight:800; line-height:1.1;
  letter-spacing:-.5px;
}
.st-plitka span{
  display:block; margin-top:3px; font-size:11px; color:var(--dim);
  text-transform:uppercase; letter-spacing:.4px;
}
.st-plitka.beda b { color:#fca5a5; }
.st-plitka.zhdet b{ color:#fbbf24; }

/* ─── Карточка декларации: верх + дорожка ──────────────────────────── */
.metka-vnimanie{
  font-size:10px; font-weight:800; padding:3px 7px; border-radius:6px;
  background:rgba(237,139,0,.18); color:#fbbf24;
  border:1px solid rgba(237,139,0,.35);
  text-transform:uppercase; letter-spacing:.3px; white-space:nowrap;
}

/* ─── Дорожка: ПОСТ → ГТД → ЭДВС → РЕАЛ → СНТ → ЭСФ ────────────────── */
.put{
  display:flex; align-items:flex-start; justify-content:center; margin-top:12px;
  padding-top:12px; border-top:1px solid var(--line);
  overflow-x:auto; scrollbar-width:none;
}
.put::-webkit-scrollbar{ display:none; }

.put-shag{
  flex:1 1 0; min-width:52px; position:relative;
  display:flex; flex-direction:column; align-items:center; gap:5px;
  text-align:center;
}
/* линия к следующему шагу — тянется от точки к точке */
.put-shag::after{
  content:""; position:absolute; top:8px; left:calc(50% + 12px); right:calc(-50% + 12px);
  height:2px; background:rgba(148,163,184,.18); border-radius:2px;
}
.put-shag:last-child::after{ display:none; }

.put-shag .put-tochka{
  width:17px; height:17px; border-radius:50%;
  border:2px solid rgba(148,163,184,.3);
  background:var(--bg-dno);
  display:flex; align-items:center; justify-content:center;
  font-size:9px; font-style:normal; font-weight:800; line-height:1;
  transition:transform .15s ease;
  z-index:1;
}
.put-shag b{
  font-size:9px; font-weight:800; letter-spacing:.3px;
  color:var(--dim); white-space:nowrap;
}

/* сделано — зелёная точка с галкой, линия за ней тоже зелёная */
.put-shag.done .tochka{
  border-color:#1a9e54; background:#1a9e54; color:#06210f;
}
/* галку рисуем только если внутри точки нет числа */
.put-shag.done .tochka:empty::before{ content:"✓"; }
.put-shag.done b{ color:#6ee7a8; }
.put-shag.done::after{ background:rgba(26,158,84,.45); }

/* ждёт своей очереди */
.put-shag.wait .tochka{ border-color:#ed8b00; background:rgba(237,139,0,.14); color:#fbbf24; }
.put-shag.wait b{ color:#fbbf24; }

/* сделано, но с оговоркой */
.put-shag.warn .tochka{ border-color:#ed8b00; background:#ed8b00; color:#2a1800; }
.put-shag.warn .tochka:empty::before{ content:"!"; }
.put-shag.warn b{ color:#fbbf24; }

/* беда */
.put-shag.err .tochka{ border-color:var(--akcent); background:var(--akcent); color:#fff; }
.put-shag.err b{ color:#fca5a5; }

/* ещё не дошли / вне плана */
.put-shag.idle .tochka{ border-color:rgba(148,163,184,.28); background:transparent; }
.put-shag.idle b{ color:rgba(148,163,184,.55); }
.put-shag.off{ opacity:.4; }

/* шаг, на котором стоим сейчас: дышит, чтобы взгляд падал сразу сюда */
.put-shag.dyshit .tochka{ animation:puls-shag 1.9s ease-in-out infinite; }
.put-shag.err.dyshit .tochka{ animation:puls-beda 1.9s ease-in-out infinite; }
.put-shag .put-tochka:not(:empty){
  font-size:9px; width:auto; min-width:17px; padding:0 5px; border-radius:9px;
}

.tolko-root{
  margin-left:auto; align-self:flex-start;
  font-size:10px; font-weight:800; letter-spacing:.6px; text-transform:uppercase;
  padding:4px 9px; border-radius:7px;
  background:rgba(220,38,38,.16); color:#fca5a5;
  border:1px solid rgba(220,38,38,.35);
  white-space:nowrap;
}

.fid-puti{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 14px; }

.fid-id{
  font-size:10px; font-weight:800; color:var(--dim);
  background:rgba(148,163,184,.12); border-radius:5px;
  padding:2px 5px; margin-right:6px; vertical-align:middle;
}
.fid-tip{
  font-size:10px; font-weight:700; color:#7cc4f5;
  background:rgba(47,147,218,.16); border-radius:5px;
  padding:2px 6px; margin-left:6px; vertical-align:middle;
}
.fid-beda{
  margin-top:6px; font-size:11px; color:#fca5a5;
  background:rgba(220,38,38,.1); border-left:2px solid rgba(220,38,38,.5);
  border-radius:0 6px 6px 0; padding:5px 9px;
}
.fid-plashka{
  border-radius:14px; padding:14px 16px; margin:0 0 16px;
  border:1px solid var(--line); background:var(--karta);
  backdrop-filter:blur(8px);
}
.fid-plashka b{ display:block; font-size:13px; margin-bottom:6px; }
.fid-plashka p{ margin:0; font-size:12px; color:var(--dim); line-height:1.55; }
.fid-plashka ul{ margin:0; padding-left:18px; font-size:12px; color:var(--dim); line-height:1.7; }
.fid-plashka.beda{ border-color:rgba(220,38,38,.4); background:rgba(220,38,38,.08); }
.fid-plashka.beda b{ color:#fca5a5; }
.fid-plashka.vnimanie{ border-color:rgba(237,139,0,.4); background:rgba(237,139,0,.07); }
.fid-plashka.vnimanie b{ color:#fbbf24; }
.karta-put{
  background:var(--karta); border:1px solid var(--line); border-radius:14px;
  padding:18px 20px 14px; margin:0 0 16px; backdrop-filter:blur(8px);
  box-shadow:0 8px 24px rgba(0,0,0,.35);
}
.karta-put .put{ border-top:none; padding-top:0; margin-top:0; }
.karta-put .put-shag .put-tochka{ width:20px; height:20px; }
.karta-put .put-shag::after{ top:9px; }
.karta-put .put-shag b{ font-size:10px; }

/* ─── Шапка разбора: главное о декларации плитками ─────────────────── */
.razbor-shapka{
  display:flex; flex-wrap:wrap; gap:10px; margin:0 0 14px;
}
.razbor-shapka > div{
  flex:1 1 150px; min-width:130px;
  background:var(--karta); border:1px solid var(--line);
  border-radius:12px; padding:10px 13px;
}
.razbor-shapka span{
  display:block; font-size:10px; text-transform:uppercase;
  letter-spacing:.4px; color:var(--dim); margin-bottom:3px;
}
.razbor-shapka b{ font-size:13px; font-weight:700; }

.rz-imya{ font-weight:700; }
.rz-tnved{ font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace; font-size:11px; color:var(--dim); }
.rz-kol{ font-weight:800; font-size:13px; }
.rz-ed{
  font-weight:700; font-size:12px; padding:2px 7px; border-radius:6px;
  background:rgba(47,147,218,.16); color:#7cc4f5;
}
.rz-kod{ font-size:10px; color:var(--dim); margin-left:5px; }

/* откуда взято количество — та самая графа, из-за которой были литры */
.rz-grafa{
  font-size:11px; font-weight:700; padding:3px 8px; border-radius:7px;
  background:rgba(26,158,84,.15); color:#6ee7a8;
  border:1px solid rgba(26,158,84,.3); white-space:nowrap;
}
.rz-grafa.inoe{
  background:rgba(237,139,0,.14); color:#fbbf24; border-color:rgba(237,139,0,.32);
}
.rz-grafa.net{
  background:rgba(220,38,38,.12); color:#fca5a5; border-color:rgba(220,38,38,.32);
}
.rz-podskazka{
  font-size:11.5px; color:var(--dim); line-height:1.6;
  margin:10px 0 20px; padding:10px 14px;
  border-left:2px solid rgba(47,147,218,.45);
  background:rgba(47,147,218,.06); border-radius:0 8px 8px 0;
}
.rz-podskazka b{ color:var(--txt); }

/* ─── Полный JSON ──────────────────────────────────────────────────── */
.syrjo-obertka{
  border:1px solid var(--line); border-radius:14px; overflow:hidden;
  background:rgba(2,6,23,.55); margin-bottom:24px;
}
.syrjo-panel{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:9px 14px; border-bottom:1px solid var(--line);
  background:var(--panel); font-size:11px; color:var(--dim);
}
.syrjo-knopka{
  font:inherit; font-weight:700; cursor:pointer;
  padding:5px 12px; border-radius:8px;
  background:rgba(148,163,184,.12); color:var(--txt);
  border:1px solid var(--line); transition:background .15s ease;
}
.syrjo-knopka:hover{ background:rgba(148,163,184,.2); }
.syrjo{
  margin:0; padding:14px 16px; max-height:520px; overflow:auto;
  font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  font-size:11.5px; line-height:1.55; color:#cbd5e1;
  white-space:pre; tab-size:2;
}
.syrjo::-webkit-scrollbar{ width:10px; height:10px; }
.syrjo::-webkit-scrollbar-thumb{ background:rgba(148,163,184,.25); border-radius:6px; }

.rz-vtoraya{
  font-size:12px; font-weight:800; padding:3px 9px; border-radius:7px;
  background:rgba(111,60,209,.18); color:#c4b5fd;
  border:1px solid rgba(111,60,209,.38); white-space:nowrap;
}
.rz-net{ color:rgba(148,163,184,.45); }

/* ═══════════════════════════════════════════════════════════════════════
   ДЕКЛАРАЦИЯ КАК ДОКУМЕНТ
   Слово Бати 2026-08-24: «чтоб ГТД была не просто простынёй, а
   структурированным документом», «графы были в своих разделах»,
   «хочу красоту».
   ═══════════════════════════════════════════════════════════════════════ */

.dt-shapka{ border-left-color:var(--jamarik); }

/* ─── Даты: регистрация → выпуск, и сколько держали ─────────────────── */
.dt-daty{
  display:flex; align-items:stretch; flex-wrap:wrap; gap:0;
  background:var(--karta); border:1px solid var(--line); border-radius:14px;
  padding:14px 18px; margin:0 0 16px; backdrop-filter:blur(8px);
}
.dd-tochka{ padding:2px 18px 2px 0; }
.dd-tochka span{
  display:block; font-size:10px; text-transform:uppercase;
  letter-spacing:.4px; color:var(--dim); margin-bottom:4px;
}
.dd-tochka b{ font-size:14px; font-weight:800; }
.dd-tochka.tihaya{ margin-left:auto; text-align:right; padding-right:0; opacity:.72; }

.dd-strelka{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:5px; padding:0 20px; min-width:120px;
}
.dd-strelka i{
  display:block; width:100%; height:2px; border-radius:2px; position:relative;
  background:linear-gradient(90deg, rgba(148,163,184,.2), rgba(148,163,184,.5));
}
.dd-strelka i::after{
  content:""; position:absolute; right:-1px; top:-3px;
  border:4px solid transparent; border-left-color:rgba(148,163,184,.5);
}
.dd-srok{
  font-size:12px; font-weight:800; padding:3px 10px; border-radius:8px;
  background:rgba(148,163,184,.14); color:var(--dim); white-space:nowrap;
}
/* цвет по скорости выпуска: в тот же день — зелёный, долго — красный */
.dd-srok.v_den, .dd-srok.bystro{ background:rgba(26,158,84,.18); color:#6ee7a8; }
.dd-srok.norma{ background:rgba(237,139,0,.16); color:#fbbf24; }
.dd-srok.dolgo{ background:rgba(220,38,38,.16); color:#fca5a5; }
.dd-strelka.v_den i, .dd-strelka.bystro i{ background:linear-gradient(90deg, rgba(26,158,84,.25), rgba(26,158,84,.6)); }
.dd-strelka.v_den i::after, .dd-strelka.bystro i::after{ border-left-color:rgba(26,158,84,.6); }
.dd-strelka.dolgo i{ background:linear-gradient(90deg, rgba(220,38,38,.25), rgba(220,38,38,.6)); }
.dd-strelka.dolgo i::after{ border-left-color:rgba(220,38,38,.6); }

/* ─── Числа под дорожкой пути ───────────────────────────────────────── */
.put-schet{
  display:flex; flex-wrap:wrap; gap:0;
  margin-top:16px; padding-top:14px; border-top:1px solid var(--line);
}
.put-schet > div{
  flex:1 1 78px; min-width:70px; text-align:center;
  border-right:1px solid var(--line); padding:0 6px;
}
.put-schet > div:last-child{ border-right:none; }
.put-schet b{ display:block; font-size:19px; font-weight:800; line-height:1.15; }
.put-schet span{
  display:block; margin-top:2px; font-size:10px; color:var(--dim);
  text-transform:uppercase; letter-spacing:.3px;
}
.put-schet .ps-tihoe{ opacity:.6; }
.put-schet .ps-tihoe b{ font-size:16px; }

/* ─── Закладки ──────────────────────────────────────────────────────── */
.zakladki{
  display:flex; flex-wrap:wrap; gap:6px; margin:22px 0 16px;
  border-bottom:1px solid var(--line); padding-bottom:0;
}
.zk{
  font:inherit; font-size:12.5px; font-weight:700; cursor:pointer;
  padding:9px 16px; border:none; background:none; color:var(--dim);
  border-bottom:2px solid transparent; margin-bottom:-1px;
  transition:color .15s ease, border-color .15s ease;
}
.zk:hover{ color:var(--txt); }
.zk b{
  font-size:10px; margin-left:6px; padding:1px 6px; border-radius:6px;
  background:rgba(148,163,184,.16); color:var(--dim); vertical-align:middle;
}
.zk.gorit{ color:var(--txt); border-bottom-color:var(--akcent); }
.zk.gorit b{ background:rgba(220,38,38,.2); color:#fca5a5; }

/* ─── Графы по разделам ─────────────────────────────────────────────── */
.grafy-razdel{ margin-bottom:22px; }
.grafy-razdel h4{
  margin:0 0 12px; font-size:13px; font-weight:800;
  display:flex; align-items:center; gap:9px;
  text-transform:uppercase; letter-spacing:.5px; color:var(--dim);
}
.grafy-setka{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(230px, 1fr)); gap:10px;
}
.grafa{
  background:var(--karta); border:1px solid var(--line); border-radius:12px;
  padding:11px 14px 12px; position:relative;
  transition:border-color .15s ease;
}
.grafa:hover{ border-color:rgba(47,147,218,.4); }
.gf-nomer{
  position:absolute; top:9px; right:11px;
  font-size:10px; font-weight:800; color:rgba(148,163,184,.55);
  background:rgba(148,163,184,.1); border-radius:5px; padding:1px 6px;
}
.gf-imya{
  display:block; font-size:10.5px; text-transform:uppercase;
  letter-spacing:.4px; color:var(--dim); margin-bottom:5px; padding-right:44px;
}
.gf-znachenie{
  display:block; font-size:13.5px; font-weight:700; line-height:1.4;
  word-break:break-word;
}
.grafa.tihaya{ opacity:.62; }

/* ─── Карточка товара ───────────────────────────────────────────────── */
.tovar-karta{
  background:var(--karta); border:1px solid var(--line); border-radius:16px;
  padding:18px 20px; margin-bottom:16px; backdrop-filter:blur(8px);
  box-shadow:0 8px 24px rgba(0,0,0,.3);
}
.tk-shapka{ display:flex; gap:14px; align-items:flex-start; margin-bottom:16px; }
.tk-nomer{
  flex:0 0 auto; width:30px; height:30px; border-radius:9px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(47,147,218,.18); color:#7cc4f5;
  font-size:14px; font-weight:800; border:1px solid rgba(47,147,218,.34);
}
.tk-imya{ min-width:0; }
.tk-imya > b{ display:block; font-size:14.5px; font-weight:800; line-height:1.35; }
.tk-pod{
  display:flex; flex-wrap:wrap; gap:6px 12px; margin-top:6px;
  font-size:11.5px; color:var(--dim);
}
.tk-tnved{
  font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  background:rgba(148,163,184,.12); border-radius:5px; padding:1px 7px; color:var(--txt);
}

/* три графы количества рядом — сердце карточки */
.tk-kolichestva{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
  gap:10px; margin-bottom:14px;
}
.tkk{
  border:1px solid var(--line); border-radius:12px; padding:11px 14px;
  background:rgba(2,6,23,.34); opacity:.55;
}
.tkk.est{ opacity:1; }
.tkk-grafa{
  display:block; font-size:10px; font-weight:800; letter-spacing:.4px;
  text-transform:uppercase; color:var(--dim); margin-bottom:5px;
}
.tkk b{ font-size:19px; font-weight:800; letter-spacing:-.4px; }
.tkk em{ font-style:normal; font-size:12px; font-weight:700; color:var(--dim); margin-left:5px; }
.tkk p{ margin:6px 0 0; font-size:10.5px; color:var(--dim); line-height:1.45; }
.tkk p b{ font-size:10.5px; color:var(--txt); }
.tkk.est{ border-color:rgba(26,158,84,.32); background:rgba(26,158,84,.07); }
.tkk.est b{ color:#6ee7a8; }
.tkk.vtoraya.est{ border-color:rgba(111,60,209,.42); background:rgba(111,60,209,.09); }
.tkk.vtoraya.est b{ color:#c4b5fd; }

.tk-melochi{
  display:flex; flex-wrap:wrap; gap:0;
  border-top:1px solid var(--line); padding-top:12px; margin-bottom:12px;
}
.tk-melochi > div{ flex:1 1 118px; min-width:110px; padding:0 10px 0 0; }
.tk-melochi span{
  display:block; font-size:9.5px; text-transform:uppercase;
  letter-spacing:.35px; color:var(--dim); margin-bottom:2px;
}
.tk-melochi b{ font-size:12.5px; font-weight:700; }

.tk-artikuly{
  display:flex; flex-wrap:wrap; align-items:center; gap:6px;
  padding-top:10px; border-top:1px solid var(--line); margin-bottom:12px;
}
.tk-artikuly > span{
  font-size:10px; text-transform:uppercase; letter-spacing:.4px;
  color:var(--dim); margin-right:4px;
}
.tk-artikuly code{
  font-size:11px; padding:2px 8px; border-radius:6px;
  background:rgba(47,147,218,.14); color:#7cc4f5;
  border:1px solid rgba(47,147,218,.28);
}

.tk-platezhi{ padding-top:12px; border-top:1px solid var(--line); }
.doki-zagolovok{
  margin:0 0 12px; font-size:13px; font-weight:800;
  text-transform:uppercase; letter-spacing:.5px; color:var(--dim);
}
.doki-zagolovok:not(:first-child){ margin-top:26px; }
.doki-spisok{ display:flex; flex-direction:column; gap:8px; }
.dok{
  display:flex; gap:12px; align-items:flex-start;
  background:var(--karta); border:1px solid var(--line);
  border-radius:12px; padding:11px 14px;
  transition:border-color .15s ease;
}
.dok:hover{ border-color:rgba(47,147,218,.36); }
.dok-kod{
  flex:0 0 auto; font-family:ui-monospace,Menlo,Consolas,monospace;
  font-size:11px; font-weight:700; padding:3px 8px; border-radius:6px;
  background:rgba(148,163,184,.12); color:var(--dim);
}
.dok-znak{ flex:0 0 auto; font-size:17px; line-height:1.2; }
.dok-telo{ min-width:0; flex:1; }
.dok-telo > b{ display:block; font-size:12.5px; font-weight:700; line-height:1.45; }
.dok-pod{
  display:flex; flex-wrap:wrap; gap:5px 12px; margin-top:5px;
  font-size:11px; color:var(--dim);
}
.dok-nomer{ color:var(--txt); font-weight:700; }
.dok-tovary{
  padding:1px 7px; border-radius:5px;
  background:rgba(47,147,218,.12); color:#7cc4f5; font-size:10px;
}
.dok.fayl{ background:rgba(2,6,23,.4); }

.tk-artikuly code{
  display:inline-flex; align-items:center; gap:7px;
  padding:3px 9px 3px 4px;
}
.tk-artikuly code i{
  font-style:normal; font-size:9px; font-weight:800;
  text-transform:uppercase; letter-spacing:.35px;
  padding:2px 6px; border-radius:4px;
}
.tk-artikuly code.art-nash{
  background:rgba(26,158,84,.14); color:#6ee7a8; border-color:rgba(26,158,84,.32);
}
.tk-artikuly code.art-nash i{ background:rgba(26,158,84,.24); color:#a7f3c9; }
.tk-artikuly code.art-postavshchik{
  background:rgba(148,163,184,.1); color:var(--dim); border-color:rgba(148,163,184,.25);
}
.tk-artikuly code.art-postavshchik i{ background:rgba(148,163,184,.16); color:var(--dim); }

/* ─── Лента фида: даты и значок JSON ────────────────────────────────── */
.znachok-json{
  display:inline-block; margin-left:8px; vertical-align:middle; cursor:pointer;
  font-family:ui-monospace,Menlo,Consolas,monospace;
  font-size:11px; font-weight:800; letter-spacing:-.5px;
  padding:2px 7px; border-radius:6px;
  background:rgba(148,163,184,.12); color:var(--dim);
  border:1px solid rgba(148,163,184,.22);
  transition:background .15s ease, color .15s ease, border-color .15s ease;
}
.znachok-json:hover{
  background:rgba(47,147,218,.2); color:#7cc4f5; border-color:rgba(47,147,218,.45);
}

.stroka-daty{
  display:flex; flex-wrap:wrap; align-items:center; gap:6px;
  margin-top:6px; font-size:11px; color:var(--dim);
}
.sd-strelka{ opacity:.45; }
.sd-srok{
  font-size:10px; font-weight:800; padding:2px 7px; border-radius:6px;
  background:rgba(148,163,184,.14); color:var(--dim); white-space:nowrap;
}
.sd-srok.v_den, .sd-srok.bystro{ background:rgba(26,158,84,.16); color:#6ee7a8; }
.sd-srok.norma{ background:rgba(237,139,0,.15); color:#fbbf24; }
.sd-srok.dolgo{ background:rgba(220,38,38,.15); color:#fca5a5; }
.sd-tiho{ margin-left:auto; opacity:.55; font-size:10px; }

.tk-artikuly code.art-kol{
  background:rgba(47,147,218,.12); color:#7cc4f5; border-color:rgba(47,147,218,.3);
  font-weight:800;
}
.tk-artikuly code.art-kol i{ background:rgba(47,147,218,.22); color:#bae0fb; }
.tk-artikuly code.art-kol.vtoraya{
  background:rgba(111,60,209,.14); color:#c4b5fd; border-color:rgba(111,60,209,.36);
}
.tk-artikuly code.art-kol.vtoraya i{ background:rgba(111,60,209,.26); color:#ddd0ff; }
.tk-artikuly code.art-kol.net{
  background:rgba(220,38,38,.12); color:#fca5a5; border-color:rgba(220,38,38,.3);
}
.tk-artikuly code.art-kol.net i{ background:rgba(220,38,38,.22); color:#fecaca; }
.svyazi-1s{
  background:var(--karta); border:1px solid var(--line); border-radius:14px;
  padding:14px 18px 12px; margin:0 0 16px; backdrop-filter:blur(8px);
}
.sv-karta{
  border:1px solid var(--line); border-radius:12px; padding:11px 13px;
  background:rgba(2,6,23,.34);
}
.sv-imya{ font-size:13px; font-weight:800; margin-bottom:7px; }
.sv-bin{ font-size:10px; font-weight:600; color:var(--dim); margin-left:7px; }
.sv-baza{
  display:inline-block; font-family:ui-monospace,Menlo,Consolas,monospace;
  font-size:11px; font-weight:700; padding:3px 9px; border-radius:7px;
  background:rgba(26,158,84,.14); color:#6ee7a8;
  border:1px solid rgba(26,158,84,.3); margin-bottom:9px;
}
/* база разработки — сразу красным, чтоб не принять её цифры за боевые */
.sv-baza.razrabotka{
  background:rgba(220,38,38,.14); color:#fca5a5; border-color:rgba(220,38,38,.36);
}
.sv-baza i{ font-style:normal; font-size:9px; text-transform:uppercase; letter-spacing:.4px; opacity:.85; }
.sv-galki{ display:flex; flex-wrap:wrap; gap:6px; }
.sv-podpis{
  margin:12px 0 0; padding-top:10px; border-top:1px solid var(--line);
  font-size:11px; color:var(--dim); line-height:1.55;
}

/* ─── Обработка: кнопки и ответ замка ───────────────────────────────── */
.obrabotka{
  background:var(--karta); border:1px solid var(--line); border-radius:14px;
  padding:14px 18px; margin:18px 0 0; backdrop-filter:blur(8px);
}
.ob-shapka{ display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; margin-bottom:12px; }
.ob-shapka b{ font-size:12px; text-transform:uppercase; letter-spacing:.5px; }
.ob-shapka span{ font-size:11px; color:var(--dim); }
.ob-knopki{ display:flex; flex-wrap:wrap; gap:8px; }
.ob-knopka{
  font:inherit; font-size:12.5px; font-weight:700; cursor:pointer;
  padding:9px 16px; border-radius:10px;
  background:rgba(148,163,184,.1); color:var(--txt);
  border:1px solid var(--line); transition:background .15s ease, border-color .15s ease;
}
.ob-knopka:hover:not(:disabled){ background:rgba(148,163,184,.18); border-color:rgba(148,163,184,.35); }
.ob-knopka:disabled{ opacity:.55; cursor:default; }
.ob-knopka.glavnaya{
  background:rgba(220,38,38,.16); color:#fca5a5; border-color:rgba(220,38,38,.4);
}
.ob-knopka.glavnaya:hover:not(:disabled){ background:rgba(220,38,38,.26); }

.ob-otvet{ margin-top:14px; padding-top:12px; border-top:1px solid var(--line); }
.ob-itog{
  font-size:12.5px; font-weight:800; padding:9px 13px; border-radius:10px; margin-bottom:10px;
}
.ob-itog.zaperto{ background:rgba(237,139,0,.13); color:#fbbf24; border:1px solid rgba(237,139,0,.34); }
.ob-itog.gotovo{ background:rgba(26,158,84,.13); color:#6ee7a8; border:1px solid rgba(26,158,84,.32); }
.ob-itog.beda{ background:rgba(220,38,38,.13); color:#fca5a5; border:1px solid rgba(220,38,38,.34); }
.ob-itog.zhdem{ background:rgba(148,163,184,.1); color:var(--dim); border:1px solid var(--line); }
.ob-hoteli{ margin:0 0 10px; font-size:11.5px; color:var(--dim); }
.ob-hoteli b{ color:var(--txt); }

.ob-rubezh{
  display:flex; align-items:flex-start; gap:9px; padding:7px 11px;
  border-radius:9px; margin-bottom:6px; font-size:11.5px;
  background:rgba(2,6,23,.34); border:1px solid var(--line);
}
.ob-rubezh i{ font-style:normal; font-weight:800; flex:0 0 auto; }
.ob-rubezh b{ flex:0 0 auto; min-width:168px; font-size:11.5px; }
.ob-rubezh span{ color:var(--dim); }
.ob-rubezh.proshel i{ color:#6ee7a8; }
.ob-rubezh.proshel{ border-color:rgba(26,158,84,.28); }
.ob-rubezh.net i{ color:#fca5a5; }
.ob-rubezh.net{ border-color:rgba(220,38,38,.24); }
.ob-syro{
  margin:0; padding:11px 14px; border-radius:10px; max-height:320px; overflow:auto;
  background:rgba(2,6,23,.55); border:1px solid var(--line);
  font-family:ui-monospace,Menlo,Consolas,monospace; font-size:11px; line-height:1.5;
  color:#cbd5e1; white-space:pre-wrap;
}
.ob-prichiny{ margin:0 0 10px; padding-left:18px; font-size:11.5px; color:#fbbf24; line-height:1.7; }

/* ─── Плитки свода — теперь это отборы ──────────────────────────────── */
.svezhest{
  display:flex; align-items:center; flex-wrap:wrap; gap:7px;
  font-size:11px; color:var(--dim); margin:0 0 14px; padding:0 2px;
}
.sv-tochka{
  width:7px; height:7px; border-radius:50%; background:rgba(148,163,184,.4); flex:0 0 auto;
}
.sv-tochka.zhivaya{
  background:#1a9e54; box-shadow:0 0 0 0 rgba(26,158,84,.5);
  animation:puls-svezh 2.4s ease-in-out infinite;
}
.sv-itog{ opacity:.65; }

.otbor-vid{
  font-size:11.5px; color:var(--dim); margin:0 0 14px;
  padding:8px 13px; border-radius:10px;
  background:rgba(220,38,38,.07); border:1px solid rgba(220,38,38,.24);
}
.otbor-vid b{ color:#fca5a5; }
.otbor-vid a{ color:#7cc4f5; margin-left:10px; }
.fid-firmy{ margin-bottom:14px; }

/* ─── Новые, необработанные — и кнопки прямо в ленте ────────────────── */
.stroka-knopka{
  cursor:pointer; white-space:nowrap;
  font-size:11px; font-weight:800; padding:5px 11px; border-radius:8px;
  background:rgba(220,38,38,.14); color:#fca5a5;
  border:1px solid rgba(220,38,38,.36);
  transition:background .15s ease;
}
.stroka-knopka:hover{ background:rgba(220,38,38,.26); }
.stroka-knopka.zanyata{ opacity:.6; }
.stroka-knopka.zaperta{
  background:rgba(237,139,0,.16); color:#fbbf24; border-color:rgba(237,139,0,.4);
}
.stroka-knopka.gotova{
  background:rgba(26,158,84,.18); color:#6ee7a8; border-color:rgba(26,158,84,.4);
}

.lenta-deystviya{
  display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin:0 0 14px;
}
.ld-otvet{ font-size:11.5px; }
.ld-otvet.zaperto{ color:#fbbf24; }
.ld-otvet.gotovo{ color:#6ee7a8; }

/* ─── Галочки «какие документы создавать» ───────────────────────────── */
.sv-doki{
  display:flex; flex-wrap:wrap; align-items:center; gap:5px;
  margin-top:9px; padding-top:9px; border-top:1px solid var(--line);
}
.chipy-pod{
  display:flex; flex-wrap:wrap; align-items:center; gap:6px;
  margin:-6px 0 14px; padding:9px 13px;
  background:rgba(220,38,38,.06); border:1px solid rgba(220,38,38,.2);
  border-radius:12px;
}
.cp-imya{
  font-size:10px; text-transform:uppercase; letter-spacing:.4px;
  color:var(--dim); margin-right:4px;
}
.stroka-knopka.vernut{
  background:rgba(47,147,218,.14); color:#7cc4f5; border-color:rgba(47,147,218,.36);
}
.stroka-knopka.vernut:hover{ background:rgba(47,147,218,.26); }

/* ─── Расхождения: понятно, а не таблицей с нулями ──────────────────── */
.rz-svod{ display:flex; flex-wrap:wrap; gap:10px; margin:0 0 16px; }
.rzs-plitka{
  flex:1 1 150px; background:var(--karta); border:1px solid var(--line);
  border-radius:12px; padding:12px 15px;
}
.rzs-plitka b{ display:block; font-size:23px; font-weight:800; line-height:1.1; }
.rzs-plitka span{
  display:block; margin-top:3px; font-size:10.5px; color:var(--dim);
  text-transform:uppercase; letter-spacing:.4px;
}
.rzs-plitka.beda{ border-color:rgba(220,38,38,.36); background:rgba(220,38,38,.07); }
.rzs-plitka.beda b{ color:#fca5a5; }

.rz-spisok{ display:flex; flex-direction:column; gap:8px; }
.rz-stroka{
  display:flex; flex-wrap:wrap; align-items:center; gap:12px;
  background:var(--karta); border:1px solid var(--line);
  border-left:3px solid rgba(220,38,38,.5);
  border-radius:12px; padding:11px 15px;
  transition:border-color .15s ease;
}
.rz-stroka:hover{ border-color:rgba(220,38,38,.45); }
.rzs-glavnoe{ flex:1 1 260px; min-width:0; }
.rzs-nomer{
  font-size:13.5px; font-weight:800; color:var(--txt); text-decoration:none;
  font-family:ui-monospace,Menlo,Consolas,monospace;
}
.rzs-pod{
  display:flex; flex-wrap:wrap; align-items:baseline; gap:6px;
  margin-top:5px; font-size:11.5px; color:var(--dim);
}
.rzs-skolko{ font-size:14px; font-weight:800; color:#fca5a5; }
.rzs-vse{ color:#fca5a5; font-weight:700; }
.rzs-sost{
  padding:1px 7px; border-radius:5px; font-size:10px;
  background:rgba(148,163,184,.14);
}
.rzs-chego{ display:flex; flex-wrap:wrap; gap:5px; flex:1 1 260px; }
.rzs-net{
  font-size:10.5px; font-weight:700; padding:3px 8px; border-radius:6px;
  background:rgba(220,38,38,.11); color:#fca5a5;
  border:1px solid rgba(220,38,38,.26); white-space:nowrap;
}
.rzs-net.kol{
  background:rgba(237,139,0,.13); color:#fbbf24; border-color:rgba(237,139,0,.3);
}
.rz-podpis{
  margin:14px 0 0; padding-top:11px; border-top:1px solid var(--line);
  font-size:11px; color:var(--dim); line-height:1.6;
}
.rzs-data{
  font-size:11px; font-weight:700; color:#7cc4f5;
  background:rgba(47,147,218,.13); border-radius:5px; padding:2px 7px;
}
.otlozheno{
  margin-top:16px; padding:13px 16px; border-radius:12px;
  background:rgba(148,163,184,.07); border:1px solid var(--line);
}
.otlozheno b{ display:block; font-size:12px; text-transform:uppercase; letter-spacing:.5px; }
.otlozheno p{ margin:6px 0 9px; font-size:11.5px; color:var(--dim); line-height:1.6; }
.otl-metki{ display:flex; flex-wrap:wrap; gap:6px; }
.otl-metka{
  font-size:11px; font-weight:700; padding:3px 9px; border-radius:7px;
  background:rgba(148,163,184,.12); color:var(--dim);
  border:1px solid rgba(148,163,184,.24);
}

/* Расхождения — янтарным, а не красным: красный на тёмном плохо читается
   (слово Бати 2026-08-24). Красный оставляем для настоящих поломок. */
.rzs-net{
  background:rgba(237,139,0,.14); color:#fbbf24; border-color:rgba(237,139,0,.34);
}
.rzs-net.kol{
  background:rgba(237,139,0,.2); color:#fcd34d; border-color:rgba(237,139,0,.42);
}
.rz-stroka{ border-left-color:rgba(237,139,0,.55); }
.rz-stroka:hover{ border-color:rgba(237,139,0,.5); }
.rzs-skolko{ color:#fbbf24; }
.rzs-vse{ color:#fbbf24; }
.rzs-plitka.beda{ border-color:rgba(237,139,0,.4); background:rgba(237,139,0,.08); }
.rzs-plitka.beda b{ color:#fbbf24; }
.rzs-net.chuzhoy{
  background:rgba(148,163,184,.12); color:var(--dim); border-color:rgba(148,163,184,.26);
}
.rzs-plitka.tihaya{ opacity:.7; }
.rzs-plitka.tihaya b{ color:var(--dim); }
.rzs-deystvie{ flex:0 0 auto; }
.rzs-knopka{
  font:inherit; font-size:11px; font-weight:800; cursor:pointer; white-space:nowrap;
  padding:6px 12px; border-radius:8px;
  background:rgba(47,147,218,.14); color:#7cc4f5;
  border:1px solid rgba(47,147,218,.36); transition:background .15s ease;
}
.rzs-knopka:hover:not(:disabled){ background:rgba(47,147,218,.26); }
.rzs-knopka:disabled{ opacity:.55; cursor:default; }

/* плитки свода — теперь кнопки-фильтры */
.sf-otlozheno{
  display:block; width:100%; margin-top:5px;
  font-size:11px; color:var(--dim); opacity:.8;
}

.sf-komplekt{
  display:block; width:100%; margin-top:6px; padding-top:6px;
  border-top:1px solid var(--line);
  font-size:11px; color:var(--dim);
}
.sf-komplekt b{ color:var(--txt); }

/* сумма, которой не знаем: прочерк, а не ноль — ноль был бы враньём */
.sv-net-summy{ color:rgba(148,163,184,.55); font-weight:700; }
.sv-tam{ font-size:10px; color:var(--dim); margin-top:2px; white-space:nowrap; }

/* «мимо Kaspi» — не беда, а объяснение: тихим серым, не красным */
.sv-net-summy{
  font-size:10.5px; font-weight:700; white-space:nowrap;
  padding:2px 7px; border-radius:6px;
  background:rgba(148,163,184,.12); color:var(--dim);
  border:1px solid rgba(148,163,184,.22);
}

/* наш артикул (номер заказа) и артикул поставщика — разные вещи */
.sv-tochka{
  display:inline-block; margin:0 3px 3px 0; padding:3px 8px; border-radius:7px;
  font-size:10.5px; font-weight:800; white-space:nowrap;
}
.sv-tochka.est{
  background:rgba(26,158,84,.15); color:#6ee7a8; border:1px solid rgba(26,158,84,.32);
}
.sv-tochka.netu{
  background:rgba(237,139,0,.13); color:#fbbf24; border:1px solid rgba(237,139,0,.3);
}


/* номер декларации в цепочке — целиком */
/* Батя 24.08: «номер ГТД обрезан окошком — расширь, чтобы всё влезало».
   Резать было нечем: строка длинная, а звено не пускало. Теперь звено
   тянется под содержимое, а на узком экране цепочка переносится. */
.put{
  display:flex; align-items:flex-start; justify-content:center;
  gap:0; width:100%;
}
.put-shag{
  flex:0 1 96px; min-width:58px; max-width:120px; position:relative;
  display:flex; flex-direction:column; align-items:center; gap:6px;
  text-align:center;
}
.put-shag::after{
  content:""; position:absolute; top:8px; left:calc(50% + 14px); right:calc(-50% + 14px);
  height:2px; background:rgba(148,163,184,.18); border-radius:2px;
}
.put-shag:last-child::after{ display:none; }
.put-shag .put-tochka{
  width:17px; height:17px; border-radius:50%; z-index:1;
  border:2px solid rgba(148,163,184,.3); background:var(--bg-dno);
  display:flex; align-items:center; justify-content:center;
  font-size:9px; font-style:normal; font-weight:800; line-height:1;
}
.put-shag .put-tochka:not(:empty){
  width:auto; min-width:17px; padding:0 5px; border-radius:9px; font-size:9px;
}
.put-shag b{
  font-size:9px; font-weight:800; letter-spacing:.3px;
  color:var(--dim); white-space:nowrap;
}
.put-shag.done .put-tochka{ border-color:#1a9e54; background:#1a9e54; color:#06210f; }
.put-shag.done .put-tochka:empty::before{ content:"✓"; }
.put-shag.done b{ color:#6ee7a8; }
.put-shag.done::after{ background:rgba(26,158,84,.45); }
.put-shag.wait .put-tochka{ border-color:#ed8b00; background:rgba(237,139,0,.14); color:#fbbf24; }
.put-shag.wait b{ color:#fbbf24; }
.put-shag.warn .put-tochka{ border-color:#ed8b00; background:#ed8b00; color:#2a1800; }
.put-shag.warn .put-tochka:empty::before{ content:"!"; }
.put-shag.warn b{ color:#fbbf24; }
.put-shag.err .put-tochka{ border-color:var(--akcent); background:var(--akcent); color:#fff; }
.put-shag.err b{ color:#fca5a5; }
.put-shag.idle .put-tochka{ border-color:rgba(148,163,184,.28); background:transparent; }
.put-shag.idle b{ color:rgba(148,163,184,.55); }
.put-shag.off{ opacity:.4; }
.put-shag.dyshit .put-tochka{ animation:puls-shag 1.9s ease-in-out infinite; }
.put-shag.err.dyshit .put-tochka{ animation:puls-beda 1.9s ease-in-out infinite; }
.data-budushchee{
  display:inline-block; margin-left:6px;
  font-size:10px; font-weight:800; white-space:nowrap;
  padding:2px 7px; border-radius:6px;
  background:rgba(111,60,209,.16); color:#c4b5fd;
  border:1px solid rgba(111,60,209,.4);
}
.sd-srok.budushchee, .dd-srok.budushchee{
  background:rgba(111,60,209,.18); color:#c4b5fd;
}

/* ═══ Расхождения: шапка, клетки-фильтры, номера заказов ═══
   Перенесено из шаблона в общий стиль: так у правил есть версия,
   и браузер обязан их перечитать. ═══════════════════════════ */
/* Плотно: строка расхождения должна читаться одним взглядом, а не
   растекаться на пол-экрана (слово Бати: «а то слишком размашисто»). */
.rz-stroka{ padding:8px 12px !important; gap:10px !important; }
.rzs-glavnoe{ flex:0 1 auto !important; }
.rzs-nomer{ font-size:12.5px !important; }
.rzs-pod{ margin-top:2px !important; font-size:11px !important; gap:5px !important; }
.rzs-chego{ flex:1 1 auto !important; justify-content:flex-end; }
.rzs-tochki{ display:flex; flex-wrap:wrap; gap:4px; margin:0; }
.rzs-tochki .sv-tochka{
  display:inline-block; padding:2px 7px; border-radius:6px;
  font-size:10px; font-weight:800; white-space:nowrap; line-height:1.5;
}
/* Номера заказов с неполным комплектом — сразу в строке, чтобы видно было,
   куда смотреть (слово Бати 2026-08-24). */
.rzs-kody{ display:flex; flex-wrap:wrap; gap:4px; width:100%; margin-bottom:5px; justify-content:flex-end; }
.rzs-kod{
  font-family:ui-monospace,Menlo,Consolas,monospace;
  font-size:10.5px; font-weight:700; text-decoration:none; white-space:nowrap;
  padding:2px 8px; border-radius:6px;
  background:rgba(237,139,0,.13); color:#fbbf24;
  border:1px solid rgba(237,139,0,.3);
}
.rzs-kod.eshchyo{ background:rgba(148,163,184,.1); color:var(--dim); border-color:rgba(148,163,184,.24); }

/* ─── Шапка расхождений: одна широкая полоса, без перечня документов ─── */
.rz-shapka{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  gap:18px; margin:0 0 12px; padding:16px 20px; border-radius:16px;
  background:var(--karta); border:1px solid var(--line);
  border-left:4px solid rgba(237,139,0,.6);
  backdrop-filter:blur(8px); box-shadow:0 8px 24px rgba(0,0,0,.3);
}
.rzsh-glavnoe{ display:flex; align-items:center; gap:16px; }
.rzsh-cifra{
  font-size:38px; font-weight:900; line-height:1; letter-spacing:-1.5px; color:#fbbf24;
}
.rzsh-slova{ display:flex; flex-direction:column; gap:3px; }
.rzsh-chto{ font-size:13.5px; font-weight:800; }
.rzsh-gde{ font-size:11.5px; color:var(--dim); }
.rzsh-sprava{ display:flex; flex-direction:column; gap:5px; min-width:210px; }
.rzsh-poloska{
  display:block; height:7px; border-radius:4px;
  background:rgba(148,163,184,.16); overflow:hidden;
}
.rzsh-poloska i{ display:block; height:100%; border-radius:4px; background:#1a9e54; }
.rzsh-podpis{ font-size:11px; color:var(--dim); }
.rzsh-tiho{ font-size:10.5px; color:rgba(148,163,184,.6); }

/* ─── Три клетки, они же фильтры ─────────────────────────────────────── */
.rz-kletki{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(190px,1fr));
  gap:10px; margin:0 0 14px;
}
.rz-kletka{
  font:inherit; text-align:left; cursor:pointer; position:relative; overflow:hidden;
  padding:13px 16px 14px; border-radius:14px;
  background:var(--karta); border:1px solid var(--line); color:var(--txt);
  transition:border-color .15s ease, transform .12s ease;
}
.rz-kletka::before{
  content:""; position:absolute; inset:0 0 auto 0; height:3px;
  background:rgba(148,163,184,.3);
}
.rz-kletka.chastichno::before{ background:#ed8b00; }
.rz-kletka.pusto::before{ background:var(--akcent); }
.rz-kletka:hover{ transform:translateY(-2px); border-color:rgba(148,163,184,.4); }
.rz-kletka.gorit{ border-color:rgba(237,139,0,.55); background:rgba(237,139,0,.07); }
.rz-kletka b{ display:block; font-size:26px; font-weight:900; line-height:1.05; letter-spacing:-.8px; }
.rzk-imya{
  display:block; margin-top:4px; font-size:11px; font-weight:700;
  text-transform:uppercase; letter-spacing:.4px; color:var(--dim);
}
.rzk-melko{ display:block; margin-top:3px; font-size:10.5px; color:rgba(148,163,184,.65); }
.rz-kletka.chastichno b{ color:#fbbf24; }
.rz-kletka.pusto b{ color:#fca5a5; }

.rz-svod{ gap:8px !important; margin-bottom:12px !important; }
.rzs-plitka{ padding:9px 13px !important; }
.rzs-plitka b{ font-size:19px !important; }
.rz-spisok{ gap:5px !important; }
.rzs-melochi{ display:flex; flex-wrap:wrap; gap:4px; width:100%; margin-top:4px; justify-content:flex-end; }
.rzs-melochi .rzs-net{ font-size:9.5px; padding:2px 7px; }
.rzs-tochki .sv-tochka.est{
  background:rgba(26,158,84,.15); color:#6ee7a8; border:1px solid rgba(26,158,84,.32);
}
.rzs-tochki .sv-tochka.netu{
  background:rgba(237,139,0,.15); color:#fbbf24; border:1px solid rgba(237,139,0,.34);
}
.sv-net-summy{
  display:inline-block; margin-top:3px;
  font-size:10px; font-weight:800; letter-spacing:.2px; white-space:nowrap;
  padding:2px 7px; border-radius:6px;
  background:rgba(47,147,218,.16); color:#7cc4f5;
  border:1px solid rgba(47,147,218,.38);
}


/* ═══════════════════════════════════════════════════════════════════
   ЕЖЕДНЕВНЫЙ ОТЧЁТ по таможне — на вкладке «Расхождения»
   Слово Бати 24.08: «каждый день о незакрытых заказах», «показывать
   на экране в кабинете». Приставка ot- своя: классы .shag однажды уже
   налезли на братовы, и у Бати текст стало не прочесть.
   ═══════════════════════════════════════════════════════════════════ */

.ot-blok{margin-top:18px;border:1px solid var(--line);border-radius:14px;
  background:var(--panel);backdrop-filter:blur(8px);overflow:hidden}
.ot-shapka{display:flex;align-items:center;justify-content:space-between;
  gap:14px;padding:13px 16px;flex-wrap:wrap}
.ot-imya{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;min-width:0}
.ot-znak{font-size:16px}
.ot-imya b{font-size:14.5px;color:var(--txt)}
.ot-melko{font-size:12.5px;color:var(--dim)}
.ot-knopki{display:flex;gap:8px;flex-shrink:0}

.ot-knopka{padding:7px 13px;border-radius:9px;border:1px solid var(--line);
  background:rgba(148,163,184,.06);color:var(--txt);font-size:12.5px;
  cursor:pointer;transition:.15s;font-family:inherit}
.ot-knopka:hover{background:rgba(148,163,184,.14);border-color:rgba(148,163,184,.3)}
.ot-knopka.glavnaya{border-color:rgba(220,38,38,.45);color:#fca5a5}
.ot-knopka.glavnaya:hover{background:rgba(220,38,38,.16)}
.ot-knopka.opasnaya{border-color:rgba(234,179,8,.4);color:#fcd34d}
.ot-knopka.opasnaya:hover{background:rgba(234,179,8,.14)}

.ot-nutro{padding:0 16px 16px;border-top:1px solid var(--line)}
.ot-zagolovok{padding:12px 0 8px;font-size:13px;color:var(--txt);font-weight:600}
.ot-schet{margin:0 0 10px;font-size:12px;color:var(--dim)}
.ot-zhdyom,.ot-beda,.ot-tiho{padding:14px 0;font-size:13px;color:var(--dim)}
.ot-beda{color:#fca5a5}

/* письмо — как оно уйдёт в Телеграм, слово в слово */
.ot-pismo{background:rgba(2,6,23,.5);border:1px solid var(--line);
  border-radius:10px;padding:14px 16px;font-size:13px;line-height:1.65;
  color:var(--txt);white-space:pre-wrap;word-break:break-word}
.ot-pismo code{background:rgba(148,163,184,.12);padding:1px 5px;border-radius:5px;
  font-size:12.5px;color:#93c5fd}
.ot-pismo b{color:#fff}
.ot-pismo i{color:var(--dim);font-style:normal;font-size:12.5px}
.ot-pismo a{color:#93c5fd}

/* настройки */
.ot-nastroyki{padding-top:14px;display:flex;flex-direction:column;gap:12px}
.ot-pole{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--dim);min-width:0}
.ot-pole select,.ot-pole input[type=time]{padding:8px 10px;border-radius:9px;
  border:1px solid var(--line);background:rgba(2,6,23,.5);color:var(--txt);
  font-size:13px;font-family:inherit}
.ot-ryad{display:flex;gap:12px;flex-wrap:wrap}
.ot-ryad .ot-pole{flex:1 1 200px}
.ot-tumbler{flex-direction:row;align-items:center;gap:9px;font-size:13px;color:var(--txt)}
.ot-tumbler input{width:16px;height:16px;accent-color:#dc2626}

.ot-stupeni{display:flex;gap:10px;flex-wrap:wrap}
.ot-stupen{flex:1 1 210px;display:flex;flex-direction:column;gap:4px;
  padding:11px 13px;border:1px solid var(--line);border-radius:11px;
  background:var(--karta);cursor:pointer;transition:.15s}
.ot-stupen:hover{background:rgba(148,163,184,.10)}
.ot-stupen.gorit{border-color:rgba(220,38,38,.45);background:rgba(220,38,38,.08)}
.ot-stupen input{display:none}
.ot-stupen b{font-size:12.5px;color:var(--txt)}
.ot-stupen span{font-size:11.5px;color:var(--dim);line-height:1.5}

.ot-shepot{margin:0;font-size:11.5px;color:var(--dim);line-height:1.6}
.ot-niz{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ot-otvet{font-size:12px;color:var(--dim)}
.ot-otvet.horosho{color:#86efac}
.ot-otvet.ploho{color:#fca5a5}
.ot-primerka{margin-top:6px;padding-top:12px;border-top:1px dashed var(--line)}

@media (max-width:640px){
  .ot-shapka{flex-direction:column;align-items:flex-start;gap:10px}
  .ot-knopki{width:100%}
  .ot-knopka{flex:1}
  .ot-stupen{flex:1 1 100%}
}
