/* Кабинет продавца — дополнения к общему ui.css (те же токены основного портала).
   Apple HIG: крупный заголовок экрана, сгруппированные списки, одна основная кнопка. */
.large-title{font-size:28px;font-weight:700;letter-spacing:-.01em;margin:4px 0 4px}
.lede{color:var(--muted);font-size:var(--fs-body);margin:0 0 18px;max-width:720px}
.group-label{font-size:var(--fs-caption);font-weight:600;color:var(--muted);text-transform:uppercase;
  letter-spacing:.05em;margin:18px 4px 6px}
.list{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:16px}
.list .row{display:flex;align-items:center;gap:14px;padding:13px 16px;color:var(--ink);text-decoration:none}
.list .row + .row{border-top:1px solid var(--line)}
a.row:hover{background:#f8fafc;text-decoration:none}
.row .ic{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;
  background:#f1f5f9;color:#334155;flex:0 0 auto}
.row .ic.ok{background:#ecfdf5;color:var(--ok)}
.row .ic.next{background:#fefce8;color:#a16207}
.row .txt{flex:1;min-width:0}
.row .t{font-weight:600}
.row .d{color:var(--muted);font-size:var(--fs-secondary);margin-top:1px}
.row .chev{color:#94a3b8}
.actions{display:flex;gap:10px;align-items:center;margin-top:6px}
.btn-lg{padding:11px 20px;font-size:15px;border-radius:10px}
.org-chip{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:10px;
  background:var(--sidebar-active);color:#e2e8f0;font-size:12px;margin:0 2px 8px}
.org-chip b{font-size:13px;color:#fff;font-weight:600}
.org-chip a{color:#93c5fd;font-size:11.5px}

/* Каркас (Apple HIG): одна центрированная колонка на всех экранах; карточки — во всю её ширину */
.page{max-width:1120px;margin:0 auto;width:100%}
.page .card,.page .list{max-width:none}
.lede{max-width:760px}
/* Таблицы: всё видно — длинные названия переносятся, узкие поля не сжимаются; если места
   нет совсем — прокрутка внутри карточки, не всей страницы */
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tbl{width:100%;border-collapse:collapse;font-size:13px}
.tbl th{text-align:left;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;
  letter-spacing:.04em;padding:10px 12px;white-space:nowrap;border-bottom:1px solid var(--line)}
.tbl td{padding:10px 12px;vertical-align:top;border-top:1px solid var(--line)}
.tbl tr:first-child td{border-top:0}
.tbl .nw{white-space:nowrap}
.tbl .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.tbl .name{min-width:220px}
.tbl .sub{color:var(--muted);font-size:12px;margin-top:2px}
.st{display:inline-block;font-size:12px;font-weight:600;padding:2px 8px;border-radius:999px;white-space:nowrap}
.st.ok{background:#ecfdf5;color:var(--ok)}
.st.bad{background:#fef2f2;color:var(--danger)}
.st.info{background:#f1f5f9;color:#475569}
@media (max-width:760px){.tbl .name{min-width:160px}}
/* Рабочий стол (как в chz): сводка, слева дерево, справа выбранный раздел */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:4px 0 16px}
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 16px}
.kpi .v{font-size:26px;font-weight:700;letter-spacing:-.01em}
.kpi .l{color:var(--muted);font-size:12.5px;margin-top:2px}
.kpi.ok .v{color:var(--ok)} .kpi.bad .v{color:var(--danger)}
/* главная — во всю ширину, сетка как у рабочего стола chz: список до 660 px + раздел */
.page.wide{max-width:none}
.ws{display:grid;grid-template-columns:minmax(0,660px) 1fr;gap:16px;align-items:start}
@media (max-width:1180px){.ws{grid-template-columns:minmax(0,460px) 1fr}}
.tree{display:flex;flex-direction:column;gap:12px}
.tnode{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.thead{display:flex;align-items:center;gap:8px;padding:11px 14px;border-bottom:1px solid var(--line)}
.tsub{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:10px 14px 4px}
.trow{display:flex;gap:10px;align-items:flex-start;padding:10px 14px;color:var(--ink);text-decoration:none}
.trow + .trow{border-top:1px solid var(--line)}
a.trow:hover{background:#f8fafc;text-decoration:none}
.trow.sel{background:#eff6ff}
.trow .txt{flex:1;min-width:0} .trow .t{font-weight:600} .trow .d{color:var(--muted);font-size:12.5px}
.detail{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden;position:sticky;top:0}
.dtitle{display:flex;align-items:center;gap:8px;padding:11px 14px;border-bottom:1px solid var(--line);font-weight:600}
#frame{width:100%;height:calc(100vh - 230px);min-height:460px;border:0;display:block;background:var(--bg)}
@media (max-width:820px){.ws{grid-template-columns:1fr}#frame{height:78vh}}
body.embed .page{max-width:none}
/* Лист поверх страницы (Apple HIG: sheet) — карточка НК из позиции партии */
dialog.sheet{border:0;padding:0;border-radius:16px;width:min(980px,calc(100vw - 32px));height:calc(100vh - 48px);
  max-height:none;box-shadow:0 24px 60px rgba(15,23,42,.3);overflow:hidden}
dialog.sheet[open]{display:flex;flex-direction:column}
dialog.sheet::backdrop{background:rgba(15,23,42,.4)}
.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 10px 18px;border-bottom:1px solid var(--line)}
dialog.sheet iframe{flex:1;border:0;width:100%}
.btn-sm{padding:5px 10px;font-size:12.5px;border-radius:8px}
/* Действия иконками (Lucide), теги, раскрывающиеся панели правки */
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;
  border:1px solid var(--line);background:var(--panel);color:#334155;cursor:pointer;flex:0 0 auto}
.icon-btn:hover{background:#f1f5f9}
.icon-btn.ok{background:var(--accent);border-color:transparent;color:var(--accent-ink)}
.icon-btn svg{width:17px;height:17px}
.i-sm{width:13px;height:13px;vertical-align:-2px;color:#94a3b8}
.tag{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:2px 8px;border-radius:999px;
  background:#f1f5f9;color:#334155;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.tag.sup{background:#eef2ff;color:#3730a3}
.tag.wh{background:#ecfeff;color:#155e75}
.tag.warn{background:#fef9c3;color:#854d0e}
.tag.okt{background:#ecfdf5;color:#047857}
.tag.muted-tag{color:#64748b}
.tag svg{width:12px;height:12px}
.tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.wh-panel{background:#f8fafc;align-items:flex-start}
.wh-fields{flex:1;display:grid;gap:8px;min-width:0}
.wh-fields label{display:grid;gap:4px;font-size:12px}
.wh-acts{display:flex;gap:6px}
/* Список товаров: поиск, выбор, групповые действия */
.ptools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 10px}
.psearch{flex:1;min-width:220px;position:relative}
.psearch svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:#94a3b8}
.psearch input{padding-left:34px}
.selbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:#eff6ff;border:1px solid #bfdbfe;
  border-radius:12px;padding:8px 10px;margin:0 0 10px}
.selbar .cnt{font-weight:600;color:#1e3a8a;margin-right:auto}
.tbl .ck{width:34px;text-align:center}
.tbl input[type=checkbox]{width:16px;height:16px;cursor:pointer}
.tbl tr.sel td{background:#f5f9ff}
.tbl .pname{font-weight:600;cursor:pointer;color:var(--ink)}
.tbl .pname:hover{color:var(--blue)}
.drop{display:block;width:100%;border:1.5px dashed #cbd5e1;border-radius:14px;padding:22px;text-align:center;background:#fafcff;cursor:pointer;transition:.15s}
.drop.over,.drop:hover{border-color:var(--blue);background:#eff6ff}
.drop svg{width:28px;height:28px;color:var(--blue)}
.drop .t{font-weight:600;margin-top:6px}
[hidden]{display:none!important}
.drop svg{display:block;margin:0 auto}
.selbar .acts{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.icon-btn[disabled]{opacity:.45;cursor:not-allowed}
a.icon-btn{text-decoration:none}
/* партия: позиции сгруппированы по складам — склад тегом, товары со сдвигом и направляющей */
.tbl tr.grp td{background:var(--panel);padding:14px 12px 8px;border-top:1px solid var(--line)}
.tbl tr.grp td .tag{font-size:13px;font-weight:600;padding:4px 11px}
.tbl tr.grp td .tag svg{width:14px;height:14px}
.tbl tr.grp td .muted{font-size:12.5px;margin-left:8px}
.tbl tr.grp + tr.in-grp td{border-top:0}
.tbl tr.in-grp td:first-child{padding-left:48px;position:relative}
.tbl tr.in-grp td:first-child::before{content:"";position:absolute;left:24px;top:0;bottom:0;border-left:2px solid #cfeef5}
.tbl tr.in-grp td:first-child::after{content:"";position:absolute;left:24px;top:22px;width:14px;border-top:2px solid #cfeef5}
.tbl tr.in-grp.last td:first-child::before{bottom:auto;height:22px}
