:root{--brand-primary:#2F6BFF;--brand-accent:#C98A16}
/* owner-polish.20260915a.css — презентационный слой рабочего кабинета владельца.
   Правит только владельческий контур (body.op-owner-clean) и новые панели метрик. */

/* 1. Известные метрики показываются сразу — без «оживающих» анимаций и прыжков */
body.op-owner-clean .dashboard-widget,
body.op-owner-clean .dashboard-live-widget,
body.op-owner-clean .panel{animation:none!important}
body.op-owner-clean .dashboard-live-widget,
body.op-owner-clean .dashboard-widget{opacity:1!important;transform:none!important}

/* 2. Технические и демо-элементы в рабочем кабинете не показываем */
body.op-owner-clean .demo-badge,
body.op-owner-clean [data-demo-badge]{display:none!important}
body.op-owner-clean .sidebar-note{display:none!important}
body.op-owner-clean .ghost-button[data-technical="true"]{display:none!important}

/* 3. Панели метрик: показатели, тренд по дням, доли каналов */
.op-metrics-block{display:grid;gap:16px;margin:0 0 18px;grid-column:1/-1;width:100%;max-width:100%;min-width:0}
.owner-overview-workbench>.op-metrics-block{grid-column:1/-1}
.op-bars{flex-wrap:nowrap;overflow:hidden}
.op-panel{background:#fff;border:1px solid rgba(15,23,42,.1);border-radius:18px;padding:18px 20px;box-shadow:0 10px 26px rgba(15,23,42,.06)}
.op-panel__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}
.op-panel__head h3{margin:0;font-size:16px;color:#0f172a}
.op-panel__head span{font-size:12px;color:#475569}
.op-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.op-kpi{background:linear-gradient(180deg,#fbfdff,#f2f7fb);border:1px solid rgba(15,23,42,.09);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:6px}
.op-kpi--alert{background:linear-gradient(180deg,#fff5f5,#fee9e9);border-color:rgba(185,28,28,.25)}
.op-kpi--good{background:linear-gradient(180deg,#f2fbf5,#e6f7ec);border-color:rgba(22,101,52,.22)}
.op-kpi__title{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#475569}
.op-kpi__value{font-size:26px;line-height:1.1;color:#0f172a}
.op-kpi--alert .op-kpi__value{color:#b91c1c}
.op-kpi--good .op-kpi__value{color:#15803d}
.op-kpi__note{font-size:12px;color:#64748b}
.op-bars{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px;align-items:end;
  border-bottom:2px solid rgba(15,23,42,.14);padding-bottom:2px}
.op-bar{display:grid;grid-template-rows:18px 112px 16px;justify-items:center;align-items:end;min-width:0}
.op-bar__fill{width:74%;max-width:38px;min-width:14px;border-radius:8px 8px 2px 2px;background:linear-gradient(180deg,#2f7d95,#20586e)}
.op-bar--zero .op-bar__fill{background:#cbd5e1;border-radius:3px}
.op-bar__value{font-size:12px;color:#0f172a;font-weight:800;align-self:end;line-height:1}
.op-bar__day{font-style:normal;font-size:10px;color:#64748b;align-self:start;line-height:1;white-space:nowrap}
.op-channel{display:grid;grid-template-columns:22px minmax(0,1fr) minmax(70px,150px) auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px dashed rgba(15,23,42,.08)}
.op-channel svg{width:20px;height:20px;display:block}
.op-channel:last-child{border-bottom:0}
.op-channel__icon{display:flex;align-items:center;justify-content:center;width:22px;height:22px}
.op-channel__name{font-size:14px;color:#0f172a}
.op-channel__bar{height:8px;border-radius:999px;background:#eef2f7;overflow:hidden}
.op-channel__bar i{display:block;height:100%;background:linear-gradient(90deg,#2f7d95,#57a7bd)}
.op-channel__num{font-size:13px;color:#0f172a;font-weight:700;white-space:nowrap}
.op-channel__open{font-size:11px;color:#64748b;white-space:nowrap}

/* 4. Мобильный режим: компактная шапка и плотные показатели */
@media(max-width:520px){
  body.op-owner-clean .mobile-brand b{font-size:15px}
  body.op-owner-clean .mobile-brand span{display:none}
  body.op-owner-clean .op-panel{padding:14px;border-radius:16px}
  body.op-owner-clean .op-panel__head{flex-direction:column;gap:4px;align-items:flex-start}
  body.op-owner-clean .op-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  body.op-owner-clean .op-kpi{padding:12px}
  body.op-owner-clean .op-kpi__value{font-size:22px}
  body.op-owner-clean .op-bar{grid-template-rows:16px 88px 14px}
  body.op-owner-clean .op-bars{gap:4px}
  body.op-owner-clean .op-kpi__title{font-size:11px;letter-spacing:.04em}
  body.op-owner-clean .op-channel{grid-template-columns:22px minmax(0,1fr) auto;gap:6px 8px;row-gap:8px}
  body.op-owner-clean .op-channel__name{grid-column:2/4}
  body.op-owner-clean .op-channel__bar{grid-column:1/4}
  body.op-owner-clean .op-channel__num{grid-column:1/3;justify-self:start}
  body.op-owner-clean .op-channel__open{grid-column:3/4;text-align:right}
}

/* --- Г. Отчёт недели в кабинете владельца --- */
.op-metrics-block--reports{margin-bottom:18px}
.op-chips{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 14px}
.op-chip{display:inline-flex;align-items:baseline;gap:6px;padding:9px 13px;border-radius:13px;
  background:linear-gradient(180deg,#f4f8f5,#eaf2ec);border:1px solid rgba(15,63,42,.10)}
.op-chip b{font-size:17px;font-weight:800;color:#0f3f2a;line-height:1.1}
.op-chip i{font-style:normal;font-size:12px;color:#4a6b5c}
.op-rep__more{margin:0 0 14px}
.op-rep__more summary{cursor:pointer;font-size:13px;font-weight:600;color:#2f6b52;padding:6px 0}
.op-rep__more p{margin:6px 0 0;font-size:13px;line-height:1.6;color:#3f4a45}
.op-rep__actions h4{margin:0 0 8px;font-size:14px;font-weight:700;color:#123}
.op-rep__actions ul{margin:0;padding-left:20px;display:grid;gap:7px}
.op-rep__actions li{font-size:13.5px;line-height:1.55;color:#2c3a34}
.op-rep__history{margin-top:14px;padding-top:12px;border-top:1px solid rgba(15,23,42,.08)}
.op-rep__history>span{display:block;font-size:12px;font-weight:600;color:#69786f;margin-bottom:8px}
.op-rep__history-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
.op-rep__history-item{flex:0 0 auto;display:flex;flex-direction:column;gap:2px;padding:8px 12px;border-radius:11px;
  border:1px solid rgba(15,23,42,.10);background:#fff;font-size:12px;font-weight:600;color:#2c3a34;cursor:pointer}
.op-rep__history-item small{font-size:11px;font-weight:400;color:#7b8a82}
.op-rep__history-item.is-active{border-color:#2f6b52;background:#eef6f0;color:#123}
.op-note{margin:12px 0 0;font-size:12px;color:#69786f}
@media (max-width:520px){
  .op-chip b{font-size:15px}
  .op-chip{padding:8px 11px;border-radius:12px}
  .op-rep__actions li{font-size:13px}
}

.op-rep__source{margin:8px 0 0;font-size:12px;color:#7b8a82}

/* --- Л. Цветные акценты, диаграммы и удобства в рабочем кабинете --- */
.op-kpi--accent{position:relative;padding-top:16px;border-top:3px solid var(--op-tone, #2F6BFF);
  box-shadow:0 1px 2px rgba(15,23,42,.05), 0 10px 24px -18px rgba(15,23,42,.25);overflow:hidden}
.op-kpi__icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;
  color:var(--op-tone, #2F6BFF);background:rgba(15,23,42,.045);margin-bottom:6px}
.op-kpi__icon svg{width:18px;height:18px;display:block}
.op-kpi--accent .op-kpi__value{font-size:26px;line-height:1.05}
.op-kpi__note--up{color:#1F9D55;font-weight:600}
.op-kpi__note--down{color:#D94A3D;font-weight:600}
.op-kpi__note--flat{color:#7B8A82}
.op-spark{display:block;width:100%;height:30px;margin-top:8px}
.op-kpi--accent .op-spark{opacity:.95}

.op-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 14px}
.op-btn{padding:9px 14px;border-radius:11px;border:1px solid rgba(15,23,42,.12);background:#fff;
  font-size:13px;font-weight:600;color:#12212b;cursor:pointer;transition:transform .12s ease, filter .12s ease}
.op-btn:hover{filter:brightness(.98)}
.op-btn:active{transform:translateY(1px)}
.op-btn--primary{background:linear-gradient(180deg,#3D78FF,#2F6BFF);border-color:transparent;color:#fff;
  box-shadow:0 8px 18px -10px rgba(47,107,255,.65)}
.op-btn--link{border-style:dashed;color:#2F6BFF;background:#F5F8FF}
.op-updated{margin-left:auto;font-size:12px;color:#7B8A82}

.op-chart{position:relative;padding:6px 0 0}
.op-grid-lines{position:absolute;left:0;right:0;top:26px;bottom:34px;display:grid;grid-template-rows:repeat(3,1fr);pointer-events:none}
.op-grid-lines i{border-top:1px dashed rgba(15,23,42,.09)}
.op-chart .op-bars{position:relative;z-index:1}
.op-bar__fill{background:linear-gradient(180deg,#6E9BFF,#2F6BFF);border-radius:8px 8px 3px 3px}
.op-bar--peak .op-bar__fill{background:linear-gradient(180deg,#F5CE6B,#C98A16);box-shadow:0 6px 14px -8px rgba(201,138,22,.75)}
.op-bar--zero .op-bar__fill{background:#D6DFE8}
.op-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:11.5px;color:#64748B;margin-top:8px}
.op-legend span{display:inline-flex;align-items:center}
.op-dot{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:6px}
.op-dot--blue{background:#2F6BFF}
.op-dot--gold{background:#C98A16}
.op-subchart{margin-top:12px;padding-top:10px;border-top:1px solid rgba(15,23,42,.07);display:flex;align-items:center;gap:12px}
.op-subchart__label{font-size:11.5px;color:#64748B;flex:0 0 auto}
.op-subchart .op-spark{flex:1 1 auto;height:36px;margin:0}

.op-channels-wrap{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;align-items:center}
.op-donut{width:138px;height:138px;display:block}
.op-donut__total{font-size:25px;font-weight:800;fill:#0d1b26}
.op-donut__caption{font-size:11px;fill:#64748B}
.op-channels-legend{min-width:0}
.op-channel__bar i{border-radius:6px}
.op-channel__num{font-variant-numeric:tabular-nums}

@media (max-width:640px){
  .op-channels-wrap{grid-template-columns:1fr;justify-items:center;gap:12px}
  .op-channels-legend{width:100%}
  .op-updated{margin-left:0;width:100%}
  .op-kpi--accent .op-kpi__value{font-size:23px}
  .op-btn{padding:8px 12px;font-size:12.5px}
}

/* --- Н. Мгновенный отклик: скелет загрузки и честная ошибка --- */
.op-kpi--loading{--op-tone:#C7D2DA;border-top-color:#DCE3EA}
.op-kpi--loading .op-kpi__value{color:#B6C2CC}
.op-kpi--loading .op-kpi__note{color:#9AA8B2}
.op-bar--skeleton .op-bar__fill{background:linear-gradient(180deg,#E7EDF2,#DCE4EB);animation:opPulse 1.4s ease-in-out infinite}
.op-bar--skeleton .op-bar__value,.op-bar--skeleton .op-bar__day{color:#B6C2CC}
.op-panel--error{border-left:3px solid #D94A3D}
.op-panel--error .op-panel__head span{color:#B4443A}
@keyframes opPulse{0%,100%{opacity:1}50%{opacity:.55}}
@media (prefers-reduced-motion: reduce){.op-bar--skeleton .op-bar__fill{animation:none}}

/* --- У. Интерактивные виджеты и уборка родных дубликатов --- */
.op-hide-native{display:none !important}
.op-kpi--go,.op-panel--go{cursor:pointer;transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease}
.op-kpi--go:hover,.op-panel--go:hover{transform:translateY(-2px);box-shadow:0 14px 30px -18px rgba(15,23,42,.45)}
.op-kpi--go:focus-visible,.op-panel--go:focus-visible{outline:2px solid var(--op-tone, #2F6BFF);outline-offset:2px}
.op-kpi__go{position:absolute;left:16px;bottom:10px;font-size:11px;font-weight:600;color:var(--op-tone, #2F6BFF);
  opacity:0;transform:translateY(4px);transition:opacity .14s ease, transform .14s ease}
.op-kpi--go:hover .op-kpi__go,.op-kpi--go:focus-visible .op-kpi__go{opacity:1;transform:translateY(0)}
.op-kpi--go{padding-bottom:14px}
.op-panel--go .op-panel__head h3::after{content:' →';color:#94A3B8;font-weight:600}
.op-panel--go:hover{border-color:rgba(47,107,255,.35)}
@media (max-width:520px){
  .op-kpi__go{position:static;opacity:1;transform:none;margin-top:2px}
}

/* --- В. Авито и ЮKassa в кабинете --- */
.op-pill{display:inline-block;padding:4px 10px;border-radius:999px;font-size:11.5px;font-weight:700;letter-spacing:.01em}
.op-pill--good{background:#E7F7EC;color:#15803D;border:1px solid rgba(21,128,61,.22)}
.op-pill--warn{background:#FFF5E5;color:#B4700A;border:1px solid rgba(180,112,10,.24)}
.op-pill--alert{background:#FDECEC;color:#B4443A;border:1px solid rgba(180,68,58,.24)}
.op-panel--avito{border-left:3px solid #00AAFF}
.op-panel--kassa{border-left:3px solid #1F9D55}
.op-avito__top{display:flex;align-items:center;gap:12px;margin:2px 0 10px}
.op-avito__top svg{width:34px;height:34px;flex:0 0 auto}
.op-avito__meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.op-avito__meta b{font-size:15px;color:#0d1b26}
.op-avito__note{margin:0 0 12px;font-size:13px;line-height:1.6;color:#33413a}
.op-avito__facts{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:12.5px;color:#4a5a52;margin-bottom:12px}
.op-avito__facts b{color:#0d1b26}
.op-avito__h{margin:0 0 8px;font-size:13.5px;font-weight:700;color:#0d1b26}
.op-avito__steps{margin:0 0 10px;padding-left:18px;display:grid;gap:6px}
.op-avito__steps li{font-size:13px;line-height:1.55;color:#33413a}
.op-avito__steps b{color:#2F6BFF}
.op-channel--avito{cursor:pointer;border-radius:12px;padding:8px;margin-top:8px;background:#F7FBFF;border:1px dashed rgba(0,170,255,.4)}
.op-channel--avito .op-channel__num{color:#5A6B78}
.op-channel--avito:hover{background:#EEF7FF}
@media (max-width:520px){
  .op-avito__facts{flex-direction:column;gap:4px}
  .op-avito__steps li{font-size:12.5px}
}

/* --- Х. Корпоративный контур: объекты, команда, роли --- */
.op-panel--corp{border-left:3px solid #6C4BF6}
.op-obj__roles{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px}
.op-obj__role{display:flex;flex-direction:column;gap:4px;padding:11px 13px;border-radius:13px;background:#F7F5FF;border:1px solid rgba(108,75,246,.16)}
.op-obj__role b{font-size:13px;color:#2A1E5C}
.op-obj__role span{font-size:12px;line-height:1.5;color:#4B4566}
.op-obj__role em{align-self:flex-start;font-style:normal}
.op-pill--soft{background:#EEF2F7;color:#5A6B78;border:1px solid rgba(90,107,120,.18)}
.op-obj{border:1px solid rgba(15,23,42,.1);border-radius:14px;padding:14px 16px;margin-bottom:12px;background:#fff}
.op-obj__head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.op-obj__head b{font-size:15px;color:#0d1b26}
.op-obj__addr{font-size:12.5px;color:#69786f}
.op-obj__metrics{display:flex;gap:16px;font-size:12.5px;color:#5A6B78;margin-bottom:10px}
.op-obj__metrics b{color:#0d1b26;font-size:14px}
.op-obj__team{display:grid;gap:6px;margin-bottom:12px}
.op-obj__team-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.op-obj__person{font-size:12.5px;color:#33413a;background:#F4F7F5;border-radius:9px;padding:5px 9px}
.op-obj__add,.op-obj__new{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:center}
.op-obj__new{margin-top:6px;border-top:1px solid rgba(15,23,42,.08);padding-top:12px}
.op-obj__add{grid-template-columns:1fr 1fr 190px auto}
.op-input{padding:9px 12px;border-radius:11px;border:1px solid rgba(15,23,42,.16);font-size:13px;background:#fff;color:#12212b;min-width:0}
.op-input:focus{outline:2px solid rgba(47,107,255,.35);outline-offset:1px}
@media (max-width:900px){.op-obj__roles{grid-template-columns:1fr}.op-obj__add,.op-obj__new{grid-template-columns:1fr}}

/* --- Y. Фирменный стиль компании: цвета, логотип, форма блоков --- */
.op-panel--brand{border-left:3px solid var(--brand-primary)}
.op-panel--brand .op-panel__head h3::after{color:var(--brand-accent)}
.op-metrics-block .op-btn--primary,.op-panel .op-btn--primary{background:linear-gradient(180deg, var(--brand-primary), var(--brand-primary));border-color:transparent}
.op-metrics-block .op-btn--link{color:var(--brand-primary);background:#F5F8FF}
.op-kpi--go:hover{border-top-color:var(--brand-accent)}
.op-panel__head h3::after{color:var(--brand-accent)}
.op-brand__row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;align-items:center;margin-bottom:14px}
.op-brand__logo{display:flex;align-items:center;justify-content:center;min-height:96px;border-radius:14px;
  background:linear-gradient(180deg,#F8FAFC,#EEF2F7);border:1px dashed rgba(15,23,42,.16);padding:10px}
.op-brand-preview{max-width:120px;max-height:88px;display:block}
.op-brand-empty{font-size:12.5px;color:#7B8A82;text-align:center}
.op-brand__controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.op-brand__controls .op-note{flex:1 1 100%;margin:2px 0 0}
.op-file{cursor:pointer}
.op-brand__colors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}
.op-field{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#5A6B78}
.op-field__line{display:flex;gap:8px;align-items:center}
.op-field input[type=color]{width:44px;height:38px;padding:2px;border-radius:10px;border:1px solid rgba(15,23,42,.16);background:#fff}
.op-brand__presets{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:12.5px;color:#5A6B78;margin:4px 0 14px}
.op-preset{padding:9px 13px;border-radius:12px;background:#fff}
.op-brand__preview{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px 14px;border-radius:14px;
  background:#F8FAFC;border:1px solid rgba(15,23,42,.08);margin-bottom:14px}
.op-brand__link{color:var(--brand-primary);font-weight:600;font-size:13px}
.op-brand__preview .op-pill--soft{background:#EEF2F7;color:var(--brand-primary)}
#op-brand-bar{display:flex;align-items:center;gap:10px;padding:10px 12px;margin-bottom:10px;border-radius:14px;
  background:linear-gradient(180deg,#fff,#F6F8FA);border:1px solid rgba(15,23,42,.08)}
#op-brand-bar img{width:34px;height:34px;object-fit:contain;flex:0 0 auto}
#op-brand-bar span{font-size:13px;font-weight:700;color:#0d1b26;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.op-style-soft .op-panel{border-radius:22px}
body.op-style-soft .op-kpi,body.op-style-soft .op-obj,body.op-style-soft .op-brand__logo{border-radius:18px}
body.op-style-soft .op-panel,body.op-style-soft .op-kpi{box-shadow:0 18px 40px -28px rgba(15,23,42,.35)}
body.op-style-contrast .op-panel{border-color:rgba(15,23,42,.28);box-shadow:none}
body.op-style-contrast .op-kpi{border-color:rgba(15,23,42,.22);background:#fff}
body.op-theme-dark .op-metrics-block .op-panel{background:#16202A;border-color:rgba(255,255,255,.12);color:#E8EEF3}
body.op-theme-dark .op-metrics-block .op-panel__head h3{color:#F3F7FA}
body.op-theme-dark .op-metrics-block .op-panel__head span{color:#A9B8C4}
body.op-theme-dark .op-metrics-block .op-kpi{background:linear-gradient(180deg,#1B2733,#16202A);border-color:rgba(255,255,255,.1)}
body.op-theme-dark .op-metrics-block .op-kpi__title{color:#A9B8C4}
body.op-theme-dark .op-metrics-block .op-kpi__value{color:#F3F7FA}
body.op-theme-dark .op-metrics-block .op-kpi__note{color:#93A3B0}
body.op-theme-dark .op-metrics-block .op-input,body.op-theme-dark .op-metrics-block .op-btn{background:#1B2733;color:#E8EEF3;border-color:rgba(255,255,255,.16)}
body.op-theme-dark .op-metrics-block .op-obj{background:#1B2733;border-color:rgba(255,255,255,.1)}
body.op-theme-dark .op-metrics-block .op-obj__person{background:#22303C;color:#D6E0E8}
@media (max-width:640px){
  .op-brand__row{grid-template-columns:1fr}
  .op-brand__colors{grid-template-columns:1fr}
}


/* ===== выбранная запись очереди: видно, какой диалог открыт ===== */
.owner-queue-panel .unified-row.active{border-color:#1d4ed8;box-shadow:0 0 0 2px rgba(29,78,216,.16);background:#fff}
.owner-queue-panel .unified-row.active b{color:#0f172a}
.owner-queue-panel .unified-row.active .unified-row-channel{background:#dbeafe;color:#1e40af}


/* ===== v-solutions-block: контуры кабинета — статусы и защищённые формы ключей ===== */
.op-metrics-block--solutions{margin:0 0 18px}
.op-panel--solutions .op-panel__head h3{margin:0 0 6px}
.op-sol{background:#fff;border:1px solid #e5edf6;border-left:4px solid #cfe3ff;border-radius:14px;padding:14px 16px;margin:12px 0}
.op-sol__head{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px}
.op-sol__head b{font-size:16px;color:#0f172a}
.op-sol__kind,.op-sol__tenant{font-size:11.5px;font-weight:800;color:#475569;background:#f1f5f9;border-radius:999px;padding:4px 9px}
.op-sol__tenant{background:#fff7e6;color:#8a5a12}
.op-sol__chip{font-size:11.5px;font-weight:900;border-radius:999px;padding:5px 10px;white-space:nowrap}
.op-sol__chip--ok{background:#dcfce7;color:#166534}
.op-sol__chip--wait{background:#dbeafe;color:#1e40af}
.op-sol__chip--todo{background:#fef3c7;color:#92400e}
.op-sol__chip--bad{background:#fee2e2;color:#991b1b}
.op-sol__about{margin:2px 0 6px;color:#334155;font-size:13.5px}
.op-sol__facts{margin:0 0 8px;color:#475569;font-size:12.5px}
.op-sol__steps{margin:0 0 10px;padding-left:20px;color:#334155;font-size:13px}
.op-sol__steps li{margin:3px 0}
.op-sol__actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.op-sol__form{margin-top:12px;border-top:1px solid #e5edf6;padding-top:12px}
.op-sol__field{display:block;margin-bottom:10px}
.op-sol__field span{display:block;font-size:12.5px;font-weight:800;color:#334155;margin-bottom:4px}
.op-sol__field input{width:100%;max-width:420px;padding:9px 11px;border:1px solid #cbd5e1;border-radius:10px;font-size:14px}
.op-sol__field small{display:block;margin-top:3px;color:#64748b;font-size:11.5px}
.op-sol__form-actions{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 6px}
.op-sol__note{margin:10px 0 0;font-size:12.5px;font-weight:700;color:#166534}
.op-sol__error{margin:0 0 8px;color:#b91c1c;font-weight:700;font-size:13px}
@media (max-width:820px){
  .op-sol{padding:12px 12px}
  .op-sol__actions .op-btn{flex:1 1 auto;justify-content:center}
  .op-sol__field input{max-width:100%}
}


/* ===== v-rail-full-height: левое меню во всю высоту окна — тёмный контур до низа страницы =====
   Причина обрыва: html/body имели overflow-x:hidden, а это ломает position:sticky —
   меню уезжало вместе с прокруткой и слева оставалась пустая светлая колонка. */
@media (min-width:821px){
  html, body { overflow-x: clip !important; }
  .app-shell { min-height:100vh; }
  .sidebar{
    position:sticky; top:0; height:100vh; min-height:100vh;
    background-image:linear-gradient(rgb(17,24,39) 0%, rgb(24,35,58) 100%) !important;
  }
  .sidebar > *{ min-width:0; }
}

/* Слой i: контур MAX и ВКонтакте в общих цифрах и перехват диалога оператором */
.op-mode { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 6px 0 2px; grid-column: 1 / -1; }
.op-mode__badge { font-size: 11.5px; font-weight: 600; color: #6C4BF6; background: rgba(108, 75, 246, 0.1); border-radius: 999px; padding: 3px 9px; }
.op-mode__badge--ai { color: #1F9D55; background: rgba(31, 157, 85, 0.1); }
.op-btn--mini { font-size: 12px; padding: 5px 11px; border-radius: 8px; }
.op-channel--contour .op-channel__name::after { content: ' · защищённый контур'; font-weight: 400; color: #94A3B8; font-size: 11px; }

/* Слой j: диалог MAX помещается в экран, длинные ссылки переносятся, автор ответа честный */
.legacy-conversation-detail .legacy-messages { display: block !important; overflow-x: hidden; }
.legacy-conversation-detail .legacy-messages > .message,
.legacy-conversation-detail .legacy-messages .message {
  width: auto !important; max-width: 100% !important; min-width: 0 !important; box-sizing: border-box;
}
.legacy-conversation-detail .legacy-messages .message p,
.legacy-conversation-detail .legacy-messages .message b,
.legacy-conversation-detail .legacy-messages .message small,
.legacy-conversation-detail .legacy-messages .message a {
  overflow-wrap: anywhere; word-break: break-word;
}
.legacy-conversation-detail .legacy-messages { max-width: 100%; }
@media (max-width: 820px) {
  .legacy-conversation-detail, .legacy-conversation-detail.max-detail, .legacy-conversation-detail.vk-detail {
    max-width: 100%; overflow-x: hidden;
  }
  .legacy-conversation-detail .conversation-head { flex-direction: column !important; align-items: stretch !important; }
  /* у приложения шапка диалога — сетка из трёх узких колонок: на телефоне делаем две широкие */
  .legacy-conversation-detail .conversation-actions {
    display: grid !important; grid-template-columns: 1fr 1fr !important;
    gap: 8px !important; width: 100% !important; box-sizing: border-box !important;
  }
  .legacy-conversation-detail .conversation-actions button {
    width: 100% !important; min-width: 0 !important; white-space: nowrap !important;
    font-size: 13px !important; padding: 10px 6px !important;
  }
  .legacy-conversation-detail .legacy-reply-box .reply-row { display: flex; flex-wrap: wrap; gap: 8px; }
  .legacy-conversation-detail .legacy-reply-box input { min-width: 0; flex: 1 1 100%; }
}
.op-mode__dialog { border: 1px solid rgba(108, 75, 246, 0.35) !important; color: #6C4BF6 !important; }

/* Слой k: компактное окно диалогов на телефоне */
@media (max-width: 820px) {
  /* «К лидам» и «Обновить» — в один ряд */
  .owner-action-bar { flex-direction: row !important; align-items: stretch !important; gap: 8px !important; }
  .owner-action-bar > * { flex: 1 1 0 !important; width: auto !important; min-width: 0 !important; white-space: nowrap !important; }
  .owner-action-bar > * > button, .owner-action-bar button { width: 100% !important; }

  /* карточки каналов: вдвое ниже, статус — галочкой в правом углу */
  .owner-channel {
    position: relative !important;
    grid-template-rows: auto auto !important;
    row-gap: 1px !important; column-gap: 10px !important;
    padding: 9px 38px 9px 12px !important;
    min-height: 0 !important; align-items: center !important;
  }
  .owner-channel > .badge, .owner-channel > [class*="badge"] {
    position: absolute !important; top: 8px !important; right: 8px !important;
    width: 22px !important; height: 22px !important; min-width: 0 !important;
    padding: 0 !important; display: flex !important; align-items: center !important; justify-content: center !important;
    font-size: 13px !important; line-height: 1 !important; border-radius: 999px !important;
  }
  .op-check { background: #E7F6EE !important; color: #1F9D55 !important; font-weight: 700 !important; }
  .owner-channel .owner-channel__name, .owner-channel b, .owner-channel strong { font-size: 15px !important; }
  .owner-channel small, .owner-channel span { font-size: 12px !important; }

  /* периоды одной строкой */
  .inbox-period-row { flex-direction: row !important; flex-wrap: wrap !important; gap: 6px !important; align-items: center !important; }
  .inbox-period-row > p, .inbox-period-row > span, .inbox-period-row > label, .inbox-period-row > h3 {
    flex: 1 1 100% !important; margin: 0 !important;
  }
  .inbox-period-row > small, .inbox-period-row > em { flex: 1 1 100% !important; }
  .inbox-period-row .queue-filter {
    flex: 1 1 22% !important; width: auto !important;
    padding: 6px 4px !important; font-size: 12px !important; white-space: nowrap !important;
  }
}

/* Слой l: тревога «гость просит оператора» */
.op-await {
  display: inline-flex; align-items: center; gap: 4px; margin-bottom: 6px;
  background: #FDECEC; color: #C0281C; border: 1px solid #F3C0BC;
  border-radius: 999px; padding: 3px 10px; font-size: 11.5px; font-weight: 700;
}
.op-await-line {
  display: flex; flex-direction: column; gap: 2px; margin: 0 0 10px;
  background: #FDECEC; border: 1px solid #F3C0BC; border-left: 4px solid #D94A3D;
  border-radius: 10px; padding: 10px 12px;
}
.op-await-line b { color: #C0281C; font-size: 14px; }
.op-await-line span { color: #8A3A33; font-size: 12.5px; line-height: 1.35; }
@keyframes opPulse {
  0% { box-shadow: 0 0 0 0 rgba(217, 74, 61, 0.45); }
  70% { box-shadow: 0 0 0 10px rgba(217, 74, 61, 0); }
  100% { box-shadow: 0 0 0 0 rgba(217, 74, 61, 0); }
}
.op-pulse { animation: opPulse 1.6s ease-out infinite; border-radius: 12px; }
@media (prefers-reduced-motion: reduce) { .op-pulse { animation: none; } }
