/*
 * cabinet-v3-admin.css — стили веб-админки кабинета v3 (read-only дашборды, сессия 1).
 * Дизайн в стиле существующего v3 (hex-литералы, без :root). Тёмная тема.
 * Загружается ПОСЛЕ cabinet-v3.css только на /lk-v3/ и /bot-profile-v3/. Общий lk.js/lk-v3.js не трогаем.
 * Скоуп — внутри .cabv3 [data-cabv3-admin]; классы префикс cabv3-adm-, без id (десктоп+мобайл в одном DOM).
 */
.cabv3 [data-cabv3-admin]{font-family:Inter,sans-serif;color:#f5f4ff;}

/* Кнопка «Админка» по умолчанию СКРЫТА. UA-правило [hidden]{display:none} (0,1,0) перебивается
   .cabv3-side-item/.cabv3-tab{display:flex} (0,2,0), поэтому атрибут hidden сам по себе НЕ скрывает —
   форсим скрытие явным правилом с !important. cabinet-v3-admin.js снимает атрибут hidden ТОЛЬКО при
   is_admin:true → правило перестаёт матчить → кнопка появляется. При false/ошибке/без ответа hidden
   остаётся → кнопка скрыта у не-админа. (Реальная защита данных — серверный гейт; это только показ.) */
.cabv3 [data-admin-only][hidden]{display:none!important;}

.cabv3-adm{padding:2px 0 8px;}
.cabv3-adm *{box-sizing:border-box;}
.cabv3-adm-num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum";}

/* ── header: заголовок + переключатели периода + refresh ── */
.cabv3-adm-head{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:18px;}
.cabv3-adm-title{display:flex;align-items:center;gap:10px;font-family:Manrope,sans-serif;font-weight:800;font-size:21px;color:#f1efff;}
.cabv3-adm-title i{font-size:20px;color:#8a6dfe;}
.cabv3-adm-actions{display:flex;align-items:center;gap:8px;margin-left:auto;}
.cabv3-adm-refresh{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:40px;height:38px;padding:0 13px;border-radius:11px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:#c8c5e0;font-size:13px;cursor:pointer;transition:filter .15s,border-color .15s;}
.cabv3-adm-refresh:hover{border-color:rgba(124,92,252,.4);filter:brightness(1.15);}
.cabv3-adm-refresh i{font-size:15px;}

/* ── chips (период / метрика) ── */
.cabv3-adm-chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px;}
.cabv3-adm-chip{display:inline-flex;align-items:center;min-height:34px;padding:7px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:#c8c5e0;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:filter .15s,border-color .15s,background .15s;}
.cabv3-adm-chip:hover{filter:brightness(1.18);}
.cabv3-adm-chip.is-active{background:linear-gradient(135deg,rgba(124,92,252,.28),rgba(181,72,242,.16));border-color:rgba(124,92,252,.5);color:#f5f4ff;}

/* ── custom range ── */
.cabv3-adm-range{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:-6px 0 16px;}
.cabv3-adm-range input[type=date]{height:36px;padding:0 10px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);color:#f5f4ff;font-size:13px;font-family:Inter,sans-serif;color-scheme:dark;}
.cabv3-adm-range .cabv3-adm-chip{height:36px;}

/* ── KPI cards ── */
.cabv3-adm-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:11px;margin-bottom:8px;}
.cabv3-adm-card{background:rgba(22,22,42,.6);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:15px 16px;}
.cabv3-adm-kpi-label{display:flex;align-items:center;gap:6px;font-size:12px;color:#918fae;margin-bottom:8px;font-weight:600;}
.cabv3-adm-kpi-label i{font-size:13px;}
.cabv3-adm-kpi-value{font-family:Manrope,sans-serif;font-weight:800;font-size:23px;line-height:1.1;color:#f5f4ff;}
.cabv3-adm-kpi-sub{font-size:12px;color:#6c6a85;margin-top:5px;}
.cabv3-adm-kpi-sub.pos{color:#34d399;}
.cabv3-adm-kpi-sub.neg{color:#f87171;}

/* ── sections ── */
.cabv3-adm-section{margin-top:24px;}
.cabv3-adm-sec-head{display:flex;align-items:center;gap:8px;margin-bottom:12px;}
.cabv3-adm-sec-title{font-family:Manrope,sans-serif;font-weight:800;font-size:16px;color:#f1efff;}
.cabv3-adm-sec-title i{color:#8a6dfe;margin-right:6px;}
.cabv3-adm-sec-note{font-size:11.5px;color:#6c6a85;margin-left:auto;}
.cabv3-adm-grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:11px;}

/* ── chart ── */
.cabv3-adm-chart-wrap{background:rgba(22,22,42,.6);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:14px 14px 8px;}
.cabv3-adm-chart{width:100%;height:auto;display:block;overflow:visible;}
.cabv3-adm-chart text{font-family:Inter,sans-serif;}

/* ── tables ── */
.cabv3-adm-tablewrap{background:rgba(22,22,42,.6);border:1px solid rgba(255,255,255,.08);border-radius:16px;overflow:hidden;}
.cabv3-adm-table{width:100%;border-collapse:collapse;font-size:13px;}
.cabv3-adm-table th{text-align:right;font-weight:600;font-size:11px;letter-spacing:.02em;text-transform:uppercase;color:#6c6a85;padding:11px 12px;border-bottom:1px solid rgba(255,255,255,.08);white-space:nowrap;}
.cabv3-adm-table th:first-child,.cabv3-adm-table td:first-child{text-align:left;}
.cabv3-adm-table td{padding:11px 12px;border-bottom:1px solid rgba(255,255,255,.05);color:#d6d3ee;vertical-align:middle;}
.cabv3-adm-table tr:last-child td{border-bottom:none;}
.cabv3-adm-table tbody tr:hover td{background:rgba(255,255,255,.025);}
.cabv3-adm-table td.num,.cabv3-adm-table th.num{text-align:right;font-variant-numeric:tabular-nums;}
.cabv3-adm-prod{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:#f5f4ff;}
.cabv3-adm-dot{width:9px;height:9px;border-radius:3px;flex-shrink:0;}

/* ── status / channel pills ── */
.cabv3-adm-pills{display:flex;flex-wrap:wrap;gap:8px;}
.cabv3-adm-statpill{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:11px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);font-size:12.5px;color:#c8c5e0;}
.cabv3-adm-statpill b{font-variant-numeric:tabular-nums;color:#f5f4ff;font-weight:700;}
.cabv3-adm-statpill .d{width:8px;height:8px;border-radius:50%;}

/* ── horizontal bar list (channels / levels) ── */
.cabv3-adm-bars{display:flex;flex-direction:column;gap:10px;}
.cabv3-adm-bar-row{display:grid;grid-template-columns:1fr;gap:5px;}
.cabv3-adm-bar-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:12.5px;}
.cabv3-adm-bar-name{color:#c8c5e0;font-weight:600;}
.cabv3-adm-bar-val{color:#f5f4ff;font-variant-numeric:tabular-nums;font-weight:700;}
.cabv3-adm-bar-track{height:8px;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden;}
.cabv3-adm-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#7c5cfc,#b548f2);min-width:2px;}

/* ── balances ── */
.cabv3-adm-bal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:11px;}
.cabv3-adm-bal{background:rgba(22,22,42,.6);border:1px solid rgba(255,255,255,.08);border-radius:15px;padding:14px;}
.cabv3-adm-bal-top{display:flex;align-items:center;gap:8px;font-size:12px;color:#918fae;margin-bottom:9px;font-weight:600;}
.cabv3-adm-bal-ico{width:26px;height:26px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;font-size:14px;}
.cabv3-adm-bal-val{font-family:Manrope,sans-serif;font-weight:800;font-size:19px;color:#f5f4ff;font-variant-numeric:tabular-nums;}
.cabv3-adm-bal-sub{font-size:11.5px;color:#6c6a85;margin-top:4px;font-variant-numeric:tabular-nums;}
.cabv3-adm-bal.is-primary{border-color:rgba(124,92,252,.4);}

/* ── states ── */
.cabv3-adm-empty{padding:18px;text-align:center;color:#6c6a85;font-size:13px;}
.cabv3-adm-skel{padding:40px 16px;text-align:center;color:#918fae;font-size:14px;}
.cabv3-adm-err{padding:14px;border-radius:13px;background:rgba(248,113,113,.08);border:1px solid rgba(248,113,113,.25);color:#fca5a5;font-size:13px;}
.cabv3-adm-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:7px;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;}
.cabv3-adm-badge.warn{background:rgba(251,191,36,.13);color:#fbbf24;}
.cabv3-adm-badge.bad{background:rgba(248,113,113,.13);color:#f87171;}
.cabv3-adm-badge.ok{background:rgba(52,211,153,.13);color:#34d399;}
.cabv3-adm-muted{color:#6c6a85;}

/* мобайл-партиал узкий: чуть плотнее */
.cabv3-m .cabv3-adm-title{font-size:19px;}
.cabv3-m .cabv3-adm-kpi-value{font-size:21px;}
@media (max-width:420px){
  .cabv3-adm-kpis{grid-template-columns:repeat(2,1fr);}
  .cabv3-adm-table{font-size:12px;}
  .cabv3-adm-table th,.cabv3-adm-table td{padding:9px 9px;}
}

/* ════════ ФАЗА 2: управление каталогом ════════ */
/* таб-переключатель Статистика / Каталог */
.cabv3-adm-tabs{display:flex;gap:6px;margin:-4px 0 18px;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:0;}
.cabv3-adm-tab{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border:none;background:none;color:#918fae;font-size:14px;font-weight:700;font-family:Manrope,sans-serif;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s;}
.cabv3-adm-tab i{font-size:16px;}
.cabv3-adm-tab:hover{color:#c8c5e0;}
.cabv3-adm-tab.is-active{color:#f5f4ff;border-bottom-color:#8a6dfe;}

/* тулбар: поиск + фильтр-чипы */
.cabv3-adm-cat{margin-top:6px;}
.cabv3-adm-cat-toolbar{display:flex;flex-direction:column;gap:11px;margin-bottom:14px;}
.cabv3-adm-cat-search{display:flex;align-items:center;gap:8px;height:42px;padding:0 14px;border-radius:13px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);}
.cabv3-adm-cat-search i{font-size:17px;color:#6c6a85;flex-shrink:0;}
.cabv3-adm-cat-search input{flex:1;min-width:0;background:none;border:none;outline:none;color:#f5f4ff;font-size:14px;font-family:Inter,sans-serif;}
.cabv3-adm-cat-search input::placeholder{color:#6c6a85;}
.cabv3-adm-cat .cabv3-adm-chips{margin-bottom:0;}

/* чипы выбора типа услуги (динамические из groups-сводки) */
.cabv3-adm-cat-groups{display:flex;flex-wrap:wrap;gap:7px;}
.cabv3-adm-gchip{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:6px 13px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:#c8c5e0;font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap;transition:filter .15s,border-color .15s,background .15s;}
.cabv3-adm-gchip:hover{filter:brightness(1.18);}
.cabv3-adm-gchip.is-active{background:linear-gradient(135deg,rgba(90,141,247,.28),rgba(124,92,252,.16));border-color:rgba(90,141,247,.5);color:#f5f4ff;}
.cabv3-adm-gchip .cabv3-adm-muted{font-variant-numeric:tabular-nums;}
.cabv3-adm-gchip.is-active .cabv3-adm-muted{color:#c8d6ff;}

.cabv3-adm-cat-count{font-size:12px;margin-bottom:10px;}
.cabv3-adm-cat-rows{display:flex;flex-direction:column;gap:9px;}

/* строка услуги */
.cabv3-adm-cat-row{background:rgba(22,22,42,.6);border:1px solid rgba(255,255,255,.08);border-radius:15px;padding:13px 14px;display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px;transition:border-color .15s,opacity .15s;}
.cabv3-adm-cat-row.is-editing{border-color:rgba(124,92,252,.45);}
.cabv3-adm-cat-row.is-hidden{opacity:.62;border-style:dashed;}
.cabv3-adm-cat-main{flex:1;min-width:0;}
.cabv3-adm-cat-name{font-family:Manrope,sans-serif;font-weight:700;font-size:14.5px;color:#f5f4ff;line-height:1.25;word-break:break-word;}
.cabv3-adm-cat-meta{font-size:12px;color:#918fae;margin-top:4px;font-variant-numeric:tabular-nums;}
.cabv3-adm-cat-badges{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;}
.cabv3-adm-cat-badges:empty{display:none;}

/* точка-маркер «переопределено» */
.cabv3-adm-ovdot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#8a6dfe;margin-right:5px;vertical-align:middle;box-shadow:0 0 0 2px rgba(138,109,254,.18);}

/* кнопки-иконки действий */
.cabv3-adm-cat-actions{display:flex;align-items:center;gap:6px;flex-shrink:0;}
.cabv3-adm-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);color:#c8c5e0;cursor:pointer;transition:filter .15s,border-color .15s,background .15s;}
.cabv3-adm-iconbtn:hover{filter:brightness(1.2);border-color:rgba(124,92,252,.4);}
.cabv3-adm-iconbtn i{font-size:16px;}
.cabv3-adm-iconbtn.is-active{background:linear-gradient(135deg,rgba(124,92,252,.28),rgba(181,72,242,.16));border-color:rgba(124,92,252,.5);color:#f5f4ff;}
.cabv3-adm-iconbtn.danger{background:rgba(248,113,113,.12);border-color:rgba(248,113,113,.3);color:#fca5a5;}

/* инлайн-форма редактирования */
.cabv3-adm-cat-edit{flex-basis:100%;width:100%;margin-top:6px;padding-top:13px;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:11px;}
.cabv3-adm-fld{display:flex;flex-direction:column;gap:5px;}
.cabv3-adm-fld>span{font-size:11.5px;font-weight:600;color:#918fae;display:flex;gap:6px;align-items:baseline;flex-wrap:wrap;}
.cabv3-adm-fld>span i{font-style:normal;font-weight:500;font-size:11px;}
.cabv3-adm-fld input,.cabv3-adm-fld textarea{width:100%;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:9px 11px;color:#f5f4ff;font-size:13.5px;font-family:Inter,sans-serif;outline:none;transition:border-color .15s;}
.cabv3-adm-fld input:focus,.cabv3-adm-fld textarea:focus{border-color:rgba(124,92,252,.5);}
.cabv3-adm-fld textarea{resize:vertical;min-height:42px;}
.cabv3-adm-fld-row{display:flex;gap:10px;}
.cabv3-adm-fld-row .cabv3-adm-fld{flex:1;}
.cabv3-adm-fld-sr{max-width:110px;}
.cabv3-adm-fld-sr input{-moz-appearance:textfield;}

/* выбор бейджей (чекбоксы-пилюли) */
.cabv3-adm-badges{display:flex;flex-wrap:wrap;gap:7px;}
.cabv3-adm-badgepick{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);color:#c8c5e0;font-size:12px;font-weight:600;cursor:pointer;user-select:none;}
.cabv3-adm-badgepick input{margin:0;accent-color:#8a6dfe;cursor:pointer;}
.cabv3-adm-badgepick.on{background:linear-gradient(135deg,rgba(124,92,252,.24),rgba(181,72,242,.14));border-color:rgba(124,92,252,.5);color:#f5f4ff;}

.cabv3-adm-cat-hint{font-size:11px;}
.cabv3-adm-cat-editbtns{display:flex;gap:8px;}
.cabv3-adm-btn{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 16px;border-radius:11px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);color:#d6d3ee;font-size:13px;font-weight:700;cursor:pointer;font-family:Inter,sans-serif;transition:filter .15s;}
.cabv3-adm-btn:hover{filter:brightness(1.15);}
.cabv3-adm-btn.primary{background:linear-gradient(135deg,#7c5cfc,#b548f2);border-color:transparent;color:#fff;}
.cabv3-adm-btn[disabled]{opacity:.55;cursor:default;}

.cabv3-adm-more{width:100%;margin-top:11px;height:42px;border-radius:12px;background:rgba(255,255,255,.04);border:1px dashed rgba(255,255,255,.16);color:#c8c5e0;font-size:13px;font-weight:600;cursor:pointer;transition:filter .15s,border-color .15s;}
.cabv3-adm-more:hover{filter:brightness(1.15);border-color:rgba(124,92,252,.4);}

@media (max-width:420px){
  .cabv3-adm-cat-row{padding:12px;}
  .cabv3-adm-cat-actions{gap:5px;}
  .cabv3-adm-iconbtn{width:34px;height:34px;}
}

/* ════════ ФАЗА 3: заказы / пользователи / действия ════════ */
.cabv3-adm-cat-filterrow{display:flex;flex-wrap:wrap;gap:8px;}
.cabv3-adm-select{height:38px;padding:0 12px;border-radius:11px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);color:#f5f4ff;font-size:13px;font-family:Inter,sans-serif;color-scheme:dark;cursor:pointer;}
.cabv3-adm-cat-row[data-open-order],.cabv3-adm-cat-row[data-open-user]{cursor:pointer;}
.cabv3-adm-cat-row[data-open-order]:hover,.cabv3-adm-cat-row[data-open-user]:hover{border-color:rgba(124,92,252,.4);}
.cabv3-adm-cat-row .cabv3-adm-statpill{padding:2px 8px;font-size:11.5px;}
.cabv3-adm-cat-row .cabv3-adm-prod{font-size:13.5px;}

/* деталь заказа/юзера: key-value */
.cabv3-adm-detail-head{margin-bottom:14px;}
.cabv3-adm-back{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 13px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);color:#c8c5e0;font-size:13px;font-weight:600;cursor:pointer;}
.cabv3-adm-back:hover{filter:brightness(1.15);border-color:rgba(124,92,252,.4);}
.cabv3-adm-kvs{display:flex;flex-direction:column;gap:1px;background:rgba(22,22,42,.6);border:1px solid rgba(255,255,255,.08);border-radius:14px;overflow:hidden;}
.cabv3-adm-kv{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:11px 14px;border-bottom:1px solid rgba(255,255,255,.05);}
.cabv3-adm-kv:last-child{border-bottom:none;}
.cabv3-adm-kv>span{font-size:12.5px;color:#918fae;flex-shrink:0;}
.cabv3-adm-kv>b{font-size:13.5px;color:#f5f4ff;font-weight:600;text-align:right;word-break:break-word;min-width:0;}
.cabv3-adm-kv .cabv3-adm-statpill,.cabv3-adm-kv .cabv3-adm-prod{font-weight:600;}
.cabv3-adm-link{color:#8ab4ff;text-decoration:none;word-break:break-all;}
.cabv3-adm-link:hover{text-decoration:underline;}

/* кнопки действий */
.cabv3-adm-actbtns{display:flex;flex-wrap:wrap;gap:8px;}
.cabv3-adm-actbtns .cabv3-adm-btn{flex:1 1 auto;min-width:160px;justify-content:center;}
.cabv3-adm-btn.danger{background:rgba(248,113,113,.14);border-color:rgba(248,113,113,.35);color:#fca5a5;}
.cabv3-adm-okbox{padding:11px 14px;border-radius:12px;background:rgba(52,211,153,.1);border:1px solid rgba(52,211,153,.28);color:#6ee7b7;font-size:13px;margin-bottom:12px;}

/* подтверждение (модалка, body-level) */
.cabv3-adm-modal-ov{position:fixed;inset:0;z-index:99999;background:rgba(8,8,18,.66);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:18px;}
.cabv3-adm-modal{width:100%;max-width:420px;background:#16162a;border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:20px;box-shadow:0 20px 60px rgba(0,0,0,.5);font-family:Inter,sans-serif;}
.cabv3-adm-modal-title{font-family:Manrope,sans-serif;font-weight:800;font-size:17px;color:#f5f4ff;margin-bottom:10px;}
.cabv3-adm-modal-body{font-size:14px;color:#c8c5e0;line-height:1.5;margin-bottom:18px;}
.cabv3-adm-modal-body p{margin:0;}
.cabv3-adm-modal-btns{display:flex;gap:10px;justify-content:flex-end;}

@media (max-width:420px){
  .cabv3-adm-actbtns .cabv3-adm-btn{min-width:100%;}
  .cabv3-adm-kv{flex-direction:column;gap:3px;}
  .cabv3-adm-kv>b{text-align:left;}
}

/* Фаза A: дельты к прошлому периоду (KPI) */
.cabv3-adm-delta{display:inline-block;font-size:11.5px;font-weight:700;padding:1px 7px;border-radius:8px;margin-left:4px;vertical-align:middle;white-space:nowrap;}
.cabv3-adm-delta.up{color:#34d399;background:rgba(52,211,153,.12);}
.cabv3-adm-delta.down{color:#f87171;background:rgba(248,113,113,.12);}
.cabv3-adm-delta.flat{color:#918fae;background:rgba(145,143,174,.12);}

/* Фаза B: 8 табов — горизонтальный скролл на узких экранах; аудит-строки кликабельны */
.cabv3-adm-tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.cabv3-adm-tabs::-webkit-scrollbar{display:none;}
.cabv3-adm-tabs .cabv3-adm-tab{white-space:nowrap;flex-shrink:0;}
[data-ops-toggle]{cursor:pointer;}
.cabv3-adm-ops-pre{max-height:220px;overflow:auto;background:rgba(255,255,255,.03);border-radius:8px;padding:8px;}

/* Фаза C: центр управления параметрами */
.cabv3-adm-set-note{display:flex;align-items:center;gap:6px;font-size:12px;margin-bottom:12px;padding:8px 12px;background:rgba(90,141,247,.08);border-radius:10px;}
.cabv3-adm-set-rows{display:flex;flex-direction:column;gap:8px;}
.cabv3-adm-set-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:12px;}
.cabv3-adm-set-main{min-width:0;flex:1;}
.cabv3-adm-set-label{font-size:13px;font-weight:600;color:#e8e6f5;display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.cabv3-adm-set-val{font-size:13px;color:#a9a7c4;margin-top:2px;word-break:break-word;}
.cabv3-adm-set-actions{display:flex;align-items:center;gap:6px;flex-shrink:0;}
.cabv3-adm-srcbadge{font-size:10px;font-weight:700;padding:1px 6px;border-radius:6px;border:1px solid;text-transform:uppercase;letter-spacing:.3px;}
.cabv3-adm-modal-lg{max-width:560px;}
.cabv3-adm-set-editor{display:flex;flex-direction:column;gap:8px;max-height:60vh;overflow:auto;}
.cabv3-adm-set-editor .cabv3-adm-fld{margin:0;}
.cabv3-adm-set-subhead{font-weight:700;font-size:12px;color:#b548f2;margin-top:6px;text-transform:uppercase;}
.cabv3-adm-loytbl{display:flex;flex-direction:column;gap:5px;}
.cabv3-adm-loyhdr,.cabv3-adm-loyrow{display:grid;grid-template-columns:32px 1.6fr 1fr 1fr;gap:6px;align-items:center;}
.cabv3-adm-loyhdr{font-size:11px;color:#6c6a85;text-transform:uppercase;}
.cabv3-adm-loyrow input{width:100%;}
.cabv3-adm-set-histrow{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;gap:4px;}
