/* ЕДИНЫЕ НАСТРОЙКИ (#/config) — один стиль для всех вкладок и карточек.
   Грамматика — паспорт клиента (passport-2026-09.css): строка «подпись 15/700 — контрол 16»,
   подсказка 13 серым под контролом, поля 42px с фокус-кольцом, статус-точка + «проверено дд.мм чч:мм».
   Ничего из старых экранов (.stv/.o2-*/.tm-*) здесь не переопределяется — они больше не монтируются. */

#screen .cfg-page{ width:100%; max-width:1180px; margin:0 auto; padding:22px 26px 40px; box-sizing:border-box; }
#screen .cfg-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:18px; flex-wrap:wrap; padding-bottom:14px; border-bottom:1px solid rgb(var(--m-border)); }
#screen .cfg-head h1{ margin:0; font-size:28px; font-weight:750; line-height:1.2; letter-spacing:-.02em; }
#screen .cfg-head .cfg-sub{ margin:6px 0 0; font-size:14px; color:rgb(var(--m-text3)); line-height:1.5; max-width:760px; }
#screen .cfg-pick{ display:flex; align-items:center; gap:10px; font-size:14px; }
#screen .cfg-pick label{ font-weight:600; }
#screen .cfg-pick select{ height:40px; min-width:280px; padding:0 12px; border:1.5px solid rgb(var(--m-border-strong)); border-radius:10px; background:rgb(var(--m-bg)); color:rgb(var(--m-text)); font:inherit; font-size:15px; }

/* Вкладки: две группы (партнёрские / сетевые), одинаковые кнопки */
#screen .cfg-tabs{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:16px 0 20px; }
#screen .cfg-tabs button{ min-height:42px; padding:0 16px; border:1px solid rgb(var(--m-border-strong)); border-radius:10px; background:rgb(var(--m-surface)); color:rgb(var(--m-text2)); font:inherit; font-size:14px; font-weight:600; cursor:pointer; }
#screen .cfg-tabs button:hover{ color:rgb(var(--m-text)); border-color:rgb(var(--m-accent) / .5); }
#screen .cfg-tabs button.on{ background:rgb(var(--m-accent)); border-color:rgb(var(--m-accent)); color:#fff; }
#screen .cfg-tabs .cfg-tabs-sep{ flex-basis:100%; height:0; margin:2px 0; }
#screen .cfg-tabs .cfg-tabs-note{ font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:rgb(var(--m-text3)); margin-right:4px; }

#screen .cfg-body{ display:flex; flex-direction:column; gap:16px; }
#screen .cfg-body .cfg-tab-hint{ margin:0; font-size:14px; color:rgb(var(--m-text2)); line-height:1.5; }

/* Карточка */
#screen .cfg-card{ border:1px solid rgb(var(--m-border)); border-radius:14px; background:rgb(var(--m-surface)); overflow:hidden; }
#screen .cfg-card-head{ display:flex; align-items:center; gap:10px; padding:16px 22px; border-bottom:1px solid rgb(var(--m-border)); flex-wrap:wrap; }
#screen .cfg-card-head .lucide{ width:18px; height:18px; color:rgb(var(--m-text3)); flex:none; }
#screen .cfg-card-head h3{ margin:0; font-size:19px; font-weight:700; letter-spacing:-.01em; }
#screen .cfg-card-head .cfg-status{ margin-left:auto; display:flex; align-items:center; gap:10px; font-size:14px; white-space:nowrap; }
#screen .cfg-card-head .cfg-status small{ font-size:13px; color:rgb(var(--m-text3)); }
#screen .cfg-card-head .cfg-status .dot{ font-size:14px; font-weight:600; }
#screen .cfg-card-head .cfg-status .dot.off{ color:rgb(var(--m-text3)); font-weight:500; }
#screen .cfg-card-head .cfg-collapse{ border:0; background:none; color:rgb(var(--m-text3)); font:inherit; font-size:13px; cursor:pointer; padding:4px 6px; }
#screen .cfg-card.collapsed .cfg-card-body, #screen .cfg-card.collapsed .cfg-foot{ display:none; }
#screen .cfg-card-hint{ margin:0; padding:14px 22px 0; font-size:14px; color:rgb(var(--m-text2)); line-height:1.55; }
#screen .cfg-card-body{ padding:6px 22px 10px; }
#screen .cfg-card-body.wide{ padding:0; }
#screen .cfg-card-body.wide table.data{ font-size:15px; }
#screen .cfg-card-body.wide table.data th{ font-size:13px; padding:11px 16px; }
#screen .cfg-card-body.wide table.data td{ padding:11px 16px; }
#screen .cfg-card-body > .loading, #screen .cfg-card-body > .empty{ padding:22px; }
#screen .cfg-note{ margin:10px 0 4px; font-size:13px; color:rgb(var(--m-text3)); line-height:1.5; }
#screen .cfg-sect{ margin:18px 0 6px; font-size:15px; font-weight:700; }
#screen .cfg-sect span{ font-weight:400; color:rgb(var(--m-text3)); font-size:14px; }

