/* ARFEN фирменная тема — СВЕТЛАЯ (Inter + #ef4726). Единый источник стиля для всех дашбордов.
   Грузится ПОСЛЕ инлайн-стиля страницы, поэтому !important: перебивает любые страничные оверрайды
   (тёмные фоны, белые-без-границ карточки, серый-на-белом текст) и приводит всё к светлой читаемой теме.
   T1237 (12.10.2026): шрифт Rubik → Inter + радиус карточек 14px — перенос типографики из
   _mockup_redesign.html (одобрен владельцем). Шкала размеров (12/13/14/16/20/26/32px) НЕ перенесена
   центрально — размеры заданы инлайново/в <style> каждой страницы и в dash-render.js (2140 строк,
   общий для всех 16 страниц), это отдельная более крупная правка — см. отчёт T1237. */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root{
  --bg:#f6f8fb !important; --card:#ffffff !important; --panel:#ffffff !important; --panel2:#f6f8fb !important;
  --bd:#e0e0e0 !important; --line:#e0e0e0 !important; --mut:#5f6368 !important; --acc:#ef4726 !important;
  --txt:#292929 !important; --ink:#292929 !important;
  --arfen:#ef4726; --arfen2:#f38125; --green:#009f51; --green2:#5bc047; --bad:#c9001e;
}
html,body{
  background:#f6f8fb !important; color:#292929 !important;
  font-family:'Inter',-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif !important;
  font-variant-numeric: tabular-nums;
}
/* шапка */
.arfen-logo{ height:46px; display:block; margin:0 auto 10px }
.logo{ color:#292929 !important; font-weight:700 !important }
.logo span{ color:#ef4726 !important }
.sub{ color:#5f6368 !important }
.stat span{ background:#ffffff !important; border:1px solid #e0e0e0 !important; color:#292929 !important }
.stat b{ color:#009f51 !important }
/* секции */
h2{ color:#292929 !important; border-left:3px solid #ef4726 !important }
h1,h3,.h,.card-title{ color:#292929 !important }
/* карточки */
a.card,.card,.kpi,.panel,.box{ background:#ffffff !important; border:1px solid #e0e0e0 !important; border-radius:14px !important; color:#292929 !important; box-shadow:0 1px 3px rgba(16,24,40,.06) !important }
a.card:hover{ border-color:#ef4726 !important; box-shadow:0 8px 22px rgba(239,71,38,.14) !important; transform:translateY(-2px) }
.mod{ background:#fdece7 !important; color:#d63a17 !important }
.mod.live,.live{ background:#e6f7ec !important; color:#009f51 !important }
.ttl,.kl{ color:#292929 !important } .dsc{ color:#5f6368 !important } .go{ color:#ef4726 !important; font-weight:600 !important }
/* KPI-значения */
.kv,.big,.metric-value{ color:#ef4726 !important }
/* T1170 (08.10.2026, скриншот Павла): .ks/.sub-metric были зелёными (#009f51) — этот класс несёт
   подпись ПОД числом (не сам бейдж live), а не акцент; серый цвет ей задаёт более позднее правило
   ниже («Контраст вторичного текста»), но оно не включало .ks — отсюда зелёный остался именно
   у нерич-карточек (класс ks без второго класса s). .sub-metric нигде в коде не используется. */
/* таблицы */
th{ color:#5f6368 !important } th,td{ border-bottom-color:#e0e0e0 !important } tr:hover td{ background:#f0f2f5 !important }
/* прочее */
a{ color:#ef4726 }
footer{ color:#6b7280 !important }
::selection{ background:#ef4726; color:#fff }
::-webkit-scrollbar-thumb{ background:#cfd4da }
::-webkit-scrollbar-track{ background:#f6f8fb }

/* === Контраст вторичного текста на СВЕТЛОМ фоне ===
   Серый вторичный текст держим на #5f6368 (контраст ~7:1 на белом) — читаемо, но не «главный». */
:root{ --mut:#5f6368 !important; }
.muted,.k,.kl,.sn,.dnote,.dsc,.sub,.note,.hint,.cap,.subtle,.secondary,
.meta,.src,.score,.lbl,.info,.foot,.mid,.med,.s,.t,.pl,.deg,.ks,
.lots,.sig,.rec,.step,.st,.fk,.dv,.sup,.rem,.rev{ color:#5f6368 !important; }
td .k,small{ color:#5f6368 !important; }
/* пункты списков/чек-листов — основной тёмный текст, читаемо на белом */
li{ color:#292929 !important; }
/* зелёные блоки «Аргумент/Трек» (.arg/.ok — светло-зелёный фон): текст тёмно-зелёный */
.arg,.ok,.arg *,.ok *,.resp,.resp *{ color:#14532d !important; }
footer{ color:#6b7280 !important; }
/* контент не прячется под фиксированной кнопкой «Спросить ИИ» (низ-право) */
body{ padding-bottom:96px !important; }
/* data-viz: мелкие полосы (значение 2-4% от макс) были почти невидимы → минимальная видимая ширина. */
.bar>i{ min-width:5px !important; }

/* === T1237 (12.10.2026) — НОВЫЕ типы карточек редизайна ===
   Классы перенесены 1:1 из одобренного владельцем макета arfen/demo-portal/_mockup_redesign.html
   (приёмы 1-8 из research «показать, а не заставить читать»). Имена классов НОВЫЕ (ncard/bal-card/
   aging-card/kpi-hero/lead-row/oee-card/status-track/...), пересечений с уже используемыми классами
   16 боевых страниц нет (проверено grep по dash-render.js и этому файлу перед правкой) — блок строго
   аддитивный, старые .card/.kpi/.badge(JS-переменная, не класс) и т.п. не трогает.
   T1237-obychnyy (13.10.2026): .nc-row — НОВЫЙ класс (grep подтвердил: нигде в коде/страницах портала
   раньше не встречался), 2-колоночная сетка для показа этих карточек в ОБЫЧНОМ (не-rich) режиме
   главной — перенесена из .grid.two макета. .hero внутри такой сетки растягивает карточку на всю
   ширину ряда (как и в rich-режиме/макете). */
.nc-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:16px;align-items:start}
.ncard{background:var(--panel,#fff);border:1px solid var(--line,#e0e0e0);border-radius:14px;padding:18px 20px;box-shadow:0 1px 3px rgba(16,24,40,.06);position:relative}
.ncard .cap{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}
.ncard .cap-title{font-size:14px;font-weight:600;color:var(--txt,#292929)}
.ncard .cap-sub{color:var(--mut,#5f6368);font-size:12px;margin-top:2px}
.ncard .nbadge{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;border-radius:20px;padding:3px 9px;white-space:nowrap}
.ncard .nbadge.live{background:rgba(0,159,81,.12);color:var(--green,#009f51)}
.ncard .nbadge.wait{background:#fff1e0;color:#9a5b00}
.ncard.hero{grid-column:span 2}
@media (max-width:820px){ .ncard.hero{grid-column:span 1} }

/* kpi-hero: крупное число + сравнение с целью/периодом + стрелка тренда */
.kpi-hero .num{font-size:32px;font-weight:700;line-height:1.1;color:var(--txt,#292929)}
.kpi-hero .num .unit{font-size:16px;font-weight:500;color:var(--mut,#5f6368);margin-left:4px}
.kpi-hero .trend{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:13px}
.kpi-hero .trend .arrow{font-size:16px;font-weight:700}
.kpi-hero .trend.up{color:var(--green,#009f51)} .kpi-hero .trend.down{color:var(--bad,#c9001e)}
.kpi-hero .vs-target{margin-top:12px;font-size:12px;color:var(--mut,#5f6368)}
.kpi-hero .vs-target .tval{color:var(--txt,#292929);font-weight:600}
.kpi-hero .nprogress{height:8px;border-radius:5px;background:#eef1f5;overflow:hidden;margin-top:6px}
.kpi-hero .nprogress i{display:block;height:100%;border-radius:5px;background:var(--acc,#ef4726)}

/* bal-card: баланс + спарклайн/разрез по юрлицам/банкам */
.bal-card .num{font-size:32px;font-weight:700}
.bal-card .spark-row{display:flex;align-items:center;gap:14px;margin-top:10px}
.bal-card svg.spark{display:block;flex:0 0 auto}
.bal-card .spark-note{font-size:12px;color:var(--mut,#5f6368)}
.bal-card .spark-note b{color:var(--green,#009f51)}
.bal-card .orgs{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.org-chip{flex:1;min-width:140px;background:var(--panel2,#f6f8fb);border:1px solid var(--line,#e0e0e0);border-radius:10px;padding:8px 10px}
.org-chip .oc-name{font-size:12px;color:var(--mut,#5f6368)}
.org-chip .oc-val{font-size:16px;font-weight:700;margin-top:2px}

/* aging-card: дебиторка по корзинам старения долга */
.aging-card .client-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.aging-card .client-head .cname{font-weight:600;font-size:13px}
.aging-card .client-head .ctotal{font-size:20px;font-weight:700;color:var(--acc,#ef4726)}
.aging{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.aging .bucket{text-align:center;border-radius:10px;padding:8px 4px;background:var(--panel2,#f6f8fb);border:1px solid var(--line,#e0e0e0)}
.aging .bucket .bl{font-size:12px;color:var(--mut,#5f6368);text-transform:uppercase;letter-spacing:.3px}
.aging .bucket .bv{font-size:13px;font-weight:700;margin-top:4px}
.aging .bucket.b60{border-top:3px solid var(--warn,#f0a020)}
.aging .bucket.b90{border-top:3px solid #e07a1e}
.aging .bucket.b90p{border-top:3px solid var(--bad,#c9001e)}
.aging-bar{display:flex;height:10px;border-radius:6px;overflow:hidden;margin-top:12px}
.aging-bar span{height:100%}

/* leaderboard: одна строка на сотрудника — план% + win-rate */
.lead-row{display:grid;grid-template-columns:28px 1fr 90px 90px 110px;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line,#e0e0e0)}
.lead-row:last-child{border-bottom:none}
.lead-row .rank{font-weight:700;color:var(--mut,#5f6368);font-size:12px}
.lead-row .name{font-weight:600;font-size:13px}
.lead-row .name small{display:block;font-weight:400;color:var(--mut,#5f6368);font-size:12px}
.lead-row .mini-progress{height:6px;border-radius:4px;background:#eef1f5;overflow:hidden}
.lead-row .mini-progress i{display:block;height:100%;border-radius:4px}
.lead-row .plan-pct{font-size:13px;font-weight:700;text-align:right}
.lead-row .winrate{font-size:12px;text-align:right;color:var(--mut,#5f6368)}
.lead-row .winrate b{color:var(--txt,#292929)}

/* oee-card: составной показатель — либо значения, либо честная заглушка «ждёт источник» */
.oee-card{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.wait-note{background:#fff8ef;border:1px dashed #f0d9a3;border-radius:10px;padding:14px 16px;color:#8a5a00;font-size:13px;line-height:1.6;width:100%}
.wait-note b{color:#7a4a00}

/* status-track: статус-ряд монтажей/отгрузок по цвету порога */
.status-track{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:4px}
.status-item{border:1px solid var(--line,#e0e0e0);border-radius:10px;padding:10px 12px;background:var(--panel2,#f6f8fb)}
.status-item .si-name{font-size:13px;font-weight:600}
.status-item .si-date{font-size:12px;color:var(--mut,#5f6368);margin-top:2px}
.status-item .si-pill{display:inline-block;margin-top:8px;font-size:12px;font-weight:700;border-radius:20px;padding:2px 8px}
.si-pill.ok{background:rgba(0,159,81,.12);color:var(--green,#009f51)}
.si-pill.risk{background:rgba(240,160,32,.15);color:#f0a020}
.si-pill.late{background:rgba(201,0,30,.12);color:var(--bad,#c9001e)}

/* прогрессивное раскрытие — details/summary поверх новых карточек */
.ncard details.nreveal{margin-top:12px;border-top:1px dashed var(--line,#e0e0e0);padding-top:10px}
.ncard details.nreveal summary{cursor:pointer;font-size:12px;color:var(--acc,#ef4726);font-weight:600;list-style:none;user-select:none}
.ncard details.nreveal summary::-webkit-details-marker{display:none}
.ncard details.nreveal summary::before{content:"▸ ";}
.ncard details.nreveal[open] summary::before{content:"▾ ";}
.ncard details.nreveal .reveal-body{margin-top:10px;font-size:12px;color:var(--mut,#5f6368)}
.ncard details.nreveal table{width:100%;border-collapse:collapse;font-size:12px;margin-top:8px}
.ncard details.nreveal th,.ncard details.nreveal td{padding:5px 6px;text-align:right;border-bottom:1px solid var(--line,#e0e0e0)}
.ncard details.nreveal th:first-child,.ncard details.nreveal td:first-child{text-align:left}

/* === T1237-plan2a (13.10.2026) — единый вид 5 страниц разделов (finance/prodazhi/proizvodstvo/sklad/montazh) ===
   Строго аддитивно: все правила ограничены классом html.af-x5, который dash-render.js вешает ТОЛЬКО на эти 5 страниц.
   Старые плитки (.kpi/.panel/.cov/.af-trow/.bar) приводятся к виду .ncard: радиус 14, отступы 18/20, шкала 12/13/14/16/20/26/32. */
html.af-x5 body{font-variant-numeric:tabular-nums}
html.af-x5 .kpis{gap:16px !important}
html.af-x5 .kpi,html.af-x5 .panel,html.af-x5 .cov,html.af-x5 .card{
  background:#fff !important;border:1px solid #e0e0e0 !important;border-radius:14px !important;
  padding:18px 20px !important;box-shadow:0 1px 3px rgba(16,24,40,.06) !important;font-variant-numeric:tabular-nums}
html.af-x5 .panel,html.af-x5 .cov,html.af-x5 .card{margin-top:16px !important}
html.af-x5 .kpi .kv,html.af-x5 .kpi .v{font-size:26px !important;font-weight:700 !important;line-height:1.15 !important}
html.af-x5 .kpi .kl,html.af-x5 .kpi .l{font-size:13px !important;margin-top:4px !important;line-height:1.4}
html.af-x5 .kpi .ks,html.af-x5 .kpi .s,html.af-x5 .prov{font-size:12px !important;margin-top:6px !important}
/* заголовок блока: .card-title и серые подписи графиков (инлайн #9aa0a6) -> один стиль 14/600 */
html.af-x5 .panel .card-title,html.af-x5 .card .card-title,html.af-x5 .panel>div[style*="9aa0a6"]{
  font-size:14px !important;font-weight:600 !important;color:#292929 !important;margin-bottom:12px !important}
html.af-x5 .cov h1{font-size:14px !important;font-weight:600 !important;margin:0 0 12px !important;border:0 !important;padding:0 !important}
html.af-x5 .cov .r{font-size:13px;padding:3px 0}
html.af-x5 .af-detail-hint{font-size:12px !important;font-weight:600 !important;border:0 !important;padding:0 !important;margin-left:8px !important}
/* строки «Заказ … • Клиент …» (rich-таблицы) */
html.af-x5 .af-trow{padding:10px 0 !important;border-bottom:1px solid #e0e0e0 !important;min-width:0}
html.af-x5 .af-trow:last-child{border-bottom:0 !important}
html.af-x5 .af-trow>div:first-child{font-size:13px !important;font-weight:600 !important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html.af-x5 .af-trow>div:nth-child(2){font-size:12px !important;line-height:1.6 !important;color:#5f6368 !important}
html.af-x5 .af-trow>div:nth-child(2) span{color:#5f6368 !important}
html.af-x5 .af-trow>div:nth-child(2) b{color:#292929 !important}
/* полоски .bar */
html.af-x5 .bar{height:8px !important;border-radius:4px !important;background:#eef1f5 !important}
html.af-x5 .bar>i{border-radius:4px !important}
/* раскрывающиеся панели */
html.af-x5 details.af-expand summary{font-size:12px !important;font-weight:600 !important;padding:12px 0 2px !important}
html.af-x5 details.af-expand{margin-top:4px}
/* плавающая кнопка «Спросить ИИ» не перекрывает правый край карточек */
html.af-x5 .wrap{padding-right:96px !important;padding-bottom:96px !important}
html.af-x5 .ncard,html.af-x5 .kpi,html.af-x5 .panel{min-width:0}

@media (max-width:480px){
  html.af-x5 .wrap{padding:0 0 96px 0 !important}
  html.af-x5 .kpi,html.af-x5 .panel,html.af-x5 .cov,html.af-x5 .card,html.af-x5 .ncard{padding:16px !important}
  html.af-x5 .kpi .kv,html.af-x5 .kpi .v{font-size:20px !important}
  /* рейтинг: строка-карточка — имя целиком, ниже полоска, ниже план% и доля выигранных */
  html.af-x5 .lead-row{grid-template-columns:24px 1fr 1fr !important;gap:6px 10px !important;padding:12px 0 !important}
  html.af-x5 .lead-row .name{grid-column:2 / 4;min-width:0;overflow-wrap:break-word;word-break:normal}
  html.af-x5 .lead-row .mini-progress{grid-column:2 / 4}
  html.af-x5 .lead-row .plan-pct{grid-column:2;text-align:left !important;white-space:nowrap}
  html.af-x5 .lead-row .winrate{grid-column:3;text-align:right !important;white-space:normal;min-width:0}
  html.af-x5 .org-chip{min-width:0;flex:1 1 100%}
  html.af-x5 .ncard table,html.af-x5 .panel table,html.af-x5 .card table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  html.af-x5 .ncard,html.af-x5 .panel{max-width:100%}
}

/* === ТЁМНАЯ ТЕМА (общий фильтр invert; цвета ниже заданы «до инверсии») ===
   Мелкий серый текст: после инверсии #5f6368 даёт ~#9b9b9b на тёмном; берём исходный темнее (#3f444a) -> ~#b7b7b7. */
html.af-x5[data-af-theme="night"] :is(.muted,.k,.kl,.l,.ks,.s,.sub,.note,.foot,.prov,.cap-sub,.cap-title+*,.winrate,.lead-row .name small,.rank,.bl,.si-date,.oc-name,.spark-note,.vs-target,.reveal-body,.af-trow>div:nth-child(2),.af-trow>div:nth-child(2) span,th){color:#3f444a !important}
html.af-x5[data-af-theme="night"] :is([style*="#7c7e81"],[style*="#9aa0a6"],[style*="#a0a2a5"],[style*="#9a9a9a"],[style*="#9ca3af"]){color:#3f444a !important}
html.af-x5[data-af-theme="night"] .panel>div[style*="9aa0a6"],html.af-x5[data-af-theme="night"] .card-title{color:#1c1f23 !important}
/* логотип ARFEN (светлый фон картинки): в night картинку возвращает в оригинал отдельный фильтр, кладём на светлую «плашку» */
html.af-x5[data-af-theme="night"] .arfen-logo{background:#fff;border-radius:12px;padding:6px 14px;height:58px;box-sizing:border-box}

/* === T1237-plan2b (13.10.2026): сворачивание длинных списков на 5 страницах разделов === */
html.af-x5 :not(.af-open)>.af-hrow{display:none !important} /* T1237: раскрытые строки сохраняют своё расположение (grid), а не становятся block */
html.af-x5 .af-more-btn{display:block;margin:10px 0 2px;padding:9px 16px;border:1px solid #e0e0e0;border-radius:10px;background:#fff;color:#ef4726;font:600 13px/1.2 inherit;cursor:pointer}
html.af-x5 .af-more-btn:hover{background:#fff4f1;border-color:#ef4726}

/* === T1237-rank (13.10.2026): карточка рейтинга (rank-card) === */
.rk-card .rk-chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 6px}
.rk-card .rk-chips span{background:#f4f6f9;border-radius:999px;padding:5px 12px;font-size:12px;color:#5f6368}
.rk-card .rk-chips b{color:#292929;font-weight:700}
.rk-card .rk-row{display:grid;grid-template-columns:26px minmax(0,1fr) 112px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #eceef1}
.rk-card .rk-row:last-child{border-bottom:0}
.rk-card .rk-n{width:24px;height:24px;border-radius:50%;background:#f1f3f5;color:#5f6368;font:600 12px/24px sans-serif;text-align:center}
.rk-card .rk-row:nth-child(-n+3) .rk-n{background:#ffe9e3;color:#c9300f}
.rk-card .rk-name{font-size:13px;font-weight:600;color:#292929;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rk-card .rk-meta{font-size:11px;color:#5f6368;margin-top:2px}
.rk-card .rk-bar{height:6px;border-radius:3px;background:#eef1f5;margin-top:8px;overflow:hidden}
.rk-card .rk-bar i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#ef4726,#f38125)}
.rk-card .rk-val{text-align:right;min-width:74px;font-variant-numeric:tabular-nums}
.rk-card .rk-val b{display:block;font-size:15px;font-weight:700;color:#292929}
.rk-card .rk-val span{font-size:11px;color:#5f6368}
.rk-card .rk-note{font-size:11px;color:#5f6368;margin-top:12px;line-height:1.5}
/* T1237-rank: на широком экране оставляем место под плавающую кнопку «Спросить ИИ», чтобы она не закрывала числа в карточках */
@media (min-width:900px){ html.af-x5 .wrap{padding-right:176px !important} }

/* === T1237-dt (13.10.2026): таблица данных (data-table) === */
.dt-card .dt-wrap{overflow-x:auto;margin-top:12px;-webkit-overflow-scrolling:touch}
.dt-card .dt{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.dt-card .dt th{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:#5f6368;text-align:left;padding:8px 8px;border-bottom:1px solid #e0e0e0;white-space:nowrap}
.dt-card .dt td{padding:12px 8px;border-bottom:1px solid #eceef1;font-size:13px;color:#292929;vertical-align:top}
.dt-card .dt tr:last-child td{border-bottom:0}
.dt-card .dt tbody tr:hover td{background:#fafbfc}
.dt-card .dt .r{text-align:right;white-space:nowrap}
.dt-card .dtc-title b{font-weight:600;display:block;max-width:320px}
.dt-card .rk-note{font-size:11px;color:#5f6368;margin-top:12px;line-height:1.5}
.dt-card .dt-s{font-size:11px;color:#5f6368;margin-top:2px}
.dt-card .dt-na{color:#9aa0a6;font-style:italic}
.dt-card .dt-chip{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}
.dt-card .dt-red{background:#fde8e6;color:#b3261e}.dt-card .dt-orange{background:#fff0dc;color:#b45309}.dt-card .dt-yellow{background:#fff7d6;color:#8a6d00}.dt-card .dt-green{background:#e3f6ea;color:#0a7a3d}.dt-card .dt-grey{background:#eef1f5;color:#5f6368}
html.af-x5 tbody.af-open>.af-hrow{display:table-row !important}
@media (max-width:480px){
  .dt-card .dt{min-width:0 !important;max-width:100% !important;overflow:visible !important}
  .dt-card .dt td{white-space:normal !important}
  .dt-card .dt thead{display:none}
  .dt-card .dt,.dt-card .dt tbody,.dt-card .dt tr,.dt-card .dt td{display:block;width:100%}
  .dt-card .dt-row{padding:10px 0;border-bottom:1px solid #eceef1}
  .dt-card .dt td{border:0;padding:3px 0;display:flex;justify-content:space-between;gap:12px;text-align:right}
  .dt-card .dt td::before{content:attr(data-l);color:#5f6368;font-size:12px;text-align:left;flex:0 0 38%}
  .dt-card .dt td.dtc-title{display:block;text-align:left}.dt-card .dt td.dtc-title::before{display:none}
  .dt-card .dtc-title b{max-width:none}
  html.af-x5 tbody.af-open>.af-hrow{display:block !important}
}

/* === T1237-sf (13.10.2026): карточка структуры (share-card) и карточка воронки (funnel-card) === */
.sh-card .sh-callout{margin:12px 0 0;padding:9px 12px;border-radius:10px;background:#fff7d6;color:#6b5500;font-size:12px}
.sh-card .sh-total{margin:14px 0 8px;font-size:13px;color:#5f6368}.sh-card .sh-total b{font-size:20px;color:#292929}
.sh-card .sh-bar{display:flex;height:14px;border-radius:7px;overflow:hidden;background:#eef1f5}
.sh-card .sh-bar i{display:block;height:100%}
.sh-card .sh-row{display:grid;grid-template-columns:14px minmax(0,1fr) auto 56px;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #eceef1;font-size:13px}
.sh-card .sh-row:last-child{border-bottom:0}
.sh-card .sh-dot{width:10px;height:10px;border-radius:50%}
.sh-card .sh-name{font-weight:600;color:#292929}.sh-card .sh-val{color:#292929;font-variant-numeric:tabular-nums;text-align:right}.sh-card .sh-pct{color:#5f6368;text-align:right;font-variant-numeric:tabular-nums}
.sh-card .sh-legend{margin-top:10px}
.fn-card .fn-grp{padding:12px 0;border-bottom:1px solid #eceef1}.fn-card .fn-grp:last-child{border-bottom:0}
.fn-card .fn-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.fn-card .fn-pipe{font-size:14px;font-weight:700;color:#292929}.fn-card .fn-tot{font-size:12px;color:#5f6368}.fn-card .fn-tot b{color:#292929}
.fn-card .fn-st{display:grid;grid-template-columns:minmax(0,220px) minmax(60px,1fr) 120px;gap:12px;align-items:center;padding:6px 0;font-size:12px}
.fn-card .fn-sn{color:#5f6368;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fn-card .fn-sb{height:8px;border-radius:4px;background:#eef1f5;overflow:hidden}.fn-card .fn-sb i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,#ef4726,#f38125)}
.fn-card .fn-sv{text-align:right;font-variant-numeric:tabular-nums}.fn-card .fn-sv b{display:block;font-size:13px;color:#292929}.fn-card .fn-sv span{color:#5f6368;font-size:11px}
html.af-x5 .fn-list>.fn-grp.af-hrow{display:none !important}html.af-x5 .fn-list.af-open>.fn-grp.af-hrow{display:block !important}
@media (max-width:480px){
  .fn-card .fn-st{grid-template-columns:1fr 100px;gap:6px 10px}.fn-card .fn-sb{grid-column:1 / 3;order:3}
  .sh-card .sh-row{grid-template-columns:14px minmax(0,1fr) auto}.sh-card .sh-pct{display:none}
}
.sh-card .rk-note,.fn-card .rk-note{font-size:11px;color:#5f6368;margin-top:12px;line-height:1.5}
.fn-card .rk-chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 6px}
.fn-card .rk-chips span{background:#f4f6f9;border-radius:999px;padding:5px 12px;font-size:12px;color:#5f6368}.fn-card .rk-chips b{color:#292929;font-weight:700}
/* KPI-плитки на страницах разделов: тёмное значение (оранжевый цвет всех цифр ничего не значил) и тонкая фирменная линия сверху */
html.af-x5 .kpi .kv,html.af-x5 .kpi .v{color:#292929 !important}
html.af-x5 .kpi{box-shadow:inset 0 3px 0 #ef4726, 0 1px 3px rgba(16,24,40,.06) !important}

/* === T1237-pg (13.10.2026): карточка заполненности (progress-card) === */
.pg-card .rk-chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 6px}
.pg-card .rk-chips span{background:#f4f6f9;border-radius:999px;padding:5px 12px;font-size:12px;color:#5f6368}.pg-card .rk-chips b{color:#292929;font-weight:700}
.pg-card .pg-row{display:grid;grid-template-columns:minmax(0,200px) minmax(60px,1fr) 130px;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid #eceef1;font-size:13px}
.pg-card .pg-row:last-child{border-bottom:0}
.pg-card .pg-name{font-weight:600;color:#292929}
.pg-card .pg-bar{height:8px;border-radius:4px;background:#eef1f5;overflow:hidden}.pg-card .pg-bar i{display:block;height:100%;border-radius:4px}
.pg-card .pg-val{text-align:right;font-variant-numeric:tabular-nums}.pg-card .pg-val b{display:block;font-size:15px}.pg-card .pg-val span{font-size:11px;color:#5f6368}
.pg-card .rk-note{font-size:11px;color:#5f6368;margin-top:12px;line-height:1.5}
@media (max-width:480px){.pg-card .pg-row{grid-template-columns:1fr 100px;gap:6px 10px}.pg-card .pg-bar{grid-column:1 / 3;order:3}}

/* T1237-coll: сворачивание списков в окнах главной */
html.af-coll :not(.af-open)>.af-hrow{display:none !important} /* T1237: раскрытые строки сохраняют своё расположение (grid), а не становятся block */
html.af-coll .af-more-btn{display:block;margin:10px 0 2px;padding:9px 16px;border:1px solid #e0e0e0;border-radius:10px;background:#fff;color:#ef4726;font:600 13px/1.2 inherit;cursor:pointer}
html.af-coll .af-more-btn:hover{background:#fff4f1;border-color:#ef4726}
html.af-coll tbody.af-open>.af-hrow{display:table-row !important}
html.af-coll .fn-list>.fn-grp.af-hrow{display:none !important}html.af-coll .fn-list.af-open>.fn-grp.af-hrow{display:block !important}
@media (max-width:480px){ html.af-coll tbody.af-open>.af-hrow{display:block !important} }

/* T1237-coll: мобильные правила карточек и таблиц в окнах главной */
@media (max-width:480px){
  html.af-coll .kpi,html.af-coll .panel,html.af-coll .cov,html.af-coll .card,html.af-coll .ncard{padding:16px !important}
  html.af-coll .lead-row{grid-template-columns:24px 1fr 1fr !important;gap:6px 10px !important;padding:12px 0 !important}
  html.af-coll .lead-row .name{grid-column:2 / 4;min-width:0;overflow-wrap:break-word;word-break:normal}
  html.af-coll .lead-row .mini-progress{grid-column:2 / 4}
  html.af-coll .lead-row .plan-pct{grid-column:2;text-align:left !important;white-space:nowrap}
  html.af-coll .lead-row .winrate{grid-column:3;text-align:right !important;white-space:normal;min-width:0}
  html.af-coll .org-chip{min-width:0;flex:1 1 100%}
  html.af-coll .ncard table,html.af-coll .panel table,html.af-coll .card table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  html.af-coll .ncard,html.af-coll .panel{max-width:100%}
  html.af-coll .ncard,html.af-coll .rk-card,html.af-coll .dt-card,html.af-coll .fn-card,html.af-coll .pg-card,html.af-coll .sh-card{max-width:100%;min-width:0}
}
/* T1237-lead: текстовые колонки таблицы переносятся и выравниваются влево, числовые — вправо без переноса */
.dt-card .dt td{white-space:normal;text-align:left;overflow-wrap:anywhere}
.dt-card .dt td.r{white-space:nowrap;text-align:right;overflow-wrap:normal}
.dt-card .dt th{text-align:left}.dt-card .dt th.r{text-align:right}
@media (max-width:480px){.dt-card .dt td{text-align:right}.dt-card .dt td.dtc-title,.dt-card .dt td.dtc-lead{text-align:left}}

/* T1237 (аудит 13.10.2026): контраст не ниже 4,5:1 и области нажатия не меньше 44 px. Только светлая тема —
   ночная собрана отдельно. Цвета подобраны расчётом: серый #5f6368 на белом 6,05; акцент для текста #c9361a 5,22;
   белое на кнопке #d03a1c 4,88; зелёный #007a3d 5,45; оранжевая метка #a44a04 на #fff0dc 5,27. */
html:not([data-af-theme="night"]) :is(.rk-meta,.rk-note,.dt-s,.dt-note,.rk-card .rk-meta,[style*="color:#7c7e81"],[style*="color:#a0a2a5"],[style*="color:#9aa0a6"],[style*="color:#9a9a9a"],[style*="color: #7c7e81"],[style*="color: #a0a2a5"]){color:#5f6368 !important}
html:not([data-af-theme="night"]) :is([style*="color:#009f51"],[style*="color: #009f51"]){color:#007a3d !important}
html:not([data-af-theme="night"]) .dt-card .dt-orange{color:#a44a04}
html:not([data-af-theme="night"]) :is(.ncard details.nreveal summary,.af-more-btn,#af-settings .sp-btn){color:#c9361a}
html:not([data-af-theme="night"]) #af-settings .sp-hint{color:#5f6368}
#afen-home-btn,.afc-btn,.afc-set-save{background:#d03a1c !important}
#afen-home-btn{min-height:44px;box-sizing:border-box}
.afc-hint,.afc-set-note{color:#94a3b8 !important}
.ncard details.nreveal summary{display:flex;align-items:center;min-height:44px}
.af-more-btn{min-height:44px}
.af-tab,.af-tab-add{min-height:44px;box-sizing:border-box}
.af-tab-add{min-width:44px}
#af-settings .sp-theme{min-height:44px;padding:3px 14px}
#af-settings .sp-x{min-width:44px;min-height:44px}
#af-settings .sp-btn{min-height:44px}
.afc-hd small{color:#93c5fd !important}
html:not([data-af-theme="night"]) :is([style*="color: rgb(0, 159, 81)"],[style*="color:rgb(0,159,81)"]){color:#007a3d !important}
html:not([data-af-theme="night"]) .kpi-hero .trend.up{color:#007a3d}
html:not([data-af-theme="night"]) .af-detail-hint{color:#c9361a !important}
html:not([data-af-theme="night"]) .lead-row .plan-pct{filter:none}
html:not([data-af-theme="night"]) :is([style*="color:#f0a020"],[style*="color: rgb(240, 160, 32)"]){color:#9a5b00 !important}
html:not([data-af-theme="night"]) .bal-card .spark-note b{color:#007a3d}

/* T1237: сворачивание высоких карточек на телефоне (страница Продаж была 8080 пикселей) */
.af-fold-btn{display:none}
@media (max-width:700px){
  html.af-x5 .ncard.af-fold:not(.af-fold-open){max-height:300px;overflow:hidden;position:relative}
  html.af-x5 .ncard.af-fold:not(.af-fold-open)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:80px;background:linear-gradient(rgba(255,255,255,0),#fff);pointer-events:none}
  html.af-x5 .af-fold-btn{display:block;width:100%;min-height:44px;margin:-6px 0 14px;padding:10px 16px;border:1px solid #e0e0e0;border-radius:10px;background:#fff;color:#c9361a;font:600 14px/1.2 inherit;cursor:pointer}
}
@media (max-width:700px){
  html.af-x5 .kpis{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px !important}
  html.af-x5 .kpis .kpi{padding:12px 12px}
  html.af-x5 .ncard.af-fold:not(.af-fold-open){max-height:260px}
}
@media (max-width:700px){ html.af-x5 .kpis > .kpi:last-child:nth-child(odd){grid-column:1 / -1} }

/* T1237 (13.10.2026, слово владельца): плитки показателей со ссылкой «Подробнее» (af-clickable) — число, подпись,
   под ними аккуратная кнопка-метка со стрелкой; при наведении плитка приподнимается и подсвечивается. */
html.af-x5 .ncard + .kpis,html.af-x5 .ncard + .row{margin-top:16px}
html.af-x5 .kpi.af-clickable{display:flex;flex-direction:column;align-items:flex-start;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
html.af-x5 .kpi.af-clickable:hover{transform:translateY(-2px);box-shadow:inset 0 3px 0 #ef4726,0 8px 22px rgba(239,71,38,.14) !important}
html.af-x5 .kpi.af-clickable .kl{display:flex;flex-direction:column;align-items:flex-start;width:100%}
html.af-x5 .kpi.af-clickable .af-detail-hint{display:inline-flex !important;align-items:center;gap:4px;width:max-content;margin:10px 0 0 0 !important;padding:5px 11px 5px 12px !important;border:0 !important;border-radius:999px !important;background:#fff1ee;font-size:12px !important;font-weight:600 !important;line-height:1.2;transition:background .15s ease}
html.af-x5 .kpi.af-clickable .af-detail-hint::after{content:"›";font-size:16px;line-height:1;margin-top:-1px}
html.af-x5 .kpi.af-clickable:hover .af-detail-hint{background:#ffe0d8}
html.af-x5 .kpi.af-clickable svg{margin-top:10px}
html.af-x5 .kpi.af-clickable .kl{flex:1 1 auto;gap:10px}
html.af-x5 .kpi.af-clickable .af-detail-hint{margin-top:auto !important}

/* T1237 (13.10.2026): плитки без «Подробнее» — тот же каркас, что у плиток со ссылкой: число, подпись, график внизу;
   без приподнимания при наведении (не нажимаются). */
html.af-x5 .kpi:not(.af-clickable){display:flex;flex-direction:column;align-items:flex-start;cursor:default}
html.af-x5 .kpi:not(.af-clickable) .kl{flex:1 1 auto;margin-bottom:10px}
html.af-x5 .kpi svg{margin-top:auto !important}
html.af-x5 .kpi.af-clickable .kl{margin-bottom:10px}
html.af-x5 .kpi .kv,html.af-x5 .kpi .v{letter-spacing:-.01em}

/* T1237 (13.10.2026): телефон — карточки с показателями плотнее: плитки в два столбца, число и отступы меньше */
@media (max-width:700px){
  html.af-x5 .bal-card .orgs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
  html.af-x5 .bal-card .org-chip{min-width:0;padding:7px 9px}
  html.af-x5 .bal-card .org-chip:last-child:nth-child(odd){grid-column:1 / -1}
  html.af-x5 .bal-card .org-chip .oc-name{font-size:11.5px;line-height:1.3}
  html.af-x5 .bal-card .org-chip .oc-val{font-size:15px}
  html.af-x5 .bal-card .num{font-size:28px;margin-top:4px}
  html.af-x5 .bal-card .spark-row{margin-top:6px}
  html.af-x5 .bal-card details.nreveal{margin-top:8px;padding-top:2px}
  html.af-x5 .bal-card .cap{margin-bottom:6px}
}
@media (max-width:700px){
  html.af-x5 #dash h2{margin:18px 0 8px !important}
  html.af-x5 .ncard.af-fold:not(.af-fold-open){max-height:232px}
}
@media (max-width:700px){ html.af-x5 .ncard.bal-card{padding:14px !important} }
@media (max-width:700px){
  html.af-x5 #dash h2{margin:14px 0 6px !important}
  html.af-x5 .ncard.af-fold:not(.af-fold-open){max-height:220px}
  html.af-x5 .af-fold-btn{margin:-6px 0 8px}
}
@media (max-width:700px){ html.af-x5 .ncard.af-fold:not(.af-fold-open){max-height:212px} }

/* T1237 (13.10.2026, слово владельца): карточки главной в окнах — каждая на всю ширину (раньше группа делилась
   на две колонки, и дебиторка, сделки в работе и сервис занимали полширины). */
.nc-row{grid-template-columns:minmax(0,1fr) !important}

/* T1237: на компьютере мелкий текст крупнее — вторичный текст не мельче 13,5 пикселей, подписи 14 */
@media (min-width:701px){
  html:is(.af-x5,.af-coll) .ncard .cap-title{font-size:17px}
  html:is(.af-x5,.af-coll) .ncard .cap-sub{font-size:14px;line-height:1.4}
  html:is(.af-x5,.af-coll) .org-chip .oc-name{font-size:13.5px}
  html:is(.af-x5,.af-coll) .org-chip .oc-val{font-size:18px}
  html:is(.af-x5,.af-coll) :is(.rk-meta,.rk-note,.dt-s,.sh-pct,.fn-tot,.fn-sn,.rk-n,.winrate,.spark-note,.bl,.r,.dt-chip,.af-more-btn){font-size:13.5px !important}
  html:is(.af-x5,.af-coll) :is(.rk-val span,.fn-sv span,.pg-val span,.fn-sv b,.rk-chips span,.rk-chips b,.lead-row .name small,.winrate b,.fn-tot b,.spark-note b){font-size:13.5px !important}
  html:is(.af-x5,.af-coll) .dt-card .dt th{font-size:12.5px}
  html:is(.af-x5,.af-coll) .reveal-body,html:is(.af-x5,.af-coll) .reveal-body :is(p,td,th,b,i){font-size:13.5px}
  html:is(.af-x5,.af-coll) .ncard details.nreveal summary{font-size:14px}
  html:is(.af-x5,.af-coll) .dt-card .dt td{font-size:14px}
}
.nc-row > .ncard.hero,.nc-row > .ncard{grid-column:1 / -1 !important}
.nc-row{grid-template-columns:minmax(0,1fr) !important;grid-auto-columns:minmax(0,1fr)}
@media (min-width:701px){
  html:is(.af-x5,.af-coll) .aging-card .client-head .cname{font-size:15px}
  html:is(.af-x5,.af-coll) .aging-card .bucket .bl{font-size:14px !important}
  html:is(.af-x5,.af-coll) .aging-card .bucket .bv{font-size:17px !important}
}
@media (min-width:701px){
  html:is(.af-x5,.af-coll) .aging .bucket .bl{font-size:14px !important}
  html:is(.af-x5,.af-coll) .aging .bucket .bv{font-size:17px !important}
}