/* Строка «подпись — контрол — подсказка» */
#screen .cfg-row{ display:grid; grid-template-columns:280px minmax(0,1fr); gap:16px; align-items:start; padding:13px 0; border-bottom:1px solid rgb(var(--m-border)); }
#screen .cfg-row:last-child{ border-bottom:0; }
#screen .cfg-row[hidden]{ display:none; }
#screen .cfg-k{ font-size:15px; font-weight:700; line-height:1.5; color:rgb(var(--m-text)); padding-top:8px; }
#screen .cfg-k .req{ color:rgb(var(--m-danger)); margin-left:3px; }
#screen .cfg-v{ font-size:16px; font-weight:500; line-height:1.5; min-width:0; }
#screen .cfg-v.static{ padding-top:8px; font-weight:400; }
#screen .cfg-chk{ margin-top:5px; font-size:13px; font-weight:400; color:rgb(var(--m-text3)); line-height:1.45; }
#screen .cfg-inp{ width:100%; max-width:560px; height:42px; padding:0 12px; border:1.5px solid rgb(var(--m-border-strong)); border-radius:10px; background:rgb(var(--m-bg)); color:rgb(var(--m-text)); font:inherit; font-size:15px; box-sizing:border-box; }
#screen textarea.cfg-inp{ height:auto; min-height:42px; padding:9px 12px; line-height:1.5; resize:vertical; max-width:none; }
#screen textarea.cfg-inp.mono{ font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:13.5px; }
#screen .cfg-inp:focus{ outline:none; border-color:rgb(var(--m-accent)); box-shadow:0 0 0 3px rgb(var(--m-accent) / .14); }
#screen .cfg-inp[disabled]{ opacity:.6; }
#screen .cfg-inp.sm{ width:auto; max-width:none; min-width:0; height:36px; font-size:14px; }
#screen .cfg-inp.num{ width:120px; text-align:right; font-variant-numeric:tabular-nums; }
#screen input.cfg-inp[type=color]{ width:64px; padding:3px; }
#screen input.cfg-inp[type=date]{ width:180px; }
#screen .cfg-inline{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
#screen .cfg-inline .cfg-inp{ width:auto; }

/* Галочка и тумблер */
#screen label.cfg-check{ display:inline-flex; align-items:center; gap:10px; font-size:15px; font-weight:500; cursor:pointer; padding-top:8px; }
#screen label.cfg-check input{ width:20px; height:20px; accent-color:rgb(var(--m-accent)); margin:0; }
#screen .cfg-checks{ display:flex; flex-wrap:wrap; gap:8px 18px; }
#screen .cfg-checks label.cfg-check{ padding-top:0; }
#screen label.cfg-toggle{ display:inline-flex; align-items:center; gap:12px; cursor:pointer; padding-top:6px; font-size:15px; font-weight:500; }
#screen label.cfg-toggle input{ position:absolute; opacity:0; width:0; height:0; }
#screen label.cfg-toggle .tr{ position:relative; width:46px; height:26px; border-radius:999px; background:rgb(var(--m-border-strong)); transition:background .15s; flex:none; }
#screen label.cfg-toggle .tr::after{ content:''; position:absolute; top:3px; left:3px; width:20px; height:20px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgb(0 0 0 / .25); transition:left .15s; }
#screen label.cfg-toggle input:checked + .tr{ background:rgb(var(--m-success)); }
#screen label.cfg-toggle input:checked + .tr::after{ left:23px; }
#screen label.cfg-toggle input:focus-visible + .tr{ box-shadow:0 0 0 3px rgb(var(--m-accent) / .25); }

/* Кто получает новые обращения */
#screen .cfg-rot{ display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:6px 18px; }
#screen .cfg-rot label.cfg-rot-i{ padding:6px 0; gap:10px; font-weight:500; }
#screen .cfg-rot label.cfg-rot-i small{ color:rgb(var(--m-text3)); font-size:13px; font-weight:400; }
#screen .cfg-rot-sum{ margin-top:12px; font-size:13.5px; color:rgb(var(--m-text3)); }

/* Файл-картинка */
#screen .cfg-file{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding-top:4px; }
#screen .cfg-file img{ height:44px; max-width:160px; object-fit:contain; border:1px solid rgb(var(--m-border)); border-radius:8px; background:#fff; padding:3px; }
#screen .cfg-file input[type=file]{ font-size:14px; max-width:260px; }

/* Превью (карточка партнёра, письма) */
#screen .cfg-split{ display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:20px; align-items:start; }
#screen .cfg-preview{ position:sticky; top:12px; border:1px solid rgb(var(--m-border)); border-radius:12px; overflow:hidden; background:#fff; color:#0F172A; }
#screen .cfg-preview .bar{ height:6px; }
#screen .cfg-preview .in{ padding:16px; }
#screen .cfg-preview .nm{ font-weight:700; font-size:17px; line-height:1.25; }
#screen .cfg-preview .ln{ font-size:13px; color:#475569; line-height:1.6; margin-top:8px; }
#screen .cfg-preview .cap{ margin-top:10px; font-size:12px; color:#94A3B8; }
#screen .cfg-preview iframe{ width:100%; height:340px; border:0; background:#fff; }

/* Подвал карточки: одна «Сохранить», «Проверить» и строка результата */
#screen .cfg-foot{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:14px 22px; border-top:1px solid rgb(var(--m-border)); background:rgb(var(--m-inset) / .5); }
#screen .cfg-foot .btn{ min-height:42px; padding:0 18px; font-size:15px; font-weight:600; border-radius:10px; }
#screen .cfg-foot .btn.sm{ min-height:38px; padding:0 14px; font-size:14px; }
#screen .cfg-save-msg{ font-size:14px; color:rgb(var(--m-text3)); }
#screen .cfg-save-msg.ok{ color:rgb(var(--m-success)); font-weight:600; }
#screen .cfg-save-msg.bad{ color:rgb(var(--m-danger)); font-weight:600; }
#screen .cfg-save-msg.warn{ color:rgb(var(--m-warning)); font-weight:600; }
#screen .cfg-foot .spacer{ flex:1; }

/* Таблицы внутри карточек (сотрудники, номера, правила, тарифы) */
#screen .cfg-card table.data{ font-size:15px; }
#screen .cfg-card table.data th{ font-size:13px; letter-spacing:.04em; padding:11px 14px; }
#screen .cfg-card table.data td{ padding:11px 14px; line-height:1.45; }
#screen .cfg-card table.data td small{ display:block; font-size:13px; color:rgb(var(--m-text3)); }
#screen .cfg-card table.data td .cfg-inp{ height:38px; font-size:14px; }
#screen .cfg-card table.data td .btn.sm{ min-height:34px; font-size:13px; }
#screen .cfg-tools{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:14px 22px 6px; }
#screen .cfg-tools .cfg-inp{ width:auto; flex:1; min-width:220px; max-width:none; }
#screen .cfg-btns{ display:flex; gap:8px; flex-wrap:wrap; }
#screen .cfg-list-row{ display:grid; grid-template-columns:150px minmax(0,1fr) minmax(0,1.4fr) 40px; gap:10px; align-items:center; padding:10px 0; border-bottom:1px solid rgb(var(--m-border)); }
#screen .cfg-list-row .sub{ grid-column:1/-1; font-size:13px; color:rgb(var(--m-text3)); display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
#screen .cfg-del{ height:38px; width:38px; border:1px solid rgb(var(--m-border)); border-radius:10px; background:rgb(var(--m-surface)); color:rgb(var(--m-text3)); font-size:16px; cursor:pointer; }
#screen .cfg-del:hover{ color:rgb(var(--m-danger)); border-color:rgb(var(--m-danger)); }

/* Стадии первичной загрузки */
#screen .cfg-stages{ display:flex; flex-direction:column; }
#screen .cfg-stage{ display:grid; grid-template-columns:28px 1fr auto; gap:12px; align-items:center; padding:12px 0; border-bottom:1px solid rgb(var(--m-border)); font-size:15px; }
#screen .cfg-stage .ic{ width:24px; height:24px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; background:rgb(var(--m-inset)); color:rgb(var(--m-text3)); }
#screen .cfg-stage.done .ic{ background:rgb(var(--m-success-soft)); color:rgb(var(--m-success)); }
#screen .cfg-stage.active .ic{ background:rgb(var(--m-accent-soft)); color:rgb(var(--m-accent)); }
#screen .cfg-stage.bad .ic{ background:rgb(var(--m-danger-soft)); color:rgb(var(--m-danger)); }
#screen .cfg-stage .em{ font-size:14px; color:rgb(var(--m-text3)); }
#screen .cfg-stage .bar{ grid-column:2/-1; height:6px; border-radius:3px; background:rgb(var(--m-inset)); overflow:hidden; }
#screen .cfg-stage .bar > div{ height:100%; background:rgb(var(--m-accent)); transition:width .3s; }
#screen .cfg-log{ grid-column:2/-1; font-size:13px; color:rgb(var(--m-text2)); line-height:1.6; }

/* Сценарии — карточки библиотеки */
#screen .cfg-scn-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:12px; padding:6px 0 12px; }
#screen .cfg-scn{ border:1px solid rgb(var(--m-border)); border-radius:12px; padding:14px 16px; display:flex; flex-direction:column; gap:6px; background:rgb(var(--m-bg)); }
#screen .cfg-scn b{ font-size:16px; }
#screen .cfg-scn .pv{ font-size:14px; color:rgb(var(--m-text2)); }
#screen .cfg-scn .gl{ font-size:14px; color:rgb(var(--m-text3)); flex:1; }
#screen .cfg-scn .own{ font-size:12px; font-weight:700; padding:2px 8px; border-radius:999px; background:rgb(var(--m-accent-soft)); color:rgb(var(--m-accent)); margin-left:8px; }
#screen .cfg-scn .common{ font-size:12px; font-weight:600; padding:2px 8px; border-radius:999px; background:rgb(var(--m-inset)); color:rgb(var(--m-text3)); margin-left:8px; }

/* Модалки редакторов (сценарий, сектор, права): та же геометрия полей */
.modal .cfg-mod{ padding:14px 18px; max-height:74vh; overflow:auto; }
.modal .cfg-mod .cfg-row{ grid-template-columns:220px minmax(0,1fr); padding:10px 0; }
.modal .cfg-mod .cfg-sect{ margin-top:14px; }
.modal .cfg-mod-foot{ display:flex; gap:10px; align-items:center; padding:12px 18px; border-top:1px solid rgb(var(--m-border)); }
.modal .cfg-mod-foot .spacer{ flex:1; }
.modal .cfg-mod-foot .btn{ min-height:42px; padding:0 18px; font-size:15px; }

@media (max-width:760px){
  #screen .cfg-page{ padding:16px 14px 32px; }
  #screen .cfg-row{ grid-template-columns:1fr; gap:6px; padding:12px 0; }
  #screen .cfg-k{ padding-top:0; }
  #screen .cfg-split{ grid-template-columns:1fr; }
  #screen .cfg-preview{ position:static; }
  #screen .cfg-list-row{ grid-template-columns:1fr 40px; }
  #screen .cfg-card-head .cfg-status{ margin-left:0; flex-basis:100%; }
  .modal .cfg-mod .cfg-row{ grid-template-columns:1fr; }
}
