/* Стили оболочки — вынесены из index.html (2026-09-23).
   Правка кэша: поднимайте ?v= в <link> внутри index.html. */:root{
  --bg:#f5f6f8; --card:#ffffff; --ink:#1f2933; --muted:#6b7280; --line:#e6e8ec;
  --accent:#4197e2; --accent-2:#2b7ac1; --accent-soft:#eaf3fc;
  --side:#0A1322; --side-ink:#98a3b3; --side-active:#ffffff; --side-hover:#232d3f;
  --green:#15803d; --red:#b91c1c; --blue:#2563eb; --amber:#b45309;
  --radius:14px; --shadow:0 1px 2px rgba(16,24,40,.05),0 1px 3px rgba(16,24,40,.06);
}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:"Inter",-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.55}.layout{display:flex;min-height:100vh}

/* ===== Сайдбар ===== */.sidebar{width:248px;background:var(--side);color:var(--side-ink);display:flex;flex-direction:column;position:fixed;top:0;bottom:0;left:0;z-index:20;transition:transform .25s}.brand{display:flex;align-items:center;gap:11px;padding:20px 18px;border-bottom:1px solid rgba(255,255,255,.07)}.brand .logo{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--accent),var(--accent-2));display:flex;align-items:center;justify-content:center;font-size:19px;color:#fff;flex:0 0 auto}.brand .bt{font-size:15.5px;font-weight:700;color:#fff;letter-spacing:.2px;line-height:1.2}.brand .bs{font-size:11px;color:var(--side-ink);margin-top:2px}.nav{padding:14px 10px;flex:1;overflow-y:auto}.nav .grp{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:#5c6b80;padding:6px 12px 6px;font-weight:600}.nav-item{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:10px;cursor:pointer;color:var(--side-ink);font-size:13.5px;font-weight:500;margin-bottom:2px;transition:background .15s,color .15s;user-select:none}.nav-item .ic{font-size:16px;width:20px;text-align:center;flex:0 0 auto}.nav-item:hover{background:var(--side-hover);color:#e6ebf2}.nav-item.active{background:linear-gradient(90deg,rgba(65,151,226,.22),rgba(65,151,226,.08));color:#fff}.nav-item.active .ic{color:var(--accent)}.nav-item .b{font-size:9.5px;background:var(--accent);color:#fff;border-radius:8px;padding:1px 6px;margin-left:auto}.sidebar .foot{padding:14px 18px;border-top:1px solid rgba(255,255,255,.07);font-size:11px;color:#5c6b80;line-height:1.5}

/* ===== Сворачивание сайдбара до иконок (десктоп) ===== */.sidebar{overflow-x:hidden}@media(min-width:901px){.sidebar{transition:width .22s ease}.main{transition:margin-left .22s ease}body.sb-collapsed .sidebar{width:66px}body.sb-collapsed .main{margin-left:66px}body.sb-collapsed .brand{justify-content:center;padding:20px 12px;gap:0}body.sb-collapsed .brand .bt, body.sb-collapsed .brand .bs{display:none}body.sb-collapsed .nav{padding:14px 9px}body.sb-collapsed .nav .grp{height:1px;padding:0;margin:11px 6px;background:rgba(255,255,255,.09);font-size:0;color:transparent;overflow:hidden}body.sb-collapsed .nav-item{justify-content:center;gap:0;padding:10px 0}body.sb-collapsed .nav-item .lbl, body.sb-collapsed .nav-item .b{display:none}body.sb-collapsed .sidebar .foot{display:none}}

/* ===== Основная область ===== */.main{flex:1;margin-left:248px;padding:0;min-width:0}.topbar{background:var(--card);border-bottom:1px solid var(--line);padding:10px 16px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;z-index:10}.topbar h1{font-size:18px;margin:0;font-weight:700}.topbar .sub{color:var(--muted);font-size:12.5px}.menu-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:1px solid var(--line);border-radius:9px;padding:7px 10px;cursor:pointer;font-size:16px;line-height:1;color:var(--ink);flex:0 0 auto}.menu-btn:hover{background:var(--bg)}.content{max-width:1200px;margin:0 auto;padding:14px 24px 32px}

/* ===== Секции ===== */.section{display:none}.section.active{display:block}

/* ===== Карточки KPI ===== */.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:18px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow)}.card .lbl{font-size:12px;color:var(--muted);font-weight:500}.card .val{font-size:26px;font-weight:700;margin-top:5px;font-variant-numeric:tabular-nums;letter-spacing:-.3px}.card .val.sm{font-size:20px}

/* ===== Панели и вкладки ===== */.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;margin-bottom:16px;box-shadow:var(--shadow)}.panel h2{font-size:15px;margin:0 0 12px;font-weight:700}.panel h3{font-size:13.5px;margin:18px 0 7px;font-weight:600}.panel p{margin:7px 0}.tabs{display:flex;gap:4px;background:#eef0f4;border-radius:10px;padding:4px;margin-bottom:16px;overflow-x:auto;-webkit-overflow-scrolling:touch}.tab{padding:8px 15px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;color:var(--muted);user-select:none;white-space:nowrap;flex:0 0 auto;transition:all .15s}.tab:hover{color:var(--ink)}.tab.active{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(16,24,40,.1)}.tabpane{display:none}.tabpane.active{display:block}

/* ===== Таблицы ===== */table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:var(--muted);font-weight:600;padding:8px 10px;border-bottom:2px solid var(--line);white-space:nowrap;font-size:12px}td{padding:8px 10px;border-bottom:1px solid #f0f2f5;vertical-align:top}td.num{text-align:right;font-variant-numeric:tabular-nums}tr.clickable{cursor:pointer}tr.clickable:hover td{background:#f8fafc}tr.active td{background:var(--accent-soft)}.scrollx{overflow-x:auto;-webkit-overflow-scrolling:touch}.scrollx table{min-width:560px}

/* ===== Элементы ===== */.bar{height:8px;background:#e9edf3;border-radius:5px;overflow:hidden;min-width:50px}.bar>i{display:block;height:100%;background:var(--accent);border-radius:5px}.badge{display:inline-block;padding:2px 9px;border-radius:12px;font-size:11px;font-weight:700;margin-left:6px}.badge.g{background:#dcfce7;color:var(--green)}.badge.y{background:#fef3c7;color:var(--amber)}.badge.r{background:#fee2e2;color:var(--red)}.badge.b{background:#eef4ff;color:var(--blue)}.callout{border-left:4px solid var(--accent);background:var(--accent-soft);border-radius:8px;padding:11px 15px;margin:12px 0;font-size:13px}.callout.warn{border-left-color:#eab308;background:#fefce8}.callout.danger{border-left-color:#dc2626;background:#fef2f2}.callout .t{font-weight:700;margin-bottom:2px}code{background:#f0f2f5;border:1px solid #e3e6ec;border-radius:5px;padding:1px 6px;font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#374151}.chip{display:inline-block;padding:2px 9px;border-radius:12px;font-size:11px;font-weight:600}.chip.warn{background:#fef3c7;color:#92400e}.chip.ok{background:#dcfce7;color:#166534}.chip.gray{background:#eef1f7;color:#5b6472}.chip.refund{background:#ede9fe;color:#5b21b6}.chip.refund-part{background:#f3e8ff;color:#7e22ce}

/* ===== Управление датами ===== */.daterange{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}.presets{display:flex;gap:2px;background:#eef0f4;border-radius:10px;padding:3px;flex-wrap:wrap}.presets button{background:none;border:none;border-radius:7px;padding:6px 11px;cursor:pointer;font-size:12.5px;font-weight:600;color:var(--muted);white-space:nowrap}.presets button.active{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(16,24,40,.1)}.inputs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px;color:var(--muted)}.inputs label{display:flex;align-items:center;gap:5px}.inputs input[type=date]{padding:6px 9px;border:1px solid var(--line);border-radius:8px;font-size:13px;font-family:inherit;color:var(--ink);background:#fff}.periodlabel{font-size:12px;color:var(--muted)}.age{font-size:11.5px;color:#9aa3b0;font-variant-numeric:tabular-nums}.btn{background:#fff;border:1px solid var(--line);border-radius:8px;padding:7px 12px;cursor:pointer;font-size:12.5px;font-weight:600;color:var(--ink);font-family:inherit;display:inline-flex;align-items:center;gap:6px;transition:all .15s}.btn:hover{background:#f4f6f8}.btn.loading{opacity:.6;pointer-events:none}.btn.danger{color:var(--red);border-color:#fecaca}.btn.danger:hover{background:#fef2f2}

/* ===== Фильтр филиала ===== */.filterbar{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:13px;color:var(--muted);flex-wrap:wrap}.filterbar .pill{padding:4px 11px;background:var(--accent-soft);border-radius:12px;font-weight:600;color:var(--accent-2)}.filterbar button{background:none;border:1px solid var(--line);border-radius:7px;padding:4px 10px;cursor:pointer;font-size:12px}

/* ===== Схема документооборота ===== */.flow{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch;margin:14px 0}.flow .node{background:#fafbfc;border:1px solid var(--line);border-radius:10px;padding:10px 14px;min-width:130px;text-align:center;font-size:12.5px}.flow .node b{display:block;font-size:13px;margin-bottom:2px}.flow .node .n{color:var(--muted);font-size:11.5px}.flow .arr{align-self:center;color:#9aa3b0;font-size:18px;font-weight:700}

/* ===== Мобильный ===== */.backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:15}@media(max-width:900px){.sidebar{transform:translateX(-100%)}.sidebar.open{transform:translateX(0);box-shadow:0 0 40px rgba(0,0,0,.3)}.main{margin-left:0}.menu-btn{display:inline-flex}.backdrop.show{display:block}.content{padding:16px 14px 32px}.topbar{padding:12px 14px}.cards{grid-template-columns:1fr 1fr;gap:10px}.card .val{font-size:22px}table{font-size:12px}th,td{padding:7px 8px}}@media(max-width:560px){.cards{grid-template-columns:1fr}.card .val{font-size:20px}.topbar h1{font-size:16px}.presets button{padding:6px 9px;font-size:12px}.flow{flex-direction:column;align-items:stretch}.flow .arr{transform:rotate(90deg);align-self:center}.panel{padding:14px}}


/* ===== Показатели (дашборд руководителя) ===== */.dash-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.chartbox{position:relative;height:290px}.chartbox.sm{height:240px}.chartbox .empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px}@media(max-width:900px){.grid2{grid-template-columns:1fr;gap:12px}.chartbox{height:250px}.chartbox.sm{height:220px}}.pos{color:var(--green);font-weight:600}.neg{color:var(--red);font-weight:600}.tag{display:inline-block;padding:1px 8px;border-radius:10px;font-size:10.5px;font-weight:700;white-space:nowrap}.tag.over{background:#fee2e2;color:var(--red)}.tag.stale{background:#fef3c7;color:#92400e}.tag.both{background:#dc2626;color:#fff}.subkind{font-size:10.5px;color:var(--muted);font-weight:600;margin-left:4px}.dash-search{padding:8px 12px;border:1px solid #e2e5ea;border-radius:8px;font-size:13px;min-width:200px;max-width:300px;background:#fff;color:var(--ink);font-family:inherit}.dash-note{color:var(--muted);font-size:11.5px;margin-top:8px}

/* ===== Показатели: KPI-шапка (редизайн) ===== */.kpi-groups{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:14px;margin-bottom:18px}.kpi-g{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:15px 17px;box-shadow:var(--shadow);display:flex;flex-direction:column;min-width:0}.kpi-g-head{display:flex;align-items:center;gap:7px;font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:9px}.kpi-g-head .kpi-ic{font-size:14px;line-height:1}.kpi-g-head .kpi-when{margin-left:auto;font-weight:500;text-transform:none;letter-spacing:0;font-size:11px;white-space:nowrap}.kpi-hero{font-size:29px;font-weight:700;letter-spacing:-.5px;font-variant-numeric:tabular-nums;line-height:1.12}.kpi-hero-lbl{font-size:11.5px;color:var(--muted);margin-top:3px;line-height:1.35}.kpi-rows{margin-top:12px;display:flex;flex-direction:column;gap:8px}.kpi-row{display:grid;grid-template-columns:1fr auto;gap:5px 10px;align-items:baseline;font-size:12.5px;line-height:1.3}.kpi-row .rn{color:#3d4852}.kpi-row .rv{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.kpi-row .rb{grid-column:1/-1;height:5px;border-radius:99px;background:#eef0f4;overflow:hidden}.kpi-row .rb i{display:block;height:100%;border-radius:99px;background:var(--accent);min-width:2px}.kpi-risks{display:flex;flex-direction:column;gap:8px;flex:1}.kpi-risk{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;width:100%;text-align:left;
  font-family:inherit;padding:9px 12px;border:1px solid var(--line);border-left-width:3px;border-radius:10px;
  background:#fff;cursor:pointer;transition:background .15s,border-color .15s}.kpi-risk:hover{background:#fafbfd;border-color:#c9ced6}.kpi-risk.red{border-left-color:var(--red)}.kpi-risk.amber{border-left-color:var(--amber)}.kpi-risk .kpi-rn{font-size:21px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1;min-width:34px}.kpi-risk.red .kpi-rn{color:var(--red)}.kpi-risk .kpi-rt{display:flex;flex-direction:column;min-width:0}.kpi-risk .kpi-rt b{font-size:12.5px;font-weight:600}.kpi-risk .kpi-rh{font-size:11.5px;color:var(--muted);white-space:normal}.kpi-risk .kpi-rs{font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;color:#3d4852}.kpi-foot{font-size:11.5px;color:var(--muted);line-height:1.4;margin-top:2px}.kpi-foot b{color:#3d4852;font-weight:600}
/* табы с счётчиками + подсказка под табами */.tab .tab-cnt{display:inline-block;margin-left:6px;padding:0 7px;border-radius:99px;background:#e6e8ec;color:#4b5563;font-size:11px;font-weight:700;line-height:17px;vertical-align:1px}.tab.active .tab-cnt{background:var(--accent-soft);color:var(--accent-2)}.pane-hint{display:flex;gap:8px;color:var(--muted);font-size:12.5px;line-height:1.45;margin:0 0 14px;padding:9px 12px;background:#f8f9fb;border:1px solid var(--line);border-radius:10px}.pane-hint .ph-ic{flex:0 0 auto}.panel h2 .h2-note{color:var(--muted);font-weight:400;font-size:12px}@media(max-width:1400px){.kpi-groups{grid-template-columns:1fr 1fr}.kpi-g-risks{grid-column:1/-1}.kpi-risks{display:grid;grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.kpi-groups{grid-template-columns:1fr;gap:10px}.kpi-risks{display:flex;flex-direction:column}.kpi-hero{font-size:25px}.kpi-g{padding:13px 14px}.kpi-risk .kpi-rn{font-size:19px}.kpi-risk{padding:8px 10px;gap:9px}.kpi-g-head .kpi-when{display:none}.pane-hint{font-size:12px}/* на телефоне длинные подписи переключателя переносим, а не прокручиваем */ #cashModeTabs{flex-wrap:wrap;overflow-x:visible}#cashModeTabs .tab{white-space:normal;flex:1 1 auto;text-align:center}}@media(max-width:560px){/* узкий телефон: в плитке риска сумма уходит под подпись, чтобы ничего не сжималось */ .kpi-risk{grid-template-columns:auto 1fr;row-gap:3px}.kpi-risk .kpi-rs{grid-column:2;justify-self:start;color:var(--muted);font-weight:500}.kpi-row{grid-template-columns:1fr}.kpi-row .rv{grid-column:1}.kpi-row .rb{grid-column:1}}.payinfo{display:block;max-width:340px;font-size:12px;line-height:1.45;color:#3d4852;white-space:normal;cursor:help}.payinfo.more{cursor:pointer;color:var(--blue)}
/* Должники: страница и таблица на всю ширину экрана */.content.wide{max-width:none;padding:14px 24px 32px}
/* «Готовность к монтажу»: список производств одной колонкой */.prodlist{display:flex;flex-direction:column;gap:2px;font-size:11.5px;line-height:1.35}.prodlist .pn{color:#6b7280;margin-right:5px}.prodlist .pu{font-weight:600;margin-right:5px;color:var(--ink)}.prodlist .prow{display:flex;align-items:center;gap:4px;flex-wrap:wrap;white-space:nowrap}.unitline{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 10px}.unitline .u{font-size:11.5px;color:#3d4852;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:999px;padding:3px 9px}.unitline .u b{color:var(--ink)}.unitline .u .d{color:#b45309;font-weight:600}
/* «Готовность к монтажу»: кладбища — выпадающий список вместо строки чипов */.cem-dd{position:relative;display:inline-block;margin:2px 0 12px}.cem-dd-btn{display:inline-flex;align-items:center;gap:8px;font-family:inherit;font-size:12.5px;line-height:1.3;
  color:#3d4852;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:999px;padding:5px 13px;cursor:pointer;max-width:560px}.cem-dd-btn:hover{border-color:#c9ced6}.cem-dd-btn .cem-dd-cnt{color:#6b7280;font-size:11.5px}.cem-dd-btn .cem-dd-arr{color:#6b7280;font-size:10px}.cem-dd.open .cem-dd-btn{border-color:var(--blue,#5e6ad2);background:#fff}.cem-dd.open .cem-dd-arr{transform:rotate(180deg)}.cem-dd-panel{position:absolute;left:0;top:calc(100% + 6px);z-index:46;display:none;width:340px;max-height:340px;
  overflow-y:auto;background:var(--card,#fff);border:1px solid var(--line,#e5e7eb);border-radius:10px;
  box-shadow:0 14px 34px rgba(16,24,40,.18);padding:6px}.cem-dd.open .cem-dd-panel{display:block}.cem-dd.up .cem-dd-panel{top:auto;bottom:calc(100% + 6px)}.cem-dd-item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;
  font-family:inherit;font-size:12.5px;color:#3d4852;background:none;border:0;border-radius:7px;padding:7px 9px;cursor:pointer}.cem-dd-item:hover{background:#f3f4f6}.cem-dd-item.on{background:#eef0fd;color:#3b46b8;font-weight:600}.cem-dd-item .n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cem-dd-item .c{color:#6b7280;font-size:11.5px;white-space:nowrap;flex:none}.cem-dd-item.on .c{color:#3b46b8}.cem-dd-sep{height:1px;background:var(--line,#e5e7eb);margin:6px 4px}.cem-dd-hint{color:#6b7280;font-size:11.5px;padding:7px 9px}
/* поиск внутри выпадающего фильтра: мест монтажа в году больше двухсот, поэтому список
   прокручивается и фильтруется строкой поиска (в «Готовности к монтажу» список короче) */.cem-dd-q{width:100%;box-sizing:border-box;font:inherit;font-size:12.5px;color:#3d4852;
  background:#f8fafc;border:1px solid var(--line,#e5e7eb);border-radius:7px;padding:6px 9px;margin-bottom:6px}.cem-dd-q:focus{outline:0;border-color:#c9ced6;background:#fff}.cem-dd-panel .cem-dd-list{max-height:inherit}
/* в «Сетке» фильтры стоят в панели рядом с селектом состояния: держим ту же высоту */#sec-grid .cem-dd{margin:0}#sec-grid .cem-dd-btn{height:34px;box-sizing:border-box;max-width:260px;background:#fff;
  border-color:var(--an-line);border-radius:9px;padding:0 12px}#sec-grid .cem-dd-btn:hover{border-color:#d3d8e0;background:#fafbfc}#sec-grid .cem-dd-btn .cem-dd-lbl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:170px}#sec-grid .cem-dd-panel{width:320px;max-width:calc(100vw - 32px)}
/* у правого края окна панель раскрывается не вправо, а по правому краю кнопки:
   иначе список фильтра уезжает за границу экрана и появляется горизонтальная прокрутка */#sec-grid .cem-dd.right .cem-dd-panel{left:auto;right:0}@media(max-width:760px){/* на телефоне две кнопки фильтров стоят в ряд: места мало, поэтому счётчик убираем в подсказку (title), а подпись с выбранным значением показываем целиком */ #sec-grid .cem-dd{flex:1 1 46%;min-width:0}#sec-grid .cem-dd-btn{width:100%;max-width:none;justify-content:space-between}#sec-grid .cem-dd-btn .cem-dd-lbl{max-width:none}#sec-grid .cem-dd-btn .cem-dd-cnt{display:none}}.gcount{font-weight:600;white-space:nowrap}.gcount.done{color:#1a7f37}.gcount.part{color:#b45309}
/* прокрутка по горизонтали внутри карточки — страница скроллится как обычно */#sec-debtors .scrollx{overflow-x:auto;overflow-y:hidden}
/* «Заказ» не уезжает при горизонтальной прокрутке */#sec-debtors .scrollx table tr:first-child th:first-child{z-index:7}

/* ---- Закреплённая шапка таблицы: только строка «Заказ / Дата / Клиент / …»,
     липнет к верху окна при прокрутке СТРАНИЦЫ (позицию считает скрипт) ---- */
/* на страницах с широкими таблицами шапка страницы не липнет: сверху остаётся ТОЛЬКО строка таблицы */body.tblmode .topbar{position:static}.pinned-head{position:fixed;top:0;left:0;z-index:45;overflow:hidden;display:none;
  background:var(--card,#fff);border-bottom:1px solid rgba(16,24,40,.12);
  box-shadow:0 6px 20px rgba(16,24,40,.14)}.pinned-head.on{display:block}.pinned-head table{table-layout:fixed;border-collapse:collapse;margin:0;background:transparent}.pinned-head th{box-sizing:border-box}@media(max-width:900px){.content.wide{padding:16px 14px 32px}#sec-debtors .scrollx{overflow-x:auto}/* на телефоне кнопки горизонтальной прокрутки убираем — таблицу тянут пальцем */ .scr-arrow{display:none !important}}

/* Стрелки горизонтальной прокрутки у широких таблиц */.scrwrap{position:relative}.scr-arrow{position:fixed;z-index:60;display:none;
  width:24px;height:34px;padding:0;cursor:pointer;font-family:inherit;
  background:rgba(255,255,255,.82);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);
  border:1px solid var(--line,#d8dbe0);color:#3c4452;
  border-radius:8px;font-size:17px;line-height:1;font-weight:600;
  box-shadow:0 2px 8px rgba(16,24,40,.10);opacity:0;
  transition:opacity .18s,background .15s,border-color .15s,color .15s}.scrwrap.scr-scrollable .scr-arrow{display:flex;align-items:center;justify-content:center}.scrwrap.no-l .scr-l{display:none}.scrwrap.no-r .scr-r{display:none}
/* пока курсор не над таблицей — стрелок нет вообще, данные ничем не закрыты */.scrwrap.scr-scrollable:hover .scr-arrow,.scrwrap.scr-scrollable:focus-within .scr-arrow{opacity:.72}.scr-arrow:hover,.scr-arrow:focus-visible{opacity:1;background:#5e6ad2;border-color:#5e6ad2;color:#fff}.scr-l{left:8px}.scr-r{right:8px}.scrollx::-webkit-scrollbar{height:10px}.scrollx::-webkit-scrollbar-track{background:transparent}.scrollx::-webkit-scrollbar-thumb{background:var(--line,#c9ced6);border-radius:6px}.scrollx::-webkit-scrollbar-thumb:hover{background:#5e6ad2}

/* ===== Модалка: карта кладбищ ===== */.map-modal{position:fixed;inset:0;z-index:2000;display:none;background:rgba(16,24,40,.55)}.map-modal.on{display:flex;align-items:center;justify-content:center;padding:18px}.map-box{background:var(--card,#fff);border-radius:var(--radius,14px);box-shadow:0 24px 60px rgba(16,24,40,.35);
  width:min(1200px,100%);height:min(780px,100%);display:flex;flex-direction:column;overflow:hidden}.map-head{display:flex;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid var(--line,#e6e8ec);flex-wrap:wrap}.map-title{font-weight:600;font-size:15px}.map-sub{color:var(--muted,#6b7280);font-weight:400;font-size:12px;margin-left:6px}.map-tools{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.map-chips{display:flex;gap:6px;flex-wrap:wrap}.mchip{padding:5px 10px;border:1px solid var(--line,#e6e8ec);border-radius:999px;font-size:12px;cursor:pointer;
  background:#fff;color:var(--muted,#6b7280);user-select:none;white-space:nowrap}.mchip:hover{border-color:var(--accent,#4197e2)}.mchip.active{background:var(--accent-soft,#eaf3fc);border-color:var(--accent,#4197e2);color:var(--accent-2,#2b7ac1);font-weight:600}.map-close{width:32px;height:32px;border:1px solid var(--line,#e6e8ec);background:#fff;border-radius:8px;cursor:pointer;
  font-size:15px;color:var(--muted,#6b7280);font-family:inherit;flex:0 0 auto}.map-close:hover{background:#f3f4f6;color:var(--ink,#1f2933)}.map-body{flex:1;display:flex;min-height:0}#mapCanvas{flex:1;min-width:0;height:100%;background:#eef1f4}.map-side{width:308px;border-left:1px solid var(--line,#e6e8ec);overflow:auto;padding:10px 12px}.map-side h4{margin:2px 0 8px;font-size:11px;color:var(--muted,#6b7280);text-transform:uppercase;letter-spacing:.05em}.map-side h4+h4{margin-top:14px}.mside-row{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:8px;cursor:pointer;font-size:13px}.mside-row:hover{background:#f5f6f8}.mside-row .nm{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mside-row .cnt{font-variant-numeric:tabular-nums;color:var(--muted,#6b7280);font-size:12px;white-space:nowrap}.mside-row.nog{cursor:default;color:var(--muted,#6b7280)}.mside-row.nog:hover{background:none}.mside-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto;background:#c9ced6}.map-foot{padding:9px 14px;border-top:1px solid var(--line,#e6e8ec);font-size:12px;color:var(--muted,#6b7280);
  display:flex;gap:14px;flex-wrap:wrap;align-items:center}.map-foot b{color:var(--ink,#1f2933)}.map-lg{display:flex;gap:12px;align-items:center;margin-left:auto;flex-wrap:wrap}.map-lg i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:4px}.map-tip{background:rgba(26,34,48,.9);border:none;color:#fff;font-size:11px;padding:2px 6px;border-radius:6px;font-weight:600}.map-tip:before{display:none}.map-pop{font-size:12.5px;min-width:236px}.map-pop .pop-h{font-weight:600;font-size:13px;margin-bottom:4px}.map-pop .pop-row{display:flex;justify-content:space-between;gap:10px;color:var(--muted,#6b7280)}.map-pop .pop-row b{color:var(--ink,#1f2933)}.map-pop .pop-list{margin:6px 0 4px;max-height:186px;overflow:auto;border-top:1px dashed var(--line,#e6e8ec);padding-top:5px}.map-pop .pop-o{display:flex;gap:6px;padding:2px 0;border-bottom:1px solid #f1f3f6;align-items:baseline}.map-pop .pop-o .num{width:62px;flex:0 0 auto;font-weight:600;white-space:nowrap}.map-pop .pop-o .cl{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-pop .pop-o .am{color:var(--muted,#6b7280);white-space:nowrap}.map-pop .pop-btn{margin-top:6px;width:100%;padding:6px 8px;border:1px solid var(--accent,#4197e2);
  background:var(--accent-soft,#eaf3fc);color:var(--accent-2,#2b7ac1);border-radius:8px;cursor:pointer;
  font-family:inherit;font-size:12px;font-weight:600}.map-pop .pop-btn:hover{background:var(--accent,#4197e2);color:#fff}.map-pop .pop-src{margin-top:4px;font-size:11px;color:var(--muted,#6b7280)}.map-err{padding:16px;color:var(--red,#b91c1c);font-size:13px}.leaflet-popup-content{margin:10px 12px}
/* --- доработки карты --- */.map-btns{display:flex;gap:6px}.map-tbtn{padding:5px 10px;border:1px solid var(--line,#e6e8ec);border-radius:8px;background:#fff;
  cursor:pointer;font:600 12px inherit;color:var(--muted,#6b7280);white-space:nowrap}.map-tbtn:hover{border-color:var(--accent,#4197e2);color:var(--accent-2,#2b7ac1)}.map-tbtn-side{display:none}.mchip-prec{font-weight:600}.map-lg-i{display:inline-flex;align-items:center;gap:4px;border:1px solid transparent;background:none;
  font:inherit;color:var(--ink,#1f2933);cursor:default;padding:1px 5px;border-radius:6px}.map-lg-i.lg-static{color:var(--muted,#6b7280)}.map-lg-i[data-g]{cursor:pointer}.map-lg-i[data-g]:hover{border-color:var(--line,#e6e8ec)}.map-lg-i.on{background:#f5f6f8;border-color:var(--line,#e6e8ec);color:var(--ink,#1f2933);font-weight:600}.map-lg .lg-dash{display:inline-block;width:11px;height:11px;border-radius:50%;
  border:2px dashed #6b7280;margin-right:4px}.mside-row.hl{background:#eef2ff}.mside-row .stack{margin-left:auto;font-size:10.5px;color:var(--muted,#6b7280);white-space:nowrap}.mside-dot.ap{background:transparent !important;border:2px dashed #8a94a6}.map-tip-ap{background:rgba(90,100,116,.92)}.map-pop .pop-row b.ap{color:#6b7280;font-weight:600}.map-pop .pop-row b.ok{color:#15803d}.map-pop .pop-list{max-height:240px}.map-pop .pop-actions{display:flex;gap:6px;margin-top:6px}.map-pop .pop-actions button{flex:1;padding:6px 8px;border:1px solid var(--accent,#4197e2);background:#fff;
  color:var(--accent-2,#2b7ac1);border-radius:8px;cursor:pointer;font:600 12px inherit}.map-pop .pop-actions button:hover{background:var(--accent,#4197e2);color:#fff}
/* ===== попап кладбища: группы, сортировка, состав заказа (12.09.2026) ===== */
/* ширина фиксируется: попап перерисовывается по клику, иначе он «прыгает» по ширине */.map-pop{width:392px;max-width:calc(100vw - 44px);box-sizing:border-box}
/* чипы групп = фильтр списка (замена нечитаемой строки «16 / 12 / 1 / 72») */.map-pop .pop-grp{display:flex;flex-wrap:wrap;gap:4px;margin:7px 0 0}.map-pop .pop-grp button{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line,#e6e8ec);
  background:#fff;color:var(--muted,#6b7280);border-radius:20px;padding:3px 9px;font:600 11.5px inherit;cursor:pointer;white-space:nowrap}.map-pop .pop-grp button:hover{border-color:#cfd6e0;color:var(--ink,#1f2933)}.map-pop .pop-grp button.on{background:#f2f4f8;border-color:#c9d2de;color:var(--ink,#1f2933)}.map-pop .pop-grp button i{width:8px;height:8px;border-radius:50%;display:inline-block;flex:0 0 auto}.map-pop .pop-grp button b{font-variant-numeric:tabular-nums;color:var(--ink,#1f2933)}.map-pop .pop-grp button.off{opacity:.5}.map-pop .pop-sort{display:flex;align-items:center;flex-wrap:wrap;gap:3px;margin:6px 0 0;font-size:11px;color:var(--muted,#6b7280)}.map-pop .pop-sort .lb{margin-right:2px}.map-pop .pop-sort button{border:1px solid transparent;background:none;color:var(--muted,#6b7280);border-radius:7px;
  padding:2px 7px;font:600 11.5px inherit;cursor:pointer}.map-pop .pop-sort button:hover{color:var(--ink,#1f2933)}.map-pop .pop-sort button.on{background:#f2f4f8;border-color:var(--line,#e6e8ec);color:var(--ink,#1f2933)}
/* строка заказа: цвет группы + короткая подпись + срок ожидания (раньше группа была только в подсказке) */.map-pop .pop-o{display:grid;grid-template-columns:auto 1fr;gap:2px 7px;align-items:start;padding:5px 4px 5px 3px;
  border-bottom:1px solid #f1f3f6;border-radius:6px}.map-pop .pop-o.clickable{cursor:pointer}.map-pop .pop-o.clickable:hover{background:#fafbfd}.map-pop .pop-o.open{background:#f6f8fc}.map-pop .pop-o .dot{width:8px;height:8px;border-radius:50%;margin-top:5px}.map-pop .pop-o .l1{display:flex;align-items:baseline;gap:7px;min-width:0}.map-pop .pop-o .l1 .num{font-weight:600;white-space:nowrap}.map-pop .pop-o .l1 .gl{font-size:11px;font-weight:600;white-space:nowrap}.map-pop .pop-o .l1 .am{margin-left:auto;color:var(--muted,#6b7280);white-space:nowrap;font-variant-numeric:tabular-nums}.map-pop .pop-o .l2{grid-column:2;display:flex;gap:8px;font-size:11.5px;color:var(--muted,#6b7280);min-width:0}.map-pop .pop-o .l2 .cl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-pop .pop-o .l2 .wt{margin-left:auto;white-space:nowrap}.map-pop .pop-sub{margin:2px 0 6px;padding:8px 9px;background:#fbfcfe;border:1px solid #eef1f6;border-radius:8px}.map-pop .pop-empty{padding:9px 4px;color:var(--muted,#6b7280)}
/* состав заказа (товары/услуги) внутри попапа — те же классы .mtx-*, что в таблице раздела,
   но одним столбцом и мельче: попап узкий */.map-pop .mtx-h{display:flex;align-items:center;gap:6px;margin:0 0 5px;font-weight:600;font-size:10.5px;
  letter-spacing:.05em;text-transform:uppercase;color:var(--muted,#6b7280)}.map-pop .mtx-h b{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 5px;
  border-radius:20px;background:#eef1f6;color:var(--ink,#1f2933);font-size:10.5px;font-weight:700;
  font-variant-numeric:tabular-nums}.map-pop .mtx-col+.mtx-col{margin-top:8px}.map-pop .mtx-list{display:flex;flex-wrap:wrap;gap:4px 5px}.map-pop .mtx-i{display:inline-flex;align-items:baseline;gap:5px;max-width:100%;padding:2px 8px;border:1px solid #eef1f6;
  border-radius:7px;background:#fff;font-size:11.5px;line-height:1.35;color:var(--ink,#1f2933)}.map-pop .mtx-i .n{overflow-wrap:anywhere}.map-pop .mtx-i .q{font-variant-numeric:tabular-nums;font-weight:700;font-size:10.5px;color:#3b45a0}.map-pop .mtx-none{font-size:11.5px;color:var(--muted,#6b7280)}
/* кнопки: главное действие — акцентное и на всю ширину, вторичные — тише и рядом */.map-pop .pop-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.map-pop .pop-actions button{flex:1 1 46%;padding:7px 9px;border:1px solid var(--line,#e6e8ec);background:#fff;
  color:var(--muted,#6b7280);border-radius:8px;cursor:pointer;font:600 11.5px inherit;white-space:nowrap}.map-pop .pop-actions button:hover{border-color:#cfd6e0;color:var(--ink,#1f2933);background:#fafbfd}.map-pop .pop-actions button.pop-btn{flex:1 0 100%;border-color:var(--accent,#4197e2);background:var(--accent,#4197e2);color:#fff}.map-pop .pop-actions button.pop-btn:hover{background:#3a8cd0;border-color:#3a8cd0;color:#fff}
/* номер самого старого заказа рядом со сроком ожидания */.map-pop .wt-num{display:inline-block;margin-left:5px;padding:0 6px;border-radius:6px;background:#f2f4f8;
  font-size:10.5px;font-weight:600;color:var(--muted,#6b7280)}@media(max-width:900px){.map-modal.on{padding:0}.map-box{width:100%;height:100%;border-radius:0}.map-body{flex-direction:column}.map-side{width:auto;max-height:40%;border-left:none;border-top:1px solid var(--line,#e6e8ec)}#mapCanvas{min-height:300px;flex:1}.map-tools{width:100%;margin-left:0}.map-tbtn-side{display:inline-block}.map-box.side-hidden .map-side{display:none}.map-chips{order:2}#mapCanvas{min-height:0}/* попап на телефоне: одна колонка, крупные тапы, список выше и со скроллом. Вариант «шторка на весь экран» сознательно не делаем: в разделе уже есть кнопка «Список», а переход в таблицу — отдельной кнопкой в попапе. */ .map-pop{width:calc(100vw - 56px);max-width:none}/* список и легенда на телефоне ужимаются: карте нужно место, иначе попап (581px) не влезает в канву (~429px) и кнопки/подвал обрезаются снизу */ .map-pop .pop-list{max-height:20vh}.map-foot{max-height:104px;overflow:auto;font-size:11px;padding:7px 10px}.map-pop .pop-o{padding:8px 4px 8px 3px}.map-pop .pop-grp button{padding:5px 10px;font-size:12px}.map-pop .pop-sort button{padding:4px 9px;font-size:12px}.map-pop .pop-actions button{padding:10px 9px;font-size:12.5px}}

/* ===== Палитра разделов: раньше жила только на #sec-analytics, из-за чего
   в «Начислениях» и «Анализе изделий» не работали границы и цвета (var() пустой) ===== */:root{
  --an-line:#e4e7ec; --an-line-2:#f1f3f6; --an-muted:#6b7280; --an-muted-2:#6b7280;
  --an-ink:#1f2933; --an-gold:#4197e2; --an-gold-2:#2b7ac1; --an-gold-soft:#faf4e9;
  --an-green:#0f7a3d; --an-green-bg:#e9f6ee; --an-red:#b3261e; --an-red-bg:#fdecea;
  --an-num:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}

/* ===== Аналитика v2 — тулбар, KPI, графики, таблицы ===== */#sec-analytics{
  --an-line:#e4e7ec; --an-line-2:#f1f3f6; --an-muted:#6b7280; --an-muted-2:#6b7280;
  --an-ink:#1f2933; --an-gold:#4197e2; --an-gold-2:#2b7ac1; --an-gold-soft:#faf4e9;
  --an-green:#0f7a3d; --an-green-bg:#e9f6ee; --an-red:#b3261e; --an-red-bg:#fdecea;
  --an-num:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --an-top:0px;
}
/* ---------- панель периода ---------- */#sec-analytics .an-toolbar{position:sticky;top:var(--an-top,0);z-index:9;display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(8px);border:1px solid var(--an-line);border-radius:12px;
  padding:8px 11px;margin-bottom:10px;box-shadow:0 1px 2px rgba(16,24,40,.05)}#sec-analytics .an-seg{display:flex;gap:2px;background:#eef0f4;border-radius:9px;padding:3px;overflow-x:auto;-webkit-overflow-scrolling:touch}#sec-analytics .an-seg button{border:0;background:none;font:600 12.5px/1.2 inherit;color:var(--an-muted);padding:6px 11px;border-radius:7px;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s;font-family:inherit}#sec-analytics .an-seg button:hover{color:var(--an-ink)}#sec-analytics .an-seg button.active{background:#fff;color:var(--an-ink);box-shadow:0 1px 3px rgba(16,24,40,.13)}#sec-analytics .an-dates{display:flex;align-items:center;gap:6px;flex-wrap:wrap}#sec-analytics .an-date{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--an-line);background:#fff;border-radius:9px;padding:3px 8px}#sec-analytics .an-date span{font-size:11px;color:var(--an-muted-2)}#sec-analytics .an-date input{border:0;outline:0;font:500 13px inherit;color:var(--an-ink);background:none;padding:3px 0;width:118px;font-family:inherit}#sec-analytics .an-sp{flex:1 1 auto}#sec-analytics .an-ibtn{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border:1px solid var(--an-line);background:#fff;border-radius:9px;cursor:pointer;color:var(--an-muted);transition:.15s}#sec-analytics .an-ibtn:hover{color:var(--an-ink);border-color:#d3d8e0;background:#fafbfc}#sec-analytics .an-ibtn.danger{color:var(--an-red)}#sec-analytics .an-ibtn.danger:hover{background:#fef3f2;border-color:#f6c9c5}#sec-analytics .an-ibtn.loading{opacity:.55;pointer-events:none}#sec-analytics .an-ibtn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}#sec-analytics .an-ibtn.spin svg{animation:an-spin 1s linear infinite}
@keyframes an-spin{to{transform:rotate(360deg)}}
/* ---------- строка пояснений ---------- */#sec-analytics .an-toolbar.compact #anMeta{display:none}#sec-analytics .an-meta{flex:1 0 100%;display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:12px;color:var(--an-muted);
  margin:0;padding:7px 2px 0;border-top:1px solid var(--an-line-2)}#sec-analytics .an-meta b{color:var(--an-ink);font-weight:600;font-variant-numeric:tabular-nums}#sec-analytics .an-meta .sep{color:#d5dae1}#sec-analytics .an-meta .age{font-variant-numeric:tabular-nums;color:var(--an-muted-2)}#sec-analytics .an-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 6px 3px 10px;background:var(--an-gold-soft);border:1px solid #ecdfc8;border-radius:20px;font-size:11.5px;font-weight:600;color:var(--an-gold-2)}#sec-analytics .an-pill button{border:0;background:none;cursor:pointer;color:inherit;display:grid;place-items:center;padding:0;opacity:.7}#sec-analytics .an-pill button:hover{opacity:1}#sec-analytics .an-pill svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}#sec-analytics .an-link{color:var(--an-gold-2);cursor:pointer;border-bottom:1px dashed #c8def3;font-weight:600}#sec-analytics .an-link:hover{color:var(--an-ink)}#sec-analytics .an-note{display:none;margin:0 0 14px;padding:12px 15px;border:1px solid #ece0c9;border-left:3px solid var(--an-gold);background:#fdfaf4;border-radius:10px;font-size:12.5px;line-height:1.6;color:#4b5563}#sec-analytics .an-note.on{display:block}#sec-analytics .an-note b{color:var(--an-ink)}#sec-analytics .an-note ul{margin:6px 0 0;padding-left:18px}
/* ---------- KPI ---------- */#sec-analytics .an-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}#sec-analytics .an-kpi{position:relative;background:#fff;border:1px solid var(--an-line);border-radius:12px;padding:14px 16px 15px;box-shadow:0 1px 2px rgba(16,24,40,.04);transition:box-shadow .15s,border-color .15s,transform .15s}#sec-analytics .an-kpi:hover{border-color:#d6dae1;box-shadow:0 6px 18px rgba(16,24,40,.07);transform:translateY(-1px)}#sec-analytics .an-kpi .k-lbl{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--an-muted);display:flex;align-items:center;gap:6px}#sec-analytics .an-kpi .k-lbl svg{width:13px;height:13px;fill:none;stroke:var(--an-muted-2);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}#sec-analytics .an-kpi .k-val{margin-top:9px;font-size:26px;font-weight:700;line-height:1.05;letter-spacing:-.7px;font-variant-numeric:tabular-nums;color:var(--an-ink);white-space:nowrap}#sec-analytics .an-kpi .k-val .u{font-size:15px;font-weight:600;color:var(--an-muted);letter-spacing:0;margin-left:1px}#sec-analytics .an-kpi .k-sub{margin-top:8px;font-size:11.5px;color:var(--an-muted);display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:19px}#sec-analytics .an-kpi .k-spark{position:absolute;right:14px;bottom:12px;width:96px;height:28px;overflow:visible}#sec-analytics .an-kpi .k-spark path{fill:none;stroke:var(--an-gold);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}#sec-analytics .an-kpi .k-spark .ar{fill:rgba(65,151,226,.15);stroke:none;opacity:1}#sec-analytics .an-lrow.plain{cursor:default}
/* дельта-чипы */#sec-analytics .dl{display:inline-flex;align-items:center;gap:3px;font-size:11.5px;font-weight:700;padding:2px 7px;border-radius:7px;font-variant-numeric:tabular-nums;white-space:nowrap}#sec-analytics .dl.up{background:var(--an-green-bg);color:var(--an-green)}#sec-analytics .dl.down{background:var(--an-red-bg);color:var(--an-red)}#sec-analytics .dl.flat,#sec-analytics .dl.none{background:#eef1f7;color:#5b6472}#sec-analytics .dl.base{background:#fdf4e3;color:#2b6ea8}#sec-analytics .dl i{font-style:normal;font-size:9px}
/* ---------- карточки-виджеты ---------- */#sec-analytics .an-card{background:#fff;border:1px solid var(--an-line);border-radius:12px;padding:15px 17px 16px;box-shadow:0 1px 2px rgba(16,24,40,.04);margin-bottom:16px}#sec-analytics .an-card-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}#sec-analytics .an-card-h h3{margin:0;font-size:14px;font-weight:700;letter-spacing:-.2px;color:var(--an-ink)}#sec-analytics .an-card-h .hint{font-size:11.5px;color:var(--an-muted)}#sec-analytics .an-card-h .r{margin-left:auto;display:flex;align-items:center;gap:8px}#sec-analytics .an-chart{position:relative;height:300px}#sec-analytics .an-chart.sm{height:230px}#sec-analytics .an-chart .an-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--an-muted);font-size:13px}
/* легенда */#sec-analytics .an-legend{display:flex;flex-direction:column;gap:2px;margin-top:10px}#sec-analytics .an-lrow{display:grid;grid-template-columns:9px 1fr auto auto;align-items:center;gap:9px;padding:5px 7px;border-radius:8px;font-size:12.5px;cursor:pointer;transition:background .15s}#sec-analytics .an-lrow:hover{background:#f7f9fb}#sec-analytics .an-lrow .dot{width:9px;height:9px;border-radius:3px}#sec-analytics .an-lrow .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#sec-analytics .an-lrow .vl{font-variant-numeric:tabular-nums;font-family:var(--an-num);font-size:12px;color:var(--an-ink)}#sec-analytics .an-lrow .sh{font-variant-numeric:tabular-nums;color:var(--an-muted-2);font-size:11.5px;width:42px;text-align:right}#sec-analytics .an-split{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);gap:18px;align-items:start}
/* ---------- вкладки ---------- */#sec-analytics .an-tabs{display:flex;gap:3px;background:#eef0f4;border-radius:11px;padding:4px;margin-bottom:16px;overflow-x:auto;-webkit-overflow-scrolling:touch}#sec-analytics .an-tab{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border:0;background:none;border-radius:8px;font:600 13px/1.2 inherit;color:var(--an-muted);cursor:pointer;white-space:nowrap;flex:0 0 auto;transition:.15s}#sec-analytics .an-tab svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}#sec-analytics .an-tab .cnt{font-size:10.5px;font-weight:700;background:#dfe3ea;color:#5b6472;border-radius:20px;padding:1px 7px;font-variant-numeric:tabular-nums}#sec-analytics .an-tab:hover{color:var(--an-ink)}#sec-analytics .an-tab.active{background:#fff;color:var(--an-ink);box-shadow:0 1px 3px rgba(16,24,40,.13)}#sec-analytics .an-tab.active svg{stroke:var(--an-gold)}#sec-analytics .an-tab.active .cnt{background:var(--an-gold-soft);color:var(--an-gold-2)}#sec-analytics .an-pane{display:none}#sec-analytics .an-pane.active{display:block}
/* ---------- таблицы ---------- */#sec-analytics .an-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}#sec-analytics table{width:100%;border-collapse:collapse;font-size:13px}#sec-analytics th{text-align:left;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--an-muted);padding:0 10px 9px;border-bottom:1px solid var(--an-line);white-space:nowrap;vertical-align:bottom}#sec-analytics th.num{text-align:right}#sec-analytics th.srt{cursor:pointer;user-select:none}#sec-analytics th.srt:hover{color:var(--an-ink)}#sec-analytics th.srt .ar{opacity:.28;margin-left:3px}#sec-analytics th.srt.on{color:var(--an-gold-2)}#sec-analytics th.srt.on .ar{opacity:1}#sec-analytics td{padding:9px 10px;border-bottom:1px solid var(--an-line-2);vertical-align:middle}#sec-analytics td.num{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--an-num);font-size:12.5px;white-space:nowrap}#sec-analytics td.txt{font-variant-numeric:normal;font-family:inherit;font-size:13px}#sec-analytics tbody tr:hover td{background:#fafbfd}#sec-analytics tr.clickable{cursor:pointer}#sec-analytics .an-rank{width:34px;color:var(--an-muted-2);font-size:11.5px;font-variant-numeric:tabular-nums}#sec-analytics .an-rank.top{color:var(--an-gold-2);font-weight:700}#sec-analytics .an-name{font-weight:600;color:var(--an-ink);display:block;max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#sec-analytics .an-name.wide{max-width:560px}#sec-analytics .an-sub{font-size:11.5px;color:var(--an-muted-2);margin-top:2px}#sec-analytics .an-cat{display:inline-block;padding:2px 8px;border-radius:20px;background:#f2f4f8;color:#5b6472;font-size:11px;font-weight:600;white-space:nowrap}#sec-analytics .an-new{display:inline-block;padding:2px 7px;border-radius:20px;background:#eef4ff;color:#2563eb;font-size:10.5px;font-weight:700;margin-left:6px}#sec-analytics .an-out{display:inline-block;padding:2px 7px;border-radius:20px;background:#f4f5f7;color:#8a919d;font-size:10.5px;font-weight:700;margin-left:6px}#sec-analytics .an-dynbox{display:flex;align-items:center;gap:10px}#sec-analytics .an-dynbox .an-cmp{flex:1;min-width:80px}
/* легенда-чипы в шапке карточки графика */#sec-analytics .an-lg{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--an-muted);margin-left:4px}#sec-analytics .an-lg .dot{width:8px;height:8px;border-radius:3px;display:inline-block}
/* «было → стало»: серый столбик = прошлый период, золотой = текущий, общая шкала по максимуму таблицы.
   Золото длиннее серого — рост, серый торчит справа — падение. */#sec-analytics .an-cmp{display:flex;flex-direction:column;gap:5px;min-width:96px;padding:1px 0}#sec-analytics .an-cmp i{display:block;height:7px;border-radius:4px;background:#e9edf2;box-shadow:inset 0 0 0 1px rgba(16,24,40,.03);overflow:hidden}#sec-analytics .an-cmp i>span{display:block;height:100%;border-radius:4px;min-width:2px}#sec-analytics .an-cmp i.p>span{background:#c9d0da}#sec-analytics .an-cmp i.c>span{background:linear-gradient(90deg,#7db8e8,#4197e2)}#sec-analytics .an-cmp i.c>span.low{background:linear-gradient(90deg,#dca29d,#c0564d)}
/* ---------- фиксированные раскладки (числа выровнены по разрядам) ---------- */#sec-analytics table.t-fix{table-layout:fixed}#sec-analytics table.t-fix td,#sec-analytics table.t-fix th{overflow:hidden;text-overflow:ellipsis}#sec-analytics table.t-fix td.txt,#sec-analytics table.t-fix td.num{white-space:nowrap}
/* min-width = сумма фиксированных колонок + запас на имя (иначе ФИО схлопывается в «Куз…»):
   филиалы 764+256, менеджеры 810+310, состояния 480+240 */#sec-analytics table.t-branches{min-width:1020px}#sec-analytics table.t-managers{min-width:1120px}#sec-analytics table.t-branches th:nth-child(2),#sec-analytics table.t-managers th:nth-child(2){width:auto}#sec-analytics table.t-fix .an-name{max-width:100%}#sec-analytics table.t-branches th:nth-child(3),#sec-analytics table.t-managers th:nth-child(3){width:92px}#sec-analytics table.t-branches th:nth-child(4),#sec-analytics table.t-managers th:nth-child(4){width:150px}#sec-analytics table.t-branches th:nth-child(5),#sec-analytics table.t-managers th:nth-child(5){width:150px}#sec-analytics table.t-branches th:nth-child(6){width:86px}#sec-analytics table.t-managers th:nth-child(6){width:132px}#sec-analytics table.t-branches th:nth-child(7),#sec-analytics table.t-managers th:nth-child(7){width:252px}#sec-analytics table.t-states{min-width:700px}#sec-analytics table.t-states th:nth-child(2){width:96px}#sec-analytics table.t-states th:nth-child(3){width:150px}#sec-analytics table.t-states th:nth-child(4){width:92px}#sec-analytics table.t-states th:nth-child(5){width:142px}#sec-analytics table.t-products{min-width:1120px}#sec-analytics table.t-products th:nth-child(1){width:3%}#sec-analytics table.t-products th:nth-child(2){width:31%}#sec-analytics table.t-products th:nth-child(3){width:12%}#sec-analytics table.t-products th:nth-child(4){width:7.5%}#sec-analytics table.t-products th:nth-child(5){width:9.5%}#sec-analytics table.t-products th:nth-child(6){width:13%}#sec-analytics table.t-products th:nth-child(7), #sec-analytics table.t-products th:nth-child(8), #sec-analytics table.t-products th:nth-child(9){width:8%}#sec-analytics th.dyn{white-space:normal;overflow-wrap:normal}

/* ---------- фильтры товаров ---------- */#sec-analytics .an-filters{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:12px}#sec-analytics .an-search{display:flex;align-items:center;gap:7px;border:1px solid var(--an-line);background:#fff;border-radius:9px;padding:6px 10px;min-width:220px;flex:1 1 220px;max-width:340px}#sec-analytics .an-search svg{width:15px;height:15px;fill:none;stroke:var(--an-muted-2);stroke-width:1.9;stroke-linecap:round}#sec-analytics .an-search input{border:0;outline:0;background:none;font:400 13px inherit;color:var(--an-ink);width:100%;font-family:inherit}#sec-analytics .an-chips{display:flex;gap:6px;flex-wrap:wrap}#sec-analytics .an-chip{border:1px solid var(--an-line);background:#fff;border-radius:20px;padding:5px 11px;font:600 12px inherit;color:var(--an-muted);cursor:pointer;transition:.15s;font-family:inherit}#sec-analytics .an-chip:hover{color:var(--an-ink);border-color:#d3d8e0}#sec-analytics .an-chip.active{background:var(--an-gold-soft);border-color:#d6e7f7;color:var(--an-gold-2)}#sec-analytics .an-count{font-size:11.5px;color:var(--an-muted-2);margin-left:auto;font-variant-numeric:tabular-nums}#sec-analytics .an-more{display:block;width:100%;margin-top:10px;padding:9px;border:1px dashed #d8dce3;background:#fbfcfd;border-radius:9px;font:600 12.5px inherit;color:var(--an-muted);cursor:pointer;font-family:inherit}#sec-analytics .an-more:hover{color:var(--an-ink);border-color:#c9cfd8;background:#f6f8fa}#sec-analytics .an-empty{padding:24px 12px;text-align:center;color:var(--an-muted);font-size:13px}#sec-analytics .an-skel{height:14px;border-radius:6px;background:linear-gradient(90deg,#eef1f5 25%,#f7f9fb 37%,#eef1f5 63%);background-size:400% 100%;animation:an-sh 1.3s ease infinite}
@keyframes an-sh{0%{background-position:100% 50%}100%{background-position:0 50%}}
/* ---------- адаптив ---------- */@media(max-width:1180px){#sec-analytics .an-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}/* minmax(0,1fr), а не 1fr: иначе таблица с min-width:880px растягивает колонку вместо того, чтобы скроллиться внутри .an-scroll, и страница уезжает вбок */ #sec-analytics .an-split{grid-template-columns:minmax(0,1fr)}}
/* скролл-контейнеры и колонки сеток не должны растягиваться содержимым */#sec-analytics .an-split>*{min-width:0}#sec-analytics .an-scroll{max-width:100%}#sec-analytics .an-card{overflow:hidden}@media(max-width:900px){/* на телефоне тулбар не прилипает: иначе он вместе с шапкой съедает четверть экрана */ #sec-analytics .an-toolbar{position:static}#sec-analytics .an-toolbar.compact #anMeta{display:flex}/* на телефоне ничего не обрезаем и не прячем в горизонтальный скролл: пресеты, табы и переключатели переносятся на след. строку */ #sec-analytics .an-seg,#sec-analytics .an-tabs{flex-wrap:wrap;overflow:visible}#sec-analytics .an-tabs .an-tab{flex:1 1 auto;justify-content:center}/* подписи KPI в одну высоту, иначе карточки в ряду разъезжаются */ #sec-analytics .an-kpi .k-lbl{min-height:2.4em;line-height:1.25}/* легенда и переключатель метрики — своей строкой, чтобы не липли к заголовку */ #sec-analytics .an-card-h .r{margin-left:0;flex:1 0 100%;justify-content:flex-start;flex-wrap:wrap;gap:8px}#sec-analytics .an-lg{margin-left:0}}
/* ---------- на телефоне: имя залипает при горизонтальной прокрутке чисел ---------- */@media(min-width:761px) and (max-width:900px){#sec-analytics .an-scroll table.t-branches th:nth-child(1),#sec-analytics .an-scroll table.t-branches td:nth-child(1), #sec-analytics .an-scroll table.t-managers th:nth-child(1),#sec-analytics .an-scroll table.t-managers td:nth-child(1), #sec-analytics .an-scroll table.t-products th:nth-child(1),#sec-analytics .an-scroll table.t-products td:nth-child(1), #sec-analytics .an-scroll table.t-states th:nth-child(1),#sec-analytics .an-scroll table.t-states td:nth-child(1){
    position:sticky;left:0;z-index:3;background:#fff}#sec-analytics .an-scroll table.t-branches th:nth-child(2),#sec-analytics .an-scroll table.t-branches td:nth-child(2), #sec-analytics .an-scroll table.t-managers th:nth-child(2),#sec-analytics .an-scroll table.t-managers td:nth-child(2), #sec-analytics .an-scroll table.t-products th:nth-child(2),#sec-analytics .an-scroll table.t-products td:nth-child(2){
    position:sticky;left:34px;z-index:3;background:#fff;box-shadow:inset -1px 0 0 var(--an-line)}#sec-analytics .an-scroll table.t-products th:nth-child(1),#sec-analytics .an-scroll table.t-products td:nth-child(1){width:34px}#sec-analytics .an-scroll table.t-branches tr:hover td:nth-child(1),#sec-analytics .an-scroll table.t-branches tr:hover td:nth-child(2), #sec-analytics .an-scroll table.t-managers tr:hover td:nth-child(1),#sec-analytics .an-scroll table.t-managers tr:hover td:nth-child(2), #sec-analytics .an-scroll table.t-products tr:hover td:nth-child(1),#sec-analytics .an-scroll table.t-products tr:hover td:nth-child(2), #sec-analytics .an-scroll table.t-states tr:hover td:nth-child(1),#sec-analytics .an-scroll table.t-states tr:hover td:nth-child(2){
    background:#fafbfd}}
/* ---------- телефон: таблицы становятся карточками, горизонтальной прокрутки нет ---------- */#sec-analytics .an-sortbar{display:none}@media(max-width:760px){#sec-analytics table.t-cards{display:block;min-width:0;table-layout:auto}#sec-analytics table.t-cards thead{display:none}#sec-analytics table.t-cards tbody{display:block}#sec-analytics table.t-cards tr{display:block;background:#fff;border:1px solid var(--an-line);border-radius:11px;padding:11px 12px;margin:0 0 9px}#sec-analytics table.t-cards tr:hover td{background:transparent}#sec-analytics table.t-cards td{display:flex;align-items:baseline;justify-content:space-between;gap:12px;width:auto;max-width:none;
    padding:3px 0;border:0;text-align:left;white-space:normal;overflow:visible;font-family:inherit;font-size:12.5px}#sec-analytics table.t-cards td.num{text-align:right;font-size:12.5px}#sec-analytics table.t-cards td.an-rank{display:none}#sec-analytics table.t-cards td[data-l]::before{content:attr(data-l);flex:0 0 auto;color:var(--an-muted);font:600 11.5px/1.4 inherit;letter-spacing:.02em}#sec-analytics table.t-cards td[data-l]>span{text-align:right}#sec-analytics table.t-cards td.ttl{display:block;padding:0 0 8px;margin-bottom:7px;border-bottom:1px solid var(--an-line-2)}#sec-analytics table.t-cards td.ttl::before{display:none}#sec-analytics table.t-cards .an-name{max-width:none;white-space:normal;overflow:visible;font-size:13.5px;line-height:1.3}#sec-analytics table.t-cards .an-sub{margin-top:3px}#sec-analytics table.t-cards td.dyn{display:block}#sec-analytics table.t-cards td.dyn::before{display:block;margin-bottom:5px}#sec-analytics table.t-cards .an-cat{white-space:normal}#sec-analytics .an-sortbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px}#sec-analytics .an-sortbar .lb{font:600 11.5px/1.4 inherit;color:var(--an-muted);letter-spacing:.02em}#sec-analytics .an-sortbar .an-chip{padding:4px 10px;font-size:11.5px}#sec-analytics .an-toolbar{gap:8px;padding:8px}#sec-analytics .an-sp{display:none}#sec-analytics .an-dates{width:100%}#sec-analytics .an-date{flex:1 1 118px;min-width:0}#sec-analytics .an-date input{width:100%;min-width:0}#sec-analytics .an-dates .sep{display:none}#sec-analytics .an-kpi .k-val{font-size:22px}#sec-analytics .an-kpi .k-spark{display:none}#sec-analytics .an-chart{height:230px}#sec-analytics .an-tab .cnt{display:none}#sec-analytics .an-search{max-width:none}}@media(max-width:520px){/* на телефоне 2×2, а не четыре карточки подряд: экономит пол-экрана */ #sec-analytics .an-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#sec-analytics .an-kpi{padding:11px 12px 12px}#sec-analytics .an-kpi .k-val{font-size:19px;letter-spacing:-.4px}#sec-analytics .an-kpi .k-lbl{font-size:9.5px;letter-spacing:.04em}#sec-analytics .an-kpi .k-sub{font-size:11px;gap:6px}#sec-analytics .an-meta{font-size:11.5px;gap:6px}}@media(max-width:340px){#sec-analytics .an-kpis{grid-template-columns:minmax(0,1fr)}}


/* ===== Аналитика v2 — тулбар, KPI, графики, таблицы ===== */#sec-dash{
  --an-line:#e4e7ec; --an-line-2:#f1f3f6; --an-muted:#6b7280; --an-muted-2:#6b7280;
  --an-ink:#1f2933; --an-gold:#4197e2; --an-gold-2:#2b7ac1; --an-gold-soft:#faf4e9;
  --an-green:#0f7a3d; --an-green-bg:#e9f6ee; --an-red:#b3261e; --an-red-bg:#fdecea;
  --an-num:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --an-top:0px;
}
/* ---------- панель периода ---------- */#sec-dash .an-toolbar{position:sticky;top:var(--an-top,0);z-index:9;display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(8px);border:1px solid var(--an-line);border-radius:12px;
  padding:8px 11px;margin-bottom:10px;box-shadow:0 1px 2px rgba(16,24,40,.05)}#sec-dash .an-seg{display:flex;gap:2px;background:#eef0f4;border-radius:9px;padding:3px;overflow-x:auto;-webkit-overflow-scrolling:touch}#sec-dash .an-seg button{border:0;background:none;font:600 12.5px/1.2 inherit;color:var(--an-muted);padding:6px 11px;border-radius:7px;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s;font-family:inherit}#sec-dash .an-seg button:hover{color:var(--an-ink)}#sec-dash .an-seg button.active{background:#fff;color:var(--an-ink);box-shadow:0 1px 3px rgba(16,24,40,.13)}#sec-dash .an-dates{display:flex;align-items:center;gap:6px;flex-wrap:wrap}#sec-dash .an-date{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--an-line);background:#fff;border-radius:9px;padding:3px 8px}#sec-dash .an-date span{font-size:11px;color:var(--an-muted-2)}#sec-dash .an-date input{border:0;outline:0;font:500 13px inherit;color:var(--an-ink);background:none;padding:3px 0;width:118px;font-family:inherit}#sec-dash .an-sp{flex:1 1 auto}#sec-dash .an-ibtn{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border:1px solid var(--an-line);background:#fff;border-radius:9px;cursor:pointer;color:var(--an-muted);transition:.15s}#sec-dash .an-ibtn:hover{color:var(--an-ink);border-color:#d3d8e0;background:#fafbfc}#sec-dash .an-ibtn.danger{color:var(--an-red)}#sec-dash .an-ibtn.danger:hover{background:#fef3f2;border-color:#f6c9c5}#sec-dash .an-ibtn.loading{opacity:.55;pointer-events:none}#sec-dash .an-ibtn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}#sec-dash .an-ibtn.spin svg{animation:an-spin 1s linear infinite}
@keyframes an-spin{to{transform:rotate(360deg)}}
/* ---------- строка пояснений ---------- */#sec-dash .an-toolbar.compact #anMeta{display:none}#sec-dash .an-meta{flex:1 0 100%;display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:12px;color:var(--an-muted);
  margin:0;padding:7px 2px 0;border-top:1px solid var(--an-line-2)}#sec-dash .an-meta b{color:var(--an-ink);font-weight:600;font-variant-numeric:tabular-nums}#sec-dash .an-meta .sep{color:#d5dae1}#sec-dash .an-meta .age{font-variant-numeric:tabular-nums;color:var(--an-muted-2)}#sec-dash .an-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 6px 3px 10px;background:var(--an-gold-soft);border:1px solid #ecdfc8;border-radius:20px;font-size:11.5px;font-weight:600;color:var(--an-gold-2)}#sec-dash .an-pill button{border:0;background:none;cursor:pointer;color:inherit;display:grid;place-items:center;padding:0;opacity:.7}#sec-dash .an-pill button:hover{opacity:1}#sec-dash .an-pill svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}#sec-dash .an-link{color:var(--an-gold-2);cursor:pointer;border-bottom:1px dashed #c8def3;font-weight:600}#sec-dash .an-link:hover{color:var(--an-ink)}#sec-dash .an-note{display:none;margin:0 0 14px;padding:12px 15px;border:1px solid #ece0c9;border-left:3px solid var(--an-gold);background:#fdfaf4;border-radius:10px;font-size:12.5px;line-height:1.6;color:#4b5563}#sec-dash .an-note.on{display:block}#sec-dash .an-note b{color:var(--an-ink)}#sec-dash .an-note ul{margin:6px 0 0;padding-left:18px}
/* ---------- KPI ---------- */#sec-dash .an-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}#sec-dash .an-kpi{position:relative;background:#fff;border:1px solid var(--an-line);border-radius:12px;padding:14px 16px 15px;box-shadow:0 1px 2px rgba(16,24,40,.04);transition:box-shadow .15s,border-color .15s,transform .15s}#sec-dash .an-kpi:hover{border-color:#d6dae1;box-shadow:0 6px 18px rgba(16,24,40,.07);transform:translateY(-1px)}#sec-dash .an-kpi .k-lbl{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--an-muted);display:flex;align-items:center;gap:6px}#sec-dash .an-kpi .k-lbl svg{width:13px;height:13px;fill:none;stroke:var(--an-muted-2);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}#sec-dash .an-kpi .k-val{margin-top:9px;font-size:26px;font-weight:700;line-height:1.05;letter-spacing:-.7px;font-variant-numeric:tabular-nums;color:var(--an-ink);white-space:nowrap}#sec-dash .an-kpi .k-val .u{font-size:15px;font-weight:600;color:var(--an-muted);letter-spacing:0;margin-left:1px}#sec-dash .an-kpi .k-sub{margin-top:8px;font-size:11.5px;color:var(--an-muted);display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:19px}#sec-dash .an-kpi .k-spark{position:absolute;right:14px;bottom:12px;width:96px;height:28px;overflow:visible}#sec-dash .an-kpi .k-spark path{fill:none;stroke:var(--an-gold);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}#sec-dash .an-kpi .k-spark .ar{fill:rgba(65,151,226,.15);stroke:none;opacity:1}#sec-dash .an-lrow.plain{cursor:default}
/* дельта-чипы */#sec-dash .dl{display:inline-flex;align-items:center;gap:3px;font-size:11.5px;font-weight:700;padding:2px 7px;border-radius:7px;font-variant-numeric:tabular-nums;white-space:nowrap}#sec-dash .dl.up{background:var(--an-green-bg);color:var(--an-green)}#sec-dash .dl.down{background:var(--an-red-bg);color:var(--an-red)}#sec-dash .dl.flat,#sec-dash .dl.none{background:#eef1f7;color:#5b6472}#sec-dash .dl.base{background:#fdf4e3;color:#2b6ea8}#sec-dash .dl i{font-style:normal;font-size:9px}
/* ---------- карточки-виджеты ---------- */#sec-dash .an-card{background:#fff;border:1px solid var(--an-line);border-radius:12px;padding:15px 17px 16px;box-shadow:0 1px 2px rgba(16,24,40,.04);margin-bottom:16px}#sec-dash .an-card-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}#sec-dash .an-card-h h3{margin:0;font-size:14px;font-weight:700;letter-spacing:-.2px;color:var(--an-ink)}#sec-dash .an-card-h .hint{font-size:11.5px;color:var(--an-muted)}#sec-dash .an-card-h .r{margin-left:auto;display:flex;align-items:center;gap:8px}#sec-dash .an-chart{position:relative;height:300px}#sec-dash .an-chart.sm{height:230px}#sec-dash .an-chart .an-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--an-muted);font-size:13px}
/* легенда */#sec-dash .an-legend{display:flex;flex-direction:column;gap:2px;margin-top:10px}#sec-dash .an-lrow{display:grid;grid-template-columns:9px 1fr auto auto;align-items:center;gap:9px;padding:5px 7px;border-radius:8px;font-size:12.5px;cursor:pointer;transition:background .15s}#sec-dash .an-lrow:hover{background:#f7f9fb}#sec-dash .an-lrow .dot{width:9px;height:9px;border-radius:3px}#sec-dash .an-lrow .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#sec-dash .an-lrow .vl{font-variant-numeric:tabular-nums;font-family:var(--an-num);font-size:12px;color:var(--an-ink)}#sec-dash .an-lrow .sh{font-variant-numeric:tabular-nums;color:var(--an-muted-2);font-size:11.5px;width:42px;text-align:right}#sec-dash .an-split{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);gap:18px;align-items:start}
/* ---------- вкладки ---------- */#sec-dash .an-tabs{display:flex;gap:3px;background:#eef0f4;border-radius:11px;padding:4px;margin-bottom:16px;overflow-x:auto;-webkit-overflow-scrolling:touch}#sec-dash .an-tab{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border:0;background:none;border-radius:8px;font:600 13px/1.2 inherit;color:var(--an-muted);cursor:pointer;white-space:nowrap;flex:0 0 auto;transition:.15s}#sec-dash .an-tab svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}#sec-dash .an-tab .cnt{font-size:10.5px;font-weight:700;background:#dfe3ea;color:#5b6472;border-radius:20px;padding:1px 7px;font-variant-numeric:tabular-nums}#sec-dash .an-tab:hover{color:var(--an-ink)}#sec-dash .an-tab.active{background:#fff;color:var(--an-ink);box-shadow:0 1px 3px rgba(16,24,40,.13)}#sec-dash .an-tab.active svg{stroke:var(--an-gold)}#sec-dash .an-tab.active .cnt{background:var(--an-gold-soft);color:var(--an-gold-2)}#sec-dash .an-pane{display:none}#sec-dash .an-pane.active{display:block}
/* ---------- таблицы ---------- */#sec-dash .an-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}#sec-dash table{width:100%;border-collapse:collapse;font-size:13px}#sec-dash th{text-align:left;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--an-muted);padding:0 10px 9px;border-bottom:1px solid var(--an-line);white-space:nowrap;vertical-align:bottom}#sec-dash th.num{text-align:right}#sec-dash th.srt{cursor:pointer;user-select:none}#sec-dash th.srt:hover{color:var(--an-ink)}#sec-dash th.srt .ar{opacity:.28;margin-left:3px}#sec-dash th.srt.on{color:var(--an-gold-2)}#sec-dash th.srt.on .ar{opacity:1}#sec-dash td{padding:9px 10px;border-bottom:1px solid var(--an-line-2);vertical-align:middle}#sec-dash td.num{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--an-num);font-size:12.5px;white-space:nowrap}#sec-dash td.txt{font-variant-numeric:normal;font-family:inherit;font-size:13px}#sec-dash tbody tr:hover td{background:#fafbfd}#sec-dash tr.clickable{cursor:pointer}#sec-dash .an-rank{width:34px;color:var(--an-muted-2);font-size:11.5px;font-variant-numeric:tabular-nums}#sec-dash .an-rank.top{color:var(--an-gold-2);font-weight:700}#sec-dash .an-name{font-weight:600;color:var(--an-ink);display:block;max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#sec-dash .an-name.wide{max-width:560px}#sec-dash .an-sub{font-size:11.5px;color:var(--an-muted-2);margin-top:2px}#sec-dash .an-cat{display:inline-block;padding:2px 8px;border-radius:20px;background:#f2f4f8;color:#5b6472;font-size:11px;font-weight:600;white-space:nowrap}#sec-dash .an-new{display:inline-block;padding:2px 7px;border-radius:20px;background:#eef4ff;color:#2563eb;font-size:10.5px;font-weight:700;margin-left:6px}#sec-dash .an-out{display:inline-block;padding:2px 7px;border-radius:20px;background:#f4f5f7;color:#8a919d;font-size:10.5px;font-weight:700;margin-left:6px}#sec-dash .an-dynbox{display:flex;align-items:center;gap:10px}#sec-dash .an-dynbox .an-cmp{flex:1;min-width:80px}
/* легенда-чипы в шапке карточки графика */#sec-dash .an-lg{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--an-muted);margin-left:4px}#sec-dash .an-lg .dot{width:8px;height:8px;border-radius:3px;display:inline-block}
/* «было → стало»: серый столбик = прошлый период, золотой = текущий, общая шкала по максимуму таблицы.
   Золото длиннее серого — рост, серый торчит справа — падение. */#sec-dash .an-cmp{display:flex;flex-direction:column;gap:5px;min-width:96px;padding:1px 0}#sec-dash .an-cmp i{display:block;height:7px;border-radius:4px;background:#e9edf2;box-shadow:inset 0 0 0 1px rgba(16,24,40,.03);overflow:hidden}#sec-dash .an-cmp i>span{display:block;height:100%;border-radius:4px;min-width:2px}#sec-dash .an-cmp i.p>span{background:#c9d0da}#sec-dash .an-cmp i.c>span{background:linear-gradient(90deg,#7db8e8,#4197e2)}#sec-dash .an-cmp i.c>span.low{background:linear-gradient(90deg,#dca29d,#c0564d)}
/* ---------- фиксированные раскладки (числа выровнены по разрядам) ---------- */#sec-dash table.t-fix{table-layout:fixed}#sec-dash table.t-fix td,#sec-dash table.t-fix th{overflow:hidden;text-overflow:ellipsis}#sec-dash table.t-fix td.txt,#sec-dash table.t-fix td.num{white-space:nowrap}
/* min-width = сумма фиксированных колонок + запас на имя (иначе ФИО схлопывается в «Куз…»):
   филиалы 764+256, менеджеры 810+310, состояния 480+240 */#sec-dash table.t-branches{min-width:1020px}#sec-dash table.t-managers{min-width:1120px}#sec-dash table.t-branches th:nth-child(2),#sec-dash table.t-managers th:nth-child(2){width:auto}#sec-dash table.t-fix .an-name{max-width:100%}#sec-dash table.t-branches th:nth-child(3),#sec-dash table.t-managers th:nth-child(3){width:92px}#sec-dash table.t-branches th:nth-child(4),#sec-dash table.t-managers th:nth-child(4){width:150px}#sec-dash table.t-branches th:nth-child(5),#sec-dash table.t-managers th:nth-child(5){width:150px}#sec-dash table.t-branches th:nth-child(6){width:86px}#sec-dash table.t-managers th:nth-child(6){width:132px}#sec-dash table.t-branches th:nth-child(7),#sec-dash table.t-managers th:nth-child(7){width:252px}#sec-dash table.t-states{min-width:700px}#sec-dash table.t-states th:nth-child(2){width:96px}#sec-dash table.t-states th:nth-child(3){width:150px}#sec-dash table.t-states th:nth-child(4){width:92px}#sec-dash table.t-states th:nth-child(5){width:142px}#sec-dash table.t-products{min-width:1120px}#sec-dash table.t-products th:nth-child(1){width:3%}#sec-dash table.t-products th:nth-child(2){width:31%}#sec-dash table.t-products th:nth-child(3){width:12%}#sec-dash table.t-products th:nth-child(4){width:7.5%}#sec-dash table.t-products th:nth-child(5){width:9.5%}#sec-dash table.t-products th:nth-child(6){width:13%}#sec-dash table.t-products th:nth-child(7), #sec-dash table.t-products th:nth-child(8), #sec-dash table.t-products th:nth-child(9){width:8%}#sec-dash th.dyn{white-space:normal;overflow-wrap:normal}

/* ---------- фильтры товаров ---------- */#sec-dash .an-filters{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:12px}#sec-dash .an-search{display:flex;align-items:center;gap:7px;border:1px solid var(--an-line);background:#fff;border-radius:9px;padding:6px 10px;min-width:220px;flex:1 1 220px;max-width:340px}#sec-dash .an-search svg{width:15px;height:15px;fill:none;stroke:var(--an-muted-2);stroke-width:1.9;stroke-linecap:round}#sec-dash .an-search input{border:0;outline:0;background:none;font:400 13px inherit;color:var(--an-ink);width:100%;font-family:inherit}#sec-dash .an-chips{display:flex;gap:6px;flex-wrap:wrap}#sec-dash .an-chip{border:1px solid var(--an-line);background:#fff;border-radius:20px;padding:5px 11px;font:600 12px inherit;color:var(--an-muted);cursor:pointer;transition:.15s;font-family:inherit}#sec-dash .an-chip:hover{color:var(--an-ink);border-color:#d3d8e0}#sec-dash .an-chip.active{background:var(--an-gold-soft);border-color:#d6e7f7;color:var(--an-gold-2)}#sec-dash .an-count{font-size:11.5px;color:var(--an-muted-2);margin-left:auto;font-variant-numeric:tabular-nums}#sec-dash .an-more{display:block;width:100%;margin-top:10px;padding:9px;border:1px dashed #d8dce3;background:#fbfcfd;border-radius:9px;font:600 12.5px inherit;color:var(--an-muted);cursor:pointer;font-family:inherit}#sec-dash .an-more:hover{color:var(--an-ink);border-color:#c9cfd8;background:#f6f8fa}#sec-dash .an-empty{padding:24px 12px;text-align:center;color:var(--an-muted);font-size:13px}#sec-dash .an-skel{height:14px;border-radius:6px;background:linear-gradient(90deg,#eef1f5 25%,#f7f9fb 37%,#eef1f5 63%);background-size:400% 100%;animation:an-sh 1.3s ease infinite}
@keyframes an-sh{0%{background-position:100% 50%}100%{background-position:0 50%}}
/* ---------- адаптив ---------- */@media(max-width:1180px){#sec-dash .an-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}/* minmax(0,1fr), а не 1fr: иначе таблица с min-width:880px растягивает колонку вместо того, чтобы скроллиться внутри .an-scroll, и страница уезжает вбок */ #sec-dash .an-split{grid-template-columns:minmax(0,1fr)}}
/* скролл-контейнеры и колонки сеток не должны растягиваться содержимым */#sec-dash .an-split>*{min-width:0}#sec-dash .an-scroll{max-width:100%}#sec-dash .an-card{overflow:hidden}@media(max-width:900px){/* на телефоне тулбар не прилипает: иначе он вместе с шапкой съедает четверть экрана */ #sec-dash .an-toolbar{position:static}#sec-dash .an-toolbar.compact #anMeta{display:flex}/* на телефоне ничего не обрезаем и не прячем в горизонтальный скролл: пресеты, табы и переключатели переносятся на след. строку */ #sec-dash .an-seg,#sec-dash .an-tabs{flex-wrap:wrap;overflow:visible}#sec-dash .an-tabs .an-tab{flex:1 1 auto;justify-content:center}/* подписи KPI в одну высоту, иначе карточки в ряду разъезжаются */ #sec-dash .an-kpi .k-lbl{min-height:2.4em;line-height:1.25}/* легенда и переключатель метрики — своей строкой, чтобы не липли к заголовку */ #sec-dash .an-card-h .r{margin-left:0;flex:1 0 100%;justify-content:flex-start;flex-wrap:wrap;gap:8px}#sec-dash .an-lg{margin-left:0}}
/* ---------- на телефоне: имя залипает при горизонтальной прокрутке чисел ---------- */@media(min-width:761px) and (max-width:900px){#sec-dash .an-scroll table.t-branches th:nth-child(1),#sec-dash .an-scroll table.t-branches td:nth-child(1), #sec-dash .an-scroll table.t-managers th:nth-child(1),#sec-dash .an-scroll table.t-managers td:nth-child(1), #sec-dash .an-scroll table.t-products th:nth-child(1),#sec-dash .an-scroll table.t-products td:nth-child(1), #sec-dash .an-scroll table.t-states th:nth-child(1),#sec-dash .an-scroll table.t-states td:nth-child(1){
    position:sticky;left:0;z-index:3;background:#fff}#sec-dash .an-scroll table.t-branches th:nth-child(2),#sec-dash .an-scroll table.t-branches td:nth-child(2), #sec-dash .an-scroll table.t-managers th:nth-child(2),#sec-dash .an-scroll table.t-managers td:nth-child(2), #sec-dash .an-scroll table.t-products th:nth-child(2),#sec-dash .an-scroll table.t-products td:nth-child(2){
    position:sticky;left:34px;z-index:3;background:#fff;box-shadow:inset -1px 0 0 var(--an-line)}#sec-dash .an-scroll table.t-products th:nth-child(1),#sec-dash .an-scroll table.t-products td:nth-child(1){width:34px}#sec-dash .an-scroll table.t-branches tr:hover td:nth-child(1),#sec-dash .an-scroll table.t-branches tr:hover td:nth-child(2), #sec-dash .an-scroll table.t-managers tr:hover td:nth-child(1),#sec-dash .an-scroll table.t-managers tr:hover td:nth-child(2), #sec-dash .an-scroll table.t-products tr:hover td:nth-child(1),#sec-dash .an-scroll table.t-products tr:hover td:nth-child(2), #sec-dash .an-scroll table.t-states tr:hover td:nth-child(1),#sec-dash .an-scroll table.t-states tr:hover td:nth-child(2){
    background:#fafbfd}}
/* ---------- телефон: таблицы становятся карточками, горизонтальной прокрутки нет ---------- */#sec-dash .an-sortbar{display:none}@media(max-width:760px){#sec-dash table.t-cards{display:block;min-width:0;table-layout:auto}#sec-dash table.t-cards thead{display:none}#sec-dash table.t-cards tbody{display:block}#sec-dash table.t-cards tr{display:block;background:#fff;border:1px solid var(--an-line);border-radius:11px;padding:11px 12px;margin:0 0 9px}#sec-dash table.t-cards tr:hover td{background:transparent}#sec-dash table.t-cards td{display:flex;align-items:baseline;justify-content:space-between;gap:12px;width:auto;max-width:none;
    padding:3px 0;border:0;text-align:left;white-space:normal;overflow:visible;font-family:inherit;font-size:12.5px}#sec-dash table.t-cards td.num{text-align:right;font-size:12.5px}#sec-dash table.t-cards td.an-rank{display:none}#sec-dash table.t-cards td[data-l]::before{content:attr(data-l);flex:0 0 auto;color:var(--an-muted);font:600 11.5px/1.4 inherit;letter-spacing:.02em}#sec-dash table.t-cards td[data-l]>span{text-align:right}#sec-dash table.t-cards td.ttl{display:block;padding:0 0 8px;margin-bottom:7px;border-bottom:1px solid var(--an-line-2)}#sec-dash table.t-cards td.ttl::before{display:none}#sec-dash table.t-cards .an-name{max-width:none;white-space:normal;overflow:visible;font-size:13.5px;line-height:1.3}#sec-dash table.t-cards .an-sub{margin-top:3px}#sec-dash table.t-cards td.dyn{display:block}#sec-dash table.t-cards td.dyn::before{display:block;margin-bottom:5px}#sec-dash table.t-cards .an-cat{white-space:normal}#sec-dash .an-sortbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px}#sec-dash .an-sortbar .lb{font:600 11.5px/1.4 inherit;color:var(--an-muted);letter-spacing:.02em}#sec-dash .an-sortbar .an-chip{padding:4px 10px;font-size:11.5px}#sec-dash .an-toolbar{gap:8px;padding:8px}#sec-dash .an-sp{display:none}#sec-dash .an-dates{width:100%}#sec-dash .an-date{flex:1 1 118px;min-width:0}#sec-dash .an-date input{width:100%;min-width:0}#sec-dash .an-dates .sep{display:none}#sec-dash .an-kpi .k-val{font-size:22px}#sec-dash .an-kpi .k-spark{display:none}#sec-dash .an-chart{height:230px}#sec-dash .an-tab .cnt{display:none}#sec-dash .an-search{max-width:none}}@media(max-width:520px){/* на телефоне 2×2, а не четыре карточки подряд: экономит пол-экрана */ #sec-dash .an-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#sec-dash .an-kpi{padding:11px 12px 12px}#sec-dash .an-kpi .k-val{font-size:19px;letter-spacing:-.4px}#sec-dash .an-kpi .k-lbl{font-size:9.5px;letter-spacing:.04em}#sec-dash .an-kpi .k-sub{font-size:11px;gap:6px}#sec-dash .an-meta{font-size:11.5px;gap:6px}}@media(max-width:340px){#sec-dash .an-kpis{grid-template-columns:minmax(0,1fr)}}

/* ---- на телефоне страница не должна скроллиться вбок ---- */@media(max-width:760px){html,body{overflow-x:hidden;overflow-x:clip;max-width:100%}}#sec-dash .an-scroll,#sec-dash .an-tabs,#sec-dash .an-seg{overscroll-behavior-x:contain}

/* ================= «Показатели»: только этот раздел ================= */
/* тулбар не липнет (у раздела нет собственной прокрутки тулбара, а липкая шапка приложения выше) */#sec-dash .an-toolbar{position:static}#sec-dash .an-toolbar .an-meta{flex:1 0 100%;border-top:1px solid var(--an-line-2)}
/* три KPI-группы вместо четырёх KPI */#sec-dash .an-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}#sec-dash .an-kpi .k-val{font-family:var(--an-num);letter-spacing:-1px}#sec-dash .dp-when{font-size:11px;color:var(--an-muted-2);margin-left:auto;font-weight:600;text-transform:none;letter-spacing:0}
/* строки-показатели внутри карточки с мини-полоской доли */#sec-dash .dp-rows{margin-top:11px;border-top:1px solid var(--an-line-2)}#sec-dash .dp-row{padding:7px 0 0}#sec-dash .dp-row+.dp-row{margin-top:8px;border-top:1px solid var(--an-line-2);padding-top:9px}#sec-dash .dp-row .t{display:flex;align-items:baseline;gap:8px;font-size:12.5px}#sec-dash .dp-row .nm{flex:1 1 auto;color:var(--an-muted);min-width:0}#sec-dash .dp-row .vl{font-variant-numeric:tabular-nums;font-family:var(--an-num);font-weight:600;color:var(--an-ink);white-space:nowrap}#sec-dash .dp-row .vl.neg{color:var(--an-red)}#sec-dash .dp-row .vl.mut{color:var(--an-muted);font-weight:500}#sec-dash .dp-row .sh{width:42px;text-align:right;font-size:11.5px;color:var(--an-muted-2);font-variant-numeric:tabular-nums}#sec-dash .dp-row .bar{height:5px;border-radius:3px;background:#eef1f5;margin-top:6px;overflow:hidden}#sec-dash .dp-row .bar>i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#7db8e8,#4197e2)}#sec-dash .dp-row .bar>i.neg{background:linear-gradient(90deg,#dca29d,#b3261e)}#sec-dash .dp-row.plain .bar{background:#f3f5f8}
/* карточка «Заказы под риском» — три кликабельные строки */#sec-dash .dp-risks{margin-top:11px;border-top:1px solid var(--an-line-2);display:flex;flex-direction:column}#sec-dash .dp-risk{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;
  text-align:left;border:0;background:none;border-radius:9px;padding:9px 8px;cursor:pointer;font-family:inherit;transition:background .15s}#sec-dash .dp-risk:hover{background:#f7f9fb}#sec-dash .dp-risk+.dp-risk{border-top:1px solid var(--an-line-2)}#sec-dash .dp-risk .n{font-variant-numeric:tabular-nums;font-size:19px;font-weight:700;letter-spacing:-.5px;color:var(--an-ink);min-width:44px}#sec-dash .dp-risk.red .n{color:var(--an-red)}#sec-dash .dp-risk.amber .n{color:#b45309}#sec-dash .dp-risk .tx{display:flex;flex-direction:column;gap:2px;min-width:0}#sec-dash .dp-risk .tx b{font-size:12.5px;font-weight:600;color:var(--an-ink)}#sec-dash .dp-risk .tx span{font-size:11.5px;color:var(--an-muted)}#sec-dash .dp-risk .s{font-variant-numeric:tabular-nums;font-family:var(--an-num);font-size:12.5px;color:var(--an-muted);white-space:nowrap}#sec-dash .dp-foot{margin-top:9px;font-size:11.5px;line-height:1.6;color:var(--an-muted)}#sec-dash .dp-foot:first-of-type{border-top:1px solid var(--an-line-2);padding-top:9px}#sec-dash .dp-foot b{color:var(--an-ink)}
/* пончик + HTML-легенда рядом */#sec-dash .dp-donut{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,230px);gap:14px;align-items:center}#sec-dash .dp-donut .an-legend{margin-top:0}
/* два графика валютной вкладки: график движения шире, остатки уже */#sec-dash .dp-cashgrid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.85fr);gap:20px;align-items:start}#sec-dash .dp-h4{margin:0 0 6px;font-size:12.5px;font-weight:700;color:var(--an-ink)}#sec-dash .dp-hint{font-size:11.5px;color:var(--an-muted);margin:0 0 10px}#sec-dash .dp-panehint{margin:0 0 14px;font-size:12.5px;line-height:1.6;color:var(--an-muted);max-width:118ch}
/* заголовок карточки-строки в таблице (мобильные карточки: имя + вторая строка) */#sec-dash .dp-subkind{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:20px;background:#f2f4f8;color:#5b6472;font-size:10.5px;font-weight:600;white-space:nowrap}#sec-dash td .dp-pos{color:var(--an-green)}#sec-dash td .dp-neg{color:var(--an-red)}
/* поиск-поле как в «Аналитике» */#sec-dash .an-search{max-width:320px}
/* выпадающий список филиалов */#sec-dash .dp-select{border:1px solid var(--an-line);background:#fff;border-radius:9px;padding:7px 10px;font:600 12.5px inherit;color:var(--an-ink);font-family:inherit;max-width:230px;cursor:pointer}#sec-dash .dp-select:focus{outline:0;border-color:#d3d8e0}#sec-dash .dp-lbl{font-size:11.5px;font-weight:600;color:var(--an-muted);letter-spacing:.02em}#sec-dash .dp-btn{border:1px solid var(--an-line);background:#fff;border-radius:9px;padding:8px 13px;font:600 12.5px inherit;color:var(--an-ink);cursor:pointer;font-family:inherit;transition:.15s}#sec-dash .dp-btn:hover{border-color:#d3d8e0;background:#fafbfc}#sec-dash .dp-btn.loading{opacity:.6;pointer-events:none}#sec-dash .dp-pill{display:none;align-items:center;gap:6px;padding:4px 6px 4px 11px;background:var(--an-gold-soft);border:1px solid #ecdfc8;border-radius:20px;font-size:11.5px;font-weight:600;color:var(--an-gold-2)}#sec-dash .dp-pill.on{display:inline-flex}#sec-dash .dp-pill button{border:0;background:none;cursor:pointer;color:inherit;font-size:14px;line-height:1;padding:0 3px;opacity:.7}#sec-dash .dp-pill button:hover{opacity:1}#sec-dash .dp-banner{display:none;padding:11px 15px;margin:0 0 14px;border:1px solid #ecdfc8;border-left:3px solid var(--an-gold);background:#fdfaf4;color:#2b6ea8;border-radius:10px;font-size:12.5px}
/* пустое состояние графика (chartEmpty пишет .empty) */#sec-dash .an-chart{position:relative}#sec-dash .an-chart .empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--an-muted);font-size:12.5px;text-align:center;padding:0 12px}
/* режим переключателя валютной вкладки: div/button с классом .tab внутри .an-seg */#sec-dash .an-seg>.tab{border:0;background:none;font:600 12.5px/1.2 inherit;color:var(--an-muted);padding:6px 11px;border-radius:7px;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s;font-family:inherit}#sec-dash .an-seg>.tab:hover{color:var(--an-ink)}#sec-dash .an-seg>.tab.active{background:#fff;color:var(--an-ink);box-shadow:0 1px 3px rgba(16,24,40,.13)}
/* вкладки раздела: держим класс .tab (на нём висит проводка), но выглядим как .an-tab */#sec-dash #dashTabs .tab{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border:0;background:none;border-radius:8px;
  font:600 13px/1.2 inherit;color:var(--an-muted);cursor:pointer;white-space:nowrap;flex:0 0 auto;transition:.15s;margin:0;font-family:inherit}#sec-dash #dashTabs .tab svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}#sec-dash #dashTabs .tab .cnt{font-size:10.5px;font-weight:700;background:#dfe3ea;color:#5b6472;border-radius:20px;padding:1px 7px;font-variant-numeric:tabular-nums}#sec-dash #dashTabs .tab:hover{color:var(--an-ink)}#sec-dash #dashTabs .tab.active{background:#fff;color:var(--an-ink);box-shadow:0 1px 3px rgba(16,24,40,.13)}#sec-dash #dashTabs .tab.active svg{stroke:var(--an-gold)}#sec-dash #dashTabs .tab.active .cnt{background:var(--an-gold-soft);color:var(--an-gold-2)}
/* адаптив раздела */
/* таблицы: фиксированная раскладка, min-width = сумма фиксированных колонок + запас на первую (иначе
   первая колонка схлопывается в 0px — та же ловушка, что ловили на «Менеджерах») */
/* min-width только для десктопа/планшета: на телефоне таблицы превращаются в карточки,
   и любой min-width заставит их скроллиться вбок (та же ловушка, что ловили в «Аналитике») */@media(min-width:761px){#sec-dash table.t-debts{min-width:1240px}#sec-dash table.t-orders{min-width:1670px}#sec-dash table.t-ship{min-width:1020px}#sec-dash table.t-adv{min-width:920px}#sec-dash table.t-cash{min-width:950px}/* содержимое не режем: длинные ФИО и названия переносятся, многоточие отключено (правило «не резать содержимое» — Женя проверяет таблицы глазами) */ #sec-dash table.t-fix td,#sec-dash table.t-fix th{overflow:visible;text-overflow:clip}#sec-dash table.t-fix td.txt,#sec-dash table.t-fix td.num{white-space:normal;overflow-wrap:break-word;word-break:normal}#sec-dash table.t-fix .an-name,#sec-dash table.t-fix .an-sub{white-space:normal;overflow:visible;max-width:none}/* у чисел и дат перенос не нужен — они короткие, но пусть не рвутся по разрядам */ #sec-dash table.t-fix td.num{white-space:nowrap}}#sec-dash table.t-debts th:nth-child(n+2){width:86px}#sec-dash table.t-debts th:nth-child(3){width:122px}#sec-dash table.t-debts th:nth-child(4){width:162px}#sec-dash table.t-debts th:nth-child(5){width:118px}#sec-dash table.t-debts th:nth-child(6), #sec-dash table.t-debts th:nth-child(7), #sec-dash table.t-debts th:nth-child(8){width:106px}#sec-dash table.t-debts th:nth-child(9){width:86px}#sec-dash table.t-orders th:nth-child(1){width:118px}#sec-dash table.t-orders th:nth-child(2){width:180px}#sec-dash table.t-orders th:nth-child(3){width:86px}#sec-dash table.t-orders th:nth-child(4){width:118px}#sec-dash table.t-orders th:nth-child(5){width:100px}#sec-dash table.t-orders th:nth-child(6){width:108px}#sec-dash table.t-orders th:nth-child(7){width:150px}#sec-dash table.t-orders th:nth-child(8){width:102px}#sec-dash table.t-orders th:nth-child(9){width:102px}#sec-dash table.t-orders th:nth-child(10){width:206px}#sec-dash table.t-orders th:nth-child(11){width:140px}#sec-dash table.t-ship th:nth-child(1){width:118px}#sec-dash table.t-ship th:nth-child(2){width:180px}#sec-dash table.t-ship th:nth-child(3){width:86px}#sec-dash table.t-ship th:nth-child(4){width:100px}#sec-dash table.t-ship th:nth-child(5){width:122px}#sec-dash table.t-ship th:nth-child(6){width:162px}#sec-dash table.t-ship th:nth-child(7){width:106px}#sec-dash table.t-adv th:nth-child(2){width:86px}#sec-dash table.t-adv th:nth-child(3){width:122px}#sec-dash table.t-adv th:nth-child(4){width:132px}#sec-dash table.t-adv th:nth-child(5){width:112px}#sec-dash table.t-adv th:nth-child(6){width:108px}#sec-dash table.t-cash th:nth-child(2){width:122px}#sec-dash table.t-cash th:nth-child(3){width:122px}#sec-dash table.t-cash th:nth-child(4), #sec-dash table.t-cash th:nth-child(5){width:132px}#sec-dash table.t-cash th:nth-child(6){width:102px}#sec-dash table.t-cash th:nth-child(7){width:106px}@media(max-width:1180px){#sec-dash .dp-cashgrid{grid-template-columns:minmax(0,1fr)}}@media(max-width:900px){#sec-dash .an-kpis{grid-template-columns:minmax(0,1fr)}#sec-dash .dp-donut{grid-template-columns:minmax(0,1fr)}#sec-dash .an-kpi .k-lbl{min-height:0}#sec-dash #dashTabs .tab{flex:1 1 auto;justify-content:center}#sec-dash #dashTabs .tab .cnt{display:inline-block}#sec-dash .dp-select{max-width:none;flex:1 1 160px}#sec-dash .an-search{max-width:none;flex:1 1 100%}}@media(max-width:520px){#sec-dash .an-kpi .k-val{font-size:21px}#sec-dash .dp-risk .n{font-size:17px;min-width:38px}}
/* «долг из возврата» — метка во вторую строку: иначе она вылезает в соседнюю колонку
   (в колонке «Долг» 106px, а метка требует ~175px) */#sec-dash td[data-l="Долг"]{white-space:normal}#sec-dash td[data-l="Долг"] .dp-neg{white-space:nowrap}#sec-dash td[data-l="Долг"] .chip{display:block;margin-top:4px;text-align:right;white-space:normal}
/* телефон: t-fix ставит nowrap для td.txt/td.num — это ломает карточки
   (длинное название счёта растягивало таблицу до 594px при экране 390). */@media(max-width:760px){#sec-dash table.t-cards td, #sec-dash table.t-cards td.txt, #sec-dash table.t-cards td.num{white-space:normal;overflow-wrap:anywhere}#sec-dash table.t-cards .an-name{white-space:normal}/* шапка карточки: номер заказа у левого края, подпись (клиент/комментарий) — следующей строкой слева. Без этого правило для пар «подпись-значение» (td[data-l]>span{text-align:right}) уводит обе строки вправо. */ #sec-dash table.t-cards td.ttl .an-name{text-align:left}#sec-dash table.t-cards td.ttl .an-sub{display:block;text-align:left;margin-top:3px;color:var(--an-muted)}/* длинный свободный текст (комментарий по приёмке и оплате) — под подписью на всю ширину, а не справа в обрез */ #sec-dash table.t-cards td[data-l="Приёмка и оплата"]{display:block}#sec-dash table.t-cards td[data-l="Приёмка и оплата"]::before{display:block;margin-bottom:2px}#sec-dash table.t-cards td[data-l="Приёмка и оплата"]>span{text-align:left}/* названия полей — тёмные и чуть жирнее (шорткат «font:600 11.5px/1.4 inherit» невалиден: CSS не допускает inherit внутри шортката font, поэтому вес и размер молча терялись) */ #sec-dash table.t-cards td[data-l]::before{color:var(--an-ink);font-weight:600;font-size:11.5px;letter-spacing:.02em}}

/* ---- «+N дн» / «N дн»: на ПК — бейджем под датой, на телефоне — как было, строкой в значении ---- */#sec-dash td .dl{font-weight:600}#sec-dash td .dl.over{color:var(--an-red)}#sec-dash td .dl.stale{color:#92400e}@media(min-width:761px){#sec-dash td .dl{display:block;width:max-content;margin-top:3px;padding:1px 6px;border-radius:6px;
    font-size:10.5px;font-weight:600;line-height:1.55;letter-spacing:.01em}#sec-dash td .dl.over{background:#fee2e2;color:#b91c1c}#sec-dash td .dl.stale{background:#fef3c7;color:#92400e}}

/* ---- колонка «Статус»: три источника (состояние 1С / менеджер / бригадир) ---- */
/* «подпись | чип» одной сеткой: колонка подписей = по самой длинной, чипы на одной вертикали */#sec-dash td .st-wrap{display:grid;grid-template-columns:max-content 1fr;column-gap:8px;row-gap:4px;
  align-items:center;justify-items:start;white-space:normal}#sec-dash td .src{font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:#374151;white-space:nowrap;line-height:1.5}#sec-dash .st-legend{display:flex;flex-wrap:wrap;gap:3px 18px;margin:0 0 11px;padding:8px 11px;
  border:1px solid var(--an-line-2);border-radius:8px;background:#fcfcfd;font-size:11.5px;color:var(--an-muted);line-height:1.5}#sec-dash .st-legend b{color:var(--an-ink);font-weight:600}#sec-dash .st-legend .src{width:auto;margin-right:4px}
/* на телефоне «Статус» — как остальные многострочные поля: подпись строкой, значения под ней слева */@media(max-width:760px){#sec-dash table.t-cards td[data-l="Статус"]{display:block}#sec-dash table.t-cards td[data-l="Статус"]::before{display:block;margin-bottom:3px}#sec-dash table.t-cards td[data-l="Статус"] .st-wrap{grid-template-columns:max-content minmax(0,1fr)}/* на телефоне легенда не нужна: подписи источников стоят в каждой карточке, а блок занимал 220px */ #sec-dash .st-legend{display:none}}

/* ---- телефон: KPI-карточки свернуты, детали раскрываются тапом ---- */#sec-dash .an-kpi .k-toggle{display:none}#sec-dash .an-kpi .only-desktop{display:inline}@media(max-width:760px){#sec-dash .an-kpi{cursor:pointer}#sec-dash .an-kpi .k-toggle{display:inline-flex;flex:0 0 auto;margin-left:auto;width:15px;height:15px;
    color:var(--an-muted);transition:transform .16s ease}#sec-dash .an-kpi .k-toggle svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.2;
    stroke-linecap:round;stroke-linejoin:round}#sec-dash .an-kpi.open .k-toggle{transform:rotate(180deg)}#sec-dash .an-kpi .k-more{display:none}#sec-dash .an-kpi.open .k-more{display:block}#sec-dash .an-kpi .only-desktop{display:none}/* у свернутой карточки убираем резерв высоты под подпись и лишний нижний отступ */ #sec-dash .an-kpi .k-lbl{min-height:0}#sec-dash .an-kpi:not(.open){padding-bottom:13px}/* раскрытая карточка занимает всю ширину: в 2-колоночной сетке сосед не растягивается */ #sec-dash .an-kpi.open{grid-column:1/-1}}

/* ---- на телефоне страница не должна скроллиться вбок ----
   overflow-x нигде не был задан: на устройстве с другим DPI/шрифтом субпиксельные округления
   (дробные ширины, canvas графиков, nowrap-цифры) складываются в 1–3px и страница «чуть шире экрана».
   clip — без создания скролл-контейнера (не ломает sticky/fixed), hidden — фолбэк для старых движков. */@media(max-width:760px){html,body{overflow-x:hidden;overflow-x:clip;max-width:100%}#app,.layout,main,.content,section{max-width:100%}}
/* свайп внутренней прокрутки (таблицы, вкладки, сегменты) не должен дёргать всю страницу */#sec-analytics .an-scroll,#sec-analytics .an-tabs,#sec-analytics .an-seg, #sec-dash .an-scroll,#sec-dash .an-tabs,#sec-dash .an-seg, .scrollx,.tabs{overscroll-behavior-x:contain}


/* «обновлено N минут назад»: показываем возраст данных, а не время синка.
   жёлтый — заказы отстали больше двух интервалов, красный — больше шести (синк встал). */#dashAge.stale{color:#92400e!important;font-weight:600}#dashAge.stale-bad{color:#b91c1c!important;font-weight:700}
/* ===== «Готовность к монтажу» (v2-стиль) ===== */
/* ===== Аналитика v2 — тулбар, KPI, графики, таблицы ===== */#sec-montage{
  --an-line:#e4e7ec; --an-line-2:#f1f3f6; --an-muted:#6b7280; --an-muted-2:#6b7280;
  --an-ink:#1f2933; --an-gold:#4197e2; --an-gold-2:#2b7ac1; --an-gold-soft:#faf4e9;
  --an-green:#0f7a3d; --an-green-bg:#e9f6ee; --an-red:#b3261e; --an-red-bg:#fdecea;
  --an-num:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --an-top:0px;
}
/* ---------- панель периода ---------- */#sec-montage .an-toolbar{position:sticky;top:var(--an-top,0);z-index:9;display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(8px);border:1px solid var(--an-line);border-radius:12px;
  padding:8px 11px;margin-bottom:10px;box-shadow:0 1px 2px rgba(16,24,40,.05)}#sec-montage .an-seg{display:flex;gap:2px;background:#eef0f4;border-radius:9px;padding:3px;overflow-x:auto;-webkit-overflow-scrolling:touch}#sec-montage .an-seg button{border:0;background:none;font:600 12.5px/1.2 inherit;color:var(--an-muted);padding:6px 11px;border-radius:7px;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s;font-family:inherit}#sec-montage .an-seg button:hover{color:var(--an-ink)}#sec-montage .an-seg button.active{background:#fff;color:var(--an-ink);box-shadow:0 1px 3px rgba(16,24,40,.13)}#sec-montage .an-dates{display:flex;align-items:center;gap:6px;flex-wrap:wrap}#sec-montage .an-date{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--an-line);background:#fff;border-radius:9px;padding:3px 8px}#sec-montage .an-date span{font-size:11px;color:var(--an-muted-2)}#sec-montage .an-date input{border:0;outline:0;font:500 13px inherit;color:var(--an-ink);background:none;padding:3px 0;width:118px;font-family:inherit}#sec-montage .an-sp{flex:1 1 auto}#sec-montage .an-ibtn{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border:1px solid var(--an-line);background:#fff;border-radius:9px;cursor:pointer;color:var(--an-muted);transition:.15s}#sec-montage .an-ibtn:hover{color:var(--an-ink);border-color:#d3d8e0;background:#fafbfc}#sec-montage .an-ibtn.danger{color:var(--an-red)}#sec-montage .an-ibtn.danger:hover{background:#fef3f2;border-color:#f6c9c5}#sec-montage .an-ibtn.loading{opacity:.55;pointer-events:none}#sec-montage .an-ibtn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}#sec-montage .an-ibtn.spin svg{animation:an-spin 1s linear infinite}
@keyframes an-spin{to{transform:rotate(360deg)}}
/* ---------- строка пояснений ---------- */#sec-montage .an-toolbar.compact #anMeta{display:none}#sec-montage .an-meta{flex:1 0 100%;display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:12px;color:var(--an-muted);
  margin:0;padding:7px 2px 0;border-top:1px solid var(--an-line-2)}#sec-montage .an-meta b{color:var(--an-ink);font-weight:600;font-variant-numeric:tabular-nums}#sec-montage .an-meta .sep{color:#d5dae1}#sec-montage .an-meta .age{font-variant-numeric:tabular-nums;color:var(--an-muted-2)}#sec-montage .an-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 6px 3px 10px;background:var(--an-gold-soft);border:1px solid #ecdfc8;border-radius:20px;font-size:11.5px;font-weight:600;color:var(--an-gold-2)}#sec-montage .an-pill button{border:0;background:none;cursor:pointer;color:inherit;display:grid;place-items:center;padding:0;opacity:.7}#sec-montage .an-pill button:hover{opacity:1}#sec-montage .an-pill svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}#sec-montage .an-link{color:var(--an-gold-2);cursor:pointer;border-bottom:1px dashed #c8def3;font-weight:600}#sec-montage .an-link:hover{color:var(--an-ink)}#sec-montage .an-note{display:none;margin:0 0 14px;padding:12px 15px;border:1px solid #ece0c9;border-left:3px solid var(--an-gold);background:#fdfaf4;border-radius:10px;font-size:12.5px;line-height:1.6;color:#4b5563}#sec-montage .an-note.on{display:block}#sec-montage .an-note b{color:var(--an-ink)}#sec-montage .an-note ul{margin:6px 0 0;padding-left:18px}
/* ---------- KPI ---------- */#sec-montage .an-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}#sec-montage .an-kpi{position:relative;background:#fff;border:1px solid var(--an-line);border-radius:12px;padding:14px 16px 15px;box-shadow:0 1px 2px rgba(16,24,40,.04);transition:box-shadow .15s,border-color .15s,transform .15s}#sec-montage .an-kpi:hover{border-color:#d6dae1;box-shadow:0 6px 18px rgba(16,24,40,.07);transform:translateY(-1px)}#sec-montage .an-kpi .k-lbl{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--an-muted);display:flex;align-items:center;gap:6px}#sec-montage .an-kpi .k-lbl svg{width:13px;height:13px;fill:none;stroke:var(--an-muted-2);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}#sec-montage .an-kpi .k-val{margin-top:9px;font-size:26px;font-weight:700;line-height:1.05;letter-spacing:-.7px;font-variant-numeric:tabular-nums;color:var(--an-ink);white-space:nowrap}#sec-montage .an-kpi .k-val .u{font-size:15px;font-weight:600;color:var(--an-muted);letter-spacing:0;margin-left:1px}#sec-montage .an-kpi .k-sub{margin-top:8px;font-size:11.5px;color:var(--an-muted);display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:19px}#sec-montage .an-kpi .k-spark{position:absolute;right:14px;bottom:12px;width:96px;height:28px;overflow:visible}#sec-montage .an-kpi .k-spark path{fill:none;stroke:var(--an-gold);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}#sec-montage .an-kpi .k-spark .ar{fill:rgba(65,151,226,.15);stroke:none;opacity:1}#sec-montage .an-lrow.plain{cursor:default}
/* дельта-чипы */#sec-montage .dl{display:inline-flex;align-items:center;gap:3px;font-size:11.5px;font-weight:700;padding:2px 7px;border-radius:7px;font-variant-numeric:tabular-nums;white-space:nowrap}#sec-montage .dl.up{background:var(--an-green-bg);color:var(--an-green)}#sec-montage .dl.down{background:var(--an-red-bg);color:var(--an-red)}#sec-montage .dl.flat,#sec-montage .dl.none{background:#eef1f7;color:#5b6472}#sec-montage .dl.base{background:#fdf4e3;color:#2b6ea8}#sec-montage .dl i{font-style:normal;font-size:9px}
/* ---------- карточки-виджеты ---------- */#sec-montage .an-card{background:#fff;border:1px solid var(--an-line);border-radius:12px;padding:15px 17px 16px;box-shadow:0 1px 2px rgba(16,24,40,.04);margin-bottom:16px}#sec-montage .an-card-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}#sec-montage .an-card-h h3{margin:0;font-size:14px;font-weight:700;letter-spacing:-.2px;color:var(--an-ink)}#sec-montage .an-card-h .hint{font-size:11.5px;color:var(--an-muted)}#sec-montage .an-card-h .r{margin-left:auto;display:flex;align-items:center;gap:8px}#sec-montage .an-chart{position:relative;height:300px}#sec-montage .an-chart.sm{height:230px}#sec-montage .an-chart .an-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--an-muted);font-size:13px}
/* легенда */#sec-montage .an-legend{display:flex;flex-direction:column;gap:2px;margin-top:10px}#sec-montage .an-lrow{display:grid;grid-template-columns:9px 1fr auto auto;align-items:center;gap:9px;padding:5px 7px;border-radius:8px;font-size:12.5px;cursor:pointer;transition:background .15s}#sec-montage .an-lrow:hover{background:#f7f9fb}#sec-montage .an-lrow .dot{width:9px;height:9px;border-radius:3px}#sec-montage .an-lrow .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#sec-montage .an-lrow .vl{font-variant-numeric:tabular-nums;font-family:var(--an-num);font-size:12px;color:var(--an-ink)}#sec-montage .an-lrow .sh{font-variant-numeric:tabular-nums;color:var(--an-muted-2);font-size:11.5px;width:42px;text-align:right}#sec-montage .an-split{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);gap:18px;align-items:start}
/* ---------- вкладки ---------- */#sec-montage .an-tabs{display:flex;gap:3px;background:#eef0f4;border-radius:11px;padding:4px;margin-bottom:16px;overflow-x:auto;-webkit-overflow-scrolling:touch}#sec-montage .an-tab{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border:0;background:none;border-radius:8px;font:600 13px/1.2 inherit;color:var(--an-muted);cursor:pointer;white-space:nowrap;flex:0 0 auto;transition:.15s}#sec-montage .an-tab svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}#sec-montage .an-tab .cnt{font-size:10.5px;font-weight:700;background:#dfe3ea;color:#5b6472;border-radius:20px;padding:1px 7px;font-variant-numeric:tabular-nums}#sec-montage .an-tab:hover{color:var(--an-ink)}#sec-montage .an-tab.active{background:#fff;color:var(--an-ink);box-shadow:0 1px 3px rgba(16,24,40,.13)}#sec-montage .an-tab.active svg{stroke:var(--an-gold)}#sec-montage .an-tab.active .cnt{background:var(--an-gold-soft);color:var(--an-gold-2)}#sec-montage .an-pane{display:none}#sec-montage .an-pane.active{display:block}
/* ---------- таблицы ---------- */#sec-montage .an-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}#sec-montage table{width:100%;border-collapse:collapse;font-size:13px}#sec-montage th{text-align:left;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--an-muted);padding:0 10px 9px;border-bottom:1px solid var(--an-line);white-space:nowrap;vertical-align:bottom}#sec-montage th.num{text-align:right}#sec-montage th.srt{cursor:pointer;user-select:none}#sec-montage th.srt:hover{color:var(--an-ink)}#sec-montage th.srt .ar{opacity:.28;margin-left:3px}#sec-montage th.srt.on{color:var(--an-gold-2)}#sec-montage th.srt.on .ar{opacity:1}#sec-montage td{padding:9px 10px;border-bottom:1px solid var(--an-line-2);vertical-align:middle}#sec-montage td.num{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--an-num);font-size:12.5px;white-space:nowrap}#sec-montage td.txt{font-variant-numeric:normal;font-family:inherit;font-size:13px}#sec-montage tbody tr:hover td{background:#fafbfd}#sec-montage tr.clickable{cursor:pointer}#sec-montage .an-rank{width:34px;color:var(--an-muted-2);font-size:11.5px;font-variant-numeric:tabular-nums}#sec-montage .an-rank.top{color:var(--an-gold-2);font-weight:700}#sec-montage .an-name{font-weight:600;color:var(--an-ink);display:block;max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#sec-montage .an-name.wide{max-width:560px}#sec-montage .an-sub{font-size:11.5px;color:var(--an-muted-2);margin-top:2px}#sec-montage .an-cat{display:inline-block;padding:2px 8px;border-radius:20px;background:#f2f4f8;color:#5b6472;font-size:11px;font-weight:600;white-space:nowrap}#sec-montage .an-new{display:inline-block;padding:2px 7px;border-radius:20px;background:#eef4ff;color:#2563eb;font-size:10.5px;font-weight:700;margin-left:6px}#sec-montage .an-out{display:inline-block;padding:2px 7px;border-radius:20px;background:#f4f5f7;color:#8a919d;font-size:10.5px;font-weight:700;margin-left:6px}#sec-montage .an-dynbox{display:flex;align-items:center;gap:10px}#sec-montage .an-dynbox .an-cmp{flex:1;min-width:80px}
/* легенда-чипы в шапке карточки графика */#sec-montage .an-lg{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--an-muted);margin-left:4px}#sec-montage .an-lg .dot{width:8px;height:8px;border-radius:3px;display:inline-block}
/* «было → стало»: серый столбик = прошлый период, золотой = текущий, общая шкала по максимуму таблицы.
   Золото длиннее серого — рост, серый торчит справа — падение. */#sec-montage .an-cmp{display:flex;flex-direction:column;gap:5px;min-width:96px;padding:1px 0}#sec-montage .an-cmp i{display:block;height:7px;border-radius:4px;background:#e9edf2;box-shadow:inset 0 0 0 1px rgba(16,24,40,.03);overflow:hidden}#sec-montage .an-cmp i>span{display:block;height:100%;border-radius:4px;min-width:2px}#sec-montage .an-cmp i.p>span{background:#c9d0da}#sec-montage .an-cmp i.c>span{background:linear-gradient(90deg,#7db8e8,#4197e2)}#sec-montage .an-cmp i.c>span.low{background:linear-gradient(90deg,#dca29d,#c0564d)}
/* ---------- фиксированные раскладки (числа выровнены по разрядам) ---------- */#sec-montage table.t-fix{table-layout:fixed}#sec-montage table.t-fix td,#sec-montage table.t-fix th{overflow:hidden;text-overflow:ellipsis}#sec-montage table.t-fix td.txt,#sec-montage table.t-fix td.num{white-space:nowrap}
/* min-width = сумма фиксированных колонок + запас на имя (иначе ФИО схлопывается в «Куз…»):
   филиалы 764+256, менеджеры 810+310, состояния 480+240 */#sec-montage table.t-branches{min-width:1020px}#sec-montage table.t-managers{min-width:1120px}#sec-montage table.t-branches th:nth-child(2),#sec-montage table.t-managers th:nth-child(2){width:auto}#sec-montage table.t-fix .an-name{max-width:100%}#sec-montage table.t-branches th:nth-child(3),#sec-montage table.t-managers th:nth-child(3){width:92px}#sec-montage table.t-branches th:nth-child(4),#sec-montage table.t-managers th:nth-child(4){width:150px}#sec-montage table.t-branches th:nth-child(5),#sec-montage table.t-managers th:nth-child(5){width:150px}#sec-montage table.t-branches th:nth-child(6){width:86px}#sec-montage table.t-managers th:nth-child(6){width:132px}#sec-montage table.t-branches th:nth-child(7),#sec-montage table.t-managers th:nth-child(7){width:252px}#sec-montage table.t-states{min-width:700px}#sec-montage table.t-states th:nth-child(2){width:96px}#sec-montage table.t-states th:nth-child(3){width:150px}#sec-montage table.t-states th:nth-child(4){width:92px}#sec-montage table.t-states th:nth-child(5){width:142px}#sec-montage table.t-products{min-width:1120px}#sec-montage table.t-products th:nth-child(1){width:3%}#sec-montage table.t-products th:nth-child(2){width:31%}#sec-montage table.t-products th:nth-child(3){width:12%}#sec-montage table.t-products th:nth-child(4){width:7.5%}#sec-montage table.t-products th:nth-child(5){width:9.5%}#sec-montage table.t-products th:nth-child(6){width:13%}#sec-montage table.t-products th:nth-child(7), #sec-montage table.t-products th:nth-child(8), #sec-montage table.t-products th:nth-child(9){width:8%}#sec-montage th.dyn{white-space:normal;overflow-wrap:normal}

/* ---------- фильтры товаров ---------- */#sec-montage .an-filters{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:12px}#sec-montage .an-search{display:flex;align-items:center;gap:7px;border:1px solid var(--an-line);background:#fff;border-radius:9px;padding:6px 10px;min-width:220px;flex:1 1 220px;max-width:340px}#sec-montage .an-search svg{width:15px;height:15px;fill:none;stroke:var(--an-muted-2);stroke-width:1.9;stroke-linecap:round}#sec-montage .an-search input{border:0;outline:0;background:none;font:400 13px inherit;color:var(--an-ink);width:100%;font-family:inherit}#sec-montage .an-chips{display:flex;gap:6px;flex-wrap:wrap}#sec-montage .an-chip{border:1px solid var(--an-line);background:#fff;border-radius:20px;padding:5px 11px;font:600 12px inherit;color:var(--an-muted);cursor:pointer;transition:.15s;font-family:inherit}#sec-montage .an-chip:hover{color:var(--an-ink);border-color:#d3d8e0}#sec-montage .an-chip.active{background:var(--an-gold-soft);border-color:#d6e7f7;color:var(--an-gold-2)}#sec-montage .an-count{font-size:11.5px;color:var(--an-muted-2);margin-left:auto;font-variant-numeric:tabular-nums}#sec-montage .an-more{display:block;width:100%;margin-top:10px;padding:9px;border:1px dashed #d8dce3;background:#fbfcfd;border-radius:9px;font:600 12.5px inherit;color:var(--an-muted);cursor:pointer;font-family:inherit}#sec-montage .an-more:hover{color:var(--an-ink);border-color:#c9cfd8;background:#f6f8fa}#sec-montage .an-empty{padding:24px 12px;text-align:center;color:var(--an-muted);font-size:13px}#sec-montage .an-skel{height:14px;border-radius:6px;background:linear-gradient(90deg,#eef1f5 25%,#f7f9fb 37%,#eef1f5 63%);background-size:400% 100%;animation:an-sh 1.3s ease infinite}
@keyframes an-sh{0%{background-position:100% 50%}100%{background-position:0 50%}}
/* ---------- адаптив ---------- */@media(max-width:1180px){#sec-montage .an-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}/* minmax(0,1fr), а не 1fr: иначе таблица с min-width:880px растягивает колонку вместо того, чтобы скроллиться внутри .an-scroll, и страница уезжает вбок */ #sec-montage .an-split{grid-template-columns:minmax(0,1fr)}}
/* скролл-контейнеры и колонки сеток не должны растягиваться содержимым */#sec-montage .an-split>*{min-width:0}#sec-montage .an-scroll{max-width:100%}#sec-montage .an-card{overflow:hidden}@media(max-width:900px){/* на телефоне тулбар не прилипает: иначе он вместе с шапкой съедает четверть экрана */ #sec-montage .an-toolbar{position:static}#sec-montage .an-toolbar.compact #anMeta{display:flex}/* на телефоне ничего не обрезаем и не прячем в горизонтальный скролл: пресеты, табы и переключатели переносятся на след. строку */ #sec-montage .an-seg,#sec-montage .an-tabs{flex-wrap:wrap;overflow:visible}#sec-montage .an-tabs .an-tab{flex:1 1 auto;justify-content:center}/* подписи KPI в одну высоту, иначе карточки в ряду разъезжаются */ #sec-montage .an-kpi .k-lbl{min-height:2.4em;line-height:1.25}/* легенда и переключатель метрики — своей строкой, чтобы не липли к заголовку */ #sec-montage .an-card-h .r{margin-left:0;flex:1 0 100%;justify-content:flex-start;flex-wrap:wrap;gap:8px}#sec-montage .an-lg{margin-left:0}}
/* ---------- на телефоне: имя залипает при горизонтальной прокрутке чисел ---------- */@media(min-width:761px) and (max-width:900px){#sec-montage .an-scroll table.t-branches th:nth-child(1),#sec-montage .an-scroll table.t-branches td:nth-child(1), #sec-montage .an-scroll table.t-managers th:nth-child(1),#sec-montage .an-scroll table.t-managers td:nth-child(1), #sec-montage .an-scroll table.t-products th:nth-child(1),#sec-montage .an-scroll table.t-products td:nth-child(1), #sec-montage .an-scroll table.t-states th:nth-child(1),#sec-montage .an-scroll table.t-states td:nth-child(1){
    position:sticky;left:0;z-index:3;background:#fff}#sec-montage .an-scroll table.t-branches th:nth-child(2),#sec-montage .an-scroll table.t-branches td:nth-child(2), #sec-montage .an-scroll table.t-managers th:nth-child(2),#sec-montage .an-scroll table.t-managers td:nth-child(2), #sec-montage .an-scroll table.t-products th:nth-child(2),#sec-montage .an-scroll table.t-products td:nth-child(2){
    position:sticky;left:34px;z-index:3;background:#fff;box-shadow:inset -1px 0 0 var(--an-line)}#sec-montage .an-scroll table.t-products th:nth-child(1),#sec-montage .an-scroll table.t-products td:nth-child(1){width:34px}#sec-montage .an-scroll table.t-branches tr:hover td:nth-child(1),#sec-montage .an-scroll table.t-branches tr:hover td:nth-child(2), #sec-montage .an-scroll table.t-managers tr:hover td:nth-child(1),#sec-montage .an-scroll table.t-managers tr:hover td:nth-child(2), #sec-montage .an-scroll table.t-products tr:hover td:nth-child(1),#sec-montage .an-scroll table.t-products tr:hover td:nth-child(2), #sec-montage .an-scroll table.t-states tr:hover td:nth-child(1),#sec-montage .an-scroll table.t-states tr:hover td:nth-child(2){
    background:#fafbfd}}
/* ---------- телефон: таблицы становятся карточками, горизонтальной прокрутки нет ---------- */#sec-montage .an-sortbar{display:none}@media(max-width:760px){#sec-montage table.t-cards{display:block;min-width:0;table-layout:auto}#sec-montage table.t-cards thead{display:none}#sec-montage table.t-cards tbody{display:block}#sec-montage table.t-cards tr{display:block;background:#fff;border:1px solid var(--an-line);border-radius:11px;padding:11px 12px;margin:0 0 9px}#sec-montage table.t-cards tr:hover td{background:transparent}#sec-montage table.t-cards td{display:flex;align-items:baseline;justify-content:space-between;gap:12px;width:auto;max-width:none;
    padding:3px 0;border:0;text-align:left;white-space:normal;overflow:visible;font-family:inherit;font-size:12.5px}#sec-montage table.t-cards td.num{text-align:right;font-size:12.5px}#sec-montage table.t-cards td.an-rank{display:none}#sec-montage table.t-cards td[data-l]::before{content:attr(data-l);flex:0 0 auto;color:var(--an-muted);font:600 11.5px/1.4 inherit;letter-spacing:.02em}#sec-montage table.t-cards td[data-l]>span{text-align:right}#sec-montage table.t-cards td.ttl{display:block;padding:0 0 8px;margin-bottom:7px;border-bottom:1px solid var(--an-line-2)}#sec-montage table.t-cards td.ttl::before{display:none}#sec-montage table.t-cards .an-name{max-width:none;white-space:normal;overflow:visible;font-size:13.5px;line-height:1.3}#sec-montage table.t-cards .an-sub{margin-top:3px}#sec-montage table.t-cards td.dyn{display:block}#sec-montage table.t-cards td.dyn::before{display:block;margin-bottom:5px}#sec-montage table.t-cards .an-cat{white-space:normal}#sec-montage .an-sortbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px}#sec-montage .an-sortbar .lb{font:600 11.5px/1.4 inherit;color:var(--an-muted);letter-spacing:.02em}#sec-montage .an-sortbar .an-chip{padding:4px 10px;font-size:11.5px}#sec-montage .an-toolbar{gap:8px;padding:8px}#sec-montage .an-sp{display:none}#sec-montage .an-dates{width:100%}#sec-montage .an-date{flex:1 1 118px;min-width:0}#sec-montage .an-date input{width:100%;min-width:0}#sec-montage .an-dates .sep{display:none}#sec-montage .an-kpi .k-val{font-size:22px}#sec-montage .an-kpi .k-spark{display:none}#sec-montage .an-chart{height:230px}#sec-montage .an-tab .cnt{display:none}#sec-montage .an-search{max-width:none}}@media(max-width:520px){/* на телефоне 2×2, а не четыре карточки подряд: экономит пол-экрана */ #sec-montage .an-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#sec-montage .an-kpi{padding:11px 12px 12px}#sec-montage .an-kpi .k-val{font-size:19px;letter-spacing:-.4px}#sec-montage .an-kpi .k-lbl{font-size:9.5px;letter-spacing:.04em}#sec-montage .an-kpi .k-sub{font-size:11px;gap:6px}#sec-montage .an-meta{font-size:11.5px;gap:6px}}@media(max-width:340px){#sec-montage .an-kpis{grid-template-columns:minmax(0,1fr)}}

/* ---- на телефоне страница не должна скроллиться вбок ---- */@media(max-width:760px){html,body{overflow-x:hidden;overflow-x:clip;max-width:100%}}#sec-montage .an-scroll,#sec-montage .an-tabs,#sec-montage .an-seg{overscroll-behavior-x:contain}

/* ================= «Готовность к монтажу»: только этот раздел ================= */
/* тулбар не липнет: у раздела своя закреплённая шапка таблицы, липкий тулбар её перекрывает */#sec-montage .an-toolbar{position:static;align-items:center;margin-bottom:14px}
/* единая высота элементов тулбара: иначе кнопки/селекты/поиск/сегмент разной высоты
   и полоса читается как три разных тулбара, слипшихся в один */#sec-montage .an-seg button,#sec-montage .an-btn,#sec-montage .an-select, #sec-montage .an-search,#sec-montage .cem-dd-btn{height:34px;box-sizing:border-box}#sec-montage .an-search{padding:0 12px;font:500 12.5px inherit;font-family:inherit}#sec-montage .an-select{padding:0 10px;max-width:180px}#sec-montage .cem-dd-btn{display:inline-flex;align-items:center;gap:6px;padding:0 10px}#sec-montage .an-seg{padding:3px;align-items:center}#sec-montage .an-toolbar .an-meta{flex:1 0 100%;border-top:1px solid var(--an-line-2)}
/* шесть KPI — по три в ряд */#sec-montage .an-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}#sec-montage .an-kpi .k-val{font-family:var(--an-num);letter-spacing:-1px}#sec-montage .an-kpi .k-val.neg{color:var(--an-red)}
/* фильтры-селекты и поиск — в стиле раздела */#sec-montage .an-select{border:1px solid var(--an-line);background:#fff;border-radius:9px;padding:7px 10px;
  font:600 12.5px inherit;color:var(--an-ink);font-family:inherit;max-width:220px;cursor:pointer}#sec-montage .an-select:focus{outline:0;border-color:#d3d8e0}#sec-montage .an-search{max-width:300px}#sec-montage .an-seg button .cnt{font-variant-numeric:tabular-nums;color:var(--an-muted-2);margin-left:5px}

/* чипы статусов в палитре v2 (разметку рисует старый код — chip ok/warn/gray/b) */#sec-montage .chip{display:inline-block;padding:2px 8px;border-radius:20px;border:1px solid var(--an-line-2);
  background:#f6f7f9;color:#4a5260;font-size:11.5px;font-weight:600;white-space:nowrap;line-height:1.5}#sec-montage .chip.ok{background:#eaf6ee;border-color:#cbe7d3;color:#15803d}#sec-montage .chip.warn{background:#fdf6e7;border-color:#dcebf9;color:#b45309}#sec-montage .chip.b{background:#eef2fd;border-color:#d3dcf7;color:#3b45a0}#sec-montage .chip.gray{background:#f2f4f8;border-color:#e3e7ee;color:#5b6472}
/* производства внутри ячейки: «цех + состояние» */#sec-montage .prodlist{display:flex;flex-direction:row;flex-wrap:wrap;gap:4px;font-size:12px;line-height:1.35}#sec-montage .prodlist .prow{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}#sec-montage .prodlist .pu{font-size:11px;color:var(--an-muted)}#sec-montage .gcount{font-variant-numeric:tabular-nums;font-weight:600;color:#b45309;white-space:nowrap}#sec-montage .gcount.done{color:var(--an-green)}#sec-montage .payinfo{font-size:12px;color:var(--an-muted);display:block}
/* приёмка камня: чип статуса отдельной строкой, текст поля под ним */#sec-montage td[data-l="Приёмка камня"] .chip{display:inline-block;white-space:nowrap}#sec-montage td[data-l="Приёмка камня"] .stxt{margin-top:4px}#sec-montage td[data-l="Приёмка камня"] .payinfo{margin-top:0}#sec-montage .age{font-variant-numeric:tabular-nums;color:var(--an-muted-2);font-size:12px}
/* кнопки тулбара с подписью (карта, обновление) */#sec-montage .an-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--an-line);background:#fff;
  border-radius:9px;padding:7px 12px;font:600 12.5px inherit;color:var(--an-ink);cursor:pointer;font-family:inherit;
  transition:.15s;white-space:nowrap}#sec-montage .an-btn:hover{border-color:#d3d8e0;background:#fafbfc}#sec-montage .an-btn.loading{opacity:.6;pointer-events:none}#sec-montage .an-btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
/* сводка по цехам — чипы под заголовком карточки */#sec-montage .unitline{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}#sec-montage .unitline .u{display:inline-flex;align-items:center;gap:5px;background:#f5f7fa;border:1px solid var(--an-line-2);
  border-radius:20px;padding:3px 10px;font-size:11.5px;color:var(--an-muted)}#sec-montage .unitline .u b{color:var(--an-ink)}#sec-montage .unitline .d{color:var(--an-red)}#sec-montage .an-sumline{margin-left:auto;display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--an-muted)}#sec-montage .an-sumline b{font-variant-numeric:tabular-nums;color:var(--an-ink)}
/* длинные тексты в карточке: подпись сверху, текст под ней на всю ширину */#sec-montage table.t-montage td .an-sub{display:none}

/* ---------- таблица: десктоп (внутренняя прокрутка + закреплённый «Заказ») ---------- */@media(min-width:761px){#sec-montage .an-scroll{overflow-x:auto;overflow-y:hidden}#sec-montage table.t-montage{min-width:2046px;table-layout:fixed;width:100%}#sec-montage table.t-montage td,#sec-montage table.t-montage th{padding:8px 9px;font-size:12.5px;line-height:1.35;
    vertical-align:middle;overflow-wrap:normal;word-break:normal;hyphens:none}#sec-montage table.t-montage th{font-size:11.5px;font-weight:600;color:var(--an-muted);letter-spacing:.02em;
    line-height:1.2;vertical-align:bottom;text-align:left;background:#fafbfd;border-bottom:1px solid var(--an-line)}#sec-montage table.t-montage tbody tr+tr td{border-top:1px solid var(--an-line-2)}#sec-montage table.t-montage tbody tr:hover td{background:#fafbfd}#sec-montage table.t-montage th:nth-child(1){width:142px}#sec-montage table.t-montage th:nth-child(2){width:92px}#sec-montage table.t-montage th:nth-child(3){width:84px}#sec-montage table.t-montage th:nth-child(4){width:150px}#sec-montage table.t-montage th:nth-child(5){width:116px}#sec-montage table.t-montage th:nth-child(6){width:144px}#sec-montage table.t-montage th:nth-child(7){width:132px}#sec-montage table.t-montage th:nth-child(8){width:112px}#sec-montage table.t-montage th:nth-child(9){width:110px}#sec-montage table.t-montage th:nth-child(10){width:118px}#sec-montage table.t-montage th:nth-child(11){width:132px}#sec-montage table.t-montage th:nth-child(12){width:132px}/* 13 «Коммент.» / 14 «Приёмка камня» (шире на 76px, освободившиеся от «Готово») / 15 «Сумма» / 16 «Оплачено» — всего колонок 16, сумма ширин не изменилась. 1 «Заказ» отдана 38px под кнопки «+» и «документы» (78→104→142), забрано у «Коммент.» (250→222→184): сумма ширин та же 2104px */ #sec-montage table.t-montage th:nth-child(13){width:184px}#sec-montage table.t-montage th:nth-child(14){width:246px}#sec-montage table.t-montage th:nth-child(15){width:104px}#sec-montage table.t-montage th:nth-child(16){width:104px}/* значения фиксированной длины не переносим */ #sec-montage table.t-montage td:nth-child(1),#sec-montage table.t-montage td:nth-child(2), #sec-montage table.t-montage td:nth-child(3), #sec-montage table.t-montage td:nth-child(15),#sec-montage table.t-montage td:nth-child(16){white-space:nowrap}/* длинные свободные тексты — с переносом */ #sec-montage table.t-montage td:nth-child(13),#sec-montage table.t-montage td:nth-child(14){overflow-wrap:break-word}/* «Заказ» остаётся на виду при горизонтальной прокрутке */ #sec-montage table.t-montage th:nth-child(1),#sec-montage table.t-montage td:nth-child(1){
    position:sticky;left:0;z-index:3;background:#fff;box-shadow:inset -1px 0 0 var(--an-line)}#sec-montage table.t-montage thead th:nth-child(1){z-index:4;background:#fafbfd}#sec-montage table.t-montage tbody tr:hover td:nth-child(1){background:#fafbfd}}

/* ---------- таблица: телефон — карточки (механика t-cards из v2) ---------- */@media(max-width:760px){/* на телефоне тулбар компактнее: мелкие элементы одной высоты, селекты в одну строку */ #sec-montage .an-toolbar{gap:6px;padding:8px;margin-bottom:10px}#sec-montage .an-seg button,#sec-montage .an-btn,#sec-montage .an-select, #sec-montage .an-search,#sec-montage .cem-dd-btn{height:30px;font-size:12px}#sec-montage .an-select{flex:1 1 31%;min-width:0;max-width:none;padding:0 6px}#sec-montage .an-btn{padding:0 10px}#sec-montage .an-sp{display:none}#sec-montage .an-meta{font-size:11.5px;gap:6px}#sec-montage .an-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#sec-montage .an-kpi{padding:11px 12px 12px}#sec-montage .an-sumline{margin-left:0;flex:1 0 100%}/* глобальное правило .scrollx table{min-width:560px}не должно растягивать карточки */ #sec-montage table.t-montage{min-width:0}#sec-montage table.t-montage td .an-sub{display:block;margin-top:2px;font-size:11.5px;color:var(--an-muted)}/* подписи полей: набор отдельных свойств — шорткат font с inherit невалиден и молча отбрасывается */ #sec-montage table.t-montage td[data-l]::before{color:var(--an-ink);font-weight:600;font-size:11.5px;letter-spacing:.02em}/* длинные комментарии и приёмка камня — подпись сверху, текст под ней на всю ширину */ #sec-montage table.t-montage td[data-l="Коммент."],#sec-montage table.t-montage td[data-l="Приёмка камня"]{display:block;padding-top:10px}#sec-montage table.t-montage td[data-l="Коммент."]::before,#sec-montage table.t-montage td[data-l="Приёмка камня"]::before{display:block;margin-bottom:4px}#sec-montage table.t-montage td[data-l="Коммент."]>span,#sec-montage table.t-montage td[data-l="Приёмка камня"]>span{text-align:left}#sec-montage table.t-montage .prodlist{justify-content:flex-start}#sec-montage table.t-montage .payinfo{display:block;text-align:left}#sec-montage .an-select{max-width:none;flex:1 1 46%}#sec-montage .an-search{max-width:none}}

/* закреплённая шапка таблицы на телефоне не нужна: там карточки, а не прокрутка */@media(max-width:900px){#sec-montage .pinned-head{display:none !important}}

/* ===== «Должники» (v2-стиль) ===== */
/* ===== Аналитика v2 — тулбар, KPI, графики, таблицы ===== */#sec-debtors,#sec-grid{
  --an-line:#e4e7ec; --an-line-2:#f1f3f6; --an-muted:#6b7280; --an-muted-2:#6b7280;
  --an-ink:#1f2933; --an-gold:#4197e2; --an-gold-2:#2b7ac1; --an-gold-soft:#faf4e9;
  --an-green:#0f7a3d; --an-green-bg:#e9f6ee; --an-red:#b3261e; --an-red-bg:#fdecea;
  --an-num:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --an-top:0px;
}
/* ---------- панель периода ---------- */#sec-debtors .an-toolbar,#sec-grid .an-toolbar{position:sticky;top:var(--an-top,0);z-index:9;display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(8px);border:1px solid var(--an-line);border-radius:12px;
  padding:8px 11px;margin-bottom:10px;box-shadow:0 1px 2px rgba(16,24,40,.05)}#sec-debtors .an-seg,#sec-grid .an-seg{display:flex;gap:2px;background:#eef0f4;border-radius:9px;padding:3px;overflow-x:auto;-webkit-overflow-scrolling:touch}#sec-debtors .an-seg button,#sec-grid .an-seg button{border:0;background:none;font:600 12.5px/1.2 inherit;color:var(--an-muted);padding:6px 11px;border-radius:7px;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s;font-family:inherit}#sec-debtors .an-seg button:hover,#sec-grid .an-seg button:hover{color:var(--an-ink)}#sec-debtors .an-seg button.active,#sec-grid .an-seg button.active{background:#fff;color:var(--an-ink);box-shadow:0 1px 3px rgba(16,24,40,.13)}#sec-debtors .an-dates,#sec-grid .an-dates{display:flex;align-items:center;gap:6px;flex-wrap:wrap}#sec-debtors .an-date,#sec-grid .an-date{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--an-line);background:#fff;border-radius:9px;padding:3px 8px}#sec-debtors .an-date span,#sec-grid .an-date span{font-size:11px;color:var(--an-muted-2)}#sec-debtors .an-date input,#sec-grid .an-date input{border:0;outline:0;font:500 13px inherit;color:var(--an-ink);background:none;padding:3px 0;width:118px;font-family:inherit}#sec-debtors .an-sp,#sec-grid .an-sp{flex:1 1 auto}#sec-debtors .an-ibtn,#sec-grid .an-ibtn{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border:1px solid var(--an-line);background:#fff;border-radius:9px;cursor:pointer;color:var(--an-muted);transition:.15s}#sec-debtors .an-ibtn:hover,#sec-grid .an-ibtn:hover{color:var(--an-ink);border-color:#d3d8e0;background:#fafbfc}#sec-debtors .an-ibtn.danger,#sec-grid .an-ibtn.danger{color:var(--an-red)}#sec-debtors .an-ibtn.danger:hover,#sec-grid .an-ibtn.danger:hover{background:#fef3f2;border-color:#f6c9c5}#sec-debtors .an-ibtn.loading,#sec-grid .an-ibtn.loading{opacity:.55;pointer-events:none}#sec-debtors .an-ibtn svg,#sec-grid .an-ibtn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}#sec-debtors .an-ibtn.spin svg,#sec-grid .an-ibtn.spin svg{animation:an-spin 1s linear infinite}
@keyframes an-spin{to{transform:rotate(360deg)}
}
/* ---------- строка пояснений ---------- */#sec-debtors .an-toolbar.compact #anMeta,#sec-grid .an-toolbar.compact #anMeta{display:none}#sec-debtors .an-meta,#sec-grid .an-meta{flex:1 0 100%;display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:12px;color:var(--an-muted);
  margin:0;padding:7px 2px 0;border-top:1px solid var(--an-line-2)}#sec-debtors .an-meta b,#sec-grid .an-meta b{color:var(--an-ink);font-weight:600;font-variant-numeric:tabular-nums}#sec-debtors .an-meta .sep,#sec-grid .an-meta .sep{color:#d5dae1}#sec-debtors .an-meta .age,#sec-grid .an-meta .age{font-variant-numeric:tabular-nums;color:var(--an-muted-2)}#sec-debtors .an-pill,#sec-grid .an-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 6px 3px 10px;background:var(--an-gold-soft);border:1px solid #ecdfc8;border-radius:20px;font-size:11.5px;font-weight:600;color:var(--an-gold-2)}#sec-debtors .an-pill button,#sec-grid .an-pill button{border:0;background:none;cursor:pointer;color:inherit;display:grid;place-items:center;padding:0;opacity:.7}#sec-debtors .an-pill button:hover,#sec-grid .an-pill button:hover{opacity:1}#sec-debtors .an-pill svg,#sec-grid .an-pill svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}#sec-debtors .an-link,#sec-grid .an-link{color:var(--an-gold-2);cursor:pointer;border-bottom:1px dashed #c8def3;font-weight:600}#sec-debtors .an-link:hover,#sec-grid .an-link:hover{color:var(--an-ink)}#sec-debtors .an-note,#sec-grid .an-note{display:none;margin:0 0 14px;padding:12px 15px;border:1px solid #ece0c9;border-left:3px solid var(--an-gold);background:#fdfaf4;border-radius:10px;font-size:12.5px;line-height:1.6;color:#4b5563}#sec-debtors .an-note.on,#sec-grid .an-note.on{display:block}#sec-debtors .an-note b,#sec-grid .an-note b{color:var(--an-ink)}#sec-debtors .an-note ul,#sec-grid .an-note ul{margin:6px 0 0;padding-left:18px}
/* ---------- KPI ---------- */#sec-debtors .an-kpis,#sec-grid .an-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}#sec-debtors .an-kpi,#sec-grid .an-kpi{position:relative;background:#fff;border:1px solid var(--an-line);border-radius:12px;padding:14px 16px 15px;box-shadow:0 1px 2px rgba(16,24,40,.04);transition:box-shadow .15s,border-color .15s,transform .15s}#sec-debtors .an-kpi:hover,#sec-grid .an-kpi:hover{border-color:#d6dae1;box-shadow:0 6px 18px rgba(16,24,40,.07);transform:translateY(-1px)}#sec-debtors .an-kpi .k-lbl,#sec-grid .an-kpi .k-lbl{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--an-muted);display:flex;align-items:center;gap:6px}#sec-debtors .an-kpi .k-lbl svg,#sec-grid .an-kpi .k-lbl svg{width:13px;height:13px;fill:none;stroke:var(--an-muted-2);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}#sec-debtors .an-kpi .k-val,#sec-grid .an-kpi .k-val{margin-top:9px;font-size:26px;font-weight:700;line-height:1.05;letter-spacing:-.7px;font-variant-numeric:tabular-nums;color:var(--an-ink);white-space:nowrap}#sec-debtors .an-kpi .k-val .u,#sec-grid .an-kpi .k-val .u{font-size:15px;font-weight:600;color:var(--an-muted);letter-spacing:0;margin-left:1px}#sec-debtors .an-kpi .k-sub,#sec-grid .an-kpi .k-sub{margin-top:8px;font-size:11.5px;color:var(--an-muted);display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:19px}#sec-debtors .an-kpi .k-spark,#sec-grid .an-kpi .k-spark{position:absolute;right:14px;bottom:12px;width:96px;height:28px;overflow:visible}#sec-debtors .an-kpi .k-spark path,#sec-grid .an-kpi .k-spark path{fill:none;stroke:var(--an-gold);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}#sec-debtors .an-kpi .k-spark .ar,#sec-grid .an-kpi .k-spark .ar{fill:rgba(65,151,226,.15);stroke:none;opacity:1}#sec-debtors .an-lrow.plain,#sec-grid .an-lrow.plain{cursor:default}
/* дельта-чипы */#sec-debtors .dl,#sec-grid .dl{display:inline-flex;align-items:center;gap:3px;font-size:11.5px;font-weight:700;padding:2px 7px;border-radius:7px;font-variant-numeric:tabular-nums;white-space:nowrap}#sec-debtors .dl.up,#sec-grid .dl.up{background:var(--an-green-bg);color:var(--an-green)}#sec-debtors .dl.down,#sec-grid .dl.down{background:var(--an-red-bg);color:var(--an-red)}#sec-debtors .dl.flat,#sec-debtors .dl.none,#sec-grid .dl.flat,#sec-grid .dl.none{background:#eef1f7;color:#5b6472}#sec-debtors .dl.base,#sec-grid .dl.base{background:#fdf4e3;color:#2b6ea8}#sec-debtors .dl i,#sec-grid .dl i{font-style:normal;font-size:9px}
/* ---------- карточки-виджеты ---------- */#sec-debtors .an-card,#sec-grid .an-card{background:#fff;border:1px solid var(--an-line);border-radius:12px;padding:15px 17px 16px;box-shadow:0 1px 2px rgba(16,24,40,.04);margin-bottom:16px}#sec-debtors .an-card-h,#sec-grid .an-card-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}#sec-debtors .an-card-h h3,#sec-grid .an-card-h h3{margin:0;font-size:14px;font-weight:700;letter-spacing:-.2px;color:var(--an-ink)}#sec-debtors .an-card-h .hint,#sec-grid .an-card-h .hint{font-size:11.5px;color:var(--an-muted)}#sec-debtors .an-card-h .r,#sec-grid .an-card-h .r{margin-left:auto;display:flex;align-items:center;gap:8px}#sec-debtors .an-chart,#sec-grid .an-chart{position:relative;height:300px}#sec-debtors .an-chart.sm,#sec-grid .an-chart.sm{height:230px}#sec-debtors .an-chart .an-empty,#sec-grid .an-chart .an-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--an-muted);font-size:13px}
/* легенда */#sec-debtors .an-legend,#sec-grid .an-legend{display:flex;flex-direction:column;gap:2px;margin-top:10px}#sec-debtors .an-lrow,#sec-grid .an-lrow{display:grid;grid-template-columns:9px 1fr auto auto;align-items:center;gap:9px;padding:5px 7px;border-radius:8px;font-size:12.5px;cursor:pointer;transition:background .15s}#sec-debtors .an-lrow:hover,#sec-grid .an-lrow:hover{background:#f7f9fb}#sec-debtors .an-lrow .dot,#sec-grid .an-lrow .dot{width:9px;height:9px;border-radius:3px}#sec-debtors .an-lrow .nm,#sec-grid .an-lrow .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#sec-debtors .an-lrow .vl,#sec-grid .an-lrow .vl{font-variant-numeric:tabular-nums;font-family:var(--an-num);font-size:12px;color:var(--an-ink)}#sec-debtors .an-lrow .sh,#sec-grid .an-lrow .sh{font-variant-numeric:tabular-nums;color:var(--an-muted-2);font-size:11.5px;width:42px;text-align:right}#sec-debtors .an-split,#sec-grid .an-split{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);gap:18px;align-items:start}
/* ---------- вкладки ---------- */#sec-debtors .an-tabs,#sec-grid .an-tabs{display:flex;gap:3px;background:#eef0f4;border-radius:11px;padding:4px;margin-bottom:16px;overflow-x:auto;-webkit-overflow-scrolling:touch}#sec-debtors .an-tab,#sec-grid .an-tab{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border:0;background:none;border-radius:8px;font:600 13px/1.2 inherit;color:var(--an-muted);cursor:pointer;white-space:nowrap;flex:0 0 auto;transition:.15s}#sec-debtors .an-tab svg,#sec-grid .an-tab svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}#sec-debtors .an-tab .cnt,#sec-grid .an-tab .cnt{font-size:10.5px;font-weight:700;background:#dfe3ea;color:#5b6472;border-radius:20px;padding:1px 7px;font-variant-numeric:tabular-nums}#sec-debtors .an-tab:hover,#sec-grid .an-tab:hover{color:var(--an-ink)}#sec-debtors .an-tab.active,#sec-grid .an-tab.active{background:#fff;color:var(--an-ink);box-shadow:0 1px 3px rgba(16,24,40,.13)}#sec-debtors .an-tab.active svg,#sec-grid .an-tab.active svg{stroke:var(--an-gold)}#sec-debtors .an-tab.active .cnt,#sec-grid .an-tab.active .cnt{background:var(--an-gold-soft);color:var(--an-gold-2)}#sec-debtors .an-pane,#sec-grid .an-pane{display:none}#sec-debtors .an-pane.active,#sec-grid .an-pane.active{display:block}
/* ---------- таблицы ---------- */#sec-debtors .an-scroll,#sec-grid .an-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}#sec-debtors table,#sec-grid table{width:100%;border-collapse:collapse;font-size:13px}#sec-debtors th,#sec-grid th{text-align:left;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--an-muted);padding:0 10px 9px;border-bottom:1px solid var(--an-line);white-space:nowrap;vertical-align:bottom}#sec-debtors th.num,#sec-grid th.num{text-align:right}#sec-debtors th.srt,#sec-grid th.srt{cursor:pointer;user-select:none}#sec-debtors th.srt:hover,#sec-grid th.srt:hover{color:var(--an-ink)}#sec-debtors th.srt .ar,#sec-grid th.srt .ar{opacity:.28;margin-left:3px}#sec-debtors th.srt.on,#sec-grid th.srt.on{color:var(--an-gold-2)}#sec-debtors th.srt.on .ar,#sec-grid th.srt.on .ar{opacity:1}#sec-debtors td,#sec-grid td{padding:9px 10px;border-bottom:1px solid var(--an-line-2);vertical-align:middle}#sec-debtors td.num,#sec-grid td.num{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--an-num);font-size:12.5px;white-space:nowrap}#sec-debtors td.txt,#sec-grid td.txt{font-variant-numeric:normal;font-family:inherit;font-size:13px}#sec-debtors tbody tr:hover td,#sec-grid tbody tr:hover td{background:#fafbfd}#sec-debtors tr.clickable,#sec-grid tr.clickable{cursor:pointer}#sec-debtors .an-rank,#sec-grid .an-rank{width:34px;color:var(--an-muted-2);font-size:11.5px;font-variant-numeric:tabular-nums}#sec-debtors .an-rank.top,#sec-grid .an-rank.top{color:var(--an-gold-2);font-weight:700}#sec-debtors .an-name,#sec-grid .an-name{font-weight:600;color:var(--an-ink);display:block;max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#sec-debtors .an-name.wide,#sec-grid .an-name.wide{max-width:560px}#sec-debtors .an-sub,#sec-grid .an-sub{font-size:11.5px;color:var(--an-muted-2);margin-top:2px}#sec-debtors .an-cat,#sec-grid .an-cat{display:inline-block;padding:2px 8px;border-radius:20px;background:#f2f4f8;color:#5b6472;font-size:11px;font-weight:600;white-space:nowrap}#sec-debtors .an-new,#sec-grid .an-new{display:inline-block;padding:2px 7px;border-radius:20px;background:#eef4ff;color:#2563eb;font-size:10.5px;font-weight:700;margin-left:6px}#sec-debtors .an-out,#sec-grid .an-out{display:inline-block;padding:2px 7px;border-radius:20px;background:#f4f5f7;color:#8a919d;font-size:10.5px;font-weight:700;margin-left:6px}#sec-debtors .an-dynbox,#sec-grid .an-dynbox{display:flex;align-items:center;gap:10px}#sec-debtors .an-dynbox .an-cmp,#sec-grid .an-dynbox .an-cmp{flex:1;min-width:80px}
/* легенда-чипы в шапке карточки графика */#sec-debtors .an-lg,#sec-grid .an-lg{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--an-muted);margin-left:4px}#sec-debtors .an-lg .dot,#sec-grid .an-lg .dot{width:8px;height:8px;border-radius:3px;display:inline-block}
/* «было → стало»: серый столбик = прошлый период, золотой = текущий, общая шкала по максимуму таблицы.
   Золото длиннее серого — рост, серый торчит справа — падение. */#sec-debtors .an-cmp,#sec-grid .an-cmp{display:flex;flex-direction:column;gap:5px;min-width:96px;padding:1px 0}#sec-debtors .an-cmp i,#sec-grid .an-cmp i{display:block;height:7px;border-radius:4px;background:#e9edf2;box-shadow:inset 0 0 0 1px rgba(16,24,40,.03);overflow:hidden}#sec-debtors .an-cmp i>span,#sec-grid .an-cmp i>span{display:block;height:100%;border-radius:4px;min-width:2px}#sec-debtors .an-cmp i.p>span,#sec-grid .an-cmp i.p>span{background:#c9d0da}#sec-debtors .an-cmp i.c>span,#sec-grid .an-cmp i.c>span{background:linear-gradient(90deg,#7db8e8,#4197e2)}#sec-debtors .an-cmp i.c>span.low,#sec-grid .an-cmp i.c>span.low{background:linear-gradient(90deg,#dca29d,#c0564d)}
/* ---------- фиксированные раскладки (числа выровнены по разрядам) ---------- */#sec-debtors table.t-fix,#sec-grid table.t-fix{table-layout:fixed}#sec-debtors table.t-fix td,#sec-debtors table.t-fix th,#sec-grid table.t-fix td,#sec-grid table.t-fix th{overflow:hidden;text-overflow:ellipsis}#sec-debtors table.t-fix td.txt,#sec-debtors table.t-fix td.num,#sec-grid table.t-fix td.txt,#sec-grid table.t-fix td.num{white-space:nowrap}
/* min-width = сумма фиксированных колонок + запас на имя (иначе ФИО схлопывается в «Куз…»):
   филиалы 764+256, менеджеры 810+310, состояния 480+240 */#sec-debtors table.t-branches,#sec-grid table.t-branches{min-width:1020px}#sec-debtors table.t-managers,#sec-grid table.t-managers{min-width:1120px}#sec-debtors table.t-branches th:nth-child(2),#sec-debtors table.t-managers th:nth-child(2),#sec-grid table.t-branches th:nth-child(2),#sec-grid table.t-managers th:nth-child(2){width:auto}#sec-debtors table.t-fix .an-name,#sec-grid table.t-fix .an-name{max-width:100%}#sec-debtors table.t-branches th:nth-child(3),#sec-debtors table.t-managers th:nth-child(3),#sec-grid table.t-branches th:nth-child(3),#sec-grid table.t-managers th:nth-child(3){width:92px}#sec-debtors table.t-branches th:nth-child(4),#sec-debtors table.t-managers th:nth-child(4),#sec-grid table.t-branches th:nth-child(4),#sec-grid table.t-managers th:nth-child(4){width:150px}#sec-debtors table.t-branches th:nth-child(5),#sec-debtors table.t-managers th:nth-child(5),#sec-grid table.t-branches th:nth-child(5),#sec-grid table.t-managers th:nth-child(5){width:150px}#sec-debtors table.t-branches th:nth-child(6),#sec-grid table.t-branches th:nth-child(6){width:86px}#sec-debtors table.t-managers th:nth-child(6),#sec-grid table.t-managers th:nth-child(6){width:132px}#sec-debtors table.t-branches th:nth-child(7),#sec-debtors table.t-managers th:nth-child(7),#sec-grid table.t-branches th:nth-child(7),#sec-grid table.t-managers th:nth-child(7){width:252px}#sec-debtors table.t-states,#sec-grid table.t-states{min-width:700px}#sec-debtors table.t-states th:nth-child(2),#sec-grid table.t-states th:nth-child(2){width:96px}#sec-debtors table.t-states th:nth-child(3),#sec-grid table.t-states th:nth-child(3){width:150px}#sec-debtors table.t-states th:nth-child(4),#sec-grid table.t-states th:nth-child(4){width:92px}#sec-debtors table.t-states th:nth-child(5),#sec-grid table.t-states th:nth-child(5){width:142px}#sec-debtors table.t-products,#sec-grid table.t-products{min-width:1120px}#sec-debtors table.t-products th:nth-child(1),#sec-grid table.t-products th:nth-child(1){width:3%}#sec-debtors table.t-products th:nth-child(2),#sec-grid table.t-products th:nth-child(2){width:31%}#sec-debtors table.t-products th:nth-child(3),#sec-grid table.t-products th:nth-child(3){width:12%}#sec-debtors table.t-products th:nth-child(4),#sec-grid table.t-products th:nth-child(4){width:7.5%}#sec-debtors table.t-products th:nth-child(5),#sec-grid table.t-products th:nth-child(5){width:9.5%}#sec-debtors table.t-products th:nth-child(6),#sec-grid table.t-products th:nth-child(6){width:13%}#sec-debtors table.t-products th:nth-child(7),#sec-debtors table.t-products th:nth-child(8),#sec-debtors table.t-products th:nth-child(9),#sec-grid table.t-products th:nth-child(7),#sec-grid table.t-products th:nth-child(8),#sec-grid table.t-products th:nth-child(9){width:8%}#sec-debtors th.dyn,#sec-grid th.dyn{white-space:normal;overflow-wrap:normal}
/* ---------- фильтры товаров ---------- */#sec-debtors .an-filters,#sec-grid .an-filters{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:12px}#sec-debtors .an-search,#sec-grid .an-search{display:flex;align-items:center;gap:7px;border:1px solid var(--an-line);background:#fff;border-radius:9px;padding:6px 10px;min-width:220px;flex:1 1 220px;max-width:340px}#sec-debtors .an-search svg,#sec-grid .an-search svg{width:15px;height:15px;fill:none;stroke:var(--an-muted-2);stroke-width:1.9;stroke-linecap:round}#sec-debtors .an-search input,#sec-grid .an-search input{border:0;outline:0;background:none;font:400 13px inherit;color:var(--an-ink);width:100%;font-family:inherit}#sec-debtors .an-chips,#sec-grid .an-chips{display:flex;gap:6px;flex-wrap:wrap}#sec-debtors .an-chip,#sec-grid .an-chip{border:1px solid var(--an-line);background:#fff;border-radius:20px;padding:5px 11px;font:600 12px inherit;color:var(--an-muted);cursor:pointer;transition:.15s;font-family:inherit}#sec-debtors .an-chip:hover,#sec-grid .an-chip:hover{color:var(--an-ink);border-color:#d3d8e0}#sec-debtors .an-chip.active,#sec-grid .an-chip.active{background:var(--an-gold-soft);border-color:#d6e7f7;color:var(--an-gold-2)}#sec-debtors .an-count,#sec-grid .an-count{font-size:11.5px;color:var(--an-muted-2);margin-left:auto;font-variant-numeric:tabular-nums}#sec-debtors .an-more,#sec-grid .an-more{display:block;width:100%;margin-top:10px;padding:9px;border:1px dashed #d8dce3;background:#fbfcfd;border-radius:9px;font:600 12.5px inherit;color:var(--an-muted);cursor:pointer;font-family:inherit}#sec-debtors .an-more:hover,#sec-grid .an-more:hover{color:var(--an-ink);border-color:#c9cfd8;background:#f6f8fa}#sec-debtors .an-empty,#sec-grid .an-empty{padding:24px 12px;text-align:center;color:var(--an-muted);font-size:13px}#sec-debtors .an-skel,#sec-grid .an-skel{height:14px;border-radius:6px;background:linear-gradient(90deg,#eef1f5 25%,#f7f9fb 37%,#eef1f5 63%);background-size:400% 100%;animation:an-sh 1.3s ease infinite}
@keyframes an-sh{0%{background-position:100% 50%}
100%{background-position:0 50%}
}
/* ---------- адаптив ---------- */@media(max-width:1180px){#sec-debtors .an-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}/* minmax(0,1fr), а не 1fr: иначе таблица с min-width:880px растягивает колонку вместо того, чтобы скроллиться внутри .an-scroll, и страница уезжает вбок */ #sec-debtors .an-split,#sec-grid .an-split{grid-template-columns:minmax(0,1fr)}}
/* скролл-контейнеры и колонки сеток не должны растягиваться содержимым */#sec-debtors .an-split>*,#sec-grid .an-split>*{min-width:0}#sec-debtors .an-scroll,#sec-grid .an-scroll{max-width:100%}#sec-debtors .an-card,#sec-grid .an-card{overflow:hidden}@media(max-width:900px){/* на телефоне тулбар не прилипает: иначе он вместе с шапкой съедает четверть экрана */ #sec-debtors .an-toolbar{position:static}#sec-debtors .an-toolbar.compact #anMeta,#sec-grid .an-toolbar.compact #anMeta{display:flex}/* на телефоне ничего не обрезаем и не прячем в горизонтальный скролл: пресеты, табы и переключатели переносятся на след. строку */ #sec-debtors .an-seg,#sec-debtors .an-tabs,#sec-grid .an-seg,#sec-grid .an-tabs{flex-wrap:wrap;overflow:visible}#sec-debtors .an-tabs .an-tab,#sec-grid .an-tabs .an-tab{flex:1 1 auto;justify-content:center}/* подписи KPI в одну высоту, иначе карточки в ряду разъезжаются */ #sec-debtors .an-kpi .k-lbl,#sec-grid .an-kpi .k-lbl{min-height:2.4em;line-height:1.25}/* легенда и переключатель метрики — своей строкой, чтобы не липли к заголовку */ #sec-debtors .an-card-h .r,#sec-grid .an-card-h .r{margin-left:0;flex:1 0 100%;justify-content:flex-start;flex-wrap:wrap;gap:8px}#sec-debtors .an-lg,#sec-grid .an-lg{margin-left:0}}
/* ---------- на телефоне: имя залипает при горизонтальной прокрутке чисел ---------- */@media(min-width:761px) and (max-width:900px){#sec-debtors .an-scroll table.t-branches th:nth-child(1),#sec-debtors .an-scroll table.t-branches td:nth-child(1), #sec-debtors .an-scroll table.t-managers th:nth-child(1),#sec-debtors .an-scroll table.t-managers td:nth-child(1), #sec-debtors .an-scroll table.t-products th:nth-child(1),#sec-debtors .an-scroll table.t-products td:nth-child(1), #sec-debtors .an-scroll table.t-states th:nth-child(1),#sec-debtors .an-scroll table.t-states td:nth-child(1){
    position:sticky;left:0;z-index:3;background:#fff}#sec-debtors .an-scroll table.t-branches th:nth-child(2),#sec-debtors .an-scroll table.t-branches td:nth-child(2),#sec-debtors .an-scroll table.t-managers th:nth-child(2),#sec-debtors .an-scroll table.t-managers td:nth-child(2),#sec-debtors .an-scroll table.t-products th:nth-child(2),#sec-debtors .an-scroll table.t-products td:nth-child(2),#sec-grid .an-scroll table.t-branches th:nth-child(2),#sec-grid .an-scroll table.t-branches td:nth-child(2),#sec-grid .an-scroll table.t-managers th:nth-child(2),#sec-grid .an-scroll table.t-managers td:nth-child(2),#sec-grid .an-scroll table.t-products th:nth-child(2),#sec-grid .an-scroll table.t-products td:nth-child(2){
    position:sticky;left:34px;z-index:3;background:#fff;box-shadow:inset -1px 0 0 var(--an-line)}#sec-debtors .an-scroll table.t-products th:nth-child(1),#sec-debtors .an-scroll table.t-products td:nth-child(1),#sec-grid .an-scroll table.t-products th:nth-child(1),#sec-grid .an-scroll table.t-products td:nth-child(1){width:34px}#sec-debtors .an-scroll table.t-branches tr:hover td:nth-child(1),#sec-debtors .an-scroll table.t-branches tr:hover td:nth-child(2),#sec-debtors .an-scroll table.t-managers tr:hover td:nth-child(1),#sec-debtors .an-scroll table.t-managers tr:hover td:nth-child(2),#sec-debtors .an-scroll table.t-products tr:hover td:nth-child(1),#sec-debtors .an-scroll table.t-products tr:hover td:nth-child(2),#sec-debtors .an-scroll table.t-states tr:hover td:nth-child(1),#sec-debtors .an-scroll table.t-states tr:hover td:nth-child(2),#sec-grid .an-scroll table.t-branches tr:hover td:nth-child(1),#sec-grid .an-scroll table.t-branches tr:hover td:nth-child(2),#sec-grid .an-scroll table.t-managers tr:hover td:nth-child(1),#sec-grid .an-scroll table.t-managers tr:hover td:nth-child(2),#sec-grid .an-scroll table.t-products tr:hover td:nth-child(1),#sec-grid .an-scroll table.t-products tr:hover td:nth-child(2),#sec-grid .an-scroll table.t-states tr:hover td:nth-child(1),#sec-grid .an-scroll table.t-states tr:hover td:nth-child(2){
    background:#fafbfd}}
/* ---------- телефон: таблицы становятся карточками, горизонтальной прокрутки нет ---------- */#sec-debtors .an-sortbar,#sec-grid .an-sortbar{display:none}
/* ---------- «Сетка»: карточки заказа (вид «Карточки» или узкое окно в режиме «Авто») ----------
   Тот же список, но каждое поле подписано и стоит своим значением: на узком экране это
   единственный способ читать заказы без горизонтальной прокрутки. Включается классом
   body.gr-cards, а не медиа-запросом: вид выбирает пользователь, и явный выбор должен
   быть сильнее ширины окна (см. grCardsOn в 21_grid.js).
   Разметку карточек собирает gridCardHtml — карточка НЕ связана с разметкой таблицы:
   шапка (номер, дата, состояние), деньги с полосой оплаты, факты, работа по заказу.
   Поэтому здесь только карточные классы, а правила таблицы (t-grid/t-cards) в карточном
   виде вообще не участвуют. */body.gr-cards #sec-grid .an-scroll{overflow-x:hidden}
/* закреплённая шапка таблицы и стрелки прокрутки в карточках не нужны */body.gr-cards .pinned-head{display:none !important}body.gr-cards .scr-arrow{display:none}
/* сортировка в карточках — чипами над списком: шапки таблицы, по которой кликают, нет */body.gr-cards #sec-grid .an-sortbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 12px}body.gr-cards #sec-grid .an-sortbar .lb{font:600 11.5px/1.4 inherit;color:var(--an-muted);letter-spacing:.02em}body.gr-cards #sec-grid .an-sortbar .an-chip{padding:4px 10px;font-size:11.5px}
/* Карточки: 2–3 в ряд, в ряду одной высоты (низ ровный), работа «прижата» к низу
   карточки (margin-top:auto) — так ряд читается как ряд, а не как рваная колонка. */body.gr-cards #sec-grid .gr-cards{display:grid;gap:14px;align-items:start;
  grid-template-columns:repeat(auto-fill,minmax(min(100%,400px),1fr))}body.gr-cards #sec-grid .gr-cards-empty{padding:20px 4px;color:var(--an-muted);font-size:13px;line-height:1.55}body.gr-cards #sec-grid .gr-card{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;
  background:#fff;border:1px solid var(--an-line);border-radius:14px;padding:12px 16px 13px 18px;
  box-shadow:0 1px 2px rgba(16,24,40,.04);cursor:pointer;
  transition:box-shadow .16s ease,border-color .16s ease,transform .16s ease}
/* цветная полоса слева — состояние заказа: группы видно взглядом, не читая чипы */body.gr-cards #sec-grid .gr-card::before{content:"";position:absolute;left:0;top:13px;bottom:13px;
  width:3px;border-radius:0 3px 3px 0;background:#d7dde6}body.gr-cards #sec-grid .gr-card-done::before{background:#2f9e58}body.gr-cards #sec-grid .gr-card-work::before{background:#c8892a}body.gr-cards #sec-grid .gr-card-new::before{background:#9aa6b6}body.gr-cards #sec-grid .gr-card:hover{box-shadow:0 8px 22px rgba(16,24,40,.10);
  border-color:#cfd8e3;transform:translateY(-1px)}
/* шапка: документы, номер, дата, «изм.», состояние, стрелка «открыть» */body.gr-cards #sec-grid .gr-card-h{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;
  padding-bottom:9px;border-bottom:1px solid var(--an-line-2)}body.gr-cards #sec-grid .gr-card-num{font:700 15px/1.2 inherit;letter-spacing:-.2px;
  color:var(--an-ink);font-variant-numeric:tabular-nums;white-space:nowrap}body.gr-cards #sec-grid .gr-card-date{font:600 12.5px/1.2 inherit;color:var(--an-muted);
  white-space:nowrap;font-variant-numeric:tabular-nums}body.gr-cards #sec-grid .gr-card-min{font:400 11px/1.2 inherit;color:var(--an-muted-2);white-space:nowrap}body.gr-cards #sec-grid .gr-card-sp{flex:1 1 auto;min-width:8px}body.gr-cards #sec-grid .gr-card-arrow{color:#b6bfcc;font:400 20px/1 inherit;
  transition:color .16s ease,transform .16s ease}body.gr-cards #sec-grid .gr-card:hover .gr-card-arrow{color:#4197e2;transform:translateX(2px)}
/* деньги: сумма крупно, рядом оплачено и остаток; полоса показывает долю оплаты */body.gr-cards #sec-grid .gr-card-money{display:flex;flex-wrap:wrap;align-items:flex-end;gap:6px 16px;
  padding:10px 0 6px}body.gr-cards #sec-grid .gr-card-money .gm{display:flex;flex-direction:column;gap:2px;min-width:0}body.gr-cards #sec-grid .gr-card-money .gm i{font-style:normal;font-size:10px;font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;color:var(--an-muted-2)}body.gr-cards #sec-grid .gr-card-money .gm b{font:700 13.5px/1.2 inherit;color:var(--an-ink);
  font-variant-numeric:tabular-nums;white-space:nowrap}body.gr-cards #sec-grid .gr-card-money .gm:first-child b{font-size:17.5px;letter-spacing:-.3px}body.gr-cards #sec-grid .gr-card-money .gm:last-child{margin-left:auto;text-align:right}body.gr-cards #sec-grid .gr-card-money .gm:last-child i{text-align:right}body.gr-cards #sec-grid .gr-card-money b.neg{color:#b3261e}body.gr-cards #sec-grid .gr-card-money b.paid{color:#0f7a3d;font-weight:600}body.gr-cards #sec-grid .gr-card-money b.dim{color:var(--an-muted-2)}body.gr-cards #sec-grid .gr-prog{height:3px;border-radius:3px;background:#eef1f6;overflow:hidden;margin:0 0 12px}body.gr-cards #sec-grid .gr-prog i{display:block;height:100%;background:#4197e2;border-radius:3px;
  transition:width .3s ease}body.gr-cards #sec-grid .gr-prog.full i{background:#2f9e58}
/* факты: подпись сверху, значение снизу. Пустые факты места не занимают — их имена
   уходят в одну серую строку «не заполнено» внизу блока (в таблице колонка обязана
   стоять на месте, в карточке — нет: семь прочерков подряд только растягивали бы её) */body.gr-cards #sec-grid .gr-card-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px 18px;margin:0;padding:0}body.gr-cards #sec-grid .gr-fact{min-width:0}body.gr-cards #sec-grid .gr-fact dt, body.gr-cards #sec-grid .gr-work dt{display:flex;align-items:center;gap:4px;margin:0 0 3px;
  font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:var(--an-muted-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.gr-cards #sec-grid .gr-fact dd{margin:0;font-size:13px;line-height:1.4;color:#26303c;overflow-wrap:anywhere;
  /* два статуса (М и Б) — в одну строку, переносятся только если не влезли */
  display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 14px}body.gr-cards #sec-grid .gr-fact.over dd{color:#b3261e;font-weight:600}body.gr-cards #sec-grid .gr-card-none{grid-column:1/-1;font-size:11.5px;line-height:1.45;color:var(--an-muted-2)}
/* работа по заказу: тексты ровными колонками; «принят/готов» — зелёной полосой слева */body.gr-cards #sec-grid .gr-card-work{margin-top:12px;padding-top:11px;border-top:1px solid var(--an-line-2)}body.gr-cards #sec-grid .gr-work-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:8px 16px}body.gr-cards #sec-grid .gr-work{min-width:0;padding-left:9px;border-left:2px solid #e8ecf2}body.gr-cards #sec-grid .gr-work.ok{border-left-color:#2f9e58}body.gr-cards #sec-grid .gr-work.ok dt .gr-check{stroke:#2f9e58}body.gr-cards #sec-grid .gr-work p{margin:0;font-size:12.5px;line-height:1.45;color:#26303c;overflow-wrap:anywhere;
  /* текст в карточке — как в таблице: три строки и многоточие, полный текст в подсказке
     (наведение) и в карточке заказа. Без ограничения «простыня» на 10 строк растягивала
     карточку вдвое и ряд карточек становился неровным */
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}body.gr-cards #sec-grid .gr-card-files{margin-top:11px;padding-top:10px;border-top:1px solid var(--an-line-2)}@media(max-width:760px){#sec-debtors table.t-cards{display:block;min-width:0;table-layout:auto}#sec-debtors table.t-cards thead{display:none}#sec-debtors table.t-cards tbody{display:block}#sec-debtors table.t-cards tr{display:block;background:#fff;border:1px solid var(--an-line);border-radius:11px;padding:11px 12px;margin:0 0 9px}#sec-debtors table.t-cards tr:hover td{background:transparent}#sec-debtors table.t-cards td{display:flex;align-items:baseline;justify-content:space-between;gap:12px;width:auto;max-width:none;
    padding:3px 0;border:0;text-align:left;white-space:normal;overflow:visible;font-family:inherit;font-size:12.5px}#sec-debtors table.t-cards td.num{text-align:right;font-size:12.5px}#sec-debtors table.t-cards td.an-rank{display:none}#sec-debtors table.t-cards td[data-l]::before{content:attr(data-l);flex:0 0 auto;color:var(--an-muted);font:600 11.5px/1.4 inherit;letter-spacing:.02em}#sec-debtors table.t-cards td[data-l]>span{text-align:right}#sec-debtors table.t-cards td.ttl{display:block;padding:0 0 8px;margin-bottom:7px;border-bottom:1px solid var(--an-line-2)}#sec-debtors table.t-cards td.ttl::before{display:none}#sec-debtors table.t-cards .an-name{max-width:none;white-space:normal;overflow:visible;font-size:13.5px;line-height:1.3}#sec-debtors table.t-cards .an-sub{margin-top:3px}#sec-debtors table.t-cards td.dyn{display:block}#sec-debtors table.t-cards td.dyn::before{display:block;margin-bottom:5px}#sec-debtors table.t-cards .an-cat{white-space:normal}#sec-debtors .an-sortbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px}#sec-debtors .an-sortbar .lb{font:600 11.5px/1.4 inherit;color:var(--an-muted);letter-spacing:.02em}#sec-debtors .an-sortbar .an-chip{padding:4px 10px;font-size:11.5px}#sec-debtors .an-toolbar,#sec-grid .an-toolbar{gap:8px;padding:8px}#sec-debtors .an-sp,#sec-grid .an-sp{display:none}#sec-debtors .an-dates,#sec-grid .an-dates{width:100%}#sec-debtors .an-date,#sec-grid .an-date{flex:1 1 118px;min-width:0}#sec-debtors .an-date input,#sec-grid .an-date input{width:100%;min-width:0}#sec-debtors .an-dates .sep,#sec-grid .an-dates .sep{display:none}#sec-debtors .an-kpi .k-val,#sec-grid .an-kpi .k-val{font-size:22px}#sec-debtors .an-kpi .k-spark,#sec-grid .an-kpi .k-spark{display:none}#sec-debtors .an-chart,#sec-grid .an-chart{height:230px}#sec-debtors .an-tab .cnt,#sec-grid .an-tab .cnt{display:none}#sec-debtors .an-search,#sec-grid .an-search{max-width:none}}@media(max-width:520px){/* на телефоне 2×2, а не четыре карточки подряд: экономит пол-экрана */ #sec-debtors .an-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#sec-debtors .an-kpi,#sec-grid .an-kpi{padding:11px 12px 12px}#sec-debtors .an-kpi .k-val,#sec-grid .an-kpi .k-val{font-size:19px;letter-spacing:-.4px}#sec-debtors .an-kpi .k-lbl,#sec-grid .an-kpi .k-lbl{font-size:9.5px;letter-spacing:.04em}#sec-debtors .an-kpi .k-sub,#sec-grid .an-kpi .k-sub{font-size:11px;gap:6px}#sec-debtors .an-meta,#sec-grid .an-meta{font-size:11.5px;gap:6px}}@media(max-width:340px){#sec-debtors .an-kpis{grid-template-columns:minmax(0,1fr)}}

/* ---- на телефоне страница не должна скроллиться вбок ---- */@media(max-width:760px){html,body{overflow-x:hidden;overflow-x:clip;max-width:100%}}#sec-debtors .an-scroll,#sec-debtors .an-tabs,#sec-debtors .an-seg,#sec-grid .an-tabs,#sec-grid .an-seg{overscroll-behavior-x:contain}
/* ================= «Должники»: только этот раздел ================= */
/* тулбар не липнет: у раздела своя закреплённая шапка таблицы, липкий тулбар её перекрывает */#sec-debtors .an-toolbar,#sec-grid .an-toolbar{position:static;align-items:center;margin-bottom:14px}
/* Выпадающие фильтры («Менеджер», «Место монтажа», «Кладбища» в «Монтаже») должны
   рисоваться ПОВЕРХ таблицы. Тулбар статичный, но с backdrop-filter — он создаёт
   контекст наложения прямо в потоке, поэтому z-index панели не спасал: список уходил
   под таблицу. Делаем тулбар позиционированным (relative без смещений — вид не
   меняется), тогда его контекст рисуется выше содержимого таблицы. Закреплённая
   шапка остаётся выше (у неё z-index 45) — она и должна липнуть к верху окна. */#sec-grid .an-toolbar{position:relative;z-index:9}#sec-montage .an-toolbar{position:relative;z-index:9}
/* единая высота элементов тулбара */#sec-debtors .an-seg button,#sec-debtors .an-btn,#sec-debtors .an-select,#sec-debtors .an-search,#sec-grid .an-seg button,#sec-grid .an-btn,#sec-grid .an-select,#sec-grid .an-search{height:34px;box-sizing:border-box}#sec-debtors .an-search,#sec-grid .an-search{padding:0 12px;font:500 12.5px inherit;font-family:inherit;max-width:320px}#sec-debtors .an-select,#sec-grid .an-select{padding:0 10px;max-width:210px}#sec-debtors .an-seg,#sec-grid .an-seg{padding:3px;align-items:center}#sec-debtors .an-seg button .cnt,#sec-grid .an-seg button .cnt{font-variant-numeric:tabular-nums;color:var(--an-muted-2);margin-left:5px}#sec-debtors .an-toolbar .an-meta,#sec-grid .an-toolbar .an-meta{flex:1 0 100%;border-top:1px solid var(--an-line-2)}
/* пять KPI — в один ряд, как просил Женя (11.09.2026) */#sec-debtors .an-kpis,#sec-grid .an-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}#sec-debtors .an-kpi,#sec-grid .an-kpi{padding:12px 13px 13px}#sec-debtors .an-kpi .k-lbl,#sec-grid .an-kpi .k-lbl{font-size:11px}#sec-debtors .an-kpi .k-val,#sec-grid .an-kpi .k-val{font-family:var(--an-num);letter-spacing:-1px;font-size:19px;
  overflow-wrap:anywhere;line-height:1.25}#sec-debtors .an-kpi .k-sub,#sec-grid .an-kpi .k-sub{font-size:11px;line-height:1.35}#sec-debtors .an-kpi .k-val.neg,#sec-grid .an-kpi .k-val.neg{color:var(--an-red)}
/* селекты-фильтры */#sec-debtors .an-select,#sec-grid .an-select{border:1px solid var(--an-line);background:#fff;border-radius:9px;padding:7px 10px;
  font-weight:600;font-size:12.5px;color:var(--an-ink);font-family:inherit;cursor:pointer}#sec-debtors .an-select:focus,#sec-grid .an-select:focus{outline:0;border-color:#d3d8e0}
/* кнопки тулбара (обновление из 1С) */#sec-debtors .an-btn,#sec-grid .an-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--an-line);background:#fff;
  border-radius:9px;padding:7px 12px;font-weight:600;font-size:12.5px;color:var(--an-ink);cursor:pointer;
  font-family:inherit;transition:.15s;white-space:nowrap}#sec-debtors .an-btn:hover,#sec-grid .an-btn:hover{border-color:#d3d8e0;background:#fafbfc}#sec-debtors .an-btn.loading,#sec-grid .an-btn.loading{opacity:.6;pointer-events:none}#sec-debtors .an-btn svg,#sec-grid .an-btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;
  stroke-linecap:round;stroke-linejoin:round}#sec-debtors .an-sumline,#sec-grid .an-sumline{margin-left:auto;display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--an-muted)}#sec-debtors .an-sumline b,#sec-grid .an-sumline b{font-variant-numeric:tabular-nums;color:var(--an-ink)}#sec-debtors .an-sumline b.neg,#sec-grid .an-sumline b.neg{color:var(--an-red)}
/* чипы статусов (разметку рисует существующий код: chip ok/warn/gray/b) */#sec-debtors .chip,#sec-grid .chip{display:inline-block;padding:2px 8px;border-radius:20px;border:1px solid var(--an-line-2);
  background:#f6f7f9;color:#4a5260;font-size:11.5px;font-weight:600;white-space:nowrap;line-height:1.5}#sec-debtors .chip.ok,#sec-grid .chip.ok{background:#eaf6ee;border-color:#cbe7d3;color:#15803d}#sec-debtors .chip.warn,#sec-grid .chip.warn{background:#fdf6e7;border-color:#dcebf9;color:#b45309}#sec-debtors .chip.b,#sec-grid .chip.b{background:#eef2fd;border-color:#d3dcf7;color:#3b45a0}#sec-debtors .chip.gray,#sec-grid .chip.gray{background:#f2f4f8;border-color:#e3e7ee;color:#5b6472}
/* бейдж возврата: компактный, в красной логике долга (просьба Жени 11.09.2026) */#sec-debtors .chip.refund,#sec-debtors .chip.refund-part,#sec-grid .chip.refund,#sec-grid .chip.refund-part{
  background:#fdecec;border-color:#f5c6c6;color:#b42318;
  font-size:10.5px;font-weight:600;padding:1px 6px;border-radius:6px;line-height:1.45;white-space:nowrap}#sec-debtors .chip.refund-part,#sec-grid .chip.refund-part{background:#fdf6e7;border-color:#dcebf9;color:#b45309}
/* плашки старого кода (debtChip → .tag both и т.п.) — в палитре раздела */#sec-debtors .tag,#sec-grid .tag{display:inline-block;padding:2px 8px;border-radius:20px;font-size:11.5px;
  font-weight:600;white-space:nowrap;border:1px solid transparent;line-height:1.5}#sec-debtors .tag.both,#sec-grid .tag.both{background:#dc2626;color:#fff}#sec-debtors .tag.red,#sec-grid .tag.red{background:#fdecec;border-color:#f5c6c6;color:#b42318}#sec-debtors .tag.warn,#sec-grid .tag.warn{background:#fdf6e7;border-color:#dcebf9;color:#b45309}
/* ни один бейдж не должен вылезать за свою ячейку и наезжать на соседнюю колонку */#sec-debtors table.t-debtors .chip,#sec-debtors table.t-debtors .tag,#sec-grid table.t-debtors .chip,#sec-grid table.t-debtors .tag{
  white-space:normal;overflow-wrap:anywhere;max-width:100%;line-height:1.3}
/* «Долг»: сумма в строку, чип возврата — отдельной строкой под ней */#sec-debtors table.t-debtors td:nth-child(11),#sec-grid table.t-debtors td:nth-child(11){white-space:normal}#sec-debtors table.t-debtors td:nth-child(11)>span.neg,#sec-grid table.t-debtors td:nth-child(11)>span.neg{white-space:nowrap;display:inline-block}
/* бейдж всегда отдельной строкой под суммой: при короткой сумме он вставал в ту же строку
   и вылезал на 3px в соседнюю колонку (проверено замером) */#sec-debtors table.t-debtors td:nth-child(11) .chip,#sec-grid table.t-debtors td:nth-child(11) .chip{display:block;width:fit-content;margin-top:3px;max-width:100%}
/* все данные в ячейках — по левому краю (просьба Жени): числа больше не «прижаты» вправо */#sec-debtors table.t-debtors th.num,#sec-debtors table.t-debtors td.num,#sec-grid table.t-debtors th.num,#sec-grid table.t-debtors td.num{text-align:left}#sec-debtors .neg,#sec-grid .neg{color:var(--an-red)}#sec-debtors .age,#sec-grid .age{font-variant-numeric:tabular-nums;color:var(--an-muted-2);font-size:12px}#sec-debtors .payinfo,#sec-grid .payinfo{font-size:12px;color:var(--an-muted);display:block;overflow-wrap:anywhere}#sec-debtors .payinfo.more,#sec-grid .payinfo.more{cursor:pointer}#sec-debtors table.t-debtors td .an-sub,#sec-grid table.t-debtors td .an-sub{display:none}
/* ---------- таблица: десктоп (внутренняя прокрутка + закреплённый «Заказ») ---------- */@media(min-width:761px){#sec-debtors .an-scroll{overflow-x:auto;overflow-y:hidden}#sec-debtors table.t-debtors,#sec-grid table.t-debtors{min-width:1590px;table-layout:fixed;width:100%}/* вертикально — по верху: строки с бейджем возврата выше остальных, и при middle остальные ячейки выглядели «провисшими» */ #sec-debtors table.t-debtors td,#sec-debtors table.t-debtors th,#sec-grid table.t-debtors td,#sec-grid table.t-debtors th{padding:8px 9px;font-size:12.5px;
    line-height:1.35;vertical-align:top;overflow-wrap:normal;word-break:normal;hyphens:none}#sec-debtors table.t-debtors th,#sec-grid table.t-debtors th{font-size:11.5px;font-weight:600;color:var(--an-muted);letter-spacing:.02em;
    line-height:1.2;vertical-align:bottom;text-align:left;background:#fafbfd;border-bottom:1px solid var(--an-line)}#sec-debtors table.t-debtors tbody tr+tr td,#sec-grid table.t-debtors tbody tr+tr td{border-top:1px solid var(--an-line-2)}#sec-debtors table.t-debtors tbody tr:hover td,#sec-grid table.t-debtors tbody tr:hover td{background:#fafbfd}#sec-debtors table.t-debtors th:nth-child(1),#sec-grid table.t-debtors th:nth-child(1){width:78px}#sec-debtors table.t-debtors th:nth-child(2),#sec-grid table.t-debtors th:nth-child(2){width:92px}#sec-debtors table.t-debtors th:nth-child(3),#sec-grid table.t-debtors th:nth-child(3){width:146px}#sec-debtors table.t-debtors th:nth-child(4),#sec-grid table.t-debtors th:nth-child(4){width:116px}#sec-debtors table.t-debtors th:nth-child(5),#sec-grid table.t-debtors th:nth-child(5){width:118px}#sec-debtors table.t-debtors th:nth-child(6),#sec-grid table.t-debtors th:nth-child(6){width:118px}#sec-debtors table.t-debtors th:nth-child(7),#sec-grid table.t-debtors th:nth-child(7){width:120px}#sec-debtors table.t-debtors th:nth-child(8),#sec-grid table.t-debtors th:nth-child(8){width:112px}#sec-debtors table.t-debtors th:nth-child(9),#sec-grid table.t-debtors th:nth-child(9){width:110px}#sec-debtors table.t-debtors th:nth-child(10),#sec-grid table.t-debtors th:nth-child(10){width:110px}#sec-debtors table.t-debtors th:nth-child(11),#sec-grid table.t-debtors th:nth-child(11){width:128px}#sec-debtors table.t-debtors th:nth-child(12),#sec-grid table.t-debtors th:nth-child(12){width:84px}#sec-debtors table.t-debtors th:nth-child(13),#sec-grid table.t-debtors th:nth-child(13){width:250px}/* значения фиксированной длины не переносим */ #sec-debtors table.t-debtors td:nth-child(1),#sec-debtors table.t-debtors td:nth-child(2),#sec-debtors table.t-debtors td:nth-child(9),#sec-debtors table.t-debtors td:nth-child(10),#sec-debtors table.t-debtors td:nth-child(11),#sec-debtors table.t-debtors td:nth-child(12),#sec-grid table.t-debtors td:nth-child(1),#sec-grid table.t-debtors td:nth-child(2),#sec-grid table.t-debtors td:nth-child(9),#sec-grid table.t-debtors td:nth-child(10),#sec-grid table.t-debtors td:nth-child(11),#sec-grid table.t-debtors td:nth-child(12){white-space:nowrap}#sec-debtors table.t-debtors td:nth-child(13),#sec-grid table.t-debtors td:nth-child(13){overflow-wrap:break-word}/* «Заказ» остаётся на виду при горизонтальной прокрутке */ #sec-debtors table.t-debtors th:nth-child(1),#sec-debtors table.t-debtors td:nth-child(1),#sec-grid table.t-debtors th:nth-child(1),#sec-grid table.t-debtors td:nth-child(1){
    position:sticky;left:0;z-index:3;background:#fff;box-shadow:inset -1px 0 0 var(--an-line)}#sec-debtors table.t-debtors thead th:nth-child(1),#sec-grid table.t-debtors thead th:nth-child(1){z-index:4;background:#fafbfd}#sec-debtors table.t-debtors tbody tr:hover td:nth-child(1),#sec-grid table.t-debtors tbody tr:hover td:nth-child(1){background:#fafbfd}}

/* ---------- таблица: телефон — карточки ---------- */@media(max-width:760px){#sec-debtors .an-toolbar{gap:6px;padding:8px;margin-bottom:10px}#sec-debtors .an-seg button,#sec-debtors .an-btn,#sec-debtors .an-select,#sec-debtors .an-search,#sec-grid .an-seg button,#sec-grid .an-btn,#sec-grid .an-select,#sec-grid .an-search{height:30px;font-size:12px}#sec-debtors .an-select,#sec-grid .an-select{flex:1 1 46%;min-width:0;max-width:none;padding:0 8px}#sec-debtors .an-btn,#sec-grid .an-btn{padding:0 10px}#sec-debtors .an-sp,#sec-grid .an-sp{display:none}#sec-debtors .an-search,#sec-grid .an-search{max-width:none}#sec-debtors .an-meta,#sec-grid .an-meta{font-size:11.5px;gap:6px}#sec-debtors .an-kpis,#sec-grid .an-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#sec-debtors .an-kpi,#sec-grid .an-kpi{padding:11px 12px 12px}#sec-debtors .an-sumline,#sec-grid .an-sumline{margin-left:0;flex:1 0 100%}/* глобальное правило .scrollx table{min-width:560px}не должно растягивать карточки */ #sec-debtors table.t-debtors,#sec-grid table.t-debtors{min-width:0}#sec-debtors table.t-debtors td .an-sub,#sec-grid table.t-debtors td .an-sub{display:block;margin-top:2px;font-size:11.5px;color:var(--an-muted)}/* подписи полей: набор отдельных свойств — шорткат font с inherit невалиден */ #sec-debtors table.t-debtors td[data-l]::before,#sec-grid table.t-debtors td[data-l]::before{color:var(--an-ink);font-weight:600;font-size:11.5px;letter-spacing:.02em}/* длинный текст приёмки/оплаты — подпись сверху, текст под ней на всю ширину */ #sec-debtors table.t-debtors td[data-l="Информация по приёмке и оплате"],#sec-grid table.t-debtors td[data-l="Информация по приёмке и оплате"]{display:block;padding-top:10px}#sec-debtors table.t-debtors td[data-l="Информация по приёмке и оплате"]::before,#sec-grid table.t-debtors td[data-l="Информация по приёмке и оплате"]::before{display:block;margin-bottom:4px}#sec-debtors table.t-debtors td[data-l="Информация по приёмке и оплате"]>.payinfo,#sec-grid table.t-debtors td[data-l="Информация по приёмке и оплате"]>.payinfo{text-align:left}}

/* узкие ноутбуки: четыре карточки в ряд уже нечитаемы — ровно 2×2, без «сироты» в втором ряду */@media(min-width:761px) and (max-width:1100px){#sec-debtors .an-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* закреплённая шапка таблицы на телефоне не нужна: там карточки */@media(max-width:900px){#sec-debtors .pinned-head{display:none !important}}
/* ===== компактный тулбар «Готовности к монтажу» (v7) ===== */
/* ===== компактный тулбар «Готовности к монтажу» (v7) ===== */
/* строка 1: группы + карта · строка 2: фильтры + состояние и синхронизация */#sec-montage .an-toolbar{gap:8px;padding:10px 12px;align-items:center}#sec-montage .an-toolbar .an-seg{flex:0 0 auto}
/* принудительный перенос строки между «Карта кладбищ» и фильтрами */#sec-montage .an-toolbar .an-br{flex:1 0 100%;height:0;margin:0;padding:0;border:0}
/* фильтры сжимаются до min-width — строка не разваливается на 1240–1440 */#sec-montage .an-toolbar .an-search{flex:0 1 176px;min-width:116px;max-width:none}#sec-montage .an-toolbar .an-select{flex:0 1 112px;min-width:84px;max-width:none;padding:0 8px}#sec-montage .an-toolbar .cem-dd{flex:0 1 150px;min-width:116px}
/* кнопка списка: подпись слева, число и стрелка — одной группой у правого края
   (было justify-content:space-between — число «плавало» посередине) */#sec-montage .an-toolbar .cem-dd-btn{width:100%;justify-content:flex-start;gap:6px;padding:0 8px 0 10px}#sec-montage .an-toolbar .cem-dd-btn #cemDdLabel{flex:1 1 auto;min-width:0;text-align:left;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* число внутри кнопки не показываем: оно дублирует счётчик в списке и растягивало кнопку */#sec-montage .an-toolbar .cem-dd-btn .cem-dd-cnt{display:none}#sec-montage .an-toolbar .cem-dd-btn .cem-dd-arr{flex:0 0 auto;display:inline-flex;align-items:center;
  justify-content:center;font-size:9px;line-height:1;color:var(--an-muted-2,#9aa2ae)}
/* главная кнопка раздела — карта кладбищ: акцент, прижата вправо в первой строке */#sec-montage .an-btn-map{flex:0 0 auto;margin-left:auto;gap:6px;padding:0 12px;
  background:var(--an-accent-soft,#eaf3fc);border-color:var(--an-accent,#4197e2);color:#2f7fc4;
  font-weight:600;box-shadow:0 1px 2px rgba(65,151,226,.16)}#sec-montage .an-btn-map:hover{background:#f2e6cf;border-color:#3a8cd0;color:#26608f}#sec-montage .an-btn-map svg{width:15px;height:15px}
/* состояние (цеха | возраст данных) и синхронизация — правый край второй строки */#sec-montage .an-toolbar .an-meta{flex:0 0 auto;margin:0 4px 0 0;border:0;border-right:1px solid var(--an-line-2);padding:0 10px 0 0;
  justify-content:flex-end;
  display:flex;align-items:center;gap:9px;flex-wrap:nowrap;font-size:12px;
  font-variant-numeric:tabular-nums;white-space:nowrap}#sec-montage .an-btn-sync{flex:0 0 auto;height:28px;padding:0 10px;gap:6px;font-size:12px;font-weight:600;
  border-radius:8px;background:#fff;border:1px solid var(--an-line);color:var(--an-muted);box-shadow:none}#sec-montage .an-btn-sync:hover{border-color:#d3d8e0;background:#fafbfc;color:var(--an-ink)}#sec-montage .an-btn-sync svg{width:14px;height:14px}
/* мобильный: табы прокручиваются, фильтры в две колонки, карта — на всю ширину */@media(max-width:760px){#sec-montage .an-toolbar{gap:6px;padding:9px}#sec-montage .an-toolbar .an-seg{flex:1 0 100%;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;
    justify-content:flex-start;scrollbar-width:none}#sec-montage .an-toolbar .an-seg::-webkit-scrollbar{display:none}#sec-montage .an-toolbar .an-seg button{flex:0 0 auto}#sec-montage .an-btn-map{flex:1 0 100%;margin-left:0;justify-content:center;height:36px;font-size:13px}/* порядок на телефоне: табы · карта · [поиск + синхронизация] · три селекта · [кладбище + возраст] */ #sec-montage .an-toolbar .an-search{flex:1 1 52%;min-width:0;order:1}#sec-montage .an-btn-sync{flex:0 0 auto;height:32px;order:2}#sec-montage .an-toolbar .an-select{flex:1 1 30%;min-width:0;order:3}#sec-montage .an-toolbar .cem-dd{flex:1 1 56%;min-width:0;order:4}#sec-montage .cem-dd-panel{left:0;right:0;width:auto;max-width:none}#sec-montage .an-toolbar .an-meta{margin-left:0;flex:1 1 auto;flex-wrap:nowrap;gap:6px;order:5}}
/* модалка карты: чипы одной прокручиваемой строкой вместо трёх рядов */@media(max-width:900px){.map-chips{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;scrollbar-width:none}.map-chips::-webkit-scrollbar{display:none}.map-chips .mchip{flex:0 0 auto}}

/* ---- компактная раскладка раздела: 6 KPI в один ряд, фильтры во всю ширину строки ---- */#sec-montage .an-toolbar{gap:8px;padding:9px 11px;margin-bottom:10px;position:relative}
/* фильтры делят строку поровну и доходят до правого края — пустоты справа нет, подписи не режутся */#sec-montage .an-toolbar .an-search{flex:1.7 1 0;min-width:108px}#sec-montage .an-toolbar .an-select{flex:1 1 0;min-width:84px}
/* .cem-dd в базе имеет margin:2px 0 12px — из-за него ширина и вертикаль плыли относительно селектов */#sec-montage .an-toolbar .cem-dd{flex:1 1 0;min-width:0;margin:0;align-self:center}
/* список кладбищ: не вылезает за экран и лежит поверх KPI-карточек и закреплённой шапки таблицы */#sec-montage .cem-dd-panel{left:0;right:auto;width:340px;max-width:calc(100vw - 28px);z-index:60;
  background:#fff;border:1px solid var(--an-line,#e2e5ea);border-radius:12px;
  box-shadow:0 18px 44px rgba(16,24,40,.22),0 2px 6px rgba(16,24,40,.08)}
/* шесть KPI в один ряд: блок занимает ~80px вместо ~200px */#sec-montage .an-kpis{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:12px}#sec-montage .an-kpi{padding:10px 12px 11px}#sec-montage .an-kpi .k-lbl{font-size:10.5px;letter-spacing:.03em;gap:5px}#sec-montage .an-kpi .k-val{font-size:18px;letter-spacing:-.6px;line-height:1.2;overflow-wrap:anywhere}#sec-montage .an-kpi .k-sub{font-size:10.5px;line-height:1.3}@media(max-width:1359px){#sec-montage .an-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){#sec-montage .an-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#sec-montage .an-kpi{padding:9px 10px 10px}#sec-montage .an-kpi .k-val{font-size:16px}}
/* ===== «Сравнение» (v2-стиль) ===== */
/* ===== Аналитика v2 — тулбар, KPI, графики, таблицы ===== */#sec-compare{
  --an-line:#e4e7ec; --an-line-2:#f1f3f6; --an-muted:#6b7280; --an-muted-2:#6b7280;
  --an-ink:#1f2933; --an-gold:#4197e2; --an-gold-2:#2b7ac1; --an-gold-soft:#faf4e9;
  --an-green:#0f7a3d; --an-green-bg:#e9f6ee; --an-red:#b3261e; --an-red-bg:#fdecea;
  --an-num:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --an-top:0px;
}
/* ---------- панель периода ---------- */#sec-compare .an-toolbar{position:sticky;top:var(--an-top,0);z-index:9;display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(8px);border:1px solid var(--an-line);border-radius:12px;
  padding:8px 11px;margin-bottom:10px;box-shadow:0 1px 2px rgba(16,24,40,.05)}#sec-compare .an-seg{display:flex;gap:2px;background:#eef0f4;border-radius:9px;padding:3px;overflow-x:auto;-webkit-overflow-scrolling:touch}#sec-compare .an-seg button{border:0;background:none;font:600 12.5px/1.2 inherit;color:var(--an-muted);padding:6px 11px;border-radius:7px;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s;font-family:inherit}#sec-compare .an-seg button:hover{color:var(--an-ink)}#sec-compare .an-seg button.active{background:#fff;color:var(--an-ink);box-shadow:0 1px 3px rgba(16,24,40,.13)}#sec-compare .an-dates{display:flex;align-items:center;gap:6px;flex-wrap:wrap}#sec-compare .an-date{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--an-line);background:#fff;border-radius:9px;padding:3px 8px}#sec-compare .an-date span{font-size:11px;color:var(--an-muted-2)}#sec-compare .an-date input{border:0;outline:0;font:500 13px inherit;color:var(--an-ink);background:none;padding:3px 0;width:118px;font-family:inherit}#sec-compare .an-sp{flex:1 1 auto}#sec-compare .an-ibtn{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border:1px solid var(--an-line);background:#fff;border-radius:9px;cursor:pointer;color:var(--an-muted);transition:.15s}#sec-compare .an-ibtn:hover{color:var(--an-ink);border-color:#d3d8e0;background:#fafbfc}#sec-compare .an-ibtn.danger{color:var(--an-red)}#sec-compare .an-ibtn.danger:hover{background:#fef3f2;border-color:#f6c9c5}#sec-compare .an-ibtn.loading{opacity:.55;pointer-events:none}#sec-compare .an-ibtn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}#sec-compare .an-ibtn.spin svg{animation:an-spin 1s linear infinite}
@keyframes an-spin{to{transform:rotate(360deg)}}
/* ---------- строка пояснений ---------- */#sec-compare .an-toolbar.compact #anMeta{display:none}#sec-compare .an-meta{flex:1 0 100%;display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:12px;color:var(--an-muted);
  margin:0;padding:7px 2px 0;border-top:1px solid var(--an-line-2)}#sec-compare .an-meta b{color:var(--an-ink);font-weight:600;font-variant-numeric:tabular-nums}#sec-compare .an-meta .sep{color:#d5dae1}#sec-compare .an-meta .age{font-variant-numeric:tabular-nums;color:var(--an-muted-2)}#sec-compare .an-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 6px 3px 10px;background:var(--an-gold-soft);border:1px solid #ecdfc8;border-radius:20px;font-size:11.5px;font-weight:600;color:var(--an-gold-2)}#sec-compare .an-pill button{border:0;background:none;cursor:pointer;color:inherit;display:grid;place-items:center;padding:0;opacity:.7}#sec-compare .an-pill button:hover{opacity:1}#sec-compare .an-pill svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}#sec-compare .an-link{color:var(--an-gold-2);cursor:pointer;border-bottom:1px dashed #c8def3;font-weight:600}#sec-compare .an-link:hover{color:var(--an-ink)}#sec-compare .an-note{display:none;margin:0 0 14px;padding:12px 15px;border:1px solid #ece0c9;border-left:3px solid var(--an-gold);background:#fdfaf4;border-radius:10px;font-size:12.5px;line-height:1.6;color:#4b5563}#sec-compare .an-note.on{display:block}#sec-compare .an-note b{color:var(--an-ink)}#sec-compare .an-note ul{margin:6px 0 0;padding-left:18px}
/* ---------- KPI ---------- */#sec-compare .an-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}#sec-compare .an-kpi{position:relative;background:#fff;border:1px solid var(--an-line);border-radius:12px;padding:14px 16px 15px;box-shadow:0 1px 2px rgba(16,24,40,.04);transition:box-shadow .15s,border-color .15s,transform .15s}#sec-compare .an-kpi:hover{border-color:#d6dae1;box-shadow:0 6px 18px rgba(16,24,40,.07);transform:translateY(-1px)}#sec-compare .an-kpi .k-lbl{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--an-muted);display:flex;align-items:center;gap:6px}#sec-compare .an-kpi .k-lbl svg{width:13px;height:13px;fill:none;stroke:var(--an-muted-2);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}#sec-compare .an-kpi .k-val{margin-top:9px;font-size:26px;font-weight:700;line-height:1.05;letter-spacing:-.7px;font-variant-numeric:tabular-nums;color:var(--an-ink);white-space:nowrap}#sec-compare .an-kpi .k-val .u{font-size:15px;font-weight:600;color:var(--an-muted);letter-spacing:0;margin-left:1px}#sec-compare .an-kpi .k-sub{margin-top:8px;font-size:11.5px;color:var(--an-muted);display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:19px}#sec-compare .an-kpi .k-spark{position:absolute;right:14px;bottom:12px;width:96px;height:28px;overflow:visible}#sec-compare .an-kpi .k-spark path{fill:none;stroke:var(--an-gold);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}#sec-compare .an-kpi .k-spark .ar{fill:rgba(65,151,226,.15);stroke:none;opacity:1}#sec-compare .an-lrow.plain{cursor:default}
/* дельта-чипы */#sec-compare .dl{display:inline-flex;align-items:center;gap:3px;font-size:11.5px;font-weight:700;padding:2px 7px;border-radius:7px;font-variant-numeric:tabular-nums;white-space:nowrap}#sec-compare .dl.up{background:var(--an-green-bg);color:var(--an-green)}#sec-compare .dl.down{background:var(--an-red-bg);color:var(--an-red)}#sec-compare .dl.flat,#sec-compare .dl.none{background:#eef1f7;color:#5b6472}#sec-compare .dl.base{background:#fdf4e3;color:#2b6ea8}#sec-compare .dl i{font-style:normal;font-size:9px}
/* ---------- карточки-виджеты ---------- */#sec-compare .an-card{background:#fff;border:1px solid var(--an-line);border-radius:12px;padding:15px 17px 16px;box-shadow:0 1px 2px rgba(16,24,40,.04);margin-bottom:16px}#sec-compare .an-card-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}#sec-compare .an-card-h h3{margin:0;font-size:14px;font-weight:700;letter-spacing:-.2px;color:var(--an-ink)}#sec-compare .an-card-h .hint{font-size:11.5px;color:var(--an-muted)}#sec-compare .an-card-h .r{margin-left:auto;display:flex;align-items:center;gap:8px}#sec-compare .an-chart{position:relative;height:300px}#sec-compare .an-chart.sm{height:230px}#sec-compare .an-chart .an-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--an-muted);font-size:13px}
/* легенда */#sec-compare .an-legend{display:flex;flex-direction:column;gap:2px;margin-top:10px}#sec-compare .an-lrow{display:grid;grid-template-columns:9px 1fr auto auto;align-items:center;gap:9px;padding:5px 7px;border-radius:8px;font-size:12.5px;cursor:pointer;transition:background .15s}#sec-compare .an-lrow:hover{background:#f7f9fb}#sec-compare .an-lrow .dot{width:9px;height:9px;border-radius:3px}#sec-compare .an-lrow .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#sec-compare .an-lrow .vl{font-variant-numeric:tabular-nums;font-family:var(--an-num);font-size:12px;color:var(--an-ink)}#sec-compare .an-lrow .sh{font-variant-numeric:tabular-nums;color:var(--an-muted-2);font-size:11.5px;width:42px;text-align:right}#sec-compare .an-split{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);gap:18px;align-items:start}
/* ---------- вкладки ---------- */#sec-compare .an-tabs{display:flex;gap:3px;background:#eef0f4;border-radius:11px;padding:4px;margin-bottom:16px;overflow-x:auto;-webkit-overflow-scrolling:touch}#sec-compare .an-tab{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border:0;background:none;border-radius:8px;font:600 13px/1.2 inherit;color:var(--an-muted);cursor:pointer;white-space:nowrap;flex:0 0 auto;transition:.15s}#sec-compare .an-tab svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}#sec-compare .an-tab .cnt{font-size:10.5px;font-weight:700;background:#dfe3ea;color:#5b6472;border-radius:20px;padding:1px 7px;font-variant-numeric:tabular-nums}#sec-compare .an-tab:hover{color:var(--an-ink)}#sec-compare .an-tab.active{background:#fff;color:var(--an-ink);box-shadow:0 1px 3px rgba(16,24,40,.13)}#sec-compare .an-tab.active svg{stroke:var(--an-gold)}#sec-compare .an-tab.active .cnt{background:var(--an-gold-soft);color:var(--an-gold-2)}#sec-compare .an-pane{display:none}#sec-compare .an-pane.active{display:block}
/* ---------- таблицы ---------- */#sec-compare .an-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}#sec-compare table{width:100%;border-collapse:collapse;font-size:13px}#sec-compare th{text-align:left;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--an-muted);padding:0 10px 9px;border-bottom:1px solid var(--an-line);white-space:nowrap;vertical-align:bottom}#sec-compare th.num{text-align:right}#sec-compare th.srt{cursor:pointer;user-select:none}#sec-compare th.srt:hover{color:var(--an-ink)}#sec-compare th.srt .ar{opacity:.28;margin-left:3px}#sec-compare th.srt.on{color:var(--an-gold-2)}#sec-compare th.srt.on .ar{opacity:1}#sec-compare td{padding:9px 10px;border-bottom:1px solid var(--an-line-2);vertical-align:middle}#sec-compare td.num{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--an-num);font-size:12.5px;white-space:nowrap}#sec-compare td.txt{font-variant-numeric:normal;font-family:inherit;font-size:13px}#sec-compare tbody tr:hover td{background:#fafbfd}#sec-compare tr.clickable{cursor:pointer}#sec-compare .an-rank{width:34px;color:var(--an-muted-2);font-size:11.5px;font-variant-numeric:tabular-nums}#sec-compare .an-rank.top{color:var(--an-gold-2);font-weight:700}#sec-compare .an-name{font-weight:600;color:var(--an-ink);display:block;max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#sec-compare .an-name.wide{max-width:560px}#sec-compare .an-sub{font-size:11.5px;color:var(--an-muted-2);margin-top:2px}#sec-compare .an-cat{display:inline-block;padding:2px 8px;border-radius:20px;background:#f2f4f8;color:#5b6472;font-size:11px;font-weight:600;white-space:nowrap}#sec-compare .an-new{display:inline-block;padding:2px 7px;border-radius:20px;background:#eef4ff;color:#2563eb;font-size:10.5px;font-weight:700;margin-left:6px}#sec-compare .an-out{display:inline-block;padding:2px 7px;border-radius:20px;background:#f4f5f7;color:#8a919d;font-size:10.5px;font-weight:700;margin-left:6px}#sec-compare .an-dynbox{display:flex;align-items:center;gap:10px}#sec-compare .an-dynbox .an-cmp{flex:1;min-width:80px}
/* легенда-чипы в шапке карточки графика */#sec-compare .an-lg{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--an-muted);margin-left:4px}#sec-compare .an-lg .dot{width:8px;height:8px;border-radius:3px;display:inline-block}
/* «было → стало»: серый столбик = прошлый период, золотой = текущий, общая шкала по максимуму таблицы.
   Золото длиннее серого — рост, серый торчит справа — падение. */#sec-compare .an-cmp{display:flex;flex-direction:column;gap:5px;min-width:96px;padding:1px 0}#sec-compare .an-cmp i{display:block;height:7px;border-radius:4px;background:#e9edf2;box-shadow:inset 0 0 0 1px rgba(16,24,40,.03);overflow:hidden}#sec-compare .an-cmp i>span{display:block;height:100%;border-radius:4px;min-width:2px}#sec-compare .an-cmp i.p>span{background:#c9d0da}#sec-compare .an-cmp i.c>span{background:linear-gradient(90deg,#7db8e8,#4197e2)}#sec-compare .an-cmp i.c>span.low{background:linear-gradient(90deg,#dca29d,#c0564d)}
/* ---------- фиксированные раскладки (числа выровнены по разрядам) ---------- */#sec-compare table.t-fix{table-layout:fixed}#sec-compare table.t-fix td,#sec-compare table.t-fix th{overflow:hidden;text-overflow:ellipsis}#sec-compare table.t-fix td.txt,#sec-compare table.t-fix td.num{white-space:nowrap}
/* min-width = сумма фиксированных колонок + запас на имя (иначе ФИО схлопывается в «Куз…»):
   филиалы 764+256, менеджеры 810+310, состояния 480+240 */#sec-compare table.t-branches{min-width:1020px}#sec-compare table.t-managers{min-width:1120px}#sec-compare table.t-branches th:nth-child(2),#sec-compare table.t-managers th:nth-child(2){width:auto}#sec-compare table.t-fix .an-name{max-width:100%}#sec-compare table.t-branches th:nth-child(3),#sec-compare table.t-managers th:nth-child(3){width:92px}#sec-compare table.t-branches th:nth-child(4),#sec-compare table.t-managers th:nth-child(4){width:150px}#sec-compare table.t-branches th:nth-child(5),#sec-compare table.t-managers th:nth-child(5){width:150px}#sec-compare table.t-branches th:nth-child(6){width:86px}#sec-compare table.t-managers th:nth-child(6){width:132px}#sec-compare table.t-branches th:nth-child(7),#sec-compare table.t-managers th:nth-child(7){width:252px}#sec-compare table.t-states{min-width:700px}#sec-compare table.t-states th:nth-child(2){width:96px}#sec-compare table.t-states th:nth-child(3){width:150px}#sec-compare table.t-states th:nth-child(4){width:92px}#sec-compare table.t-states th:nth-child(5){width:142px}#sec-compare table.t-products{min-width:1120px}#sec-compare table.t-products th:nth-child(1){width:3%}#sec-compare table.t-products th:nth-child(2){width:31%}#sec-compare table.t-products th:nth-child(3){width:12%}#sec-compare table.t-products th:nth-child(4){width:7.5%}#sec-compare table.t-products th:nth-child(5){width:9.5%}#sec-compare table.t-products th:nth-child(6){width:13%}#sec-compare table.t-products th:nth-child(7), #sec-compare table.t-products th:nth-child(8), #sec-compare table.t-products th:nth-child(9){width:8%}#sec-compare th.dyn{white-space:normal;overflow-wrap:normal}

/* ---------- фильтры товаров ---------- */#sec-compare .an-filters{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:12px}#sec-compare .an-search{display:flex;align-items:center;gap:7px;border:1px solid var(--an-line);background:#fff;border-radius:9px;padding:6px 10px;min-width:220px;flex:1 1 220px;max-width:340px}#sec-compare .an-search svg{width:15px;height:15px;fill:none;stroke:var(--an-muted-2);stroke-width:1.9;stroke-linecap:round}#sec-compare .an-search input{border:0;outline:0;background:none;font:400 13px inherit;color:var(--an-ink);width:100%;font-family:inherit}#sec-compare .an-chips{display:flex;gap:6px;flex-wrap:wrap}#sec-compare .an-chip{border:1px solid var(--an-line);background:#fff;border-radius:20px;padding:5px 11px;font:600 12px inherit;color:var(--an-muted);cursor:pointer;transition:.15s;font-family:inherit}#sec-compare .an-chip:hover{color:var(--an-ink);border-color:#d3d8e0}#sec-compare .an-chip.active{background:var(--an-gold-soft);border-color:#d6e7f7;color:var(--an-gold-2)}#sec-compare .an-count{font-size:11.5px;color:var(--an-muted-2);margin-left:auto;font-variant-numeric:tabular-nums}#sec-compare .an-more{display:block;width:100%;margin-top:10px;padding:9px;border:1px dashed #d8dce3;background:#fbfcfd;border-radius:9px;font:600 12.5px inherit;color:var(--an-muted);cursor:pointer;font-family:inherit}#sec-compare .an-more:hover{color:var(--an-ink);border-color:#c9cfd8;background:#f6f8fa}#sec-compare .an-empty{padding:24px 12px;text-align:center;color:var(--an-muted);font-size:13px}#sec-compare .an-skel{height:14px;border-radius:6px;background:linear-gradient(90deg,#eef1f5 25%,#f7f9fb 37%,#eef1f5 63%);background-size:400% 100%;animation:an-sh 1.3s ease infinite}
@keyframes an-sh{0%{background-position:100% 50%}100%{background-position:0 50%}}
/* ---------- адаптив ---------- */@media(max-width:1180px){#sec-compare .an-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}/* minmax(0,1fr), а не 1fr: иначе таблица с min-width:880px растягивает колонку вместо того, чтобы скроллиться внутри .an-scroll, и страница уезжает вбок */ #sec-compare .an-split{grid-template-columns:minmax(0,1fr)}}
/* скролл-контейнеры и колонки сеток не должны растягиваться содержимым */#sec-compare .an-split>*{min-width:0}#sec-compare .an-scroll{max-width:100%}#sec-compare .an-card{overflow:hidden}@media(max-width:900px){/* на телефоне тулбар не прилипает: иначе он вместе с шапкой съедает четверть экрана */ #sec-compare .an-toolbar{position:static}#sec-compare .an-toolbar.compact #anMeta{display:flex}/* на телефоне ничего не обрезаем и не прячем в горизонтальный скролл: пресеты, табы и переключатели переносятся на след. строку */ #sec-compare .an-seg,#sec-compare .an-tabs{flex-wrap:wrap;overflow:visible}#sec-compare .an-tabs .an-tab{flex:1 1 auto;justify-content:center}/* подписи KPI в одну высоту, иначе карточки в ряду разъезжаются */ #sec-compare .an-kpi .k-lbl{min-height:2.4em;line-height:1.25}/* легенда и переключатель метрики — своей строкой, чтобы не липли к заголовку */ #sec-compare .an-card-h .r{margin-left:0;flex:1 0 100%;justify-content:flex-start;flex-wrap:wrap;gap:8px}#sec-compare .an-lg{margin-left:0}}
/* ---------- на телефоне: имя залипает при горизонтальной прокрутке чисел ---------- */@media(min-width:761px) and (max-width:900px){#sec-compare .an-scroll table.t-branches th:nth-child(1),#sec-compare .an-scroll table.t-branches td:nth-child(1), #sec-compare .an-scroll table.t-managers th:nth-child(1),#sec-compare .an-scroll table.t-managers td:nth-child(1), #sec-compare .an-scroll table.t-products th:nth-child(1),#sec-compare .an-scroll table.t-products td:nth-child(1), #sec-compare .an-scroll table.t-states th:nth-child(1),#sec-compare .an-scroll table.t-states td:nth-child(1){
    position:sticky;left:0;z-index:3;background:#fff}#sec-compare .an-scroll table.t-branches th:nth-child(2),#sec-compare .an-scroll table.t-branches td:nth-child(2), #sec-compare .an-scroll table.t-managers th:nth-child(2),#sec-compare .an-scroll table.t-managers td:nth-child(2), #sec-compare .an-scroll table.t-products th:nth-child(2),#sec-compare .an-scroll table.t-products td:nth-child(2){
    position:sticky;left:34px;z-index:3;background:#fff;box-shadow:inset -1px 0 0 var(--an-line)}#sec-compare .an-scroll table.t-products th:nth-child(1),#sec-compare .an-scroll table.t-products td:nth-child(1){width:34px}#sec-compare .an-scroll table.t-branches tr:hover td:nth-child(1),#sec-compare .an-scroll table.t-branches tr:hover td:nth-child(2), #sec-compare .an-scroll table.t-managers tr:hover td:nth-child(1),#sec-compare .an-scroll table.t-managers tr:hover td:nth-child(2), #sec-compare .an-scroll table.t-products tr:hover td:nth-child(1),#sec-compare .an-scroll table.t-products tr:hover td:nth-child(2), #sec-compare .an-scroll table.t-states tr:hover td:nth-child(1),#sec-compare .an-scroll table.t-states tr:hover td:nth-child(2){
    background:#fafbfd}}
/* ---------- телефон: таблицы становятся карточками, горизонтальной прокрутки нет ---------- */#sec-compare .an-sortbar{display:none}@media(max-width:760px){#sec-compare table.t-cards{display:block;min-width:0;table-layout:auto}#sec-compare table.t-cards thead{display:none}#sec-compare table.t-cards tbody{display:block}#sec-compare table.t-cards tr{display:block;background:#fff;border:1px solid var(--an-line);border-radius:11px;padding:11px 12px;margin:0 0 9px}#sec-compare table.t-cards tr:hover td{background:transparent}#sec-compare table.t-cards td{display:flex;align-items:baseline;justify-content:space-between;gap:12px;width:auto;max-width:none;
    padding:3px 0;border:0;text-align:left;white-space:normal;overflow:visible;font-family:inherit;font-size:12.5px}#sec-compare table.t-cards td.num{text-align:right;font-size:12.5px}#sec-compare table.t-cards td.an-rank{display:none}#sec-compare table.t-cards td[data-l]::before{content:attr(data-l);flex:0 0 auto;color:var(--an-muted);font:600 11.5px/1.4 inherit;letter-spacing:.02em}#sec-compare table.t-cards td[data-l]>span{text-align:right}#sec-compare table.t-cards td.ttl{display:block;padding:0 0 8px;margin-bottom:7px;border-bottom:1px solid var(--an-line-2)}#sec-compare table.t-cards td.ttl::before{display:none}#sec-compare table.t-cards .an-name{max-width:none;white-space:normal;overflow:visible;font-size:13.5px;line-height:1.3}#sec-compare table.t-cards .an-sub{margin-top:3px}#sec-compare table.t-cards td.dyn{display:block}#sec-compare table.t-cards td.dyn::before{display:block;margin-bottom:5px}#sec-compare table.t-cards .an-cat{white-space:normal}#sec-compare .an-sortbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px}#sec-compare .an-sortbar .lb{font:600 11.5px/1.4 inherit;color:var(--an-muted);letter-spacing:.02em}#sec-compare .an-sortbar .an-chip{padding:4px 10px;font-size:11.5px}#sec-compare .an-toolbar{gap:8px;padding:8px}#sec-compare .an-sp{display:none}#sec-compare .an-dates{width:100%}#sec-compare .an-date{flex:1 1 118px;min-width:0}#sec-compare .an-date input{width:100%;min-width:0}#sec-compare .an-dates .sep{display:none}#sec-compare .an-kpi .k-val{font-size:22px}#sec-compare .an-kpi .k-spark{display:none}#sec-compare .an-chart{height:230px}#sec-compare .an-tab .cnt{display:none}#sec-compare .an-search{max-width:none}}@media(max-width:520px){/* на телефоне 2×2, а не четыре карточки подряд: экономит пол-экрана */ #sec-compare .an-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#sec-compare .an-kpi{padding:11px 12px 12px}#sec-compare .an-kpi .k-val{font-size:19px;letter-spacing:-.4px}#sec-compare .an-kpi .k-lbl{font-size:9.5px;letter-spacing:.04em}#sec-compare .an-kpi .k-sub{font-size:11px;gap:6px}#sec-compare .an-meta{font-size:11.5px;gap:6px}}@media(max-width:340px){#sec-compare .an-kpis{grid-template-columns:minmax(0,1fr)}}

/* ---- на телефоне страница не должна скроллиться вбок ---- */@media(max-width:760px){html,body{overflow-x:hidden;overflow-x:clip;max-width:100%}}#sec-compare .an-scroll,#sec-compare .an-tabs,#sec-compare .an-seg{overscroll-behavior-x:contain}

/* ================= «Сравнение»: только этот раздел ================= */
/* у раздела своя закреплённая шапка таблицы, липкий тулбар её перекрывает */#sec-compare .an-toolbar{position:static;align-items:center;margin-bottom:10px}
/* единая высота элементов тулбара */#sec-compare .an-seg button,#sec-compare .an-icon-btn,#sec-compare .an-select, #sec-compare .an-search,#sec-compare .an-date input{height:34px;box-sizing:border-box}#sec-compare .an-seg{padding:3px;align-items:center}#sec-compare .an-search{padding:0 12px;font-weight:500;font-size:12.5px;font-family:inherit;
  border:1px solid var(--an-line);background:#fff;border-radius:9px;color:var(--an-ink);
  min-width:200px;flex:1 1 200px;max-width:320px}#sec-compare .an-search:focus{outline:0;border-color:#d3d8e0}#sec-compare .an-select{border:1px solid var(--an-line);background:#fff;border-radius:9px;padding:0 10px;
  font-weight:600;font-size:12.5px;color:var(--an-ink);font-family:inherit;cursor:pointer;max-width:190px}#sec-compare .an-select:focus{outline:0;border-color:#d3d8e0}#sec-compare .an-chips{align-items:center}
/* строка быстрых пресетов периодов */#sec-compare .cmp-presets{margin:0 0 10px;gap:6px}#sec-compare .cmp-presets .lb{font-size:11.5px;color:var(--an-muted);margin-right:2px}#sec-compare .an-chip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px}#sec-compare .an-sp{flex:1 1 auto}

/* ---------- периоды А и Б: две карточки ---------- */#sec-compare .cmp-pers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:9px}#sec-compare .cmp-per{background:#fff;border:1px solid var(--an-line);border-radius:12px;padding:9px 12px 10px;
  box-shadow:0 1px 2px rgba(16,24,40,.04);border-left:3px solid var(--an-line)}#sec-compare .cmp-per.a{border-left-color:var(--an-gold)}#sec-compare .cmp-per.b{border-left-color:#8494a9}#sec-compare .cmp-per-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:7px}#sec-compare .cmp-per-h .dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}#sec-compare .cmp-per.a .cmp-per-h .dot{background:var(--an-gold)}#sec-compare .cmp-per.b .cmp-per-h .dot{background:#8494a9}#sec-compare .cmp-per-h .nm{font-size:12.5px;font-weight:700;letter-spacing:.02em;color:var(--an-ink);
  text-transform:uppercase}#sec-compare .cmp-per-h .rg{margin-left:auto;font-size:12px;color:var(--an-muted);font-variant-numeric:tabular-nums}#sec-compare .cmp-per-r{display:flex;align-items:center;gap:8px;flex-wrap:wrap}#sec-compare .cmp-dates{margin-left:auto;display:flex;align-items:center;gap:6px}
/* диапазон дат заголовка — по правому краю, чтобы шапка периода тоже стояла по краям */#sec-compare .cmp-per-h .rg{margin-left:auto}#sec-compare .cmp-dates input[type=date]{border:1px solid var(--an-line);background:#fff;border-radius:9px;
  padding:0 8px;font-size:12px;font-family:var(--an-num);color:var(--an-ink);width:126px}#sec-compare .cmp-dates input[type=date]:focus{outline:0;border-color:#d3d8e0}#sec-compare .cmp-dash{color:var(--an-muted-2);font-size:12px}

/* ---------- показатели: карточки-сравнения ----------
   Иерархия: название → изменение (пилюля) → два подписанных значения → итоговая разница.
   Числа моноширинные с табличными цифрами, единицы — уменьшенные и приглушённые. */#sec-compare .cmp-kpis{display:flex;flex-direction:column;gap:8px;margin-bottom:9px}#sec-compare .cmp-kpic{background:#fff;border:1px solid var(--an-line);border-radius:12px;padding:12px 15px;
  box-shadow:0 1px 2px rgba(16,24,40,.04);display:flex;flex-direction:column;justify-content:center;
  gap:11px;flex:1 1 auto;min-width:0;transition:box-shadow .15s,border-color .15s}#sec-compare .cmp-kpic:hover{border-color:#d6dae1;box-shadow:0 5px 16px rgba(16,24,40,.07)}#sec-compare .cmp-kpic-h{display:flex;align-items:center;gap:10px;min-width:0}#sec-compare .cmp-kpic-h .nm{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;
  color:#5f6875;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#sec-compare .cmp-kpic-h .dl{margin-left:auto;flex:0 0 auto}
/* два значения: подпись года под числом, между колонками — вертикальная линия */
/* два значения сходятся к центральному разделителю — так их проще сравнивать */#sec-compare .cmp-kpic-b{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}#sec-compare .cmp-kpic-c{padding-right:18px;min-width:0;text-align:right}#sec-compare .cmp-kpic-c.b{padding-left:18px;padding-right:0;text-align:left;
  border-left:1px solid var(--an-line)}#sec-compare .cmp-kpic-c .val{display:block;font-family:var(--an-num);font-size:21px;font-weight:700;
  color:var(--an-ink);letter-spacing:-.6px;white-space:nowrap;font-variant-numeric:tabular-nums}
/* период Б — вторичный: мельче и тише */#sec-compare .cmp-kpic-c.b .val{font-size:19px;color:#59636f;font-weight:600}
/* подпись периода с цветовой точкой, как у карточек периодов слева */#sec-compare .cmp-kpic-c .per{display:flex;align-items:center;gap:5px;justify-content:flex-end;
  margin-top:5px;font-size:10.5px;font-weight:700;letter-spacing:.06em;color:var(--an-muted)}#sec-compare .cmp-kpic-c.b .per{justify-content:flex-start}#sec-compare .cmp-kpic-c .per i{width:6px;height:6px;border-radius:50%;flex:0 0 auto;
  background:var(--an-gold)}#sec-compare .cmp-kpic-c.b .per i{background:#8b9bb0}
/* итоговая строка разницы */
/* итог сравнения — по оси (под разделителем), а не в углу карточки */#sec-compare .cmp-kpic-f{display:flex;align-items:baseline;justify-content:center;gap:9px;
  border-top:1px solid var(--an-line-2);padding-top:8px;margin-top:1px}#sec-compare .cmp-kpic-f .lb{font-size:11.5px;color:var(--an-muted)}#sec-compare .cmp-kpic-f .d{font-family:var(--an-num);font-size:13px;font-weight:700;
  letter-spacing:-.1px;white-space:nowrap;font-variant-numeric:tabular-nums}#sec-compare .cmp-kpic-f .d.pos{color:var(--an-green)}#sec-compare .cmp-kpic-f .d.neg{color:var(--an-red)}#sec-compare .cmp-kpic-f .d.flat{color:var(--an-muted)}
/* пилюля изменения */#sec-compare .dl{display:inline-block;padding:1px 7px;border-radius:6px;font-weight:700;font-size:11.5px;
  font-variant-numeric:tabular-nums;line-height:1.65;white-space:nowrap}#sec-compare .dl.pos{background:var(--an-green-bg);color:var(--an-green)}#sec-compare .dl.neg{background:var(--an-red-bg);color:var(--an-red)}#sec-compare .dl.flat{background:#f2f4f8;color:#5b6472}
/* ---------- ПК: две колонки — слева выбор периода, справа показатели ---------- */#sec-compare .cmp-top{display:block}#sec-compare .cmp-left{display:block}

/* ---------- сводка в шапке карточки ---------- */#sec-compare .an-sumline{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--an-muted);
  margin-left:auto;align-items:center}#sec-compare .an-sumline b{font-variant-numeric:tabular-nums;color:var(--an-ink);font-weight:600}#sec-compare .an-sumline .nm{color:var(--an-muted-2)}#sec-compare .an-sumline .dl{font-weight:700;font-variant-numeric:tabular-nums}#sec-compare .an-sumline .dl.pos{color:var(--an-green)}#sec-compare .an-sumline .dl.neg{color:var(--an-red)}#sec-compare table.t-cmp{width:100%;border-collapse:collapse}#sec-compare .an-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-right:10px}

/* ---------- таблица: группы колонок А / Б / Δ ---------- */#sec-compare table.t-cmp th.gh-a,#sec-compare table.t-cmp th.gh-b,#sec-compare table.t-cmp th.gh-d{
  text-align:center;font-weight:700;font-size:11px;letter-spacing:.05em;text-transform:uppercase;padding:6px 8px}#sec-compare table.t-cmp th.gh-a{background:var(--an-gold-soft);color:var(--an-gold-2)}#sec-compare table.t-cmp th.gh-b{background:#eef1f5;color:#4b5768}#sec-compare table.t-cmp th.gh-d{background:#f7f8fa;color:var(--an-muted)}#sec-compare th.gh-a,#sec-compare table.t-cmp th.gh-b{border-bottom:1px solid var(--an-line)}#sec-compare th.gh-b,#sec-compare table.t-cmp th.gh-d{border-left:2px solid #fff}#sec-compare table.t-cmp th.sep-b,#sec-compare table.t-cmp td.sep-b{border-left:2px solid #d3c9b4}#sec-compare table.t-cmp th.sep-d,#sec-compare table.t-cmp td.sep-d{border-left:2px solid #d3dae3}#sec-compare table.t-cmp th.ca,#sec-compare table.t-cmp td.ca{background:#fdfaf4}#sec-compare table.t-cmp th.cb,#sec-compare table.t-cmp td.cb{background:#f7f9fb}#sec-compare table.t-cmp th.cd,#sec-compare table.t-cmp td.cd{background:#fbfbfc}#sec-compare table.t-cmp tr:hover td.ca,#sec-compare table.t-cmp tr:hover td.cb, #sec-compare table.t-cmp tr:hover td.cd{background:#f4f6f9}
/* заголовок группы «Изменение»: подпись периода */#sec-compare .cmp-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:11.5px;color:var(--an-muted);margin:0 0 9px}#sec-compare .cmp-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}#sec-compare .cmp-legend i.a{background:var(--an-gold)}#sec-compare .cmp-legend i.b{background:#8494a9}
/* строки-позиции внутри раскрытой категории */#sec-compare tr.cmp-sub td{background:#fbfcfd;border-top:1px solid var(--an-line-2);padding:0}#sec-compare .cmp-nested{padding:2px 6px 8px}#sec-compare .cmp-nested table{min-width:0}#sec-compare tr[data-cat]{cursor:pointer}#sec-compare .cmp-chev{color:var(--an-muted-2);font-size:10px;margin-right:5px}#sec-compare .cmp-axis{color:var(--an-muted-2);margin-right:5px}

/* ---------- таблица: десктоп ---------- */@media(min-width:761px){/* min-width = сумма ширин колонок (196+88+108+88+88+108+88+92+92+92 = 1040): влезает в рабочую область 1440 без горизонтальной прокрутки; скролл остаётся на узких окнах */ /* авто-раскладка: fixed отдавал первой колонке 456px и сжимал числовые до 67px — суммы и дельты обрезались (184 ячейки с переполнением). Ширины ниже — только ориентир. */ #sec-compare table.t-cmp{min-width:1080px;table-layout:auto}#sec-compare table.t-cmp th,#sec-compare table.t-cmp td{padding:8px 9px;font-size:12.5px;line-height:1.35;
    vertical-align:top;overflow-wrap:normal;word-break:normal;hyphens:none}/* шапка — обычные <tr>, поэтому стилизуем все th таблицы, а не thead */ #sec-compare table.t-cmp th{font-size:11.5px;font-weight:600;color:var(--an-muted);letter-spacing:.02em;
    line-height:1.2;vertical-align:bottom;text-align:left;background:#fafbfd;
    border-bottom:1px solid var(--an-line)}#sec-compare table.t-cmp tr+tr td{border-top:1px solid var(--an-line-2)}#sec-compare table.t-cmp td.num,#sec-compare table.t-cmp th.num{text-align:left;font-variant-numeric:tabular-nums}/* ширины включают padding (иначе 10 колонок не влезали и «Сумма»/«Цена» сливались) */ #sec-compare table.t-cmp th,#sec-compare table.t-cmp td{box-sizing:border-box}#sec-compare table.t-cmp th:nth-child(1){width:196px}#sec-compare table.t-cmp th:nth-child(2){width:88px}#sec-compare table.t-cmp th:nth-child(3){width:108px}#sec-compare table.t-cmp th:nth-child(4){width:88px}#sec-compare table.t-cmp th:nth-child(5){width:88px}#sec-compare table.t-cmp th:nth-child(6){width:108px}#sec-compare table.t-cmp th:nth-child(7){width:88px}#sec-compare table.t-cmp th:nth-child(8){width:92px}#sec-compare table.t-cmp th:nth-child(9){width:92px}#sec-compare table.t-cmp th:nth-child(10){width:92px}/* тонкая граница между числами: без неё соседние суммы визуально «склеиваются» */ /* границы между числами: слишком светлая линия не читалась, суммы визуально слипались */ #sec-compare table.t-cmp td.num+td.num,#sec-compare table.t-cmp th.num+th.num{border-left:1px solid #e4e9ef}/* границы групп внутри строки: период А | период Б | изменение */ #sec-compare table.t-cmp td.sep-b,#sec-compare table.t-cmp td.sep-d{border-left:2px solid #d3dae3}/* значение первой колонки не переносим построчно, длинные названия — переносим */ #sec-compare table.t-cmp td:nth-child(1){font-weight:600;color:var(--an-ink)}#sec-compare table.t-cmp td.num{white-space:nowrap}/* короткая таблица филиалов/менеджеров/категорий — свои ширины */ #sec-compare table.t-cmp.t-group{min-width:940px}#sec-compare table.t-cmp.t-group th:nth-child(1){width:260px}#sec-compare table.t-cmp.t-group th:nth-child(2), #sec-compare table.t-cmp.t-group th:nth-child(4){width:120px}#sec-compare table.t-cmp.t-group th:nth-child(3), #sec-compare table.t-cmp.t-group th:nth-child(5){width:100px}#sec-compare table.t-cmp.t-group th:nth-child(6), #sec-compare table.t-cmp.t-group th:nth-child(7){width:110px}/* первая колонка на виду при горизонтальной прокрутке */ #sec-compare table.t-cmp th:nth-child(1), #sec-compare table.t-cmp td:nth-child(1){
    position:sticky;left:0;z-index:3;background:#fff;box-shadow:inset -1px 0 0 var(--an-line)}#sec-compare table.t-cmp th:nth-child(1){background:#fafbfd;z-index:4}#sec-compare table.t-cmp tr:hover td:nth-child(1){background:#fafbfd}#sec-compare tr.cmp-sub td:nth-child(1), #sec-compare tr.cmp-sub th:nth-child(1){position:static;box-shadow:none;background:#fbfcfd}/* вложенная таблица внутри раскрытой категории: первая колонка обычная */ #sec-compare .cmp-nested table.t-cmp th:nth-child(1), #sec-compare .cmp-nested table.t-cmp td:nth-child(1){position:static;box-shadow:none;background:#fff}#sec-compare .cmp-nested table.t-cmp{min-width:1560px}}

/* ---------- телефон: таблица → карточки ---------- */@media(max-width:760px){#sec-compare .an-toolbar{gap:6px;padding:8px;margin-bottom:9px}#sec-compare .an-seg button,#sec-compare .an-select,#sec-compare .an-search{height:30px;font-size:12px}#sec-compare .an-search{max-width:none;flex:1 1 100%}#sec-compare .an-select{flex:1 1 46%;max-width:none}#sec-compare .cmp-pers{grid-template-columns:minmax(0,1fr);gap:8px}#sec-compare .cmp-per{padding:10px 11px}#sec-compare .cmp-per-h .rg{margin-left:0;flex:1 0 100%}#sec-compare .cmp-dates{margin-left:0;flex:1 0 100%}#sec-compare .cmp-dates input[type=date]{flex:1 1 0;min-width:0;width:auto}#sec-compare .cmp-kpic{padding:11px 12px;gap:8px}#sec-compare .cmp-kpic-c .val{font-size:16.5px}#sec-compare .cmp-kpic-c.b .val{font-size:15px}#sec-compare .cmp-kpic-h .nm{font-size:10.5px}#sec-compare .cmp-kpic-c{padding-right:11px}#sec-compare .cmp-kpic-c.b{padding-left:11px}#sec-compare .an-sumline{margin-left:0;flex:1 0 100%;font-size:11.5px;gap:9px}#sec-compare .an-card{padding:12px 12px 13px}#sec-compare .an-card-h h3{font-size:13.5px}}
/* закреплённая шапка таблицы на телефоне не нужна: там карточки */@media(max-width:900px){#sec-compare .pinned-head{display:none !important}}

/* ---------- карточки для телефона (разметка из cmpStack*) ---------- */
/* таблица/карточки переключаются ВЗАИМОИСКЛЮЧАЮЩИМИ медиазапросами:
   обычные правила стояли бы после мобильных с той же специфичностью и перебивали их */@media(min-width:761px){#sec-compare .cmp-table{display:block}#sec-compare .cmp-stack{display:none}}@media(max-width:760px){#sec-compare .cmp-table{display:none}#sec-compare .cmp-stack{display:block}}#sec-compare .cmp-card{background:#fff;border:1px solid var(--an-line);border-radius:12px;padding:11px 12px;
  margin-bottom:8px;box-shadow:0 1px 2px rgba(16,24,40,.04)}#sec-compare .cmp-card[data-cat]{cursor:pointer}#sec-compare .cmp-card .cmp-name{font-weight:600;font-size:13px;line-height:1.35;margin-bottom:9px;color:var(--an-ink)}#sec-compare .cmp-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}#sec-compare .cmp-grid>div{padding:8px 9px;border-radius:9px;background:#fafbfd}#sec-compare .cmp-grid>div:first-child{background:var(--an-gold-soft)}#sec-compare .cmp-h{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--an-muted);
  margin-bottom:4px;font-weight:700}#sec-compare .cmp-v{font-size:12.5px;line-height:1.55;font-variant-numeric:tabular-nums;font-family:var(--an-num)}#sec-compare .cmp-delta{font-size:11.5px;margin-top:9px;border-top:1px solid var(--an-line-2);padding-top:7px;
  color:var(--an-muted);font-variant-numeric:tabular-nums}#sec-compare .cmp-nestedstack{margin-top:9px;border-top:1px solid var(--an-line-2);padding-top:9px}#sec-compare .cmp-nestedstack .cmp-card{background:#fafbfd;margin-bottom:6px;padding:10px 11px;box-shadow:none}#sec-compare .cmp-nestedstack .cmp-card:last-child{margin-bottom:0}#sec-compare .cmp-empty{padding:22px 4px;text-align:center;color:var(--an-muted);font-size:13px}

/* ---------- раскрытие состава заказа («+» у номера): товары и услуги отдельно, без цен ---------- */#sec-montage .mtex-btn{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;
  margin:0 7px 0 0;padding:0;border:1px solid var(--an-line);border-radius:6px;background:#fff;color:var(--an-muted-2,#6b7280);
  font:700 13px/1 inherit;cursor:pointer;vertical-align:middle;transition:.15s}#sec-montage .mtex-btn:hover{border-color:#c4cbd6;background:#f5f7fa;color:var(--an-ink)}#sec-montage .mtex-btn[aria-expanded="true"]{background:#eef2fd;border-color:#cfd9f6;color:#3b45a0}#sec-montage .mtex-btn:focus-visible{outline:2px solid #cfd9f6;outline-offset:1px}#sec-montage table.t-montage tr.mt-open>td:nth-child(1){background:#f4f6fa}#sec-montage table.t-montage tr.mt-exp>td{position:relative;left:auto;z-index:1;padding:0;background:#fbfcfe;
  box-shadow:inset 0 -1px 0 var(--an-line-2);white-space:normal}#sec-montage .mtx{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;padding:12px 13px 14px;box-sizing:border-box;
  position:sticky;left:0}#sec-montage .mtx-col{min-width:0}#sec-montage .mtx-h{display:flex;align-items:center;gap:7px;margin-bottom:7px;font-weight:600;font-size:11px;line-height:1.3;
  letter-spacing:.05em;text-transform:uppercase;color:var(--an-muted)}#sec-montage .mtx-h b{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 5px;
  border-radius:20px;background:#eef1f6;color:var(--an-ink);font-size:11px;font-weight:700;letter-spacing:0;
  font-variant-numeric:tabular-nums}#sec-montage .mtx-list{display:flex;flex-wrap:wrap;gap:5px 6px}#sec-montage .mtx-i{display:inline-flex;align-items:baseline;gap:6px;max-width:100%;padding:3px 9px;
  border:1px solid var(--an-line-2);border-radius:8px;background:#fff;font-size:12px;line-height:1.35;color:var(--an-ink)}#sec-montage .mtx-i .n{overflow-wrap:anywhere}#sec-montage .mtx-i .q{font-variant-numeric:tabular-nums;font-weight:700;font-size:11px;color:#3b45a0}#sec-montage .mtx-none{font-size:12px;color:var(--an-muted)}@media(max-width:760px){#sec-montage table.t-cards tr.mt-exp{margin:-10px 0 9px;padding:11px 12px 12px;border-radius:0 0 11px 11px;background:#fbfcfe}#sec-montage table.t-cards tr.mt-exp>td{display:block;padding:0}#sec-montage .mtx{grid-template-columns:1fr;gap:14px;position:static;padding:0;width:auto !important}#sec-montage .mtex-btn{width:22px;height:22px;font-size:14px;margin-right:8px}}
/* ---------- документы заказа из облака: кнопка в строке и панель со списком файлов ---------- */.mtf-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:3px;
  min-width:19px;height:19px;margin:0 7px 0 0;padding:0 4px;border:1px solid var(--an-line);border-radius:6px;
  background:#fff;color:var(--an-muted-2,#6b7280);cursor:pointer;vertical-align:middle;transition:.15s;line-height:1}.mtf-btn svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.mtf-btn i{font-style:normal;font-size:10.5px;font-weight:700;font-variant-numeric:tabular-nums}.mtf-btn:hover{border-color:#c4cbd6;background:#f5f7fa;color:var(--an-ink)}.mtf-btn[aria-expanded="true"]{background:#eaf6ee;border-color:#cbe7d3;color:#15803d}.mtf-btn.off{opacity:.45;cursor:default}.mtf-btn.off:hover{border-color:var(--an-line);background:#fff;color:var(--an-muted-2,#6b7280)}#sec-montage table.t-montage tr.mt-open-f>td:nth-child(1){background:#f4f6fa}#sec-montage table.t-montage tr.mt-exp.mt-files>td{background:#fbfcfe}.mtf-list{display:flex;flex-direction:column;gap:3px}.mtf-f{display:flex;align-items:baseline;gap:7px;padding:2px 0;font-size:12px;line-height:1.35;min-width:0}.mtf-f:hover{background:#f7f9fb}.mtf-t{flex:0 0 auto;display:inline-block;width:16px;height:15px;border-radius:4px;text-align:center;
  font-size:9.5px;font-weight:700;line-height:15px;letter-spacing:.02em}.mtf-t.t{background:#fdecec;color:#b42318}.mtf-t.i{background:#eef6ff;color:#1b5fa8}.mtf-t.d{background:#f4eefe;color:#6b3fa0}.mtf-t.o{background:#f2f4f8;color:#5b6472}.mtf-t.v{background:#eafaf1;color:#11714a}.mtf-t.a{background:#fff5e8;color:#9a5b00}.mtf-n{color:var(--an-ink);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto}.mtf-n:hover{color:#3b45a0;text-decoration:underline}.mtf-dir{flex:0 0 auto;color:var(--an-muted-2,#98a1ad);font-size:11.5px;white-space:nowrap}.mtf-m{flex:0 0 auto;color:var(--an-muted-2,#98a1ad);font-size:11px;white-space:nowrap}.mtf-dl{flex:0 0 auto;color:var(--an-muted);text-decoration:none;font-size:13px;font-weight:700}.mtf-dl:hover{color:var(--an-ink)}.mtf-dirs{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.mtf-chip{padding:2px 8px;border:1px solid var(--an-line-2);border-radius:20px;background:#f6f7f9;
  font-size:11.5px;color:var(--an-muted)}.mtf-chip.off{opacity:.6}.mtf-foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;padding-top:8px;
  border-top:1px dashed var(--an-line-2);font-size:11.5px;color:var(--an-muted)}.mtf-foot b{color:var(--an-ink)}.mtf-foot a{color:#3b45a0;text-decoration:none}.mtf-foot a:hover{text-decoration:underline}.mtf-acts{display:flex;align-items:center;gap:10px;margin-left:auto}.mtf-reload{border:1px solid var(--an-line);background:#fff;border-radius:7px;padding:2px 9px;cursor:pointer;
  font:600 11.5px inherit;color:var(--an-muted)}.mtf-reload:hover{border-color:#cfd6e0;color:var(--an-ink)}.mtf-hint{color:var(--an-muted-2,#98a1ad)}@media(max-width:760px){.mtf-f{flex-wrap:wrap}.mtf-n{flex:1 1 100%;white-space:normal;overflow-wrap:anywhere}.mtf-m{margin-left:23px}.mtf-acts{margin-left:0;width:100%;justify-content:space-between}}
/* ---------- та же панель документов в других таблицах («Должники») ----------
   Каркас панели (.mtx/.mtx-col/.mtx-h) у «Монтажа» свой (#sec-montage .mtx выше),
   здесь — общие значения для остальных разделов; список файлов (.mtf-*) общий. */.mtx{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;padding:12px 13px 14px;box-sizing:border-box;position:sticky;left:0}.mtx-col{min-width:0}.mtx-h{display:flex;align-items:center;gap:7px;margin-bottom:7px;font-weight:600;font-size:11px;line-height:1.3;
  letter-spacing:.05em;text-transform:uppercase;color:var(--an-muted,#6b7280)}.mtx-h b{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 5px;
  border-radius:20px;background:#eef1f6;color:var(--an-ink,#1f2933);font-size:11px;font-weight:700;letter-spacing:0;
  font-variant-numeric:tabular-nums}.mtx-none{padding:5px 0;color:var(--an-muted-2,#98a1ad);font-size:12px}#sec-debtors table.t-debtors tr.mt-exp>td{padding:0;background:#fbfcfe;white-space:normal;
  box-shadow:inset 0 -1px 0 var(--an-line-2)}#sec-debtors table.t-debtors tr.mt-open-f>td:nth-child(1){background:#f4f6fa}
/* столбец «Заказ» шире на 34px под кнопку документов, «Информация…» на столько же уже — сумма та же */#sec-debtors table.t-debtors th:nth-child(1){width:112px}#sec-debtors table.t-debtors th:nth-child(13){width:216px}@media(max-width:760px){#sec-debtors table.t-cards tr.mt-exp{margin:-9px 0 9px;padding:11px 12px 12px;border-radius:0 0 11px 11px;
    border-top:0;background:#fbfcfe}#sec-debtors table.t-cards tr.mt-exp>td{display:block;padding:0}#sec-debtors table.t-cards tr.mt-exp>td::before{display:none}#sec-debtors .mtx{grid-template-columns:1fr;gap:14px;position:static;padding:0;width:auto !important}}
/* ===== предпросмотр документа/изображения (модальное окно) ===== */.doc-modal{position:fixed;inset:0;z-index:2100;display:none;background:rgba(16,24,40,.86)}#docBody video{display:block;max-width:100%;max-height:74vh;border-radius:10px;background:#000;outline:none}#docBody audio{display:block;width:min(560px,78vw);margin:6px auto 0}.doc-modal.on{display:flex;align-items:center;justify-content:center;padding:16px}#cashModal .doc-box{width:min(860px,96vw);height:auto;max-height:min(88vh,900px)}   /* id-селектор: базовое правило .doc-box иначе перебивает */
/* ===== модалка «В сборке (в изделия)»: документы сборки (клик в раскрытии камня) ===== */#asmModal .doc-box{width:min(1000px,96vw);height:auto;max-height:min(88vh,900px)}.asm-wrap{display:block;align-self:stretch;width:100%;max-height:min(64vh,560px);overflow:auto;background:#fff}.asm-t{width:100%;border-collapse:collapse;font-size:12.5px}.asm-t th{position:sticky;top:0;z-index:1;text-align:left;font-weight:600;color:#6e7178;background:#fbfcfe;
  border-bottom:1px solid #e6e8ec;padding:7px 10px;white-space:nowrap}.asm-t td{border-bottom:1px solid #f0f2f5;padding:7px 10px;vertical-align:top;color:#1f2430}.asm-t tbody tr:hover td{background:#fafbfd}.asm-t td.n{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.asm-d{white-space:nowrap;color:#6e7178;font-size:12px}.asm-doc{white-space:nowrap;font-weight:600}.asm-doc i,.asm-o i{display:block;font-weight:400;font-style:normal;color:#8a8f98;font-size:11.5px}.asm-o b{font-weight:600}.asm-q{display:block;color:#8a8f98;font-size:11.5px}.asm-p{display:block}.asm-none{padding:22px 16px;color:#8a8f98;text-align:center}.asm-warn{color:#b4741a;font-weight:600;cursor:help}.asm-t tr.asm-row-warn td{background:#fffaf0}.asm-note{padding:9px 12px;border-top:1px solid #eef0f4;background:#fbfcfe;color:#6e7178;font-size:11.5px;line-height:1.5}.asm-note .r{display:block;margin-top:3px;color:#8a8f98}.asm-sum{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:baseline}.asm-sum b{font-size:14px}.asm-sum .ok{color:#1f7a3d}.asm-sum .bad{color:#b3312a}.asm-sum .cm{color:#8a8f98}
/* узкий экран: документы карточками (шесть колонок на телефоне не читаются) */.asm-cards{display:block;padding:8px}.asm-card{border:1px solid #e6e8ec;border-radius:10px;padding:9px 11px;margin-bottom:8px;background:#fff}.asm-card.warn{border-color:#f0d9a8;background:#fffaf0}.asm-c-top{display:flex;gap:10px;align-items:baseline;justify-content:space-between}.asm-c-top b{font-size:13.5px}.asm-c-q{font-weight:700;white-space:nowrap;color:#1f2430}.asm-c-m{color:#6e7178;font-size:11.5px;margin:2px 0 5px}.asm-c-r{font-size:12px;color:#1f2430;margin-top:2px}.asm-c-r i{font-style:normal;color:#8a8f98;margin-right:4px}@media (max-width:760px){.asm-t th:nth-child(4),.asm-t td:nth-child(4){display:none}/* заказ на производство — на узком экране прячем */ .asm-t th,.asm-t td{padding:6px 7px}}.cash-chips{display:flex;flex-wrap:wrap;gap:6px;padding:9px 12px;border-bottom:1px solid var(--line,#e6e8ec);background:#fbfcfe}.cash-chips button{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border:1px solid #e2e6ec;border-radius:14px;background:#fff;font:inherit;font-size:12px;color:#4a4d52;cursor:pointer;white-space:nowrap}.cash-chips button b{color:#1f2430}.cash-chips button:hover{border-color:#cfd6e0;background:#fafbfd}.cash-chips button.on{border-color:#4197e2;background:#fdf7ee;color:#2f7fc4}.cash-chips button.on b{color:#2f7fc4}.cash-chips button[disabled]{opacity:.55;cursor:default}.cash-list::-webkit-scrollbar{width:10px}.cash-list::-webkit-scrollbar-thumb{background:#d3d8e0;border-radius:6px;border:3px solid #fff}.cash-list::-webkit-scrollbar-track{background:#fff}#cmFoot .cf-slice{color:#8a8f98}@media (max-width:760px){.cash-list{padding-bottom:22px}}.cash-find{display:flex;gap:6px;align-items:center;padding:0 18px 9px;background:#fbfcfe;border-bottom:1px solid #e6e8ec}.cash-find input{flex:1;height:30px;padding:0 10px;border:1px solid #e2e6ec;border-radius:8px;font:inherit;font-size:12.5px;color:#1f2430;background:#fff;min-width:0}.cash-find input:focus{outline:none;border-color:#4197e2;box-shadow:0 0 0 3px rgba(65,151,226,.12)}.cash-find button{display:none;flex:0 0 auto;width:28px;height:28px;border:1px solid #e2e6ec;border-radius:8px;background:#fff;color:#6e7178;cursor:pointer;font-size:15px;line-height:1}.cash-find.on button{display:block}.cash-list{display:block;align-self:stretch;width:100%;max-height:min(62vh,520px);overflow-y:auto;overflow-x:hidden;background:#fff;padding-bottom:14px;scrollbar-width:thin;scrollbar-color:#c9ced6 transparent}.cash-row{display:grid;grid-template-columns:86px 1fr auto;gap:10px;align-items:baseline;padding:9px 18px;border-bottom:1px solid #f1f3f6;font-size:13px}.cash-row:hover{background:#fafbfd}.cash-row.tr{background:#f7f8fa}.cash-row .d{color:#6e7178;font-variant-numeric:tabular-nums;white-space:nowrap}.cash-row .t b{font-weight:600}.cash-row .t .k{display:inline-block;margin-left:7px;padding:1px 8px;border-radius:9px;background:#eef1f7;color:#3d4757;font-size:11.5px;font-weight:500;vertical-align:1px;overflow-wrap:anywhere}.cash-row .t .k-s{background:#e8f0fe;color:#1d4ed8}.cash-row .t .n{display:block;color:#1f2430;font-size:12.5px;margin-top:3px;overflow-wrap:anywhere}.cash-row .t .m{display:block;color:#8a8f98;font-size:11.5px;margin-top:2px;overflow-wrap:anywhere}.cash-row .s{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}.cash-row .s.in{color:#15803d}.cash-row .s.out{color:#b42318}.cash-sums{display:flex;flex-wrap:wrap;gap:14px;padding:9px 12px;border-top:1px solid var(--line,#e6e8ec);background:#fbfcfe;font-size:12.5px;color:#4a4d52}.cash-sums b{color:#1f2430}.cm-cell{border:0;background:none;padding:2px 4px;margin:-2px -4px;font:inherit;color:inherit;cursor:pointer;border-bottom:1px dashed rgba(110,113,120,.45);border-radius:3px}.cm-cell:hover{background:#f2f6ff;border-bottom-color:#6e7178}.cm-none{padding:16px 12px;color:#6e7178;font-size:13px}@media (max-width:760px){.cash-box{width:100vw}.cash-chips{padding:8px 10px}.cash-row{display:block;padding:9px 10px;font-size:12.5px}.cash-row .d{display:block;margin-bottom:2px}.cash-row .t{display:block}.cash-row .s{display:block;text-align:left;margin-top:3px;font-size:13.5px}}.doc-box{background:#fff;border-radius:14px;box-shadow:0 24px 60px rgba(16,24,40,.5);width:min(1180px,100%);
  height:min(860px,100%);display:flex;flex-direction:column;overflow:hidden}.doc-head{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line,#e6e8ec)}.doc-name{font-weight:600;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.doc-sub{color:var(--muted,#6b7280);font-weight:400;font-size:12px;white-space:nowrap}.doc-tools{display:flex;align-items:center;gap:6px;margin-left:auto;flex:0 0 auto}.doc-tbtn{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 10px;
  border:1px solid var(--line,#e6e8ec);background:#fff;color:var(--ink,#1f2933);border-radius:8px;cursor:pointer;
  font:600 12px inherit;text-decoration:none;white-space:nowrap}.doc-tbtn:hover{border-color:#cfd6e0;background:#fafbfd}.doc-tbtn[disabled]{opacity:.4;cursor:default}.doc-tbtn.doc-close{border-color:#f0d5d2;color:#b42318}.doc-tbtn.doc-close:hover{background:#fef4f3;border-color:#e9c3bf}.doc-body{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;background:#f4f6f9;position:relative}.doc-body img{max-width:100%;max-height:100%;display:block;object-fit:contain}.doc-body iframe{width:100%;height:100%;border:0;background:#fff}.doc-body .doc-load{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:#f4f6f9;color:var(--muted,#6b7280);font-size:13px}.doc-msg{max-width:520px;padding:26px;text-align:center;color:var(--muted,#6b7280);font-size:13px;line-height:1.5}.doc-msg b{display:block;color:var(--ink,#1f2933);font-size:14px;margin-bottom:6px}.doc-msg .doc-dl{display:inline-block;margin-top:12px;padding:7px 14px;border:1px solid var(--accent,#4197e2);
  background:var(--accent,#4197e2);color:#fff;border-radius:8px;text-decoration:none;font-weight:600;font-size:12.5px}.doc-nav{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:56px;display:flex;align-items:center;
  justify-content:center;border:1px solid var(--line,#e6e8ec);background:rgba(255,255,255,.9);border-radius:10px;
  cursor:pointer;font:700 20px/1 inherit;color:var(--muted,#6b7280)}.doc-nav:hover{background:#fff;color:var(--ink,#1f2933)}.doc-nav.l{left:10px}.doc-nav.r{right:10px}.doc-nav[disabled]{display:none}.doc-foot{display:flex;gap:14px;align-items:center;padding:7px 12px;border-top:1px solid var(--line,#e6e8ec);
  font-size:11.5px;color:var(--muted,#6b7280)}.doc-foot .r{margin-left:auto}@media(max-width:760px){.doc-modal.on{padding:0}.doc-box{border-radius:0;height:100%;width:100%}.doc-head{padding:8px 10px;flex-wrap:wrap}.doc-name{font-size:12.5px;flex:1 1 100%}.doc-tools{margin-left:0;width:100%;justify-content:space-between}.doc-tbtn{height:32px}.doc-foot{flex-wrap:wrap;gap:6px}.doc-nav{width:40px;height:64px}}
/* ===== Экран входа в дашборд ===== */.auth-gate{position:fixed;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(1200px 600px at 50% 0%,#1b2434 0%,#131a26 45%,#0d131c 100%);
  padding:calc(18px + env(safe-area-inset-top)) 18px calc(18px + env(safe-area-inset-bottom));overflow:auto}.auth-gate.off{display:none}
/* одна собранная карточка по центру: брендовая половина + половина с формой */.ag-stage{display:grid;grid-template-columns:1fr;width:min(820px,100%);border-radius:16px;overflow:hidden;
  box-shadow:0 30px 70px rgba(5,10,20,.5)}.ag-brand{display:flex;flex-direction:column;gap:12px;padding:28px 26px;
  background:linear-gradient(160deg,#1b2434 0%,#0A1322 60%,#070E1A 100%);color:var(--side-ink)}.ag-brand .ag-logo-img{height:110px;width:auto;margin:0 0 16px;display:block;align-self:flex-start}.ag-bs{font-size:12.5px;margin-top:2px}.ag-foot{margin-top:auto;padding-top:14px;font-size:11.5px;color:#8a94a3;line-height:1.5}.ag-panel{background:var(--card);padding:28px 26px 24px}.ag-title{font-weight:700;font-size:16px;color:var(--ink)}.ag-sub{color:var(--muted);font-size:12.5px;margin-top:5px}.ag-form{margin-top:16px}.ag-field{display:block;margin-bottom:12px}.ag-field span{display:block;font-size:11.5px;font-weight:600;line-height:1.3;font-family:inherit;color:var(--muted);letter-spacing:.02em;margin-bottom:5px}
/* 16px: на iPhone поле с 14px браузер само увеличивал при фокусе */.ag-field input{width:100%;height:44px;padding:0 12px;border:1px solid #d8dee8;border-radius:10px;background:#fff;
  font-size:16px;font-family:inherit;color:var(--ink);box-sizing:border-box}.ag-field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(65,151,226,.14)}.ag-pw{position:relative;display:block}.ag-pw input{padding-right:46px}.ag-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;
  background:transparent;cursor:pointer;color:var(--muted);display:flex;align-items:center;justify-content:center;
  border-radius:8px}.ag-eye svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.ag-eye:hover{background:var(--bg);color:var(--ink)}.ag-eye.on{color:var(--accent-2)}.ag-caps{margin-top:5px;font-size:11.5px;color:#92400e}.ag-btn{width:100%;height:44px;margin-top:6px;border:0;border-radius:10px;background:var(--accent);color:#fff;
  font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s}.ag-btn:hover{background:var(--accent-2)}.ag-btn:disabled{opacity:.6;cursor:default}.ag-err{margin-top:12px;padding:9px 11px;border-radius:9px;background:#fef4f3;border:1px solid #f0d5d2;
  color:#b42318;font-size:12.5px;line-height:1.45}.ag-eye:focus-visible,.ag-btn:focus-visible{outline:2px solid #bcd9f2;outline-offset:1px}@media(min-width:900px){.ag-stage{grid-template-columns:minmax(0,360px) minmax(0,460px)}.ag-brand{padding:32px 30px}.ag-panel{padding:32px 30px 28px}}@media(max-width:760px){.ag-stage{width:min(420px,100%)}.ag-brand{padding:20px 20px 16px}.ag-brand .ag-logo-img{height:64px}.ag-foot{display:none}.ag-panel{padding:20px 18px 18px}}@media(prefers-reduced-motion:reduce){.auth-gate *{transition:none}}

/* ===== Пользователь в сайдбаре ===== */.sb-user{display:flex;align-items:center;gap:9px;padding:8px 9px;border:1px solid var(--line,#e6e8ec);
  border-radius:10px;background:#fff;margin-bottom:7px}.sb-ava{flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:#eef2fd;color:#3b45a0;
  display:flex;align-items:center;justify-content:center;font:700 12px inherit}.sb-uinfo{min-width:0}.sb-uname{font-weight:600;font-size:12.5px;color:var(--ink,#1f2933);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-urole{font-size:11px;color:var(--muted,#6b7280);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-actions{display:flex;gap:6px}.sb-act{flex:1 1 auto;height:28px;padding:0 8px;border:1px solid var(--line,#e6e8ec);background:#fff;border-radius:8px;
  font:600 11.5px inherit;color:var(--muted,#6b7280);cursor:pointer}.sb-act:hover{border-color:#cfd6e0;color:var(--ink,#1f2933)}.sb-note{margin-top:9px;font-size:10.5px;color:var(--muted-2,#98a1ad);line-height:1.4}body.sb-collapsed .sb-user,body.sb-collapsed .sb-actions,body.sb-collapsed .sb-note{display:none}

/* ===== Настройки: вкладки и карточки ===== */#sec-settings .an-btn.acc{background:#4197e2;border-color:#4197e2;color:#fff}#sec-settings .an-btn.acc:hover{background:#2b7ac1;border-color:#2b7ac1}.dp-tabs{display:flex;flex-wrap:wrap;gap:6px;width:100%}.dp-tabs button{height:32px;padding:0 14px;border:1px solid var(--an-line,#e4e7ec);background:#fff;border-radius:9px;
  font:600 12.5px inherit;color:var(--an-muted,#6b7280);cursor:pointer}.dp-tabs button:hover{border-color:#cfd6e0;color:var(--an-ink,#1f2933)}.dp-tabs button.active{background:#f6f2ea;border-color:#e3d6bd;color:#2f7fc4}.dp-pane{display:none}.dp-pane.active{display:block}.usr-who{display:flex;align-items:baseline;gap:7px;min-width:0}.usr-who b{white-space:nowrap}.usr-me{display:inline-block;padding:1px 6px;border-radius:20px;background:#eef2fd;color:#3b45a0;font:600 10px inherit}.usr-login{color:var(--an-muted,#6b7280);font-size:11.5px}.usr-staff{display:block;color:var(--an-muted-2,#98a1ad);font-size:11px;margin-top:2px}.usr-acts{display:flex;flex-wrap:wrap;gap:6px}.usr-act{height:26px;padding:0 9px;border:1px solid var(--an-line,#e4e7ec);background:#fff;border-radius:7px;
  font:600 11.5px inherit;color:var(--an-muted,#6b7280);cursor:pointer;white-space:nowrap}.usr-act:hover{border-color:#cfd6e0;color:var(--an-ink,#1f2933)}.usr-act.danger:hover{border-color:#eec7c3;background:#fef4f3;color:#b42318}.usr-act[disabled]{opacity:.45;cursor:default}.st-empty{padding:22px 4px;text-align:center;color:var(--an-muted,#6b7280);font-size:13px}.st-pwbox{display:flex;align-items:center;gap:9px;margin-top:12px;padding:11px 13px;border:1px dashed #d8dee8;
  border-radius:10px;background:#fafbfd}.st-pwbox code{flex:1 1 auto;font:600 15px/1.3 ui-monospace,Menlo,Consolas,monospace;color:#1f2933;letter-spacing:.04em;
  overflow-wrap:anywhere}.st-audit{font-size:12px;color:var(--an-muted,#6b7280)}.st-audit .row{display:flex;gap:10px;padding:4px 0;border-bottom:1px solid var(--an-line-2,#f1f3f6)}.st-audit .row:last-child{border-bottom:0}.st-audit .ts{flex:0 0 118px;color:var(--an-muted-2,#98a1ad);font-variant-numeric:tabular-nums}.st-audit .lg{flex:0 0 130px;color:var(--an-ink,#1f2933);font-weight:600}.st-audit .ac{flex:0 0 140px}
/* выпадающий список сотрудников 1С в модалке */.st-picker{position:relative}.st-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:20;max-height:250px;overflow:auto;
  background:#fff;border:1px solid var(--line,#e6e8ec);border-radius:10px;box-shadow:0 12px 30px rgba(16,24,40,.16);display:none}.st-list.on{display:block}.st-list .it{padding:7px 10px;cursor:pointer;border-bottom:1px solid #f4f6f9;font-size:12.5px;color:var(--ink,#1f2933)}.st-list .it:last-child{border-bottom:0}.st-list .it:hover,.st-list .it.sel{background:#f7f9fc}.st-list .it .m{display:block;color:var(--muted,#6b7280);font-size:11px;margin-top:1px}.st-list .none{padding:9px 10px;color:var(--muted,#6b7280);font-size:12px}.st-chip{display:inline-block;padding:1px 7px;border-radius:20px;background:#f2f4f8;color:#5b6472;font:600 10.5px inherit}.st-chip.ok{background:#eaf6ee;color:#15803d}.st-chip.warn{background:#fdf3e6;color:#a35c00}.st-roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:4px}.st-role{border:1px solid var(--line,#e6e8ec);border-radius:10px;padding:9px 10px;cursor:pointer;background:#fff}.st-role:hover{border-color:#cfd6e0}.st-role.sel{border-color:#4197e2;background:#fdfaf4;box-shadow:0 0 0 3px rgba(65,151,226,.12)}.st-role b{display:block;font-size:12.5px;color:var(--ink,#1f2933)}.st-role span{display:block;font-size:11px;color:var(--muted,#6b7280);margin-top:3px;line-height:1.35}@media(max-width:760px){.st-roles{grid-template-columns:1fr}.sb-user{display:none}.sb-actions .sb-act{height:32px}.st-pwbox{flex-wrap:wrap}.st-pwbox code{flex:1 1 100%;font-size:14px}}
/* ===== Модалки «Настроек»: пользователь и пароль ===== */.dp-modal{position:fixed;inset:0;z-index:2200;display:none;background:rgba(16,24,40,.6)}.dp-modal.on{display:flex;align-items:center;justify-content:center;padding:16px}.dp-box{background:#fff;border-radius:14px;box-shadow:0 24px 60px rgba(16,24,40,.45);width:min(560px,100%);
  max-height:min(90vh,780px);display:flex;flex-direction:column;overflow:hidden}.dp-head{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line,#e6e8ec)}.dp-title{font-weight:600;font-size:14.5px;color:var(--ink,#1f2933)}.dp-sub{color:var(--muted,#6b7280);font-size:12px;margin-top:2px}.dp-body{padding:14px;overflow:auto;flex:1 1 auto;min-height:0}.dp-foot{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:11px 14px;border-top:1px solid var(--line,#e6e8ec);background:#fbfcfe}.dp-foot>*{min-width:0}.dp-hint{margin-top:8px;padding-top:7px;border-top:1px dashed var(--line,#e6e8ec);font-size:12px;line-height:1.45;color:var(--muted,#6e7178);text-wrap:pretty}.dp-hint+.dp-hint{margin-top:5px;padding-top:0;border-top:0}.dp-hint b{color:var(--txt,#1f2430);font-weight:600}.dp-toggle{display:flex;align-items:center;gap:6px;width:100%;margin:0;padding:7px 0 1px;border:0;border-top:1px dashed var(--line,#e6e8ec);background:none;font:inherit;font-size:12px;line-height:1.3;color:var(--muted,#6e7178);text-align:left;cursor:pointer}.dp-toggle:hover{color:var(--txt,#1f2430)}.dp-toggle .dp-caret{margin-left:auto;white-space:nowrap;opacity:.75}.dp-sub2{margin-top:7px}.dp-recon{margin-top:7px;padding-top:6px;border-top:1px dashed var(--line,#e6e8ec)}.dp-recon .ln{display:flex;gap:10px;justify-content:space-between;align-items:baseline;font-size:12px;line-height:1.55;color:var(--muted,#6e7178);white-space:nowrap}.dp-recon .ln b{color:var(--txt,#1f2430);font-weight:600;font-variant-numeric:tabular-nums}.dp-tiplist{margin:7px 0 8px;padding-left:0;list-style:none}.dp-tiplist li{position:relative;margin:0 0 6px;padding-left:13px;color:var(--muted,#6e7178)}.dp-tiplist li:before{content:"•";position:absolute;left:2px;color:var(--muted,#98a1ad)}.dp-recon .ln.mut{margin-top:4px;padding-top:4px;border-top:1px solid var(--line,#e6e8ec)}
/* промежуточный итог столбика расшифровки («= сальдо по принятым и отгруженным») */.dp-recon .ln.sub{margin-top:4px;padding-top:4px;border-top:1px solid var(--line,#e6e8ec);color:var(--txt,#1f2430)}.dp-recon .ln.sub b{font-weight:700}#dashCards .dp-row[title], #dashCards .dp-recon .ln[title], #dashCards .dp-toggle[title]{cursor:help}#dashCards .dp-recon .ln[title] span{text-decoration:underline dotted rgba(110,113,120,.45);text-underline-offset:3px}.dp-foot .r{margin-left:auto}.dp-field{margin-bottom:12px}.dp-field>span{display:block;font:600 11.5px inherit;color:var(--muted,#6b7280);margin-bottom:5px;letter-spacing:.02em}.dp-input,.dp-select{width:100%;height:38px;padding:0 10px;border:1px solid #d8dee8;border-radius:9px;background:#fff;
  font:13.5px inherit;color:var(--ink,#1f2933);box-sizing:border-box}.dp-input:focus,.dp-select:focus{outline:none;border-color:#4197e2;box-shadow:0 0 0 3px rgba(65,151,226,.14)}.dp-row{display:grid;grid-template-columns:1fr 1fr;gap:11px}.dp-err{margin-top:4px;padding:8px 10px;border-radius:8px;background:#fef4f3;border:1px solid #f0d5d2;color:#b42318;font-size:12.5px}.dp-ok{margin-top:4px;padding:8px 10px;border-radius:8px;background:#f2f9f4;border:1px solid #cfe7d7;color:#15803d;font-size:12.5px}.dp-mut{color:var(--muted,#6b7280);font-size:11.5px;line-height:1.45;margin-top:5px}.dp-gen{height:38px;padding:0 12px;border:1px solid var(--line,#e6e8ec);background:#fff;border-radius:9px;cursor:pointer;
  font:600 12px inherit;color:var(--muted,#6b7280);white-space:nowrap}.dp-gen:hover{border-color:#cfd6e0;color:var(--ink,#1f2933)}.dp-pwrow{display:flex;gap:8px;align-items:center}.dp-pwrow .dp-input{flex:1 1 auto}@media(max-width:760px){.dp-modal.on{padding:10px}.dp-row{grid-template-columns:1fr}.dp-box{max-height:94vh}.dp-foot{flex-wrap:wrap}.dp-pwrow{flex-wrap:wrap}.dp-pwrow .dp-input{flex:1 1 100%}}
/* ===== Настройки: матрица «роль × разделы» ===== */.st-seclist{display:grid;grid-template-columns:repeat(auto-fill,minmax(228px,1fr));gap:7px}.st-sec{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid var(--line,#e6e8ec);
  border-radius:9px;background:#fff;cursor:pointer}.st-sec:hover{border-color:#cfd6e0}.st-sec.on{border-color:#4197e2;background:#fdfaf4;box-shadow:0 0 0 3px rgba(65,151,226,.10)}.st-sec.dis{opacity:.45;cursor:not-allowed}.st-sec b{font-size:12.5px;color:var(--ink,#1f2933)}.st-sec span{font-size:11px;color:var(--muted,#6b7280);line-height:1.35}.st-rolecard{border:1px solid var(--line,#e6e8ec);border-radius:12px;padding:11px 12px;margin-bottom:11px;background:#fff}.st-rolecard.sys{background:#fcfcfd}.st-rolehead{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;margin-bottom:9px}.st-rolehead .t{font-weight:600;font-size:13.5px;color:var(--ink,#1f2933)}.st-rolehead .slug{font:600 10.5px ui-monospace,Menlo,Consolas,monospace;color:var(--muted-2,#98a1ad);
  background:#f2f4f8;border-radius:20px;padding:1px 7px}.st-rolehead .cnt{color:var(--muted,#6b7280);font-size:11.5px}.st-rolehead .acts{margin-left:auto;display:flex;gap:6px}.st-roleinputs{display:grid;grid-template-columns:1fr 2fr;gap:9px;margin-bottom:9px}.st-roleinputs label{display:block}.st-roleinputs span{display:block;font:600 11px inherit;color:var(--muted,#6b7280);margin-bottom:4px}.st-roleinputs input{width:100%;height:34px;padding:0 9px;border:1px solid #d8dee8;border-radius:8px;font:12.5px inherit;
  color:var(--ink,#1f2933);box-sizing:border-box}.st-ownrow{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--an-line-2,#f1f3f6);font-size:12.5px}.st-ownrow:last-child{border-bottom:0}.st-ownrow span{color:var(--an-muted,#6b7280);font-size:11.5px}.st-ownrow .usr-act{margin-left:auto}@media(max-width:760px){.st-ownrow{flex-wrap:wrap;gap:3px 9px}.st-ownrow .usr-act{margin-left:0;width:100%;height:30px}}.st-roleinputs input:focus{outline:none;border-color:#4197e2;box-shadow:0 0 0 3px rgba(65,151,226,.13)}@media(max-width:760px){.st-seclist{grid-template-columns:1fr}.st-roleinputs{grid-template-columns:1fr}.st-rolehead .acts{margin-left:0;width:100%}.st-rolehead .acts .usr-act{flex:1 1 auto;height:30px}}

/* ===== Кнопка «Показать ещё» для таблиц (общая для всех разделов) ===== */.tbl-more{display:block;width:100%;margin-top:10px;padding:9px;border:1px dashed #d8dce3;background:#fbfcfd;
  border-radius:9px;color:#5b6472;cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:600;line-height:1.2;
  transition:.15s}.tbl-more:hover{color:#1f2933;border-color:#c9cfd8;background:#f6f8fa}@media(max-width:760px){.tbl-more{font-size:12px;padding:8px}}

/* ===== Настройки → Синхронизация: расписание по разделам ===== */
/* ⚠️ ГЛАВНАЯ ЛОВУШКА ЭТОГО ПРОЕКТА (наступил 14.09.2026): SVG без явных width/height
   разворачивается в 300×150 и заливается чёрным (fill по умолчанию), потому что anIcon()
   отдаёт только viewBox. Новые контексты иконок надо закрывать правилом с достаточной
   специфичностью: правило секции по id перебивает общие `.an-kpi .k-lbl svg`. */#sec-settings svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.9;
  stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}#sec-settings .an-btn svg,#sec-settings .an-ic svg{width:14px;height:14px;stroke:currentColor}#sec-settings .an-search svg{width:15px;height:15px;fill:none;stroke:var(--an-muted-2)}#sec-settings .an-kpi .k-lbl svg{width:13px;height:13px;fill:none;stroke:var(--an-muted-2);stroke-width:1.8}#sec-settings .syc-name svg{width:14px;height:14px;fill:none;stroke:#4a4d52;stroke-width:1.9;vertical-align:-2px}#sec-settings table.t-sync{width:100%;border-collapse:collapse;table-layout:fixed}#sec-settings table.t-sync th{text-align:left;font:600 11.5px inherit;letter-spacing:.02em;color:var(--an-muted,#6b7280);
  padding:8px 9px;border-bottom:1px solid var(--an-line,#e4e7ec);white-space:nowrap}#sec-settings table.t-sync td{padding:11px 9px;font-size:13px;vertical-align:top;border-top:1px solid var(--an-line-2,#f1f3f6)}#sec-settings table.t-sync tbody tr:hover td{background:#fafbfd}#sec-settings table.t-sync th:nth-child(1){width:31%}#sec-settings table.t-sync th:nth-child(3){width:130px}#sec-settings table.t-sync th:nth-child(4){width:130px}#sec-settings table.t-sync th:nth-child(5){width:118px}#sec-settings .syc-name b{display:flex;align-items:center;gap:6px;font-size:13.5px;color:var(--an-ink,#1f2933)}#sec-settings .syc-about{display:block;margin-top:3px;font-size:12px;line-height:1.5;color:var(--an-muted,#6b7280)}#sec-settings .syc-takes{display:inline-block;margin-top:5px;padding:1px 7px;border-radius:20px;background:#f2f4f8;
  color:#5b6472;font:600 10.5px inherit}#sec-settings .syc-live{margin-left:6px;padding:1px 8px;border-radius:20px;background:#e9f6ee;color:#0f7a3d;
  font:600 10.5px inherit;vertical-align:middle}#sec-settings .syc-chips{display:flex;flex-wrap:wrap;gap:6px}#sec-settings .syc-iv{border:1px solid var(--an-line,#e4e7ec);background:#fff;border-radius:8px;padding:4px 9px;
  font:600 12px inherit;color:#4a4d52;cursor:pointer;transition:.15s;font-family:inherit;white-space:nowrap}#sec-settings .syc-iv:hover{border-color:#cfd6e0;background:#fafbfc}#sec-settings .syc-iv.on{background:#4197e2;border-color:#4197e2;color:#fff}#sec-settings .syc-iv.off.on{background:#fdecea;border-color:#efc3bd;color:#b3261e}#sec-settings .syc-iv[disabled]{opacity:.55;cursor:default}#sec-settings .syc-hours{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px;align-items:center}#sec-settings .syc-hours .lb{font-size:11.5px;color:var(--an-muted,#6b7280);margin-right:2px}#sec-settings .syc-hours .syc-iv{padding:3px 7px;font:600 11.5px var(--an-num,monospace)}#sec-settings .syc-when{font:600 12.5px var(--an-num,ui-monospace,monospace);color:var(--an-ink,#1f2933);white-space:nowrap}#sec-settings .syc-sub{display:block;margin-top:3px;font-size:11.5px;color:var(--an-muted-2,#98a1ad)}#sec-settings .syc-run{border:1px solid var(--an-line,#e4e7ec);background:#fff;border-radius:9px;padding:6px 11px;
  font:600 12px inherit;color:var(--an-ink,#1f2933);cursor:pointer;font-family:inherit;white-space:nowrap;transition:.15s}#sec-settings .syc-run:hover{border-color:#d3d8e0;background:#fafbfc}#sec-settings .syc-run[disabled]{opacity:.55;cursor:default}#sec-settings .syc-run.loading{background:#f2f4f8;color:#98a1ad}#sec-settings .syc-hint{margin-top:10px;font-size:12px;line-height:1.55;color:var(--an-muted,#6b7280)}@media(max-width:760px){#sec-settings table.t-sync{min-width:0}#sec-settings table.t-sync td{padding:0 0 9px}#sec-settings .syc-chips{margin-top:2px}#sec-settings .syc-run{width:100%;height:32px}#sec-settings .syc-hours .lb{flex:0 0 100%}}
/* ===== Настройки: базовые стили секции ===== */
/* 1) переменные палитры: у этой секции не было своего блока --an-*, а правила .an-search/.an-btn/
      .an-kpi/.an-note используют var(--an-*) без запасного значения — рамки и цвета просто пропадали */#sec-settings{--an-line:#e4e7ec; --an-line-2:#f1f3f6; --an-muted:#6b7280; --an-muted-2:#6b7280;
  --an-ink:#1f2933; --an-gold:#4197e2; --an-gold-2:#2b7ac1; --an-gold-soft:#faf4e9;
  --an-green:#0f7a3d; --an-green-bg:#e9f6ee; --an-red:#b3261e; --an-red-bg:#fdecea;
  --an-num:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
/* 2) тулбар: без display:flex кнопки и поиск складывались в колонку */#sec-settings .an-toolbar{position:sticky;top:var(--an-top,0);z-index:9;display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(8px);border:1px solid var(--an-line);border-radius:12px;
  padding:8px 11px;margin-bottom:10px;box-shadow:0 1px 2px rgba(16,24,40,.05)}#sec-settings .an-toolbar .dp-tabs{flex:0 0 auto}#sec-settings .an-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--an-line);background:#fff;
  border-radius:9px;padding:7px 12px;font-weight:600;font-size:12.5px;color:var(--an-ink);cursor:pointer;font-family:inherit;
  transition:.15s;white-space:nowrap}#sec-settings .an-btn:hover{border-color:#d3d8e0;background:#fafbfc}#sec-settings .an-btn.acc{background:#4197e2;border-color:#4197e2;color:#fff}#sec-settings .an-btn.acc:hover{background:#2b7ac1;border-color:#2b7ac1}#sec-settings .an-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px}#sec-settings .an-kpi .k-val{font-family:var(--an-num);letter-spacing:-1px}
/* счётчики в шапках карточек: разделяем точкой, а не только отступом */#sec-settings .an-sumline>span+span::before{content:"·";color:#d5dae1;margin-right:12px}@media(max-width:1100px){#sec-settings .an-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){#sec-settings .an-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#sec-settings .an-btn{height:30px;padding:0 10px}#sec-settings .an-sumline>span+span::before{content:"";margin-right:0}#sec-settings .an-sumline{gap:6px 12px;margin-left:0;width:100%}}

/* ===== Настройки: таблицы (как в других разделах) ===== */@media(min-width:761px){#sec-settings .an-toolbar{flex-wrap:wrap}#sec-settings table.t-users,#sec-settings table.t-staff{min-width:1020px;table-layout:fixed;width:100%}#sec-settings table.t-users td,#sec-settings table.t-users th, #sec-settings table.t-staff td,#sec-settings table.t-staff th{padding:8px 9px;font-size:12.5px;text-align:left;
    vertical-align:top;white-space:normal;overflow-wrap:break-word}#sec-settings table.t-users th,#sec-settings table.t-staff th{font-size:11.5px;font-weight:600;color:var(--an-muted,#6b7280);
    letter-spacing:.02em;white-space:nowrap}#sec-settings table.t-users tbody tr+tr td,#sec-settings table.t-staff tbody tr+tr td{border-top:1px solid var(--an-line-2,#f1f3f6)}#sec-settings table.t-users tbody tr:hover td{background:#fafbfd}#sec-settings table.t-staff tbody tr:hover td{background:#fafbfd}#sec-settings table.t-users th:nth-child(1){width:232px}#sec-settings table.t-users th:nth-child(2){width:186px}#sec-settings table.t-users th:nth-child(3){width:176px}#sec-settings table.t-users th:nth-child(4){width:120px}#sec-settings table.t-users th:nth-child(5){width:126px}#sec-settings table.t-users th:nth-child(6){width:180px}#sec-settings table.t-staff th:nth-child(1){width:250px}#sec-settings table.t-staff th:nth-child(2){width:92px}#sec-settings table.t-staff th:nth-child(3){width:180px}#sec-settings table.t-staff th:nth-child(4){width:250px}#sec-settings table.t-staff th:nth-child(5){width:150px}#sec-settings table.t-staff th:nth-child(6){width:98px}}@media(max-width:760px){#sec-settings .an-toolbar{gap:8px;padding:8px}#sec-settings .an-toolbar .an-btn,#sec-settings .an-select,#sec-settings .an-search{height:30px;font-size:12px}#sec-settings .an-search{max-width:none;flex:1 1 100%}#sec-settings .an-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#sec-settings .dp-tabs button{height:30px;font-size:12px;padding:0 11px}#sec-settings table.t-cards{display:block;min-width:0;table-layout:auto}#sec-settings table.t-cards thead{display:none}#sec-settings table.t-cards tbody{display:block}#sec-settings table.t-cards tr{display:block;background:#fff;border:1px solid var(--an-line,#e4e7ec);border-radius:11px;
    padding:11px 12px;margin:0 0 9px}#sec-settings table.t-cards td{display:flex;align-items:baseline;justify-content:space-between;gap:12px;width:auto;
    max-width:none;padding:3px 0;border:0;text-align:left;white-space:normal;overflow:visible;font-size:12.5px}#sec-settings table.t-cards td[data-l]::before{content:attr(data-l);flex:0 0 auto;color:var(--an-muted,#6b7280);
    font:600 11.5px/1.4 inherit;letter-spacing:.02em}#sec-settings table.t-cards td[data-l=""]::before{content:none}#sec-settings table.t-cards td.ttl{display:block;padding:0 0 8px;margin-bottom:7px;border-bottom:1px solid var(--an-line-2,#f1f3f6)}#sec-settings table.t-cards td.ttl::before{display:none}#sec-settings table.t-cards .usr-acts{width:100%;justify-content:flex-start}#sec-settings table.t-cards .usr-act{flex:1 1 auto;height:30px}#sec-settings .st-audit .row{flex-wrap:wrap;gap:2px 10px;padding:6px 0}#sec-settings .st-audit .ts,#sec-settings .st-audit .lg,#sec-settings .st-audit .ac{flex:0 0 auto}#sec-settings .st-audit .lg{font-weight:600}}

/* ===== Общие правила разделов, которые нужны «Настройкам»
   (в проекте они продублированы по секциям: #sec-debtors .an-kpi и т.п.;
   здесь — без привязки к секции, чтобы не забыть при добавлении новых страниц) ===== */.an-sp{flex:1 1 auto}.an-meta{flex:1 0 100%;display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:12px;color:var(--an-muted);
  margin:0;padding:7px 2px 0;border-top:1px solid var(--an-line-2)}.an-meta b{color:var(--an-ink);font-weight:600;font-variant-numeric:tabular-nums}.an-meta .sep{color:#d5dae1}.an-meta .age{font-variant-numeric:tabular-nums;color:var(--an-muted-2)}.an-note{display:none;margin:0 0 14px;padding:12px 15px;border:1px solid #ece0c9;border-left:3px solid var(--an-gold);background:#fdfaf4;border-radius:10px;font-size:12.5px;line-height:1.6;color:#4b5563}.an-note.on{display:block}.an-note b{color:var(--an-ink)}.an-note ul{margin:6px 0 0;padding-left:18px}.an-kpi{position:relative;background:#fff;border:1px solid var(--an-line);border-radius:12px;padding:14px 16px 15px;box-shadow:0 1px 2px rgba(16,24,40,.04);transition:box-shadow .15s,border-color .15s,transform .15s}.an-kpi:hover{border-color:#d6dae1;box-shadow:0 6px 18px rgba(16,24,40,.07);transform:translateY(-1px)}.an-kpi .k-lbl{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--an-muted);display:flex;align-items:center;gap:6px}.an-kpi .k-lbl svg{width:13px;height:13px;fill:none;stroke:var(--an-muted-2);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.an-kpi .k-val{margin-top:9px;font-size:26px;font-weight:700;line-height:1.05;letter-spacing:-.7px;font-variant-numeric:tabular-nums;color:var(--an-ink);white-space:nowrap}.an-kpi .k-val .u{font-size:15px;font-weight:600;color:var(--an-muted);letter-spacing:0;margin-left:1px}.an-kpi .k-sub{margin-top:8px;font-size:11.5px;color:var(--an-muted);display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:19px}.an-kpi .k-spark{position:absolute;right:14px;bottom:12px;width:96px;height:28px;overflow:visible}.an-kpi .k-spark path{fill:none;stroke:var(--an-gold);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}.an-kpi .k-spark .ar{fill:rgba(65,151,226,.15);stroke:none;opacity:1}.an-card-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.an-card-h h3{margin:0;font-size:14px;font-weight:700;letter-spacing:-.2px;color:var(--an-ink)}.an-card-h .hint{font-size:11.5px;color:var(--an-muted)}.an-card-h .r{margin-left:auto;display:flex;align-items:center;gap:8px}.an-split{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);gap:18px;align-items:start}.an-tab .cnt{font-size:10.5px;font-weight:700;background:#dfe3ea;color:#5b6472;border-radius:20px;padding:1px 7px;font-variant-numeric:tabular-nums}.an-tab.active .cnt{background:var(--an-gold-soft);color:var(--an-gold-2)}.an-search{display:flex;align-items:center;gap:7px;border:1px solid var(--an-line);background:#fff;border-radius:9px;padding:6px 10px;min-width:220px;flex:1 1 220px;max-width:340px}.an-search svg{width:15px;height:15px;fill:none;stroke:var(--an-muted-2);stroke-width:1.9;stroke-linecap:round}.an-search input{border:0;outline:0;background:none;font:400 13px inherit;color:var(--an-ink);width:100%;font-family:inherit}.an-scroll{max-width:100%}.an-card{overflow:hidden}.an-scroll,.an-tabs,.an-seg{overscroll-behavior-x:contain}.an-seg button .cnt{font-variant-numeric:tabular-nums;color:var(--an-muted-2);margin-left:5px}.an-toolbar .an-meta{flex:1 0 100%;border-top:1px solid var(--an-line-2)}.an-kpi .k-val.neg{color:var(--an-red)}.an-btn:hover{border-color:#d3d8e0;background:#fafbfc}.an-btn.loading{opacity:.6;pointer-events:none}.an-btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;
  stroke-linecap:round;stroke-linejoin:round}.an-sumline{margin-left:auto;display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--an-muted)}.an-sumline b{font-variant-numeric:tabular-nums;color:var(--an-ink)}.an-sumline b.neg{color:var(--an-red)}.chip.ok{background:#eaf6ee;border-color:#cbe7d3;color:#15803d}.chip.warn{background:#fdf6e7;border-color:#dcebf9;color:#b45309}.chip.b{background:#eef2fd;border-color:#d3dcf7;color:#3b45a0}.chip.gray{background:#f2f4f8;border-color:#e3e7ee;color:#5b6472}.chip.refund-part{background:#fdf6e7;border-color:#dcebf9;color:#b45309}.age{font-variant-numeric:tabular-nums;color:var(--an-muted-2);font-size:12px}

/* ===== Страница «Расходы» (компактная вёрстка) =====
   Липкая сводка вместо плиток, один ряд «категории + динамика», таблица сразу под ними.
   Стили сегментов и дат у .an-seg/.ex-* локальные: в приложении они прописаны по секциям. */#sec-expenses .an-seg{display:flex;gap:2px;background:#eef0f4;border-radius:9px;padding:3px;
  overflow-x:auto;-webkit-overflow-scrolling:touch}#sec-expenses .an-seg button{border:0;background:none;color:#5b6472;padding:6px 11px;border-radius:7px;
  cursor:pointer;white-space:nowrap;font-family:inherit;font-size:12.5px;font-weight:600;line-height:1.2;
  transition:background .15s,color .15s}#sec-expenses .an-seg button:hover{color:#1f2430}#sec-expenses .an-seg button.active{background:#fff;color:#1f2430;box-shadow:0 1px 3px rgba(16,24,40,.13)}

/* --- липкая шапка: фильтры + сводка ---------------------------------------
   Отступ сверху (--ex-top) ставит скрипт: он равен высоте верхней панели приложения ТОЛЬКО
   пока та сама липнет. По умолчанию .topbar прокручивается вместе со страницей, поэтому
   значение 0 — как у .an-toolbar на остальных разделах: шапка прилипает к самому верху окна,
   без дыры в высоту панели. */
#sec-expenses{--ex-top:0px}#sec-expenses .ex-head{position:sticky;top:var(--ex-top,0);z-index:6;background:var(--bg);
  padding:2px 0 8px;margin:-2px 0 0}#sec-expenses .ex-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}#sec-expenses .ex-dates{display:flex;gap:8px;align-items:center;font-size:12.5px;color:#6e7178}#sec-expenses .ex-dates[hidden]{display:none}#sec-expenses .ex-dates label{display:inline-flex;align-items:center;gap:6px;vertical-align:middle}#sec-expenses .ex-dates input,#sec-expenses .ex-apply{vertical-align:middle;box-sizing:border-box}#sec-expenses .ex-dates input{height:30px;border:1px solid #e2e6ec;border-radius:8px;padding:0 8px;font:inherit;
  font-size:12.5px;color:#1f2430;background:#fff}#sec-expenses .ex-apply{height:30px;padding:0 12px;border:1px solid #4197e2;border-radius:8px;background:#fdf7ee;
  color:#2f7fc4;font:inherit;font-size:12.5px;cursor:pointer}#sec-expenses .ex-sp{flex:1 1 12px}#sec-expenses .ex-search{flex:1 1 150px;max-width:250px}#sec-expenses .ex-search input{width:100%;height:32px;padding:0 10px;border:1px solid #e2e6ec;border-radius:9px;
  font:inherit;font-size:12.5px;color:#1f2430;background:#fff;min-width:0}#sec-expenses .ex-search input:focus{outline:none;border-color:#4197e2;box-shadow:0 0 0 3px rgba(65,151,226,.12)}#sec-expenses .ex-point{flex:0 1 auto;min-width:0;display:inline-flex}#sec-expenses .ex-point[hidden]{display:none}#sec-expenses .ex-point select{height:32px;max-width:190px;padding:0 8px;border:1px solid #e2e6ec;border-radius:9px;
  background:#fff;font:inherit;font-size:12.5px;color:#1f2430;cursor:pointer;min-width:0}#sec-expenses .ex-point select:focus{outline:none;border-color:#4197e2;box-shadow:0 0 0 3px rgba(65,151,226,.12)}#sec-expenses .ex-point.on select{border-color:#b42318;background:#fef3f2;color:#b42318;font-weight:600}#sec-expenses .ex-refresh{flex:0 0 auto;width:32px;height:32px;border:1px solid #e2e6ec;border-radius:9px;background:#fff;
  color:#4a4d52;font-size:15px;cursor:pointer}#sec-expenses .ex-refresh:hover{background:#fafbfd;border-color:#cfd6e0}#sec-expenses .ex-refresh.loading{opacity:.6;cursor:progress}#sec-expenses .ex-fresh{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;min-width:0}#sec-expenses .ex-age{font-size:11.5px;color:#6e7178;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}#sec-expenses .ex-age .age-short{display:none}#sec-expenses .ex-age.stale{color:#4197e2}#sec-expenses .ex-age.stale-bad{color:#c0392b}#sec-expenses .ex-tr{height:26px;margin-left:10px;padding:0 10px;border:1px solid #e2e6ec;border-radius:8px;
  background:#fff;font:600 11px/1 inherit;color:#5b6472;cursor:pointer;flex:0 0 auto;white-space:nowrap}#sec-expenses .ex-tr.on{border-color:#4197e2;background:#fdf7ee;color:#2f7fc4}

/* --- сводная полоса ------------------------------------------------------- */#sec-expenses .ex-sum{display:flex;align-items:center;gap:0;background:#fff;border:1px solid #e6e8ec;
  border-radius:12px;padding:8px 14px;box-shadow:0 1px 3px rgba(16,24,40,.06);flex-wrap:wrap}#sec-expenses .ex-total{padding-right:16px;margin-right:16px;border-right:1px solid #eef1f6;min-width:0}#sec-expenses .ex-total .lbl{display:block;color:#8a8f98;font-size:10.5px;margin-bottom:1px;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;max-width:290px}#sec-expenses .ex-total .val{font-size:24px;font-weight:700;color:#b42318;font-variant-numeric:tabular-nums;
  line-height:1.05;white-space:nowrap}#sec-expenses .ex-delta{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:600;border-radius:9px;
  padding:1px 6px;margin-left:7px;vertical-align:5px;white-space:nowrap;background:#f2f4f8;color:#5b6472}#sec-expenses .ex-delta.up{background:#fdecea;color:#b3261e}#sec-expenses .ex-delta.down{background:#e9f6ee;color:#0f7a3d}#sec-expenses .ex-metrics{display:flex;align-items:center;flex:1 1 auto;flex-wrap:wrap;min-width:0}#sec-expenses .ex-metrics .m{padding:0 14px;border-right:1px solid #eef1f6;min-width:0}#sec-expenses .ex-metrics .m:last-child{border-right:0}#sec-expenses .ex-metrics .l{display:block;color:#8a8f98;font-size:10.5px;white-space:nowrap}#sec-expenses .ex-metrics .v{font-size:15px;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}
/* «Вне расходов» — справка о своих средствах: приглушена, чтобы не читалась как расход */#sec-expenses .ex-metrics .m.out{padding-left:0}#sec-expenses .ex-metrics .m.out .l{color:#9aa3af}#sec-expenses .ex-metrics .m.out .v{color:#6e7178;font-weight:600}#sec-expenses .ex-metrics .v i{font-style:normal;font-size:10.5px;font-weight:600}#sec-expenses .ex-metrics .v i.up{color:#b3261e}#sec-expenses .ex-metrics .v i.down{color:#0f7a3d}#sec-expenses .ex-dim{color:#9aa3af}#sec-expenses .ex-spark{flex:0 0 112px;margin-left:auto;padding-left:10px;border-left:1px solid #eef1f6}#sec-expenses .ex-spark .l{display:block;color:#8a8f98;font-size:10.5px;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis}#sec-expenses .ex-fold{height:26px;margin-left:8px;padding:0 9px;border:1px solid #e2e6ec;border-radius:8px;
  background:#fff;color:#5b6472;font:600 11px/1 inherit;cursor:pointer;white-space:nowrap}#sec-expenses .ex-fold:hover{border-color:#cfd6e0;color:#1f2430}

/* --- ряд аналитики: состав + динамика ------------------------------------- */#sec-expenses .ex-cols{display:grid;grid-template-columns:.86fr 1.14fr;gap:8px;margin-bottom:6px}#sec-expenses .ex-cols[hidden]{display:none}#sec-expenses .ex-block{background:#fff;border:1px solid #e6e8ec;border-radius:12px;padding:8px 13px 9px;min-width:0}#sec-expenses .ex-block-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px;
  font-size:12.5px;line-height:1.35;font-weight:600;color:#1f2430;flex-wrap:wrap}#sec-expenses .ex-block-h .ex-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%}#sec-expenses .ex-block-h .ex-sub{color:#8a8f98;font-weight:400;font-size:11.5px}#sec-expenses .ex-tabs{display:inline-flex;gap:2px;background:#eef0f4;border-radius:8px;padding:2px}#sec-expenses .ex-tabs button{border:0;background:none;color:#5b6472;padding:3px 9px;border-radius:6px;cursor:pointer;
  font:600 11px/1.3 inherit;white-space:nowrap}#sec-expenses .ex-tabs button.on{background:#fff;color:#1f2430;box-shadow:0 1px 2px rgba(16,24,40,.12)}#sec-expenses .ex-stack{display:flex;height:14px;border-radius:7px;overflow:hidden;background:#f1f3f6}#sec-expenses .ex-stack i{display:block;height:100%}#sec-expenses .ex-sub2{color:#9aa3af;font-size:10.5px;line-height:1.3;margin:6px 0 0}#sec-expenses .ex-catsh{display:grid;grid-template-columns:1fr 44px 84px 42px 28px;gap:8px;font-size:10px;
  line-height:1.2;color:#b0b7c0;padding:0 4px;margin:5px 0 1px}#sec-expenses .ex-catsh span:nth-child(n+2){text-align:right}#sec-expenses .ex-row{display:grid;grid-template-columns:1fr 44px 84px 42px 28px;gap:8px;align-items:center;
  font-size:11.5px;line-height:1.3;padding:1.5px 4px;border-radius:6px;cursor:pointer}#sec-expenses .ex-row:hover{background:#fafbfd}#sec-expenses .ex-row .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#1f2430;
  border-bottom:1px dotted transparent}#sec-expenses .ex-row:hover .nm{border-bottom-color:#c7ced8;color:#2b7ac1}#sec-expenses .ex-row .bm{height:5px;border-radius:3px;background:#f1f3f6;overflow:hidden}#sec-expenses .ex-row .bm i{display:block;height:100%;border-radius:3px}#sec-expenses .ex-row .v{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}#sec-expenses .ex-row .p{text-align:right;color:#8a8f98;font-variant-numeric:tabular-nums;white-space:nowrap}#sec-expenses .ex-row .n{text-align:right;color:#9aa3af;white-space:nowrap}#sec-expenses .ex-row.top{font-weight:600}#sec-expenses .ex-row.kid{padding-left:14px}#sec-expenses .ex-row.kid .nm{color:#4a4d52;font-weight:400}#sec-expenses .ex-row.kid .v{color:#4a4d52;font-weight:500}#sec-expenses .ex-catrow.on .ex-row.top{background:#fdf7ee}#sec-expenses .ex-more{font-size:11px;line-height:1.3;color:#2b7ac1;cursor:pointer;padding:5px 4px 0;margin-top:3px;
  border-top:1px solid #f1f3f6}#sec-expenses .ex-note{color:#8a8f98;font-size:11px;margin-top:7px;line-height:1.45}#sec-expenses .ex-chart{height:150px;margin-top:2px}#sec-expenses .ex-chart canvas{max-width:100%}#sec-expenses .ex-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px;font-size:11px;color:#6e7178}#sec-expenses .ex-legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px}#sec-expenses .ex-oneline{font-size:11px;color:#5b6472;margin-top:7px;padding-top:6px;border-top:1px solid #f1f3f6;
  line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#sec-expenses .ex-oneline b{font-variant-numeric:tabular-nums;white-space:nowrap}#sec-expenses .ex-oneline b.up{color:#b3261e}#sec-expenses .ex-oneline b.down{color:#0f7a3d}

/* --- строка-предупреждение и чипы фильтров -------------------------------- */#sec-expenses .ex-alert{display:flex;align-items:center;gap:8px;background:#fdf7ee;border:1px solid #f3e3cd;
  color:#8a5a12;border-radius:10px;padding:5px 12px;font-size:11.5px;margin-bottom:6px;line-height:1.45}#sec-expenses .ex-alert[hidden]{display:none}#sec-expenses .ex-alert b{color:#7a4a10}#sec-expenses .ex-chipsrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}#sec-expenses .ex-chipsrow[hidden]{display:none}#sec-expenses .ex-chips{display:flex;flex-wrap:wrap;gap:6px}#sec-expenses .ex-chips[hidden]{display:none}#sec-expenses .ex-chips button{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 11px;
  border:1px solid #e2e6ec;border-radius:14px;background:#fff;font:inherit;font-size:12px;color:#4a4d52;cursor:pointer;
  max-width:290px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#sec-expenses .ex-chips button b{color:#1f2430;font-weight:600}#sec-expenses .ex-chips button:hover{border-color:#cfd6e0;background:#fafbfd}#sec-expenses .ex-chips button.on{border-color:#b42318;background:#fef3f2;color:#b42318}#sec-expenses .ex-chips button.on b{color:#b42318}

/* --- таблица -------------------------------------------------------------- */#sec-expenses .ex-xlsx{height:26px;padding:0 10px;border:1px solid #4197e2;border-radius:8px;background:#eaf3fc;
  color:#2b7ac1;font:600 11px/26px inherit;cursor:pointer;text-decoration:none;white-space:nowrap}#sec-expenses .ex-mini{height:26px;padding:0 10px;border:1px solid #e2e6ec;border-radius:8px;background:#fff;
  color:#5b6472;font:600 11px/1 inherit;cursor:pointer}#sec-expenses .ex-tools{display:flex;gap:6px;align-items:center;flex-wrap:wrap}#sec-expenses .ex-tablewrap{background:#fff;border:1px solid #e6e8ec;border-radius:10px;overflow:hidden}#sec-expenses table.ex-table{width:100%;border-collapse:collapse;table-layout:fixed}#sec-expenses table.ex-table th{position:sticky;top:0;z-index:2;background:#fbfcfe;border-bottom:1px solid #e6e8ec;
  padding:9px 12px;text-align:left;font:600 11.5px/1.3 inherit;color:#6e7178;letter-spacing:.02em;white-space:nowrap}#sec-expenses table.ex-table th.num{text-align:right}#sec-expenses table.ex-table td{padding:9px 12px;border-bottom:1px solid #f1f3f6;font-size:12.5px;color:#1f2430;
  vertical-align:top;overflow-wrap:anywhere}#sec-expenses table.ex-table tr:hover td{background:#fafbfd}#sec-expenses table.ex-table td.num{text-align:right;font-weight:600;font-variant-numeric:tabular-nums;
  white-space:nowrap;color:#b42318}#sec-expenses table.ex-table td.dt{color:#6e7178;white-space:nowrap;font-variant-numeric:tabular-nums}#sec-expenses table.ex-table td.doc{color:#8a8f98;white-space:nowrap}#sec-expenses table.ex-table td.what{color:#3d4757}#sec-expenses table.ex-table tr.ex-group td{background:#e9eff7;border-top:1px solid #dbe3ee;
  font-weight:600;color:#5b6472;font-size:11.5px;padding:7px 12px}
/* Строка дня — заголовок раздела: дата крупнее и темнее, число операций приглушено,
   сумма дня выделена, фон заметнее обычных строк. */#sec-expenses table.ex-table tr.ex-group .gd{font-weight:700;color:#1f2430;font-size:13px}#sec-expenses table.ex-table tr.ex-group .gn{color:#8a8f98;font-weight:500}#sec-expenses table.ex-table tr.ex-group td.num{font-weight:700;font-size:12.5px}#sec-expenses table.ex-table tr.ex-totalrow td{background:#fbfcfe;font-weight:650;border-top:2px solid #e6e8ec}#sec-expenses table.ex-table tr.ex-more-row td{color:#2b7ac1;cursor:pointer;text-align:center;font-size:11.5px}#sec-expenses table.ex-table.ex-dense td{padding:5px 12px}#sec-expenses table.ex-table.ex-dense th{padding:6px 12px}#sec-expenses .ex-chip{display:inline-block;padding:0 6px;border-radius:8px;background:#fdf7ee;color:#8a5a12;
  font-size:10.5px;font-weight:600;margin-left:6px;vertical-align:1px;white-space:nowrap}#sec-expenses .ex-link{cursor:pointer;border-bottom:1px dotted #c7ced8}#sec-expenses .ex-link:hover{color:#2b7ac1;border-bottom-color:#2b7ac1}#sec-expenses .k{display:inline-block;padding:1px 8px;border-radius:9px;background:#eef1f7;color:#3d4757;
  font-size:11.5px;font-weight:500}#sec-expenses .k.k-s{background:#e8f0fe;color:#1d4ed8}#sec-expenses .tr{white-space:nowrap}#sec-expenses tbody tr.is-tr td{background:#fdfaf3}#sec-expenses tbody tr.is-tr:hover td{background:#fbf5e9}#sec-expenses .tr-ar{color:#4197e2;font-weight:600}span.k-vy{background:#f6f4ee;border:1px dashed #cfc6b4;color:#3f7fae;font-weight:500}#sec-expenses .ex-empty{padding:26px 14px;text-align:center;color:#6e7178;font-size:13px}#sec-expenses .ex-foot{color:#6e7178;font-size:11.5px;margin-top:10px;line-height:1.5}#sec-expenses .ex-foot b{color:#1f2430}@media(max-width:1180px){#sec-expenses .ex-cols{grid-template-columns:1fr}#sec-expenses .ex-spark{display:none}}@media(max-width:900px){#sec-expenses .ex-head{position:static}#sec-expenses .ex-total{border-right:0;margin-right:0;padding-right:0}#sec-expenses .ex-metrics .m{padding:0 11px}#sec-expenses .ex-sum{padding:8px 11px}#sec-expenses .ex-search{max-width:none}#sec-expenses .an-seg{flex-wrap:wrap;overflow:visible}#sec-expenses .an-seg button{flex:1 1 auto;text-align:center}#sec-expenses .ex-age .age-full{display:none}#sec-expenses .ex-age .age-short{display:inline}}
/* ===== Телефон: своя вёрстка, а не сжатый десктоп =============================
   Панель периода — одна строка с горизонтальной прокруткой, фильтры в две строки,
   сводка компактная, карточки состава/графика — во всю ширину, а строки категорий
   перестроены в «название + сумма» с полосой под ними. */@media(max-width:760px){#sec-expenses .ex-toolbar{gap:6px}#sec-expenses .ex-toolbar .an-seg{flex:1 1 100%;flex-wrap:nowrap;overflow-x:auto;
    -webkit-overflow-scrolling:touch;padding:2px}#sec-expenses .ex-toolbar .an-seg button{flex:0 0 auto;padding:6px 10px;font-size:12px}#sec-expenses .ex-point{flex:1 1 120px;order:2}#sec-expenses .ex-point select{max-width:none;width:100%;height:34px}#sec-expenses .ex-search{flex:1 1 130px;max-width:none;order:3}#sec-expenses .ex-search input{height:34px}#sec-expenses .ex-sp{display:none}#sec-expenses .ex-fresh{order:4;flex:0 0 auto;gap:6px}#sec-expenses .ex-refresh{width:34px;height:34px}#sec-expenses .ex-age{display:none}/* сводка: итог строкой, метрики строкой ниже и кнопка «аналитика» справа от них */ #sec-expenses .ex-sum{padding:7px 10px;border-radius:10px}#sec-expenses .ex-total{flex:1 1 100%;padding-right:0;margin-right:0;border-right:0}#sec-expenses .ex-total .lbl{max-width:none;font-size:10px}#sec-expenses .ex-total .val{font-size:21px}/* flex-basis 0 схлопывал строку метрик в ноль ширины — держим auto */ #sec-expenses .ex-metrics{flex:1 1 auto;min-width:0;flex-wrap:nowrap;overflow-x:auto;
    -webkit-overflow-scrolling:touch;margin-top:7px;border-top:1px solid #f1f3f6;padding-top:6px}#sec-expenses .ex-metrics .m{padding:0 9px 0 0;margin-right:9px;flex:0 0 auto}#sec-expenses .ex-metrics .m:first-child{padding-left:0}#sec-expenses .ex-metrics .m:last-child{border-right:0}#sec-expenses .ex-metrics .l{font-size:9px}#sec-expenses .ex-metrics .v{font-size:12.5px}#sec-expenses .ex-metrics .v i{font-size:9px}#sec-expenses .ex-fold{margin-left:8px;margin-top:9px;flex:0 0 auto}/* карточки аналитики */ #sec-expenses .ex-cols{gap:6px}#sec-expenses .ex-block{padding:8px 10px 9px}#sec-expenses .ex-block-h{font-size:12px}#sec-expenses .ex-block-h .ex-sub{max-width:52%;font-size:10.5px}#sec-expenses .ex-catsh{display:none}/* строка категории: название и сумма сверху, полоса во всю ширину снизу */ #sec-expenses .ex-row{grid-template-columns:1fr auto;grid-template-areas:"nm v" "bm bm";
    gap:3px 8px;padding:5px 2px;font-size:12.5px;border-bottom:1px solid #f6f8fa}#sec-expenses .ex-row .nm{grid-area:nm}#sec-expenses .ex-row .v{grid-area:v;font-size:12.5px}#sec-expenses .ex-row .bm{grid-area:bm;height:4px}#sec-expenses .ex-row .p,#sec-expenses .ex-row .n{display:none}#sec-expenses .ex-row.kid{padding-left:10px}#sec-expenses .ex-row.top .nm{font-weight:600}#sec-expenses .ex-more{padding:10px 2px 2px;font-size:12.5px}#sec-expenses .ex-stack{height:10px}#sec-expenses .ex-sub2{margin:5px 0 0}#sec-expenses .ex-chart{height:112px}#sec-expenses .ex-legend{gap:10px;font-size:10.5px;margin-top:5px}/* Подпись «что изменилось» переносится на несколько строк: max-height резал вторую строку пополам — теперь многоточие по целым строкам. */ #sec-expenses .ex-oneline{white-space:normal;font-size:10.5px;line-height:1.45;
    display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}/* предупреждение — обычным абзацем, а не двумя колонками */ #sec-expenses .ex-alert{display:block;font-size:11px;padding:6px 10px;line-height:1.4;
    max-height:60px;overflow:hidden}#sec-expenses .ex-alert b{font-weight:600}#sec-expenses .ex-alert-tail{display:none}/* строка инструментов таблицы: вкладки прокручиваются, «Плотнее» на телефоне не нужна */ #sec-expenses .ex-tablecard .ex-block-h{gap:6px}#sec-expenses .ex-tablecard .ex-sub{display:none}#sec-expenses .ex-tools{flex:1 1 100%;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px}#sec-expenses .ex-tools .ex-tabs{flex:0 0 auto}#sec-expenses .ex-mini{display:none}#sec-expenses .ex-xlsx{flex:0 0 auto}#sec-expenses .ex-chips{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px}#sec-expenses .ex-chips button{flex:0 0 auto}#sec-expenses .ex-foot{font-size:11px}/* карточка операции: убираем «Документ», «На что» — в две строки, строки плотнее */ #sec-expenses table.ex-table tr{padding:8px 10px}#sec-expenses table.ex-table td{padding:2px 0;font-size:12px;line-height:1.35}#sec-expenses table.ex-table td[data-l="Документ"], #sec-expenses table.ex-table td[data-l="Касса, счёт"]{display:none}#sec-expenses table.ex-table td.what{display:block;white-space:normal}#sec-expenses table.ex-table td.what::before{content:attr(data-l);display:block;color:#8a8f98;
    font:600 10.5px/1.4 inherit;margin-bottom:1px}#sec-expenses table.ex-table td.what>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
    overflow:hidden}#sec-expenses table.ex-table tr.ex-mob{display:block;padding:11px 12px;border-bottom:1px solid #eceef1}#sec-expenses table.ex-table tr.ex-group{padding:7px 12px}#sec-expenses table.ex-table tr.ex-mob td{display:block;padding:0;border:0;white-space:normal}/* селектор с td нужен, чтобы перебить правило карточек «td{display:block}» */ #sec-expenses table.ex-table tr.ex-mob td.mh{display:flex;justify-content:space-between;gap:8px;font-size:12px;
    line-height:1.35;color:#6e7178;font-variant-numeric:tabular-nums}#sec-expenses .ex-mob .mh .s{color:#b42318;font-weight:600;font-size:13.5px;white-space:nowrap}#sec-expenses .ex-mob .mb{font-size:13px;color:#1f2430;line-height:1.45;margin-top:4px}/* статья (категория расхода) и ФИО — разными строками: сначала статья, потом человек */ #sec-expenses .ex-mob .mb .w{display:block;margin-top:4px}#sec-expenses .ex-mob .mb .w .k{margin-left:0}#sec-expenses .ex-mob .mb .n{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
    color:#3d4757;font-size:12px;line-height:1.4;margin-top:4px}#sec-expenses table.ex-table tr.ex-group td{font-size:12px;padding:2px 0}#sec-expenses table.ex-table tr.ex-group .gd{font-size:13px}#sec-expenses table.ex-table tr.ex-totalrow td{font-size:12.5px;padding:3px 0}#sec-expenses .ex-head{position:static}#sec-expenses table.ex-table{display:block;table-layout:auto}#sec-expenses table.ex-table thead{display:none}#sec-expenses table.ex-table tbody{display:block}#sec-expenses table.ex-table tr{display:block;background:#fff;border-bottom:1px solid #eceef1;padding:10px 12px}#sec-expenses table.ex-table tr.ex-group, #sec-expenses table.ex-table tr.ex-totalrow{display:flex;justify-content:space-between;align-items:baseline;
    gap:10px;background:#f8fafc;border-bottom:1px solid #e6e8ec}#sec-expenses table.ex-table tr.ex-totalrow{background:#fbfcfe;border-top:2px solid #e6e8ec;border-bottom:0;
    padding:8px 12px}#sec-expenses table.ex-table tr.ex-group td, #sec-expenses table.ex-table tr.ex-totalrow td{display:block;width:auto;padding:0}#sec-expenses table.ex-table tr.ex-group td:empty, #sec-expenses table.ex-table tr.ex-totalrow td:empty{display:none}#sec-expenses table.ex-table tr.ex-totalrow{border-top:2px solid #e6e8ec}#sec-expenses table.ex-table td{display:flex;align-items:baseline;justify-content:space-between;gap:12px;
    padding:3px 0;border:0;white-space:normal;font-size:12.5px}#sec-expenses table.ex-table td.num{text-align:right;font-size:13.5px}#sec-expenses table.ex-table td[data-l]::before{content:attr(data-l);flex:0 0 auto;color:#8a8f98;
    font:600 11.5px/1.4 inherit;letter-spacing:.02em}#sec-expenses table.ex-table tr.ex-group td{display:block}#sec-expenses table.ex-table tr.ex-totalrow td{display:block}}

/* ===== Сайдбар и меню: современный вид (12.09.2026) ===== */.sidebar{width:264px}.nav{padding:6px 10px 14px;overflow-y:auto;overflow-x:hidden;flex:1 1 auto;overscroll-behavior:contain}.nav::-webkit-scrollbar{width:8px}.nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.10);border-radius:8px}.nav .grp{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:#5c6b80;padding:15px 12px 6px;margin:0}.nav-item{position:relative;min-height:42px;padding:10px 12px;border-radius:11px;gap:12px;font-size:14px;
  transition:background .16s ease,color .16s ease}.nav-item .ic{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;color:#8b97a8;font-size:0;
  transition:color .16s ease}.nav-item .ic svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.nav-item:hover{background:rgba(255,255,255,.05)}.nav-item.active{background:rgba(65,151,226,.13);color:#fff}.nav-item.active::before{content:"";position:absolute;left:-10px;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}.nav-item.active .ic{color:var(--accent)}.nav-item .b{margin-left:auto}body.sb-collapsed .sidebar{width:72px}body.sb-collapsed .nav{padding:6px 8px 14px}body.sb-collapsed .nav .grp{display:none}body.sb-collapsed .nav-item{justify-content:center;gap:0;padding:11px 0}@media(max-width:860px){.sidebar{width:min(288px,84vw);box-shadow:0 0 40px rgba(0,0,0,.35)}.nav{padding:4px 12px calc(10px + env(safe-area-inset-bottom,0px))}.nav-item{min-height:46px;font-size:14.5px;gap:13px}.nav-item .ic svg{width:19px;height:19px}.nav .grp{padding:16px 12px 6px}.sidebar .foot{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}}

/* ===== Мобильный ящик меню: нормальная ширина при открытии (12.09.2026) ===== */@media(max-width:900px){/* ширина ящика — одинаковая и когда на десктопе меню было свёрнуто в иконки */ .sidebar, body.sb-collapsed .sidebar{width:min(300px,82vw);min-width:250px;max-width:82vw}.sidebar.open{transform:translateX(0)}/* в ящике всегда полные подписи, группы и карточка пользователя */ body.sb-collapsed .nav-item .lbl, .nav-item .lbl{display:inline}body.sb-collapsed .nav-item{justify-content:flex-start;gap:12px;padding:11px 12px}body.sb-collapsed .nav .grp, .nav .grp{display:block}body.sb-collapsed .sidebar .foot, .sidebar .foot{display:block}.sidebar .brand{padding:16px 16px 12px}.brand-logo{height:44px}.nav{padding:6px 12px calc(12px + env(safe-area-inset-bottom,0px));overflow-y:auto;flex:1 1 auto}.nav-item{min-height:46px;font-size:14.5px;gap:13px}.nav-item .ic svg{width:19px;height:19px}.backdrop{background:rgba(12,18,28,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.backdrop.on{display:block}}

/* ===== Логотип в сайдбаре и на экране входа ===== */.brand-logo{height:46px;width:auto;display:block;margin:0 auto 2px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.25))}.sidebar .brand{flex-direction:column;align-items:center;text-align:center;gap:6px}body.sb-collapsed .brand-logo{height:34px}body.sb-collapsed .sidebar .brand{flex-direction:row}

/* логотип на экране входа (светлая карточка — тёмный вариант) */.ag-logo-img{height:60px;width:auto;margin:0 auto;display:block}

/* подпись автора под строкой про 1С (в свёрнутом меню скрыта вместе с .foot) */.sb-credit{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.07);
  font-size:11px;line-height:1.5;color:#ffffff}.sb-credit b{color:#4197e2;font-weight:600}.sb-credit span{display:block;margin-top:2px;font-size:10.5px;color:#ffffff;font-style:italic}@media(max-width:900px){.sb-credit{font-size:11.5px}.sb-credit span{font-size:11px}}

/* ===== Шапка «Сравнения»: убрать растянутость и пустоты (12.09.2026) =====
   Раздел открывается во всю ширину (.content.wide), из-за чего две карточки периодов
   и KPI растягивались на 1900px с пустотой внутри. Ограничиваем рабочую полосу и жмём отступы. */#sec-compare .an-toolbar, #sec-compare .cmp-presets, #sec-compare .cmp-top, #sec-compare .an-kpis, #sec-compare .cmp-foot{max-width:1380px;margin-left:auto;margin-right:auto}#sec-compare .an-toolbar{row-gap:8px;margin-bottom:8px}#sec-compare .cmp-presets{margin:0 auto 9px;gap:6px}#sec-compare .cmp-pers{grid-template-columns:repeat(2,minmax(280px,1fr));gap:10px;margin-bottom:10px}#sec-compare .cmp-per{padding:10px 13px 11px;border-radius:11px}#sec-compare .cmp-per-h{margin-bottom:8px}#sec-compare .cmp-per-h .nm{font-size:11.5px;letter-spacing:.06em}#sec-compare .cmp-per-h .rg{font-size:11.5px}#sec-compare .cmp-per-r{gap:7px}#sec-compare .cmp-per .an-select{height:32px;font-size:12.5px;padding:0 10px}#sec-compare .cmp-dates input[type=date]{height:32px}#sec-compare .an-kpis{margin:2px auto 14px}#sec-compare .an-kpi{padding:13px 15px 14px}#sec-compare .an-kpi .k-val{font-size:24px;letter-spacing:-.6px}#sec-compare .an-kpi .k-sub{font-size:11.5px}@media(max-width:1100px){#sec-compare .cmp-pers{grid-template-columns:1fr}#sec-compare .an-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}@media(max-width:760px){#sec-compare .an-kpis{grid-template-columns:1fr}#sec-compare .cmp-per{padding:9px 11px 10px}#sec-compare .an-kpi .k-val{font-size:21px}}

/* ===== «Сравнение»: редизайн шапки (12.09.2026) =====
   Одна панель управления, период как связка «А → Б», KPI плотной строкой. */#sec-compare .an-toolbar{max-width:1440px;margin:0 auto 10px;padding:10px 12px;gap:10px;row-gap:9px;
  background:#fff;border:1px solid var(--an-line);border-radius:13px;box-shadow:0 1px 2px rgba(16,24,40,.04)}#sec-compare .cmp-presets{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding-left:10px;
  border-left:1px solid var(--an-line)}#sec-compare .cmp-presets .an-chip{height:30px;font-size:12px;white-space:nowrap}#sec-compare .cmp-searchwrap{flex:1 1 200px;min-width:170px;max-width:340px;margin-left:auto}#sec-compare .cmp-searchwrap input{height:32px;font-size:12.5px}#sec-compare .cmp-top{max-width:1440px;margin:0 auto}#sec-compare .cmp-pers{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;margin-bottom:12px}#sec-compare .cmp-per{display:grid;gap:8px;padding:11px 13px;border-radius:12px;background:#fff;
  border:1px solid var(--an-line);border-left:3px solid var(--an-gold);box-shadow:0 1px 2px rgba(16,24,40,.04)}#sec-compare .cmp-per.b{border-left-color:#8494a9}#sec-compare .cmp-per-h{margin:0;gap:7px}#sec-compare .cmp-per-h .nm{font-size:11.5px;letter-spacing:.07em}#sec-compare .cmp-per-h .rg{margin-left:auto;font-size:11.5px;color:var(--an-muted)}#sec-compare .cmp-per-r{gap:7px;flex-wrap:nowrap}#sec-compare .cmp-per .an-select{height:32px;font-size:12.5px;padding:0 9px;min-width:0;flex:0 1 116px}#sec-compare .cmp-dates{margin-left:auto;gap:5px;flex:1 1 auto;min-width:0}#sec-compare .cmp-dates input[type=date]{height:32px;font-size:12px;padding:0 7px;min-width:0;flex:1 1 110px}#sec-compare .cmp-arrow{display:flex;align-items:center;justify-content:center;width:30px;height:30px;color:var(--an-muted-2)}#sec-compare .cmp-arrow svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}#sec-compare .cmp-scope{font-size:12px;color:var(--an-muted);margin:0 0 10px}#sec-compare .cmp-kpis, #sec-compare .an-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 auto 14px;max-width:1440px}#sec-compare .cmp-kpis .an-kpi, #sec-compare .an-kpi{padding:13px 15px 14px;border-radius:12px}#sec-compare .an-kpi .k-val{font-size:23px;letter-spacing:-.5px}#sec-compare .an-card-h{padding:12px 14px 10px}#sec-compare .an-card-h h3{font-size:14px}@media(max-width:1080px){#sec-compare .cmp-pers{grid-template-columns:1fr}#sec-compare .cmp-arrow{display:none}#sec-compare .cmp-kpis, #sec-compare .an-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){#sec-compare .an-toolbar{padding:9px 10px;gap:8px}#sec-compare .cmp-presets{width:100%;padding-left:0;border-left:0;padding-top:2px}#sec-compare .cmp-searchwrap{max-width:none;margin-left:0}#sec-compare .cmp-per-r{flex-wrap:wrap}#sec-compare .cmp-dates{width:100%;margin-left:0}#sec-compare .cmp-kpis, #sec-compare .an-kpis{grid-template-columns:1fr;gap:9px}#sec-compare .an-kpi .k-val{font-size:21px}}

/* ===== «Сравнение»: новая шапка (13.09.2026) ===== */#sec-compare .cmp-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;max-width:1440px;margin:0 auto 12px;
  padding:10px 12px;background:#fff;border:1px solid var(--an-line);border-radius:14px;box-shadow:0 1px 2px rgba(16,24,40,.04)}#sec-compare .cmp-searchwrap{flex:1 1 200px;min-width:170px;max-width:360px;margin-left:auto}#sec-compare .cmp-searchwrap input{height:32px;font-size:12.5px}#sec-compare .cmp-range{max-width:1440px;margin:0 auto 14px;padding:12px 14px 13px;background:#fff;
  border:1px solid var(--an-line);border-radius:14px;box-shadow:0 1px 2px rgba(16,24,40,.04)}#sec-compare .cmp-range-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:11px;margin-bottom:11px;
  border-bottom:1px solid #eef0f4}#sec-compare .cmp-range-t{font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--an-muted)}#sec-compare .cmp-presets{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-left:auto}#sec-compare .cmp-presets .an-chip{height:29px;font-size:12px;white-space:nowrap}#sec-compare .cmp-pers{display:grid;gap:9px}#sec-compare .cmp-per{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;
  gap:6px 14px;padding:10px 13px 10px 16px;border:1px solid var(--an-line);border-radius:12px;background:#fbfcfe}#sec-compare .cmp-per::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:3px 0 0 3px;background:var(--an-gold)}#sec-compare .cmp-per.b::before{background:#8494a9}#sec-compare .cmp-per-h{display:flex;align-items:center;gap:8px;margin:0;flex-wrap:wrap}#sec-compare .cmp-per-h .dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;background:var(--an-gold)}#sec-compare .cmp-per.b .cmp-per-h .dot{background:#8494a9}#sec-compare .cmp-per-h .nm{font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--an-ink)}#sec-compare .cmp-per-h .rg{font-size:12px;color:var(--an-muted);font-variant-numeric:tabular-nums}#sec-compare .cmp-per-r{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}#sec-compare .cmp-per .an-select{height:32px;font-size:12.5px;padding:0 9px;flex:0 0 108px}#sec-compare .cmp-per .cmp-dates{display:flex;align-items:center;gap:6px;margin-left:auto;min-width:0}#sec-compare .cmp-per .cmp-dates input[type=date]{height:32px;font-size:12px;padding:0 8px;border:1px solid var(--an-line);
  border-radius:9px;background:#fff;color:var(--an-ink)}#sec-compare .cmp-per .cmp-dates input[type=date]:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(65,151,226,.13)}#sec-compare .cmp-dash{color:var(--an-muted-2);font-size:12px}#sec-compare .cmp-top{max-width:1440px;margin:0 auto}#sec-compare .cmp-scope{font-size:12px;color:var(--an-muted);margin:0 0 10px}#sec-compare .cmp-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 14px}#sec-compare .cmp-kpis .an-kpi{display:grid;align-content:space-between;min-height:118px;padding:13px 15px 14px;
  background:#fff;border:1px solid var(--an-line);border-radius:13px;box-shadow:0 1px 2px rgba(16,24,40,.04);
  transition:border-color .16s,box-shadow .16s}#sec-compare .cmp-kpis .an-kpi:hover{border-color:#d6dae1;box-shadow:0 6px 18px rgba(16,24,40,.07)}#sec-compare .cmp-kpis .an-kpi .k-lbl{min-height:2.2em;align-items:flex-start;font-size:10px;letter-spacing:.05em;line-height:1.25}#sec-compare .cmp-kpis .an-kpi .k-val{margin-top:6px;font-size:23px;line-height:1.1;letter-spacing:-.6px;font-variant-numeric:tabular-nums}#sec-compare .cmp-kpis .an-kpi .k-sub{margin-top:7px;font-size:11.5px;flex-wrap:wrap;gap:6px}@media(max-width:1080px){#sec-compare .cmp-per{grid-template-columns:1fr}#sec-compare .cmp-per-r{flex-wrap:wrap}#sec-compare .cmp-per .cmp-dates{margin-left:0;width:100%}#sec-compare .cmp-per .an-select{flex:1 1 120px}}@media(max-width:760px){#sec-compare .cmp-bar{padding:9px 10px;gap:8px}#sec-compare .cmp-bar .an-seg{flex:1 0 100%;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}#sec-compare .cmp-bar .an-seg button{flex:0 0 auto}#sec-compare .cmp-searchwrap{max-width:none;margin-left:0}#sec-compare .cmp-range{padding:11px 12px 12px}#sec-compare .cmp-presets{margin-left:0;width:100%}#sec-compare .cmp-presets .an-chip{flex:1 1 auto;justify-content:center}#sec-compare .cmp-per{padding:9px 11px 10px 14px}#sec-compare .cmp-kpis{gap:7px}#sec-compare .cmp-kpis .an-kpi{min-height:96px;padding:10px 11px 11px;border-radius:11px}#sec-compare .cmp-kpis .an-kpi .k-lbl{font-size:9px;letter-spacing:.03em}#sec-compare .cmp-kpis .an-kpi .k-val{margin-top:5px;font-size:16px;letter-spacing:-.3px}#sec-compare .cmp-kpis .an-kpi .k-sub{margin-top:6px;font-size:10px;line-height:1.3}}@media(max-width:430px){#sec-compare .cmp-kpis .an-kpi .k-val{font-size:14.5px}#sec-compare .cmp-kpis .an-kpi .k-sub{font-size:9.5px}}

/* ===== «Сравнение»: диапазон компактной строкой (13.09.2026)
   Было: подпись слева, контролы у правого края — между ними пустота на всю ширину.
   Стало: одна плотная строка «А · диапазон · год · с—по», ничего не растягивается. */#sec-compare .cmp-range{padding:10px 12px 11px}#sec-compare .cmp-range-h{padding-bottom:8px;margin-bottom:8px}#sec-compare .cmp-pers{gap:7px}#sec-compare .cmp-per{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:7px 12px 7px 14px;border-radius:11px}#sec-compare .cmp-per-h{flex:0 0 auto;gap:7px;margin:0}#sec-compare .cmp-per-h .nm{font-size:11px;letter-spacing:.02em;min-width:11px}#sec-compare .cmp-per-h .rg{font-size:11.5px}#sec-compare .cmp-per-r{flex:1 1 auto;display:flex;align-items:center;gap:8px;flex-wrap:nowrap;
  justify-content:flex-start;min-width:0;margin-left:6px}#sec-compare .cmp-per .an-select{flex:0 0 92px;width:92px;height:30px;font-size:12px;padding:0 8px}#sec-compare .cmp-per .cmp-dates{margin-left:0;flex:0 0 auto;gap:5px}#sec-compare .cmp-per .cmp-dates input[type=date]{flex:0 0 116px;width:116px;height:30px;font-size:11.5px;padding:0 6px}#sec-compare .cmp-dash{font-size:11.5px}@media(max-width:1080px){#sec-compare .cmp-per-r{margin-left:0;flex:1 1 100%}}@media(max-width:760px){#sec-compare .cmp-per{padding:8px 10px 8px 13px;gap:7px}#sec-compare .cmp-per-r{flex-wrap:wrap;gap:6px}#sec-compare .cmp-per .an-select{flex:1 1 110px;width:auto}#sec-compare .cmp-per .cmp-dates{flex:1 1 100%;width:100%}#sec-compare .cmp-per .cmp-dates input[type=date]{flex:1 1 0;width:auto;min-width:0}}

/* ===== «Сравнение»: диапазон — тонкая полоса, а не блок-карточка (13.09.2026) ===== */#sec-compare .cmp-range{display:flex;align-items:center;gap:10px;flex-wrap:wrap;max-width:1440px;margin:0 auto 10px;
  padding:9px 12px;background:#f4f6f9;border:0;border-radius:12px;box-shadow:none}#sec-compare .cmp-range-t{font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--an-muted)}#sec-compare .cmp-presets{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-left:auto}#sec-compare .cmp-presets .an-chip{height:28px;font-size:11.5px}#sec-compare .cmp-pers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}#sec-compare .cmp-per{display:flex;align-items:center;gap:9px;padding:7px 10px;background:#fff;
  border:1px solid var(--an-line);border-radius:10px;flex-wrap:wrap}#sec-compare .cmp-per::before{display:none}#sec-compare .cmp-badge{flex:0 0 auto;width:22px;height:22px;border-radius:7px;display:inline-flex;align-items:center;
  justify-content:center;font-size:12px;font-weight:700;color:#fff;background:var(--an-gold)}#sec-compare .cmp-per.b .cmp-badge{background:#8494a9}#sec-compare .cmp-per .rg{flex:1 1 auto;min-width:0;font-size:12px;color:var(--an-ink);font-variant-numeric:tabular-nums;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#sec-compare .cmp-per-r{flex:0 0 auto;display:flex;align-items:center;gap:6px}#sec-compare .cmp-per .an-select{flex:0 0 86px;width:86px;height:28px;font-size:11.5px;padding:0 6px}#sec-compare .cmp-per .cmp-dates{display:flex;align-items:center;gap:4px;margin:0}#sec-compare .cmp-per .cmp-dates input[type=date]{flex:0 0 112px;width:112px;height:28px;font-size:11px;padding:0 5px;
  border:1px solid var(--an-line);border-radius:8px;background:#fff;color:var(--an-ink)}#sec-compare .cmp-per .cmp-dates input[type=date]:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(65,151,226,.13)}#sec-compare .cmp-dash{color:var(--an-muted-2);font-size:11px}@media(max-width:1180px){#sec-compare .cmp-pers{grid-template-columns:1fr}}@media(max-width:760px){#sec-compare .cmp-range{padding:8px 10px;gap:7px}#sec-compare .cmp-presets{margin-left:0;width:100%}#sec-compare .cmp-presets .an-chip{flex:1 1 auto;justify-content:center}#sec-compare .cmp-per{padding:7px 9px}#sec-compare .cmp-per .rg{flex:1 1 100%;order:3;font-size:11.5px}#sec-compare .cmp-per-r{flex:1 1 100%;order:4}#sec-compare .cmp-per .an-select{flex:1 1 96px;width:auto}#sec-compare .cmp-per .cmp-dates{flex:1 1 auto}#sec-compare .cmp-per .cmp-dates input[type=date]{flex:1 1 0;width:auto;min-width:0}}

/* подпись карточки не должна обрезаться; длинные значения — переносим, а не режем */#sec-compare .cmp-kpis .an-kpi .k-lbl{white-space:normal;overflow-wrap:anywhere}#sec-compare .cmp-kpis .an-kpi .k-val .u{white-space:nowrap}

/* ===== «Сравнение»: диапазон одной строкой, как на «Аналитике» (13.09.2026) ===== */#sec-compare .cmp-range{display:flex;align-items:center;gap:8px;flex-wrap:wrap;max-width:1440px;margin:0 auto 10px;
  padding:8px 10px;background:#f4f6f9;border:0;border-radius:12px;box-shadow:none}#sec-compare .cmp-per{display:inline-flex;align-items:center;gap:6px;padding:3px 8px 3px 4px;background:#fff;
  border:1px solid var(--an-line);border-radius:9px;flex-wrap:nowrap;min-width:0}#sec-compare .cmp-per::before{display:none}#sec-compare .cmp-badge{width:20px;height:20px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:700;color:#fff;background:var(--an-gold);flex:0 0 auto}#sec-compare .cmp-per.b .cmp-badge{background:#8494a9}#sec-compare .cmp-per .an-select{flex:0 0 74px;width:74px;height:26px;font-size:11.5px;padding:0 5px;border:0;background:#f4f6f9}#sec-compare .cmp-per .rg{flex:0 0 auto;font-size:11.5px;color:var(--an-muted);font-variant-numeric:tabular-nums;white-space:nowrap}#sec-compare .cmp-per .cmp-dates{display:inline-flex;align-items:center;gap:4px;margin:0}#sec-compare .cmp-per .cmp-dates input[type=date]{flex:0 0 104px;width:104px;height:26px;font-size:10.5px;padding:0 4px;
  border:1px solid var(--an-line);border-radius:7px;background:#fff;color:var(--an-ink)}#sec-compare .cmp-per .cmp-dates input[type=date]:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(65,151,226,.13)}#sec-compare .cmp-dash{font-size:10.5px;color:var(--an-muted-2)}#sec-compare .cmp-vs{font-size:13px;color:var(--an-muted-2);flex:0 0 auto}#sec-compare .cmp-presets{display:inline-flex;align-items:center;gap:5px;flex-wrap:wrap;margin-left:auto}#sec-compare .cmp-presets .an-chip{height:26px;font-size:11.5px;padding:0 10px}@media(max-width:1240px){#sec-compare .cmp-presets{margin-left:0;width:100%}}@media(max-width:900px){#sec-compare .cmp-per{flex:1 1 100%}#sec-compare .cmp-vs{display:none}#sec-compare .cmp-per .rg{flex:1 1 auto}#sec-compare .cmp-per .an-select{flex:0 0 84px;width:84px}#sec-compare .cmp-per .cmp-dates{margin-left:auto}}@media(max-width:560px){#sec-compare .cmp-per .cmp-dates{flex:1 1 100%;width:100%}#sec-compare .cmp-per .cmp-dates input[type=date]{flex:1 1 0;width:auto;min-width:0}}

/* =====================================================================
   «Сравнение» — финальная переработка (13.09.2026)
   Диапазон: одна строка на всю ширину. Карточки: три в ряд, на всю ширину.
   ===================================================================== */

/* ---------- диапазон: одна строка, на всю ширину ---------- */#sec-compare .cmp-range{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;width:100%;max-width:1440px;
  margin:0 auto 12px;padding:8px 10px;background:#f4f6f9;border:0;border-radius:12px;box-sizing:border-box}#sec-compare .cmp-per{display:inline-flex;flex-direction:row;align-items:center;gap:6px;padding:3px 8px 3px 4px;background:#fff;
  border:1px solid var(--an-line);border-radius:9px;flex:0 0 auto;min-width:0;white-space:nowrap}#sec-compare .cmp-per::before{display:none}#sec-compare .cmp-badge{width:20px;height:20px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:700;color:#fff;background:var(--an-gold);flex:0 0 auto}#sec-compare .cmp-per.b .cmp-badge{background:#8494a9}#sec-compare .cmp-per .an-select{width:70px;height:26px;font-size:11.5px;padding:0 5px;border:0;background:#f4f6f9;border-radius:6px}#sec-compare .cmp-per .rg{display:none}           /* дубль диапазона: его и так показывают поля дат */#sec-compare .cmp-per .cmp-dates{display:inline-flex;align-items:center;gap:4px;margin:0}#sec-compare .cmp-per .cmp-dates input[type=date]{width:98px;height:26px;font-size:10.5px;padding:0 5px;
  border:1px solid var(--an-line);border-radius:7px;background:#fff;color:var(--an-ink);font-variant-numeric:tabular-nums}#sec-compare .cmp-per .cmp-dates input[type=date]:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(65,151,226,.13)}#sec-compare .cmp-dash{font-size:10.5px;color:var(--an-muted-2)}#sec-compare .cmp-vs{font-size:13px;color:var(--an-muted-2);flex:0 0 auto}#sec-compare .cmp-presets{display:inline-flex;align-items:center;gap:5px;margin-left:auto;flex:0 0 auto}#sec-compare .cmp-presets .an-chip{height:26px;font-size:11.5px;padding:0 11px;white-space:nowrap}

/* ---------- карточки статистики: три в ряд, на всю ширину ---------- */#sec-compare .cmp-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;max-width:none;margin:0 0 14px}#sec-compare .cmp-kpic{display:flex;flex-direction:column;background:#fff;border:1px solid var(--an-line);
  border-radius:13px;padding:0;box-shadow:0 1px 2px rgba(16,24,40,.04);transition:box-shadow .15s,border-color .15s;min-width:0}#sec-compare .cmp-kpic:hover{border-color:#d6dae1;box-shadow:0 6px 18px rgba(16,24,40,.07)}#sec-compare .cmp-kpic-h{display:flex;align-items:center;gap:10px;padding:12px 14px 10px;min-width:0}#sec-compare .cmp-kpic-h .nm{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#5f6875;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}#sec-compare .cmp-kpic-h .dl{margin-left:auto;flex:0 0 auto}#sec-compare .dl{display:inline-block;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:700;
  font-variant-numeric:tabular-nums;line-height:1.4}#sec-compare .dl.pos{background:#e7f6ec;color:#1a7f37}#sec-compare .dl.neg{background:#fdecec;color:#c0392b}#sec-compare .dl.flat{background:#eef0f4;color:#6b7280}#sec-compare .cmp-kpic-b{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:4px 14px 9px}#sec-compare .cmp-kpic-c{min-width:0;text-align:right;padding-right:14px}#sec-compare .cmp-kpic-c.b{padding-left:14px;padding-right:0;text-align:left;border-left:1px solid var(--an-line)}#sec-compare .cmp-kpic-c .val{display:block;font-family:var(--an-num);font-size:20px;font-weight:700;color:var(--an-ink);
  letter-spacing:-.4px;font-variant-numeric:tabular-nums;white-space:nowrap}#sec-compare .cmp-kpic-c.b .val{font-size:18px;color:#59636f;font-weight:600}#sec-compare .cmp-kpic-c .per{display:flex;align-items:center;gap:5px;justify-content:flex-end;margin-top:6px;font-size:10.5px;
  font-weight:700;letter-spacing:.06em;color:var(--an-muted)}#sec-compare .cmp-kpic-c.b .per{justify-content:flex-start}#sec-compare .cmp-kpic-c .per i{width:6px;height:6px;border-radius:50%;flex:0 0 auto;background:var(--an-gold)}#sec-compare .cmp-kpic-c.b .per i{background:#8b9bb0}#sec-compare .cmp-kpic-f{display:flex;align-items:baseline;justify-content:center;gap:9px;border-top:1px solid var(--an-line-2);
  padding:9px 14px 11px}#sec-compare .cmp-kpic-f .lb{font-size:11.5px;color:var(--an-muted)}#sec-compare .cmp-kpic-f .d{font-family:var(--an-num);font-size:13px;font-weight:700;letter-spacing:-.1px;white-space:nowrap;font-variant-numeric:tabular-nums}#sec-compare .cmp-kpic-f .d.pos{color:var(--an-green)}#sec-compare .cmp-kpic-f .d.neg{color:var(--an-red)}#sec-compare .cmp-kpic-f .d.flat{color:var(--an-muted)}

/* ---------- адаптив ---------- */@media(max-width:1150px){#sec-compare .cmp-range{flex-wrap:wrap}#sec-compare .cmp-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){#sec-compare .cmp-kpis{grid-template-columns:1fr;gap:9px}#sec-compare .cmp-range{gap:7px;padding:8px}#sec-compare .cmp-per{flex:1 1 100%}#sec-compare .cmp-vs{display:none}#sec-compare .cmp-presets{margin-left:0;width:100%}#sec-compare .cmp-presets .an-chip{flex:1 1 auto;justify-content:center}#sec-compare .cmp-kpic-c .val{font-size:17px}#sec-compare .cmp-kpic-c.b .val{font-size:15.5px}}@media(max-width:430px){#sec-compare .cmp-per .cmp-dates input[type=date]{width:auto;flex:1 1 0;min-width:0}#sec-compare .cmp-per .cmp-dates{flex:1 1 auto}#sec-compare .cmp-per .an-select{flex:0 0 64px;width:64px}}

/* ===== «Сравнение»: дат-блок влезает в одну строку на ~1280px (13.09.2026) ===== */#sec-compare .cmp-per{box-sizing:border-box;gap:6px}#sec-compare .cmp-per .an-select{width:64px;height:26px;box-sizing:border-box;flex:0 0 64px}#sec-compare .cmp-per .cmp-dates input[type=date]{width:88px;height:26px;box-sizing:border-box;flex:0 0 88px;padding:0 4px}#sec-compare .cmp-presets .an-chip{height:26px;font-size:11px;padding:0 9px}@media(max-width:1250px){#sec-compare .cmp-range{flex-wrap:wrap}}#sec-compare .cmp-kpis, #sec-compare .cmp-top, #sec-compare .an-card{max-width:1440px;margin-left:auto;margin-right:auto}

/* ===== Карточки «Сравнение» — новый дизайн (13.09.2026): периоды друг под другом, полоса тренда ===== */#sec-compare .cmp-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:100%;max-width:1440px;margin:0 auto 14px}#sec-compare .cmp-kpic{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--an-line);
  border-radius:14px;padding:14px 16px 13px;box-shadow:0 1px 2px rgba(16,24,40,.04);overflow:hidden;min-width:0;
  transition:box-shadow .16s,border-color .16s,transform .16s}#sec-compare .cmp-kpic:hover{border-color:#d6dae1;box-shadow:0 8px 24px rgba(16,24,40,.08);transform:translateY(-2px)}#sec-compare .cmp-kpic::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:#c7cdd6}#sec-compare .cmp-kpic.t-pos::before{background:linear-gradient(90deg,#27a644,#4ad87a)}#sec-compare .cmp-kpic.t-neg::before{background:linear-gradient(90deg,#c0392b,#e74c3c)}#sec-compare .cmp-kpic-h{display:flex;align-items:center;gap:10px;margin-bottom:13px;min-width:0}#sec-compare .cmp-kpic-h .nm{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#5f6875;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}#sec-compare .cmp-kpic-h .dl{margin-left:auto;flex:0 0 auto}#sec-compare .dl{display:inline-flex;align-items:center;gap:3px;padding:3px 9px;border-radius:20px;font-size:11.5px;font-weight:700;
  font-variant-numeric:tabular-nums;line-height:1.35;white-space:nowrap}#sec-compare .dl.pos{background:#e7f6ec;color:#1a7f37}#sec-compare .dl.neg{background:#fdecec;color:#c0392b}#sec-compare .dl.flat{background:#eef0f4;color:#6b7280}#sec-compare .cmp-kpic-b{display:flex;flex-direction:column;gap:10px}#sec-compare .cmp-kpic-r{display:flex;align-items:baseline;gap:9px;min-width:0}#sec-compare .cmp-kpic-r .dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;align-self:center}#sec-compare .cmp-kpic-r.a .dot{background:var(--an-gold)}#sec-compare .cmp-kpic-r.b .dot{background:#8b9bb0}#sec-compare .cmp-kpic-r .lbl{font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--an-muted);flex:0 0 auto;text-transform:uppercase}#sec-compare .cmp-kpic-r .val{margin-left:auto;font-family:var(--an-num);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}#sec-compare .cmp-kpic-r.a .val{font-size:21px;font-weight:700;color:var(--an-ink);letter-spacing:-.5px}#sec-compare .cmp-kpic-r.b .val{font-size:17px;font-weight:600;color:#59636f;letter-spacing:-.3px}#sec-compare .cmp-kpic-f{display:flex;align-items:baseline;justify-content:space-between;gap:9px;border-top:1px solid var(--an-line-2);
  padding-top:10px;margin-top:12px}#sec-compare .cmp-kpic-f .lb{font-size:11.5px;color:var(--an-muted)}#sec-compare .cmp-kpic-f .d{font-family:var(--an-num);font-size:14px;font-weight:700;letter-spacing:-.1px;white-space:nowrap;font-variant-numeric:tabular-nums}#sec-compare .cmp-kpic-f .d.pos{color:var(--an-green)}#sec-compare .cmp-kpic-f .d.neg{color:var(--an-red)}#sec-compare .cmp-kpic-f .d.flat{color:var(--an-muted)}@media(max-width:1150px){#sec-compare .cmp-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){#sec-compare .cmp-kpis{grid-template-columns:1fr;gap:10px}#sec-compare .cmp-kpic{padding:12px 14px 12px}#sec-compare .cmp-kpic-r.a .val{font-size:18px}#sec-compare .cmp-kpic-r.b .val{font-size:15px}}

/* ===== Карточки «Сравнение» — компактнее, без цветной обводки (13.09.2026) ===== */#sec-compare .cmp-kpic::before{display:none}#sec-compare .cmp-kpic{padding:11px 14px 11px}#sec-compare .cmp-kpic-h{margin-bottom:9px}#sec-compare .cmp-kpic-h .nm{font-size:10.5px}#sec-compare .cmp-kpic-b{gap:6px}#sec-compare .cmp-kpic-r{gap:8px}#sec-compare .cmp-kpic-r .dot{width:7px;height:7px}#sec-compare .cmp-kpic-r .lbl{font-size:10px}#sec-compare .cmp-kpic-r.a .val{font-size:18px;letter-spacing:-.4px}#sec-compare .cmp-kpic-r.b .val{font-size:15px;letter-spacing:-.2px}#sec-compare .cmp-kpic-f{padding-top:8px;margin-top:9px}#sec-compare .cmp-kpic-f .lb{font-size:11px}#sec-compare .cmp-kpic-f .d{font-size:13px}#sec-compare .dl{padding:2px 8px;font-size:11px}

/* убрать остаточные внутренние отступы шапки/тела/футера карточки */#sec-compare .cmp-kpic-h{padding:0;margin-bottom:8px}#sec-compare .cmp-kpic-b{padding:0}#sec-compare .cmp-kpic-f{padding:8px 0 0;margin-top:8px}

/* Таблица сравнения — на всю ширину (как раньше), остальные блоки остаются по 1440px */#sec-compare .an-card{max-width:none;margin-left:0;margin-right:0}

/* ===== Склад: каркас страницы (17.09.2026) — слева основной контент, справа панель =====
   Страница собирается заново: пока это только разметка-каркас, содержимое панели добавим позже. */
/* margin-right компенсирует правый padding .content (26px): колонка-резерв 340px встаёт ровно под
   закреплённую панель (right:0), и контент не заезжает под неё. Меняешь padding .content — правь и здесь. */#sec-stock .sk-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start;margin-right:-26px}#sec-stock .sk-layout .sk-main{min-width:0}
/* Панель ЗАКРЕПЛЕНА (fixed): стоит на всю высоту окна и примыкает ВСТЫК к блоку заголовка (без зазора),
   низ — до самого низа окна; при прокрутке страницы не двигается. Место под неё в сетке держит
   вторая колонка .sk-layout (340px) — сама панель из потока выведена, поэтому страницу не удлиняет.
   top подставляется скриптом skSideFit() = фактическая высота .topbar (82px — фолбэк).
   Панель прижата к краю окна: справа и снизу отступов нет (right:0; bottom:0), рамок справа/снизу
   и скруглений тоже нет — стык с шапкой сверху и краями экрана справа/снизу. */#sec-stock .sk-side{position:fixed;top:82px;right:0;bottom:0;width:340px;z-index:9;
  background:var(--card);border:1px solid var(--line);border-top:0;border-right:0;border-bottom:0;border-radius:0;
  box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden}@media (max-width:1080px){#sec-stock .sk-layout{grid-template-columns:minmax(0,1fr);margin-right:0}#sec-stock .sk-side{position:static;top:auto;right:auto;bottom:auto;width:auto;z-index:auto;
    border:1px solid var(--line);border-radius:var(--radius);min-height:220px}}

/* ===== СКЛАД v2: тёмный… нет, светлая тема Дом памяти ===== */#sec-stock .sk2-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:12px}#sec-stock .sk2-kpi{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:11px 13px;cursor:pointer;transition:border-color .15s,box-shadow .15s}#sec-stock .sk2-kpi:hover{border-color:#cfd6e4}#sec-stock .sk2-kpi.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}#sec-stock .sk2-kpi .l{font-size:10.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#sec-stock .sk2-kpi .v{font-size:22px;font-weight:700;margin-top:4px;font-variant-numeric:tabular-nums;color:var(--ink);line-height:1.15}#sec-stock .sk2-kpi .h{font-size:10.5px;color:var(--muted);margin-top:3px;line-height:1.32;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}#sec-stock .sk2-kpi.warn .v{color:#b42318}#sec-stock .sk2-kpi.amber .v{color:#b45309}#sec-stock .sk2-kpi.ok .v{color:#15803d}#sec-stock .sk2-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}#sec-stock .sk2-head h3{font-size:14px;margin:0;font-weight:700;color:var(--ink)}#sec-stock .sk2-head .sk2-sub{font-size:12px;color:var(--muted)}#sec-stock .sk2-age{margin-left:auto;font-size:11.5px;color:var(--muted)}#sec-stock .sk2-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px;box-shadow:var(--shadow)}#sec-stock .sk2-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:11px;margin-bottom:11px;border-bottom:1px solid var(--line)}#sec-stock .sk2-search{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:0 11px;height:34px;flex:0 1 300px;min-width:180px}#sec-stock .sk2-search svg{width:15px;height:15px;stroke:var(--muted);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}#sec-stock .sk2-search input{border:0;outline:0;font-size:12.5px;flex:1;background:transparent;color:var(--ink);font-family:inherit}#sec-stock .sk2-chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center}#sec-stock .sk2-chip{background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 11px;font-size:12px;cursor:pointer;color:var(--muted);user-select:none;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}#sec-stock .sk2-chip b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}#sec-stock .sk2-chip:hover{border-color:#cfd6e4}#sec-stock .sk2-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}#sec-stock .sk2-chip.active b{color:#fff}#sec-stock .sk2-chip .dot{width:8px;height:8px;border-radius:3px;flex:0 0 auto}#sec-stock .sk2-chip.ghost{background:#f6f8fb}#sec-stock .sk2-btn{margin-left:auto;background:#fff;border:1px solid var(--line);border-radius:10px;padding:7px 13px;font-size:12.5px;cursor:pointer;color:var(--ink);white-space:nowrap;font-family:inherit}#sec-stock .sk2-btn:hover{background:#f4f6f9}#sec-stock .sk2-scroll{overflow:auto;max-height:calc(100vh - 330px)}#sec-stock .sk2-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}#sec-stock .sk2-table thead th{position:sticky;top:0;z-index:2;background:var(--card);text-align:left;color:var(--muted);font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}#sec-stock .sk2-table td{padding:7px 10px;border-bottom:1px solid var(--line);vertical-align:middle}#sec-stock .sk2-table tbody tr:hover{background:rgba(65,151,226,.05)}#sec-stock .sk2-table td.num,#sec-stock .sk2-table th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}#sec-stock .sk2-table td.num i{font-style:normal;color:var(--muted);font-size:11px;margin-left:4px}#sec-stock .sk2-table .nm{color:var(--ink)}#sec-stock .sk2-table .nm .sk2-badge{margin-left:5px;vertical-align:1px}#sec-stock .sk2-tot{display:block;color:var(--muted);font-size:11px;margin-top:2px}#sec-stock .sk2-table .muted{color:var(--muted);font-size:12px;white-space:nowrap}#sec-stock .sk2-grp td{background:#f2f6fb;font-weight:700;font-size:12.5px;padding:7px 10px;color:var(--ink)}#sec-stock .sk2-grp .g-cnt{float:right;color:var(--muted);font-weight:600;font-variant-numeric:tabular-nums}#sec-stock .sk2-badge{display:inline-block;padding:2px 7px;border-radius:6px;font-size:11px;font-weight:600;white-space:nowrap}#sec-stock .sk2-badge.red{background:#fdecec;color:#b42318}#sec-stock .sk2-badge.amber{background:#fdf3e3;color:#b45309}#sec-stock .sk2-badge.green{background:#e9f6ee;color:#15803d}#sec-stock .sk2-badge.blue{background:var(--accent-soft);color:var(--accent-2)}#sec-stock .sk2-badge.grey{background:#f1f3f7;color:#4b5563}#sec-stock .sk2-foot{display:flex;align-items:center;gap:12px;margin-top:10px}#sec-stock .sk2-foot .sk2-sum{font-size:12px;color:var(--muted)}#sec-stock .sk2-more{margin-left:auto;background:#fff;border:1px solid var(--line);border-radius:10px;padding:7px 14px;font-size:12.5px;cursor:pointer;color:var(--ink)}#sec-stock .sk2-more:hover{background:#f4f6f9}#sec-stock .sk2-empty{color:var(--muted);font-size:12.5px;padding:14px 4px}#sec-stock .sk2-cards{display:none}#sec-stock .sk2-c{background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px 12px;margin-bottom:8px}#sec-stock .sk2-c .t{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:6px}#sec-stock .sk2-c .r{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;padding:2px 0;color:var(--muted)}#sec-stock .sk2-c .r b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}#sec-stock .sk2-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:14px;margin-bottom:12px}#sec-stock .sk2-metric .l{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}#sec-stock .sk2-metric .v{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink);margin-top:2px}#sec-stock .sk2-metric.warn .v{color:#b42318}#sec-stock .sk2-metric.amber .v{color:#b45309}#sec-stock .sk2-hint{display:flex;gap:8px;color:var(--muted);font-size:12.5px;line-height:1.45;margin:0 0 12px;padding:9px 12px;background:#f8f9fb;border:1px solid var(--line);border-radius:10px}#sec-stock .sk2-hint b{color:#3d4852;font-weight:600}#sec-stock .sk2-tr{cursor:pointer}#sec-stock .sk2-lines{background:#fafbfd}#sec-stock .sk2-lines td{padding:6px 10px;font-size:12.5px}#sec-stock .sk2-modal{position:fixed;inset:0;z-index:1250;display:none}#sec-stock .sk2-modal.open{display:block}#sec-stock .sk2-modal-bg{position:absolute;inset:0;background:rgba(16,24,40,.45)}#sec-stock .sk2-modal-box{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(760px,92vw);max-height:82vh;background:#fff;border-radius:16px;display:flex;flex-direction:column;box-shadow:0 16px 48px rgba(16,24,40,.28);overflow:hidden}#sec-stock .sk2-modal-h{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line);font-size:15px;font-weight:700;color:var(--ink)}#sec-stock .sk2-modal-t{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}#sec-stock .sk2-modal-t #skModalT{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#sec-stock .sk2-modal-sub{font-size:12px;font-weight:500;color:#8a919b}#sec-stock .sk2-modal-sub:empty{display:none}#sec-stock .sk2-modal-h .x{margin-left:auto;border:0;background:none;font-size:20px;line-height:1;cursor:pointer;color:var(--muted);padding:2px 6px}#sec-stock .sk2-modal-b{overflow:auto;padding:14px 18px}#sec-stock .sk2-bar{display:flex;align-items:flex-end;gap:3px;height:56px;margin:6px 0 4px}#sec-stock .sk2-bar i{flex:1 1 auto;background:var(--accent);border-radius:3px 3px 0 0;min-height:2px;display:block}#sec-stock .sk2-bar i.z{background:#dfe5ee}#sec-stock .sk2-strip{display:flex;justify-content:space-between;font-size:10.5px;color:var(--muted)}@media (max-width:1180px){#sec-stock .sk2-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}#sec-stock .sk2-scroll{max-height:none}}@media (max-width:900px){#sec-stock .sk2-tools{border-bottom:1px solid var(--line)}#sec-stock .sk2-search{flex:1 1 100%}#sec-stock .sk2-btn{margin-left:0;width:100%;text-align:center}#sec-stock .sk2-metrics{gap:14px 22px}}@media (max-width:640px){#sec-stock .sk2-kpis{grid-template-columns:1fr 1fr;gap:8px}#sec-stock .sk2-kpi{padding:9px 10px}#sec-stock .sk2-kpi .v{font-size:19px}#sec-stock .sk2-card{padding:11px 11px}#sec-stock .sk2-desktop{display:none}#sec-stock .sk2-cards{display:block}#sec-stock .sk2-modal-box{width:100vw;max-width:100vw;left:0;right:0;top:auto;bottom:0;transform:none;border-radius:16px 16px 0 0;max-height:88vh}#sec-stock .sk2-modal-b table.sk2-wh th:nth-child(4), #sec-stock .sk2-modal-b table.sk2-wh td:nth-child(4), #sec-stock .sk2-modal-b table.sk2-wh th:nth-child(5), #sec-stock .sk2-modal-b table.sk2-wh td:nth-child(5){display:none}}

/* ---------- панель фильтров «Остатки» (v3): место · склад · сигналы · сортировка ----------
   ВАЖНО: только HEX из палитры приложения (#4197e2 / #2b7ac1 / #eaf3fc / #1f2933 / #6b7280 / #e6e8ec).
   Переменных --soft, --brand, --text в этой сборке НЕТ — с ними фон и подсветка активных не рисуются. */#sec-stock .sk2-filters{display:flex;flex-direction:column;gap:9px;padding:2px 0 12px}#sec-stock .sk2-frow{display:flex;align-items:center;gap:9px;flex-wrap:wrap}#sec-stock .sk2-flab{display:none;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#8a919b}
/* сегмент «Место» */#sec-stock .sk2-seg{display:flex;align-items:center;gap:2px;background:#f2f4f7;border:1px solid #e6e8ec;border-radius:10px;padding:3px}#sec-stock .sk2-segb{display:flex;align-items:center;gap:5px;padding:4px 7px;border-radius:8px;font-size:12px;color:#4a5560;
  background:transparent;border:1px solid transparent;cursor:pointer;white-space:nowrap;font-family:inherit}#sec-stock .sk2-segb:hover{background:#e9edf2;color:#1f2933}#sec-stock .sk2-segb.active{background:#eaf3fc;border-color:#c3ddf5;color:#1c5c96;font-weight:600}#sec-stock .sk2-segb b{font-weight:600;color:#8a919b;font-variant-numeric:tabular-nums}#sec-stock .sk2-segb.active b{color:#2b7ac1}#sec-stock .sk2-segb i.dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex:0 0 auto}
/* дропдаун склада */#sec-stock .sk2-dd{position:relative}#sec-stock .sk2-ddbtn{display:flex;align-items:center;gap:8px;min-width:160px;justify-content:space-between;
  padding:6px 10px;border:1px solid #e6e8ec;background:#fff;border-radius:10px;font-size:13px;color:#1f2933;cursor:pointer;font-family:inherit}#sec-stock .sk2-ddbtn:hover,#sec-stock .sk2-dd.open .sk2-ddbtn{border-color:#9cc7ec;background:#fbfdff}#sec-stock .sk2-ddbtn b{font-weight:600}#sec-stock .sk2-ddbtn i{color:#8a919b;font-style:normal}#sec-stock .sk2-ddpop{display:none;position:absolute;z-index:80;top:calc(100% + 4px);left:0;min-width:290px;max-height:330px;
  background:#fff;border:1px solid #e6e8ec;border-radius:12px;box-shadow:0 12px 28px rgba(16,24,40,.16);padding:7px}#sec-stock .sk2-dd.open .sk2-ddpop{display:block}#sec-stock .sk2-ddsearch{width:100%;box-sizing:border-box;padding:6px 9px;border:1px solid #e6e8ec;border-radius:8px;font-size:13px;
  color:#1f2933;margin-bottom:6px;font-family:inherit}#sec-stock .sk2-ddsearch:focus{outline:none;border-color:#9cc7ec}#sec-stock .sk2-ddlist{overflow:auto;max-height:255px}#sec-stock .sk2-ddlist .g{padding:6px 8px 3px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#8a919b}#sec-stock .sk2-ddlist .o{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 8px;border-radius:8px;
  font-size:13px;cursor:pointer;color:#1f2933}#sec-stock .sk2-ddlist .o:hover{background:#f2f4f7}#sec-stock .sk2-ddlist .o.on{background:#eaf3fc;color:#1c5c96;font-weight:600}#sec-stock .sk2-ddlist .o b{font-weight:600;color:#8a919b;font-variant-numeric:tabular-nums}#sec-stock .sk2-ddlist .o.on b{color:#2b7ac1}
/* чипы сигналов */#sec-stock .sk2-sig{display:flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;border:1px solid #e6e8ec;
  background:#fff;font-size:12.5px;color:#4a5560;cursor:pointer;white-space:nowrap;font-family:inherit}#sec-stock .sk2-sig:hover{background:#f6f8fb;border-color:#cdd5de;color:#1f2933}#sec-stock .sk2-sig b{font-weight:600;color:#8a919b;font-variant-numeric:tabular-nums}#sec-stock .sk2-sig.on{background:#eaf3fc;border-color:#9cc7ec;color:#1c5c96;font-weight:600}#sec-stock .sk2-sig.on b{color:#2b7ac1}#sec-stock .sk2-sig .x{font-size:14px;line-height:1;color:#4a8dc4}#sec-stock .sk2-sig.on .x{color:#2b7ac1}
/* сортировка и поиск */#sec-stock .sk2-sel{appearance:auto;background:#fff;border:1px solid #e6e8ec;border-radius:10px;padding:6px 9px;font-size:12.5px;
  color:#1f2933;cursor:pointer;font-family:inherit}#sec-stock .sk2-sel:hover{border-color:#cdd5de;background:#f6f8fb}#sec-stock .sk2-sel:focus{outline:none;border-color:#9cc7ec}#sec-stock .sk2-search{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid #e6e8ec;border-radius:10px;padding:6px 10px;min-width:120px;flex:1 1 120px}#sec-stock .sk2-search:focus-within{border-color:#9cc7ec}#sec-stock .sk2-search svg{width:15px;height:15px;fill:none;stroke:#8a919b;stroke-width:2;flex:0 0 auto}#sec-stock .sk2-search input{border:0;outline:none;font-size:13px;color:#1f2933;width:100%;background:transparent;font-family:inherit}
/* тумблер сворачивания */#sec-stock .sk2-tog{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#4a5560;cursor:pointer;user-select:none;white-space:nowrap}#sec-stock .sk2-tog .sw{width:34px;height:19px;border-radius:999px;background:#d5d8dc;position:relative;transition:background .15s;flex:0 0 auto}#sec-stock .sk2-tog .sw:after{content:"";position:absolute;top:2px;left:2px;width:15px;height:15px;border-radius:50%;background:#fff;transition:left .15s;
  box-shadow:0 1px 2px rgba(16,24,40,.2)}#sec-stock .sk2-tog.on{color:#1c5c96}#sec-stock .sk2-tog.on .sw{background:#4197e2}#sec-stock .sk2-tog.on .sw:after{left:17px}
/* активные фильтры */#sec-stock .sk2-active{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding-top:1px}#sec-stock .sk2-active:empty{display:none}#sec-stock .sk2-pill{display:flex;align-items:center;gap:7px;padding:4px 10px;border-radius:999px;background:#eaf3fc;
  border:1px solid #cfe3f7;font-size:12px;color:#1c5c96}#sec-stock .sk2-pill b{font-weight:600;color:#2b7ac1}#sec-stock .sk2-pill .x{cursor:pointer;color:#4a8dc4;font-size:15px;line-height:1;padding:0 1px;border-radius:50%}#sec-stock .sk2-pill .x:hover{color:#b3261e;background:#fdecea}#sec-stock .sk2-reset{margin-left:2px;font-size:12.5px;color:#2b7ac1;background:none;border:0;cursor:pointer;padding:4px 2px;font-family:inherit}#sec-stock .sk2-reset:hover{text-decoration:underline}#sec-stock .sk2-btn{background:#fff;border:1px solid #e6e8ec;border-radius:10px;padding:7px 13px;font-size:12.5px;cursor:pointer;color:#1f2933;
  white-space:nowrap;font-family:inherit;margin-left:auto}#sec-stock .sk2-btn:hover{background:#f4f6f9}#sec-stock .sk2-sortlab{display:none;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#8a919b;margin-left:2px}#sec-stock .sk2-fsep{width:1px;height:20px;background:#e6e8ec;margin:0 3px}

/* ---------- адаптив панели фильтров «Остатки» ----------
   На узких экранах подписи уходят над контролами, а сегмент «Место» и чипы сигналов
   едут горизонтальным скроллом (как табы): элементы не режутся и не переносятся. */@media (max-width:900px){#sec-stock .sk2-filters{gap:10px}#sec-stock .sk2-frow{display:block}#sec-stock .sk2-flab{display:block;margin:0 0 6px}#sec-stock .sk2-seg,#sec-stock .sk2-chips{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;
    -webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none;padding-bottom:2px}#sec-stock .sk2-seg::-webkit-scrollbar,#sec-stock .sk2-chips::-webkit-scrollbar{display:none;height:0}#sec-stock .sk2-seg > *,#sec-stock .sk2-chips > *{flex:0 0 auto;scroll-snap-align:start}#sec-stock .sk2-seg{scroll-snap-type:x proximity}#sec-stock .sk2-dd{display:block;margin:8px 0 0}#sec-stock .sk2-ddbtn{width:100%}#sec-stock .sk2-ddpop{left:0;right:0;width:auto;min-width:0;max-height:60vh}#sec-stock .sk2-search{width:100%;min-width:0;flex:1 1 100%;margin:6px 0 0}#sec-stock .sk2-sortlab{display:block;margin:8px 0 4px}#sec-stock .sk2-sel{width:100%}#sec-stock .sk2-tog{width:100%;margin-top:10px;flex-direction:row-reverse;justify-content:space-between}#sec-stock .sk2-btn{width:100%;margin:6px 0 0;text-align:center}#sec-stock .sk2-active{padding-top:4px}}@media (max-width:640px){#sec-stock .sk2-flab{font-size:10.5px;margin-bottom:5px}#sec-stock .sk2-segb{padding:6px 10px;font-size:12.5px}#sec-stock .sk2-sig{padding:6px 10px;font-size:12px}#sec-stock .sk2-ddbtn{padding:8px 10px}#sec-stock .sk2-sel{padding:8px 9px}#sec-stock .sk2-search{padding:8px 10px}#sec-stock .sk2-tog{font-size:12px}#sec-stock .sk2-pill{font-size:11.5px;padding:4px 9px}#sec-stock .sk2-ddpop{max-height:55vh}}

/* ---------- мобильная кнопка фильтров + полноэкранная панель (≤900px) ---------- */#sec-stock .sk2-fbar{display:none}#sec-stock .sk2-fhead{display:none}#sec-stock .sk2-ffoot{display:none}#sec-stock .sk2-age{margin-left:auto;font-size:11.5px;color:#8a919b}@media (max-width:900px){/* кнопка вместо всей панели */ #sec-stock .sk2-fbar{display:flex;gap:8px;align-items:center;margin:0 0 10px}#sec-stock .sk2-fbtn{display:flex;align-items:center;justify-content:center;gap:8px;flex:1 1 auto;padding:9px 12px;
    border:1px solid #e6e8ec;background:#fff;border-radius:10px;font-family:inherit;font-size:13px;color:#1f2933;cursor:pointer}#sec-stock .sk2-fbtn:active{background:#f2f6fa}#sec-stock .sk2-fbtn svg{width:16px;height:16px;fill:none;stroke:#2b7ac1;stroke-width:2;stroke-linecap:round}#sec-stock .sk2-fbtn .b{background:#eaf3fc;color:#1c5c96;border-radius:999px;padding:1px 7px;font-size:11.5px;font-weight:600}#sec-stock .sk2-fbtn.on{border-color:#9cc7ec;background:#f7fbff}#sec-stock .sk2-fbar .sk2-btn{width:auto;flex:0 0 auto;margin:0;padding:9px 13px}/* внутри модалки свой экспорт не нужен — он уже в кнопках над таблицей */ #sec-stock .sk2-filters #skExpRows{display:none}#sec-stock .sk2-active{margin-top:0;margin-bottom:8px}/* панель фильтров — полноэкранная модалка */ #sec-stock .sk2-filters{display:none}#sec-stock .sk2-filters.open{display:flex;flex-direction:column;gap:14px;position:fixed;inset:0;z-index:1300;
    background:#fff;padding:10px 14px calc(10px + env(safe-area-inset-bottom));overflow-y:auto;border-radius:0}#sec-stock .sk2-fhead{display:flex;align-items:center;justify-content:space-between;position:sticky;top:-10px;z-index:2;
    background:#fff;margin:-10px 0 0;padding:10px 0 8px;border-bottom:1px solid #eef1f4}#sec-stock .sk2-fhead span{font-size:15px;font-weight:600;color:#1f2933}#sec-stock .sk2-fx{border:0;background:none;font-size:26px;line-height:1;color:#8a919b;cursor:pointer;padding:0 4px}#sec-stock .sk2-ffoot{display:block;position:sticky;bottom:-10px;background:#fff;padding:10px 0 12px;border-top:1px solid #eef1f4}#sec-stock .sk2-ffoot .sk2-btn{width:100%;margin:0}#sec-stock .sk2-btn.acc{background:#4197e2;border-color:#4197e2;color:#fff;font-weight:600;padding:11px 14px}#sec-stock .sk2-fffx{position:absolute;right:14px;top:8px}}

/* ===== Помощь по разделу: кнопка «?» в шапке и широкая боковая модалка ===== */.tb-titlerow{display:flex;align-items:center;gap:9px}.tb-help{width:34px;height:34px;flex:0 0 34px;padding:0;border:1px solid var(--line,#e3e7ee);background:#fff;border-radius:9px;color:#6b7280;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:border-color .15s,color .15s,background .15s}.tb-help:hover{border-color:#4197e2;color:#1c5c96;background:#eaf3fc}.tb-help svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round}.sk2-help{display:none}.sk2-help.open{display:block}.sk2-help-bg{position:fixed;inset:0;background:rgba(15,23,42,.42);z-index:1200}.sk2-help-box::after{content:"";position:absolute;left:0;right:0;bottom:0;height:28px;background:linear-gradient(to top,#fff,rgba(255,255,255,0));pointer-events:none}.sk2-help-box{position:fixed;top:0;right:0;height:100%;width:min(820px,94vw);background:#fff;border-left:1px solid #e3e7ee;box-shadow:-18px 0 48px rgba(15,23,42,.16);z-index:1201;display:flex;flex-direction:column}.sk2-help-h{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:15px 18px;border-bottom:1px solid #eef1f4;background:#fff;flex:0 0 auto}.sk2-help-h .t{display:flex;flex-direction:column;gap:3px;min-width:0}.sk2-help-h b{font-size:16px;color:#1f2933}.sk2-help-h span{font-size:12.5px;color:#6b7280}.sk2-help-h .x{width:30px;height:30px;flex:0 0 30px;padding:0;border:1px solid var(--line,#e3e7ee);background:#fff;border-radius:9px;font-size:18px;line-height:1;color:#6b7280;cursor:pointer}.sk2-help-h .x:hover{border-color:#4197e2;color:#1c5c96;background:#eaf3fc}.sk2-help-b{padding:14px 20px 30px;overflow:auto;font-size:14px;line-height:1.6;color:#1f2933}.sk2-help-b > *{max-width:62ch}.sk2-help-b::-webkit-scrollbar{width:10px}.sk2-help-b::-webkit-scrollbar-thumb{background:#d5dbe5;border-radius:6px}.sk2-help-b::-webkit-scrollbar-thumb:hover{background:#bcc5d3}.sk2-help-b h4{margin:18px 0 7px;font-size:12.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#6b7280}.sk2-help-b h4:first-child{margin-top:3px}.sk2-help-b p{margin:0 0 9px}.sk2-help-b ul{margin:0 0 10px;padding-left:18px}.sk2-help-b li{margin:0 0 5px}.sk2-help-b b{color:#111827}@media (max-width:900px){.tb-titlerow{gap:7px}.tb-help{width:30px;height:30px;flex-basis:30px}.tb-help svg{width:17px;height:17px}.sk2-help-box{width:100vw;border-left:0}.sk2-help-h{padding:12px 14px}.sk2-help-b{padding:12px 14px 24px;font-size:13px}}#sec-stock .sk2-rb{font-style:normal;font-size:10px;color:#98a2b3;margin-left:4px;text-transform:lowercase}

/* ===== Номенклатура: дерево как в 1С ===== */#sec-stock .sk2-tree{font-size:13px;padding:2px 0;line-height:1.35}#sec-stock .sk2-tree .sk2-trow{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:7px;min-height:30px}#sec-stock .sk2-tree .sk2-tn>.sk2-trow{cursor:pointer;font-weight:600;color:var(--ink)}#sec-stock .sk2-tree .sk2-tn>.sk2-trow:hover{background:rgba(65,151,226,.07)}#sec-stock .sk2-tree .sk2-tar{width:18px;height:18px;flex:0 0 auto;display:grid;place-items:center;border:0;background:transparent;color:var(--muted);font-size:11px;cursor:pointer;padding:0}#sec-stock .sk2-tree .sk2-tf{white-space:nowrap}#sec-stock .sk2-tree .sk2-tmeta{margin-left:auto;color:var(--muted);font-size:11.5px;font-weight:400;font-variant-numeric:tabular-nums;white-space:nowrap}#sec-stock .sk2-tree .sk2-tkids{margin-left:16px;padding-left:10px;border-left:1px solid #e6e8ec}#sec-stock .sk2-tree .sk2-tn>.sk2-tkids{display:none}#sec-stock .sk2-tree .sk2-tn.open>.sk2-tkids{display:block}#sec-stock .sk2-tree .sk2-titem:hover{background:rgba(65,151,226,.05)}#sec-stock .sk2-tree .sk2-titem .sk2-tdot{width:18px;flex:0 0 auto;display:grid;place-items:center}#sec-stock .sk2-tree .sk2-titem .sk2-tdot:after{content:"";width:5px;height:5px;border-radius:50%;background:#c3c9d4}#sec-stock .sk2-tree .sk2-tn-name{color:var(--ink);white-space:nowrap}#sec-stock .sk2-tree .sk2-tcat{color:var(--muted);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}#sec-stock .sk2-tree .sk2-tq{margin-left:auto;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink)}#sec-stock .sk2-tree .sk2-tq.zero{color:var(--muted);font-weight:400}

/* ===== Сайдбар «Папки» справа в «Остатках» ===== */#sec-stock .sk2-layout{display:flex;align-items:flex-start;gap:14px}#sec-stock .sk2-layout .sk2-main{flex:1;min-width:0}#sec-stock .sk2-side{flex:0 0 340px;width:340px;position:sticky;top:12px;max-height:calc(100vh - 130px);
  display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}#sec-stock .sk2-side-h{display:flex;align-items:center;justify-content:space-between;padding:10px 13px;
  border-bottom:1px solid var(--line);font-weight:600;font-size:13px;color:var(--ink)}#sec-stock .sk2-side-x{border:0;background:none;font-size:16px;line-height:1;cursor:pointer;color:var(--muted);padding:0 4px;display:none}#sec-stock .sk2-side-tools{display:flex;gap:6px;padding:7px 12px 0}#sec-stock .sk2-side-tools button{flex:1;border:1px solid var(--line);background:#fff;border-radius:8px;font-size:11.5px;font-weight:600;color:var(--muted);cursor:pointer;padding:5px 6px;font-family:inherit}#sec-stock .sk2-side-tools button:hover{color:var(--ink);border-color:#cfd6e4;background:#f4f6f9}#sec-stock .sk2-side-path{display:flex;flex-wrap:wrap;gap:2px;align-items:center;padding:6px 12px 0;font-size:11.5px;min-height:16px}#sec-stock .sk2-crumb{border:0;background:none;color:var(--accent-2);font-size:11.5px;font-weight:600;cursor:pointer;padding:1px 3px;border-radius:5px;font-family:inherit;max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#sec-stock .sk2-crumb:hover{background:var(--accent-soft)}#sec-stock .sk2-crumb-sep{color:#c3c9d4;font-size:11px}#sec-stock .sk2-side-s{margin:10px 12px 6px;min-width:0;width:auto;flex:0 0 auto}#sec-stock .sk2-side-tree{overflow:auto;flex:1;padding:2px 6px 10px;min-height:80px}#sec-stock .sk2-sf .sk2-tar{width:16px;height:16px;flex:0 0 auto;display:grid;place-items:center;border:0;
  background:transparent;color:var(--muted);font-size:10px;cursor:pointer;padding:0}#sec-stock .sk2-sf .sk2-tar.leaf{visibility:hidden}#sec-stock .sk2-srow{display:flex;align-items:center;gap:6px;padding:5px 9px;border-radius:7px;
  cursor:pointer;font-size:13.5px;color:var(--ink);min-height:30px}#sec-stock .sk2-srow:hover{background:rgba(65,151,226,.06)}#sec-stock .sk2-srow.sel{background:var(--accent-soft);color:var(--accent-2);font-weight:600}#sec-stock .sk2-srow .sk2-tar{width:16px;height:16px;flex:0 0 auto;display:grid;place-items:center;
  border:0;background:transparent;color:var(--muted);font-size:10px;cursor:pointer;padding:0}#sec-stock .sk2-srow .sk2-tar.leaf{visibility:hidden}#sec-stock .sk2-sfn{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#sec-stock .sk2-sfc{margin-left:auto;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}#sec-stock .sk2-srow.sel .sk2-sfc{color:var(--accent-2)}#sec-stock .sk2-skids{margin-left:13px;border-left:1px solid #e6e8ec;padding-left:4px}#sec-stock .sk2-sidebtn{display:none}@media (max-width:1080px){#sec-stock .sk2-layout{display:block}#sec-stock .sk2-side{position:fixed;top:0;right:0;bottom:0;width:min(340px,92vw);max-height:none;z-index:1200;
    border-radius:0;transform:translateX(100%);transition:transform .22s;border-left:1px solid var(--line)}#sec-stock .sk2-side.open{transform:translateX(0)}#sec-stock .sk2-side-x{display:block}#sec-stock .sk2-sidebtn{display:inline-flex}}

/* ---------- Таблица раздела: свои ширины под 11 колонок ----------
   Правила таблицы «Должников» (класс t-debtors) НЕ копируем: они задают ширины под их
   13 колонок, и на нашей таблице содержимое наезжало на соседние столбцы. */#sec-duedate table.t-duedate{min-width:1560px;table-layout:fixed;width:100%}#sec-duedate table.t-duedate th,#sec-duedate table.t-duedate td{padding:8px 9px;font-size:12.5px;line-height:1.35;
  vertical-align:top;overflow-wrap:break-word;word-break:normal;hyphens:none}#sec-duedate table.t-duedate th{font-size:11.5px;font-weight:600;color:var(--an-muted);letter-spacing:.02em;line-height:1.2;
  vertical-align:bottom;text-align:left;background:#fafbfd;border-bottom:1px solid var(--an-line);white-space:nowrap}#sec-duedate table.t-duedate th:nth-child(1){width:168px}#sec-duedate table.t-duedate th:nth-child(2){width:96px}#sec-duedate table.t-duedate th:nth-child(3){width:190px}#sec-duedate table.t-duedate th:nth-child(4){width:176px}#sec-duedate table.t-duedate th:nth-child(5){width:108px}#sec-duedate table.t-duedate th:nth-child(6){width:108px}#sec-duedate table.t-duedate th:nth-child(7){width:110px}#sec-duedate table.t-duedate th:nth-child(8){width:130px}#sec-duedate table.t-duedate th:nth-child(9){width:210px}#sec-duedate table.t-duedate th:nth-child(10){width:130px}#sec-duedate table.t-duedate th:nth-child(11){width:130px}#sec-duedate table.t-duedate th:nth-child(1),#sec-duedate table.t-duedate td:nth-child(1){
  position:sticky;left:0;z-index:3;background:#fff;box-shadow:inset -1px 0 0 var(--an-line)}#sec-duedate table.t-duedate thead th:nth-child(1){z-index:4;background:#fafbfd}#sec-duedate table.t-duedate tbody tr+tr td{border-top:1px solid var(--an-line-2)}#sec-duedate table.t-duedate tbody tr:hover td{background:#fafbfd}#sec-duedate table.t-duedate tbody tr:hover td:nth-child(1){background:#fafbfd}#sec-duedate table.t-duedate tr.mt-open-f>td:nth-child(1){background:#f4f6fa}#sec-duedate table.t-duedate th.num{text-align:left}#sec-duedate table.t-duedate td.num{font-variant-numeric:tabular-nums;font-family:var(--an-num)}#sec-duedate table.t-duedate .chip{white-space:normal;overflow-wrap:anywhere;max-width:100%;display:inline-block}#sec-duedate table.t-duedate td .an-sub{display:none}@media(max-width:760px){#sec-duedate table.t-duedate{min-width:0}#sec-duedate table.t-duedate td .an-sub{display:block;margin-top:3px}}


/* ===== Раздел «Дата выполнения»: стили 1:1 как у «Должников» (без таблицы) ===== */#sec-duedate .scrollx{overflow-x:auto;overflow-y:hidden}#sec-duedate .scrollx table tr:first-child th:first-child{z-index:7}#sec-duedate{
  --an-line:#e4e7ec; --an-line-2:#f1f3f6; --an-muted:#6b7280; --an-muted-2:#6b7280;
  --an-ink:#1f2933; --an-gold:#4197e2; --an-gold-2:#2b7ac1; --an-gold-soft:#faf4e9;
  --an-green:#0f7a3d; --an-green-bg:#e9f6ee; --an-red:#b3261e; --an-red-bg:#fdecea;
  --an-num:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --an-top:0px;
}#sec-duedate .an-toolbar{position:sticky;top:var(--an-top,0);z-index:9;display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(8px);border:1px solid var(--an-line);border-radius:12px;
  padding:8px 11px;margin-bottom:10px;box-shadow:0 1px 2px rgba(16,24,40,.05)}#sec-duedate .an-seg{display:flex;gap:2px;background:#eef0f4;border-radius:9px;padding:3px;overflow-x:auto;-webkit-overflow-scrolling:touch}#sec-duedate .an-seg button{border:0;background:none;font:600 12.5px/1.2 inherit;color:var(--an-muted);padding:6px 11px;border-radius:7px;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s;font-family:inherit}#sec-duedate .an-seg button:hover{color:var(--an-ink)}#sec-duedate .an-seg button.active{background:#fff;color:var(--an-ink);box-shadow:0 1px 3px rgba(16,24,40,.13)}#sec-duedate .an-dates{display:flex;align-items:center;gap:6px;flex-wrap:wrap}#sec-duedate .an-date{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--an-line);background:#fff;border-radius:9px;padding:3px 8px}#sec-duedate .an-date span{font-size:11px;color:var(--an-muted-2)}#sec-duedate .an-date input{border:0;outline:0;font:500 13px inherit;color:var(--an-ink);background:none;padding:3px 0;width:118px;font-family:inherit}#sec-duedate .an-sp{flex:1 1 auto}#sec-duedate .an-ibtn{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border:1px solid var(--an-line);background:#fff;border-radius:9px;cursor:pointer;color:var(--an-muted);transition:.15s}#sec-duedate .an-ibtn:hover{color:var(--an-ink);border-color:#d3d8e0;background:#fafbfc}#sec-duedate .an-ibtn.danger{color:var(--an-red)}#sec-duedate .an-ibtn.danger:hover{background:#fef3f2;border-color:#f6c9c5}#sec-duedate .an-ibtn.loading{opacity:.55;pointer-events:none}#sec-duedate .an-ibtn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}#sec-duedate .an-ibtn.spin svg{animation:an-spin 1s linear infinite}#sec-duedate .an-toolbar.compact #anMeta{display:none}#sec-duedate .an-meta{flex:1 0 100%;display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:12px;color:var(--an-muted);
  margin:0;padding:7px 2px 0;border-top:1px solid var(--an-line-2)}#sec-duedate .an-meta b{color:var(--an-ink);font-weight:600;font-variant-numeric:tabular-nums}#sec-duedate .an-meta .sep{color:#d5dae1}#sec-duedate .an-meta .age{font-variant-numeric:tabular-nums;color:var(--an-muted-2)}#sec-duedate .an-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 6px 3px 10px;background:var(--an-gold-soft);border:1px solid #ecdfc8;border-radius:20px;font-size:11.5px;font-weight:600;color:var(--an-gold-2)}#sec-duedate .an-pill button{border:0;background:none;cursor:pointer;color:inherit;display:grid;place-items:center;padding:0;opacity:.7}#sec-duedate .an-pill button:hover{opacity:1}#sec-duedate .an-pill svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}#sec-duedate .an-link{color:var(--an-gold-2);cursor:pointer;border-bottom:1px dashed #c8def3;font-weight:600}#sec-duedate .an-link:hover{color:var(--an-ink)}#sec-duedate .an-note{display:none;margin:0 0 14px;padding:12px 15px;border:1px solid #ece0c9;border-left:3px solid var(--an-gold);background:#fdfaf4;border-radius:10px;font-size:12.5px;line-height:1.6;color:#4b5563}#sec-duedate .an-note.on{display:block}#sec-duedate .an-note b{color:var(--an-ink)}#sec-duedate .an-note ul{margin:6px 0 0;padding-left:18px}#sec-duedate .an-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}#sec-duedate .an-kpi{position:relative;background:#fff;border:1px solid var(--an-line);border-radius:12px;padding:14px 16px 15px;box-shadow:0 1px 2px rgba(16,24,40,.04);transition:box-shadow .15s,border-color .15s,transform .15s}#sec-duedate .an-kpi:hover{border-color:#d6dae1;box-shadow:0 6px 18px rgba(16,24,40,.07);transform:translateY(-1px)}#sec-duedate .an-kpi .k-lbl{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--an-muted);display:flex;align-items:center;gap:6px}#sec-duedate .an-kpi .k-lbl svg{width:13px;height:13px;fill:none;stroke:var(--an-muted-2);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}#sec-duedate .an-kpi .k-val{margin-top:9px;font-size:26px;font-weight:700;line-height:1.05;letter-spacing:-.7px;font-variant-numeric:tabular-nums;color:var(--an-ink);white-space:nowrap}#sec-duedate .an-kpi .k-val .u{font-size:15px;font-weight:600;color:var(--an-muted);letter-spacing:0;margin-left:1px}#sec-duedate .an-kpi .k-sub{margin-top:8px;font-size:11.5px;color:var(--an-muted);display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:19px}#sec-duedate .an-kpi .k-spark{position:absolute;right:14px;bottom:12px;width:96px;height:28px;overflow:visible}#sec-duedate .an-kpi .k-spark path{fill:none;stroke:var(--an-gold);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}#sec-duedate .an-kpi .k-spark .ar{fill:rgba(65,151,226,.15);stroke:none;opacity:1}#sec-duedate .an-lrow.plain{cursor:default}#sec-duedate .dl{display:inline-flex;align-items:center;gap:3px;font-size:11.5px;font-weight:700;padding:2px 7px;border-radius:7px;font-variant-numeric:tabular-nums;white-space:nowrap}#sec-duedate .dl.up{background:var(--an-green-bg);color:var(--an-green)}#sec-duedate .dl.down{background:var(--an-red-bg);color:var(--an-red)}#sec-duedate .dl.flat,#sec-duedate .dl.none{background:#eef1f7;color:#5b6472}#sec-duedate .dl.base{background:#fdf4e3;color:#2b6ea8}#sec-duedate .dl i{font-style:normal;font-size:9px}#sec-duedate .an-card{background:#fff;border:1px solid var(--an-line);border-radius:12px;padding:15px 17px 16px;box-shadow:0 1px 2px rgba(16,24,40,.04);margin-bottom:16px}#sec-duedate .an-card-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}#sec-duedate .an-card-h h3{margin:0;font-size:14px;font-weight:700;letter-spacing:-.2px;color:var(--an-ink)}#sec-duedate .an-card-h .hint{font-size:11.5px;color:var(--an-muted)}#sec-duedate .an-card-h .r{margin-left:auto;display:flex;align-items:center;gap:8px}#sec-duedate .an-chart{position:relative;height:300px}#sec-duedate .an-chart.sm{height:230px}#sec-duedate .an-chart .an-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--an-muted);font-size:13px}#sec-duedate .an-legend{display:flex;flex-direction:column;gap:2px;margin-top:10px}#sec-duedate .an-lrow{display:grid;grid-template-columns:9px 1fr auto auto;align-items:center;gap:9px;padding:5px 7px;border-radius:8px;font-size:12.5px;cursor:pointer;transition:background .15s}#sec-duedate .an-lrow:hover{background:#f7f9fb}#sec-duedate .an-lrow .dot{width:9px;height:9px;border-radius:3px}#sec-duedate .an-lrow .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#sec-duedate .an-lrow .vl{font-variant-numeric:tabular-nums;font-family:var(--an-num);font-size:12px;color:var(--an-ink)}#sec-duedate .an-lrow .sh{font-variant-numeric:tabular-nums;color:var(--an-muted-2);font-size:11.5px;width:42px;text-align:right}#sec-duedate .an-split{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);gap:18px;align-items:start}#sec-duedate .an-tabs{display:flex;gap:3px;background:#eef0f4;border-radius:11px;padding:4px;margin-bottom:16px;overflow-x:auto;-webkit-overflow-scrolling:touch}#sec-duedate .an-tab{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border:0;background:none;border-radius:8px;font:600 13px/1.2 inherit;color:var(--an-muted);cursor:pointer;white-space:nowrap;flex:0 0 auto;transition:.15s}#sec-duedate .an-tab svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}#sec-duedate .an-tab .cnt{font-size:10.5px;font-weight:700;background:#dfe3ea;color:#5b6472;border-radius:20px;padding:1px 7px;font-variant-numeric:tabular-nums}#sec-duedate .an-tab:hover{color:var(--an-ink)}#sec-duedate .an-tab.active{background:#fff;color:var(--an-ink);box-shadow:0 1px 3px rgba(16,24,40,.13)}#sec-duedate .an-tab.active svg{stroke:var(--an-gold)}#sec-duedate .an-tab.active .cnt{background:var(--an-gold-soft);color:var(--an-gold-2)}#sec-duedate .an-pane{display:none}#sec-duedate .an-pane.active{display:block}#sec-duedate .an-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}#sec-duedate table{width:100%;border-collapse:collapse;font-size:13px}#sec-duedate th{text-align:left;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--an-muted);padding:0 10px 9px;border-bottom:1px solid var(--an-line);white-space:nowrap;vertical-align:bottom}#sec-duedate th.num{text-align:right}#sec-duedate th.srt{cursor:pointer;user-select:none}#sec-duedate th.srt:hover{color:var(--an-ink)}#sec-duedate th.srt .ar{opacity:.28;margin-left:3px}#sec-duedate th.srt.on{color:var(--an-gold-2)}#sec-duedate th.srt.on .ar{opacity:1}#sec-duedate td{padding:9px 10px;border-bottom:1px solid var(--an-line-2);vertical-align:middle}#sec-duedate td.num{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--an-num);font-size:12.5px;white-space:nowrap}#sec-duedate td.txt{font-variant-numeric:normal;font-family:inherit;font-size:13px}#sec-duedate tbody tr:hover td{background:#fafbfd}#sec-duedate tr.clickable{cursor:pointer}#sec-duedate .an-rank{width:34px;color:var(--an-muted-2);font-size:11.5px;font-variant-numeric:tabular-nums}#sec-duedate .an-rank.top{color:var(--an-gold-2);font-weight:700}#sec-duedate .an-name{font-weight:600;color:var(--an-ink);display:block;max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#sec-duedate .an-name.wide{max-width:560px}#sec-duedate .an-sub{font-size:11.5px;color:var(--an-muted-2);margin-top:2px}#sec-duedate .an-cat{display:inline-block;padding:2px 8px;border-radius:20px;background:#f2f4f8;color:#5b6472;font-size:11px;font-weight:600;white-space:nowrap}#sec-duedate .an-new{display:inline-block;padding:2px 7px;border-radius:20px;background:#eef4ff;color:#2563eb;font-size:10.5px;font-weight:700;margin-left:6px}#sec-duedate .an-out{display:inline-block;padding:2px 7px;border-radius:20px;background:#f4f5f7;color:#8a919d;font-size:10.5px;font-weight:700;margin-left:6px}#sec-duedate .an-dynbox{display:flex;align-items:center;gap:10px}#sec-duedate .an-dynbox .an-cmp{flex:1;min-width:80px}#sec-duedate .an-lg{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--an-muted);margin-left:4px}#sec-duedate .an-lg .dot{width:8px;height:8px;border-radius:3px;display:inline-block}#sec-duedate .an-cmp{display:flex;flex-direction:column;gap:5px;min-width:96px;padding:1px 0}#sec-duedate .an-cmp i{display:block;height:7px;border-radius:4px;background:#e9edf2;box-shadow:inset 0 0 0 1px rgba(16,24,40,.03);overflow:hidden}#sec-duedate .an-cmp i>span{display:block;height:100%;border-radius:4px;min-width:2px}#sec-duedate .an-cmp i.p>span{background:#c9d0da}#sec-duedate .an-cmp i.c>span{background:linear-gradient(90deg,#7db8e8,#4197e2)}#sec-duedate .an-cmp i.c>span.low{background:linear-gradient(90deg,#dca29d,#c0564d)}#sec-duedate table.t-fix{table-layout:fixed}#sec-duedate table.t-fix td,#sec-duedate table.t-fix th{overflow:hidden;text-overflow:ellipsis}#sec-duedate table.t-fix td.txt,#sec-duedate table.t-fix td.num{white-space:nowrap}#sec-duedate table.t-branches{min-width:1020px}#sec-duedate table.t-managers{min-width:1120px}#sec-duedate table.t-branches th:nth-child(2),#sec-duedate table.t-managers th:nth-child(2){width:auto}#sec-duedate table.t-fix .an-name{max-width:100%}#sec-duedate table.t-branches th:nth-child(3),#sec-duedate table.t-managers th:nth-child(3){width:92px}#sec-duedate table.t-branches th:nth-child(4),#sec-duedate table.t-managers th:nth-child(4){width:150px}#sec-duedate table.t-branches th:nth-child(5),#sec-duedate table.t-managers th:nth-child(5){width:150px}#sec-duedate table.t-branches th:nth-child(6){width:86px}#sec-duedate table.t-managers th:nth-child(6){width:132px}#sec-duedate table.t-branches th:nth-child(7),#sec-duedate table.t-managers th:nth-child(7){width:252px}#sec-duedate table.t-states{min-width:700px}#sec-duedate table.t-states th:nth-child(2){width:96px}#sec-duedate table.t-states th:nth-child(3){width:150px}#sec-duedate table.t-states th:nth-child(4){width:92px}#sec-duedate table.t-states th:nth-child(5){width:142px}#sec-duedate table.t-products{min-width:1120px}#sec-duedate table.t-products th:nth-child(1){width:3%}#sec-duedate table.t-products th:nth-child(2){width:31%}#sec-duedate table.t-products th:nth-child(3){width:12%}#sec-duedate table.t-products th:nth-child(4){width:7.5%}#sec-duedate table.t-products th:nth-child(5){width:9.5%}#sec-duedate table.t-products th:nth-child(6){width:13%}#sec-duedate table.t-products th:nth-child(7), #sec-duedate table.t-products th:nth-child(8), #sec-duedate table.t-products th:nth-child(9){width:8%}#sec-duedate th.dyn{white-space:normal;overflow-wrap:normal}#sec-duedate .an-filters{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:12px}#sec-duedate .an-search{display:flex;align-items:center;gap:7px;border:1px solid var(--an-line);background:#fff;border-radius:9px;padding:6px 10px;min-width:220px;flex:1 1 220px;max-width:340px}#sec-duedate .an-search svg{width:15px;height:15px;fill:none;stroke:var(--an-muted-2);stroke-width:1.9;stroke-linecap:round}#sec-duedate .an-search input{border:0;outline:0;background:none;font:400 13px inherit;color:var(--an-ink);width:100%;font-family:inherit}#sec-duedate .an-chips{display:flex;gap:6px;flex-wrap:wrap}#sec-duedate .an-chip{border:1px solid var(--an-line);background:#fff;border-radius:20px;padding:5px 11px;font:600 12px inherit;color:var(--an-muted);cursor:pointer;transition:.15s;font-family:inherit}#sec-duedate .an-chip:hover{color:var(--an-ink);border-color:#d3d8e0}#sec-duedate .an-chip.active{background:var(--an-gold-soft);border-color:#d6e7f7;color:var(--an-gold-2)}#sec-duedate .an-count{font-size:11.5px;color:var(--an-muted-2);margin-left:auto;font-variant-numeric:tabular-nums}#sec-duedate .an-more{display:block;width:100%;margin-top:10px;padding:9px;border:1px dashed #d8dce3;background:#fbfcfd;border-radius:9px;font:600 12.5px inherit;color:var(--an-muted);cursor:pointer;font-family:inherit}#sec-duedate .an-more:hover{color:var(--an-ink);border-color:#c9cfd8;background:#f6f8fa}#sec-duedate .an-empty{padding:24px 12px;text-align:center;color:var(--an-muted);font-size:13px}#sec-duedate .an-skel{height:14px;border-radius:6px;background:linear-gradient(90deg,#eef1f5 25%,#f7f9fb 37%,#eef1f5 63%);background-size:400% 100%;animation:an-sh 1.3s ease infinite}#sec-duedate .an-split>*{min-width:0}#sec-duedate .an-scroll{max-width:100%}#sec-duedate .an-card{overflow:hidden}#sec-duedate .an-sortbar{display:none}#sec-duedate .an-scroll,#sec-duedate .an-tabs,#sec-duedate .an-seg{overscroll-behavior-x:contain}#sec-duedate .an-toolbar{position:static;align-items:center;margin-bottom:14px}#sec-duedate .an-seg button,#sec-duedate .an-btn,#sec-duedate .an-select, #sec-duedate .an-search{height:34px;box-sizing:border-box}#sec-duedate .an-search{padding:0 12px;font:500 12.5px inherit;font-family:inherit;max-width:320px}#sec-duedate .an-select{padding:0 10px;max-width:210px}#sec-duedate .an-seg{padding:3px;align-items:center}#sec-duedate .an-seg button .cnt{font-variant-numeric:tabular-nums;color:var(--an-muted-2);margin-left:5px}#sec-duedate .an-toolbar .an-meta{flex:1 0 100%;border-top:1px solid var(--an-line-2)}#sec-duedate .an-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}#sec-duedate .an-kpi{padding:12px 13px 13px}#sec-duedate .an-kpi .k-lbl{font-size:11px}#sec-duedate .an-kpi .k-val{font-family:var(--an-num);letter-spacing:-1px;font-size:19px;
  overflow-wrap:anywhere;line-height:1.25}#sec-duedate .an-kpi .k-sub{font-size:11px;line-height:1.35}#sec-duedate .an-kpi .k-val.neg{color:var(--an-red)}#sec-duedate .an-select{border:1px solid var(--an-line);background:#fff;border-radius:9px;padding:7px 10px;
  font-weight:600;font-size:12.5px;color:var(--an-ink);font-family:inherit;cursor:pointer}#sec-duedate .an-select:focus{outline:0;border-color:#d3d8e0}#sec-duedate .an-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--an-line);background:#fff;
  border-radius:9px;padding:7px 12px;font-weight:600;font-size:12.5px;color:var(--an-ink);cursor:pointer;
  font-family:inherit;transition:.15s;white-space:nowrap}#sec-duedate .an-btn:hover{border-color:#d3d8e0;background:#fafbfc}#sec-duedate .an-btn.loading{opacity:.6;pointer-events:none}#sec-duedate .an-btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;
  stroke-linecap:round;stroke-linejoin:round}#sec-duedate .an-sumline{margin-left:auto;display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--an-muted)}#sec-duedate .an-sumline b{font-variant-numeric:tabular-nums;color:var(--an-ink)}#sec-duedate .an-sumline b.neg{color:var(--an-red)}#sec-duedate .chip{display:inline-block;padding:2px 8px;border-radius:20px;border:1px solid var(--an-line-2);
  background:#f6f7f9;color:#4a5260;font-size:11.5px;font-weight:600;white-space:nowrap;line-height:1.5}#sec-duedate .chip.ok{background:#eaf6ee;border-color:#cbe7d3;color:#15803d}#sec-duedate .chip.warn{background:#fdf6e7;border-color:#dcebf9;color:#b45309}#sec-duedate .chip.b{background:#eef2fd;border-color:#d3dcf7;color:#3b45a0}#sec-duedate .chip.gray{background:#f2f4f8;border-color:#e3e7ee;color:#5b6472}#sec-duedate .chip.refund,#sec-duedate .chip.refund-part{
  background:#fdecec;border-color:#f5c6c6;color:#b42318;
  font-size:10.5px;font-weight:600;padding:1px 6px;border-radius:6px;line-height:1.45;white-space:nowrap}#sec-duedate .chip.refund-part{background:#fdf6e7;border-color:#dcebf9;color:#b45309}#sec-duedate .tag{display:inline-block;padding:2px 8px;border-radius:20px;font-size:11.5px;
  font-weight:600;white-space:nowrap;border:1px solid transparent;line-height:1.5}#sec-duedate .tag.both{background:#dc2626;color:#fff}#sec-duedate .tag.red{background:#fdecec;border-color:#f5c6c6;color:#b42318}#sec-duedate .tag.warn{background:#fdf6e7;border-color:#dcebf9;color:#b45309}#sec-duedate .neg{color:var(--an-red)}#sec-duedate .age{font-variant-numeric:tabular-nums;color:var(--an-muted-2);font-size:12px}#sec-duedate .payinfo{font-size:12px;color:var(--an-muted);display:block;overflow-wrap:anywhere}#sec-duedate .payinfo.more{cursor:pointer}@media(max-width:900px){#sec-duedate .scrollx{overflow-x:auto}#sec-duedate .an-toolbar{position:static}#sec-duedate .an-toolbar.compact #anMeta{display:flex}#sec-duedate .an-seg,#sec-duedate .an-tabs{flex-wrap:wrap;overflow:visible}#sec-duedate .an-tabs .an-tab{flex:1 1 auto;justify-content:center}#sec-duedate .an-kpi .k-lbl{min-height:2.4em;line-height:1.25}#sec-duedate .an-card-h .r{margin-left:0;flex:1 0 100%;justify-content:flex-start;flex-wrap:wrap;gap:8px}#sec-duedate .an-lg{margin-left:0}#sec-duedate .pinned-head{display:none !important}}@media(max-width:1180px){#sec-duedate .an-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}#sec-duedate .an-split{grid-template-columns:minmax(0,1fr)}}@media(min-width:761px) and (max-width:900px){#sec-duedate .an-scroll table.t-branches th:nth-child(1),#sec-duedate .an-scroll table.t-branches td:nth-child(1), #sec-duedate .an-scroll table.t-managers th:nth-child(1),#sec-duedate .an-scroll table.t-managers td:nth-child(1), #sec-duedate .an-scroll table.t-products th:nth-child(1),#sec-duedate .an-scroll table.t-products td:nth-child(1), #sec-duedate .an-scroll table.t-states th:nth-child(1),#sec-duedate .an-scroll table.t-states td:nth-child(1){
    position:sticky;left:0;z-index:3;background:#fff}#sec-duedate .an-scroll table.t-branches th:nth-child(2),#sec-duedate .an-scroll table.t-branches td:nth-child(2), #sec-duedate .an-scroll table.t-managers th:nth-child(2),#sec-duedate .an-scroll table.t-managers td:nth-child(2), #sec-duedate .an-scroll table.t-products th:nth-child(2),#sec-duedate .an-scroll table.t-products td:nth-child(2){
    position:sticky;left:34px;z-index:3;background:#fff;box-shadow:inset -1px 0 0 var(--an-line)}#sec-duedate .an-scroll table.t-products th:nth-child(1),#sec-duedate .an-scroll table.t-products td:nth-child(1){width:34px}#sec-duedate .an-scroll table.t-branches tr:hover td:nth-child(1),#sec-duedate .an-scroll table.t-branches tr:hover td:nth-child(2), #sec-duedate .an-scroll table.t-managers tr:hover td:nth-child(1),#sec-duedate .an-scroll table.t-managers tr:hover td:nth-child(2), #sec-duedate .an-scroll table.t-products tr:hover td:nth-child(1),#sec-duedate .an-scroll table.t-products tr:hover td:nth-child(2), #sec-duedate .an-scroll table.t-states tr:hover td:nth-child(1),#sec-duedate .an-scroll table.t-states tr:hover td:nth-child(2){
    background:#fafbfd}}@media(max-width:760px){#sec-duedate table.t-cards{display:block;min-width:0;table-layout:auto}#sec-duedate table.t-cards thead{display:none}#sec-duedate table.t-cards tbody{display:block}#sec-duedate table.t-cards tr{display:block;background:#fff;border:1px solid var(--an-line);border-radius:11px;padding:11px 12px;margin:0 0 9px}#sec-duedate table.t-cards tr:hover td{background:transparent}#sec-duedate table.t-cards td{display:flex;align-items:baseline;justify-content:space-between;gap:12px;width:auto;max-width:none;
    padding:3px 0;border:0;text-align:left;white-space:normal;overflow:visible;font-family:inherit;font-size:12.5px}#sec-duedate table.t-cards td.num{text-align:right;font-size:12.5px}#sec-duedate table.t-cards td.an-rank{display:none}#sec-duedate table.t-cards td[data-l]::before{content:attr(data-l);flex:0 0 auto;color:var(--an-muted);font:600 11.5px/1.4 inherit;letter-spacing:.02em}#sec-duedate table.t-cards td[data-l]>span{text-align:right}#sec-duedate table.t-cards td.ttl{display:block;padding:0 0 8px;margin-bottom:7px;border-bottom:1px solid var(--an-line-2)}#sec-duedate table.t-cards td.ttl::before{display:none}#sec-duedate table.t-cards .an-name{max-width:none;white-space:normal;overflow:visible;font-size:13.5px;line-height:1.3}#sec-duedate table.t-cards .an-sub{margin-top:3px}#sec-duedate table.t-cards td.dyn{display:block}#sec-duedate table.t-cards td.dyn::before{display:block;margin-bottom:5px}#sec-duedate table.t-cards .an-cat{white-space:normal}#sec-duedate .an-sortbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px}#sec-duedate .an-sortbar .lb{font:600 11.5px/1.4 inherit;color:var(--an-muted);letter-spacing:.02em}#sec-duedate .an-sortbar .an-chip{padding:4px 10px;font-size:11.5px}#sec-duedate .an-toolbar{gap:8px;padding:8px}#sec-duedate .an-sp{display:none}#sec-duedate .an-dates{width:100%}#sec-duedate .an-date{flex:1 1 118px;min-width:0}#sec-duedate .an-date input{width:100%;min-width:0}#sec-duedate .an-dates .sep{display:none}#sec-duedate .an-kpi .k-val{font-size:22px}#sec-duedate .an-kpi .k-spark{display:none}#sec-duedate .an-chart{height:230px}#sec-duedate .an-tab .cnt{display:none}#sec-duedate .an-search{max-width:none}#sec-duedate .an-toolbar{gap:6px;padding:8px;margin-bottom:10px}#sec-duedate .an-seg button,#sec-duedate .an-btn,#sec-duedate .an-select, #sec-duedate .an-search{height:30px;font-size:12px}#sec-duedate .an-select{flex:1 1 46%;min-width:0;max-width:none;padding:0 8px}#sec-duedate .an-btn{padding:0 10px}#sec-duedate .an-sp{display:none}#sec-duedate .an-search{max-width:none}#sec-duedate .an-meta{font-size:11.5px;gap:6px}#sec-duedate .an-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#sec-duedate .an-kpi{padding:11px 12px 12px}#sec-duedate .an-sumline{margin-left:0;flex:1 0 100%}#sec-duedate table.t-cards tr.mt-exp{margin:-9px 0 9px;padding:11px 12px 12px;border-radius:0 0 11px 11px;
    border-top:0;background:#fbfcfe}#sec-duedate table.t-cards tr.mt-exp>td{display:block;padding:0}#sec-duedate table.t-cards tr.mt-exp>td::before{display:none}#sec-duedate .mtx{grid-template-columns:1fr;gap:14px;position:static;padding:0;width:auto !important}}@media(max-width:520px){#sec-duedate .an-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#sec-duedate .an-kpi{padding:11px 12px 12px}#sec-duedate .an-kpi .k-val{font-size:19px;letter-spacing:-.4px}#sec-duedate .an-kpi .k-lbl{font-size:9.5px;letter-spacing:.04em}#sec-duedate .an-kpi .k-sub{font-size:11px;gap:6px}#sec-duedate .an-meta{font-size:11.5px;gap:6px}}@media(max-width:340px){#sec-duedate .an-kpis{grid-template-columns:minmax(0,1fr)}}@media(min-width:761px){#sec-duedate .an-scroll{overflow-x:auto;overflow-y:hidden}}@media(min-width:761px) and (max-width:1100px){#sec-duedate .an-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- «Сравнение»: фильтр филиалов — выпадающее меню от кнопки ---------- */#sec-compare .cmp-bar{position:relative;z-index:5}#sec-compare .cmp-exclwrap{position:relative;flex:0 0 auto}#sec-compare .cmp-fbtn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;
  border:1px solid var(--an-line);background:#fff;border-radius:9px;font-family:inherit;
  font-size:12px;font-weight:600;color:var(--an-muted);cursor:pointer;transition:.15s;white-space:nowrap}#sec-compare .cmp-fbtn:hover{color:var(--an-ink);border-color:#d3d8e0;background:#fafbfc}#sec-compare .cmp-fbtn.on{color:var(--an-gold-2);border-color:#d6e7f7;background:var(--an-gold-soft)}#sec-compare .cmp-fbtn svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.9;
  stroke-linecap:round;stroke-linejoin:round}#sec-compare .cmp-fbtn .cnt{font-variant-numeric:tabular-nums;font-weight:700;color:var(--an-ink)}#sec-compare .cmp-fbtn.on .cnt{color:var(--an-gold-2)}#sec-compare .cmp-fbtn .chev{transition:transform .15s}#sec-compare .cmp-fbtn.open .chev{transform:rotate(180deg)}#sec-compare .cmp-exclpop{position:absolute;top:calc(100% + 6px);left:0;z-index:40;
  width:min(640px,calc(100vw - 40px));padding:11px 13px 12px;background:#fff;
  border:1px solid var(--an-line);border-radius:12px;box-shadow:0 12px 28px rgba(16,24,40,.16)}#sec-compare .cmp-exclpop[hidden]{display:none}#sec-compare .cmp-exclpop-h{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:9px}#sec-compare .cmp-exclpop-h b{font-size:12.5px;color:var(--an-ink)}#sec-compare .cmp-exclpop-h .hint{font-size:11px;color:var(--an-muted-2)}#sec-compare .cmp-exclpop .an-chips{gap:5px;max-height:264px;overflow:auto}#sec-compare .cmp-exclpop .an-chip{height:26px;padding:0 9px;font-size:11.5px}#sec-compare .cmp-exclpop .an-chip .cnt{color:var(--an-ink);font-variant-numeric:tabular-nums;font-weight:600}#sec-compare .cmp-exclpop .an-chip.svc{border-style:dashed}#sec-compare .cmp-exclpop .an-chip.reset{background:#fff;border-color:#d6dae1;font-weight:600}#sec-compare .cmp-exclpop-sum{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 9px;
  padding:7px 9px;background:#f7f9fb;border:1px solid var(--an-line-2);border-radius:9px;font-size:11.5px;color:var(--an-muted)}#sec-compare .cmp-exclpop-sum .lb{font-weight:600}#sec-compare .cmp-exclpop-sum b{color:var(--an-ink);font-variant-numeric:tabular-nums}#sec-compare .cmp-exclpop-sum .d{font-variant-numeric:tabular-nums;font-weight:600}#sec-compare .cmp-exclpop-sum .d.pos{color:#15803d}#sec-compare .cmp-exclpop-sum .d.neg{color:var(--an-red)}#sec-compare .cmp-exclpop-sum .d.flat{color:var(--an-muted-2)}#sec-compare .cmp-exclpop-f{display:flex;justify-content:flex-end;margin-top:0;padding-top:10px;
  border-top:1px solid var(--an-line-2)}@media(max-width:900px){/* на телефоне панель у кнопки не влезает (уезжает за левый край), поэтому — лист снизу */ #sec-compare .cmp-exclpop{position:fixed;left:10px;right:10px;top:auto;bottom:10px;width:auto;
   max-height:72vh;overflow:auto;box-shadow:0 -8px 28px rgba(16,24,40,.18)}#sec-compare .cmp-exclpop .an-chips{max-height:none}}

/* ===== «Анализ камней» ===== */
/* палитра секции: без этого блока var(--an-*) ниже не определены, и рамки, тени и
   приглушённые цвета просто пропадали (та же история, что была в «Настройках») */#sec-stones{
  --an-line:#e4e7ec; --an-line-2:#f1f3f6; --an-muted:#6b7280; --an-muted-2:#6b7280;
  --an-ink:#1f2933; --an-gold:#4197e2; --an-gold-2:#2b7ac1; --an-gold-soft:#eaf3fc;
  --an-green:#0f7a3d; --an-green-bg:#e9f6ee; --an-red:#b3261e; --an-red-bg:#fdecea;
  --an-num:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --an-top:0px;
}#sec-stones .an-toolbar{position:static;display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(8px);border:1px solid var(--an-line);border-radius:12px;padding:8px 11px;margin-bottom:10px;box-shadow:0 1px 2px rgba(16,24,40,.05)}#sec-stones .st-period{display:flex;align-items:center;gap:9px;flex-wrap:wrap;background:#f7f9fb;border:1px solid var(--an-line);border-radius:11px;padding:5px 9px}#sec-stones .st-plbl{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--an-muted)}#sec-stones .an-seg{display:flex;gap:2px;background:#eceff4;border-radius:9px;padding:3px}#sec-stones .an-seg button{border:0;background:none;border-radius:7px;padding:5px 11px;font:600 12px inherit;color:var(--an-muted);cursor:pointer;font-family:inherit;transition:.15s;white-space:nowrap}#sec-stones .an-seg button:hover{color:var(--an-ink)}#sec-stones .an-seg button.active{background:#fff;color:var(--an-ink);box-shadow:0 1px 2px rgba(16,24,40,.09)}#sec-stones .st-range{display:inline-flex;align-items:center;gap:6px}#sec-stones .st-range[hidden]{display:none}#sec-stones .st-range input{border:1px solid var(--an-line);background:#fff;border-radius:8px;padding:5px 7px;font:500 12.5px inherit;color:var(--an-ink);font-family:inherit}#sec-stones .st-dash{color:var(--an-muted-2)}#sec-stones .an-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--an-line);background:#fff;border-radius:9px;padding:7px 12px;font:600 12.5px inherit;color:var(--an-ink);cursor:pointer;font-family:inherit;transition:.15s;white-space:nowrap}#sec-stones .an-btn:hover{border-color:#d3d8e0;background:#fafbfc}#sec-stones .an-select{border:1px solid var(--an-line);background:#fff;border-radius:9px;padding:7px 10px;font:500 12.5px inherit;color:var(--an-ink);font-family:inherit;max-width:200px}#sec-stones .an-card{background:#fff;border:1px solid var(--an-line);border-radius:12px;padding:15px 17px 16px;box-shadow:0 1px 2px rgba(16,24,40,.04);margin-bottom:16px}#sec-stones .an-sortbar{display:none}#sec-stones .dp-foot{margin-top:9px;font-size:12px;color:var(--an-muted);font-variant-numeric:tabular-nums}
/* таблица */
/* ===== таблицы Камни / Тумбы / Цветники =====
   компактные колонки с числами сразу после названия, единица измерения — в шапке,
   последняя колонка-заполнитель растягивает полосы группы и зебру на всю ширину */#sec-stones table.t-stones{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0}#sec-stones table.t-stones th,#sec-stones table.t-stones td{padding:9px 10px;font-size:12.5px;line-height:1.35;
  vertical-align:middle;border:0;overflow:hidden;text-overflow:ellipsis}#sec-stones table.t-stones thead th{font-size:10.5px;font-weight:700;color:var(--an-muted);letter-spacing:.03em;
  text-transform:uppercase;line-height:1.2;text-align:left;background:#f6f8fb;white-space:nowrap;
  border-bottom:1px solid var(--an-line)}#sec-stones table.t-stones thead th .un{font-weight:600;letter-spacing:0;text-transform:none;color:var(--an-muted-2)}#sec-stones table.t-stones > tbody > tr+tr > td{border-top:1px solid var(--an-line-2)}#sec-stones table.t-stones tbody tr.st-mat.alt td{background:#fafcfe}#sec-stones table.t-stones tbody tr.st-mat:hover td{background:#eef6fe}#sec-stones table.t-stones tbody tr.st-mat.open td{background:#f5faff}#sec-stones table.t-stones tbody tr.st-mat.alt:hover td{background:#eef6fe}
/* числа: ровная сетка, значение читается первым */#sec-stones table.t-stones th.num,#sec-stones table.t-stones td.num{text-align:left;white-space:nowrap;
  font-variant-numeric:tabular-nums;font-family:inherit;font-weight:600;color:var(--an-ink)}#sec-stones table.t-stones td.num.zero{color:var(--an-muted-2);font-weight:500}#sec-stones table.t-stones td.num.over{color:var(--an-red)}
/* колонка-заполнитель: полосы строк и зебра идут на всю ширину карточки */#sec-stones table.t-stones th.fill{padding:0;background:#f6f8fb;border-bottom:1px solid var(--an-line)}#sec-stones table.t-stones td.fill{padding:0;border:0;background:transparent}#sec-stones table.t-stones tbody tr.st-mat.alt td.fill{background:#fafcfe}#sec-stones table.t-stones tbody tr.st-mat:hover td.fill{background:#eef6fe}
/* покрытие спроса остатком: процент + полоска */#sec-stones .st-cov{display:inline-block;margin-left:6px;font-size:11px;font-weight:700;
  font-variant-numeric:tabular-nums;color:var(--an-muted-2)}#sec-stones .st-cov.ok{color:var(--an-green)}#sec-stones .st-cov.low{color:var(--an-red)}#sec-stones .st-cov.mid{color:#b45309}
/* единица измерения — плашкой (когда в списке разные единицы) */#sec-stones .dl{display:inline-block;margin-left:4px;padding:1px 6px;border-radius:6px;background:#f2f4f8;
  color:#5b6472;font-size:10.5px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}#sec-stones table.t-stones > thead > tr > th:nth-child(1){width:288px}#sec-stones table.t-stones > thead > tr > th:nth-child(2){width:126px}   /* Продано */#sec-stones table.t-stones > thead > tr > th:nth-child(3){width:172px}   /* Зарезервировано */#sec-stones table.t-stones > thead > tr > th:nth-child(4){width:134px}   /* В сборке */#sec-stones table.t-stones > thead > tr > th:nth-child(5){width:120px}   /* Всего */#sec-stones table.t-stones > thead > tr > th:nth-child(6){width:186px}   /* Свободно */#sec-stones table.t-stones > thead > tr > th:nth-child(7){width:130px}   /* К закупке */#sec-stones table.t-stones > thead > tr > th:nth-child(8){width:132px}   /* Ожидается */
/* режим «под выбранные камни»: добавляются «Нужно» и «Дефицит» */#sec-stones table.t-stones.pickmode > thead > tr > th:nth-child(1){width:286px}#sec-stones table.t-stones.pickmode > thead > tr > th:nth-child(2){width:112px}   /* Нужно */#sec-stones table.t-stones.pickmode > thead > tr > th:nth-child(3){width:126px}   /* Продано */#sec-stones table.t-stones.pickmode > thead > tr > th:nth-child(4){width:172px}   /* Зарезервировано */#sec-stones table.t-stones.pickmode > thead > tr > th:nth-child(5){width:134px}   /* В сборке */#sec-stones table.t-stones.pickmode > thead > tr > th:nth-child(6){width:120px}   /* Всего */#sec-stones table.t-stones.pickmode > thead > tr > th:nth-child(7){width:186px}   /* Свободно */#sec-stones table.t-stones.pickmode > thead > tr > th:nth-child(8){width:126px}   /* Дефицит */#sec-stones table.t-stones.pickmode > thead > tr > th:nth-child(9){width:132px}   /* Ожидается */#sec-stones .st-zero{color:var(--an-muted-2)}
/* подбор камней: «+» у названия, вкладка «Заказать», колонки «Нужно»/«Дефицит» */#sec-stones .an-meta .age .fa{white-space:nowrap}#sec-stones .an-meta .age .fa.late{color:#b45309;font-weight:700}#sec-stones .an-meta .age .fa.late::after{content:"!";margin-left:3px}#sec-stones .st-only{display:inline-flex;align-items:center;gap:6px;font:600 12px inherit;color:var(--an-muted);cursor:pointer;white-space:nowrap}#sec-stones .st-only input{margin:0;cursor:pointer}#sec-stones button.st-add{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-right:8px;
  border:1px solid var(--an-gold-2);background:var(--an-gold);border-radius:7px;font:700 14px/1 inherit;color:#fff;
  cursor:pointer;vertical-align:-4px;padding:0;transition:.12s;box-shadow:0 1px 2px rgba(43,122,193,.35)}#sec-stones button.st-add:hover{background:var(--an-gold-2);border-color:#1e5f96;box-shadow:0 2px 6px rgba(43,122,193,.45)}#sec-stones button.st-add:active{transform:translateY(1px)}#sec-stones button.st-add:focus-visible{outline:2px solid #bcd9f2;outline-offset:1px}
/* уже в списке — залитая зелёная с галочкой */#sec-stones button.st-add.on{background:var(--an-green);border-color:#0b6231;color:#fff;box-shadow:0 1px 2px rgba(15,122,61,.35)}
/* Автоматическая галочка: позицию комплекта требует выбранный камень — она уже в заказе,
   но в личный список человек её не добавлял. Нажатие закрепляет её в списке (тогда вид
   становится обычным, как у отмеченных вручную). */#sec-stones button.st-add.auto{background:#eaf7ef;border-color:#8ac8a3;color:#0b6231;
  box-shadow:none;font-weight:700}#sec-stones button.st-add.auto:hover{background:#ddf2e6;border-color:#5fb383}#sec-stones button.st-add.on:hover{background:#0c6533;border-color:#0b6231}#sec-stones .st-role{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:20px;
  border:1px solid transparent;font:600 11.5px/1.5 inherit;white-space:nowrap}#sec-stones .st-role.need{background:#fdecec;border-color:#f5c6c6;color:#b42318}#sec-stones .st-role.alt{background:#f2f4f8;border-color:#e3e7ee;color:#5b6472}#sec-stones .st-role.rep{background:#eaf6ee;border-color:#cbe7d3;color:#15803d}#sec-stones .st-src{font-size:10.5px;color:var(--an-muted-2);margin-left:5px}#sec-stones .st-alt-det{flex:1 0 100%;margin-top:5px;padding:7px 10px;background:#f7f9fc;
  border:1px solid var(--an-line);border-radius:8px;font-size:11.5px;line-height:1.5;color:var(--an-muted)}#sec-stones .st-plan-h{font:700 13px inherit;color:var(--an-ink);margin:14px 0 7px}#sec-stones .st-plan-sum{display:flex;flex-wrap:wrap;gap:8px 18px;margin:10px 0 4px;font-size:12.5px;color:var(--an-muted)}#sec-stones .st-plan-sum b{color:var(--an-ink)}#sec-stones .st-plan-sum .bad b{color:var(--an-red)}#sec-stones .st-plan-act{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 2px}#sec-stones .st-plan-empty{padding:22px;text-align:center;color:var(--an-muted)}#sec-stones .st-no{color:var(--an-red);font-weight:700}

/* ===== вкладка «Заказать»: плитки итогов, блоки потребности, аккордеон ===== */#sec-stones .st-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:99px;
  background:#f2f5f9;font:600 11.5px/17px inherit;color:var(--an-ink);white-space:nowrap}#sec-stones .st-chip.ok{background:#eaf6ec;color:#2f7d32}#sec-stones .st-chip.bad{background:#fdecec;color:var(--an-red)}#sec-stones .st-chip .u{color:var(--an-muted);font-weight:500}#sec-stones .st-alt{margin:2px 0 0;border:1px solid var(--an-line);border-radius:11px;background:#fff;overflow:hidden}#sec-stones .st-alt>summary{cursor:pointer;padding:9px 13px;font:600 12.5px inherit;color:var(--an-muted);list-style:none;user-select:none}#sec-stones .st-alt>summary::-webkit-details-marker{display:none}#sec-stones .st-alt>summary:before{content:"▸";display:inline-block;margin-right:7px;color:var(--an-muted-2);transition:.15s}#sec-stones .st-alt[open]>summary:before{transform:rotate(90deg)}#sec-stones .st-alt>summary:hover{color:var(--an-ink)}#sec-stones .st-alt .in{padding:0 12px 10px}#sec-stones table.st-pt thead th.grp{text-align:center;color:var(--an-muted-2);font-size:10.5px;text-transform:uppercase;
  letter-spacing:.05em;border-bottom:1px solid var(--an-line-2)}#sec-stones .st-go{margin-left:auto}
/* ===== новый дашборд «Заказ» ===== */#sec-stones .stn-top{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 12px}#sec-stones .stn-top .an-btn{padding:6px 11px;font-size:12px}#sec-stones .stn-tgl{display:inline-flex;align-items:center;gap:6px;margin-left:auto;font:600 12px inherit;color:var(--an-muted);cursor:pointer;white-space:nowrap}#sec-stones .stn-tgl input{margin:0;cursor:pointer}#sec-stones .stn-verdict{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch;margin:0 0 6px}#sec-stones .stn-verdict .stn-kpi{flex:1 1 180px;background:#fff;border:1px solid var(--an-line);border-radius:11px;padding:10px 13px}#sec-stones .stn-kpi .l{font:600 11px/1.4 inherit;text-transform:uppercase;letter-spacing:.05em;color:var(--an-muted)}#sec-stones .stn-kpi b{display:block;font:700 20px/1.25 inherit;margin-top:2px;font-variant-numeric:tabular-nums;color:var(--an-ink)}#sec-stones .stn-kpi .s{display:block;font-size:11.5px;color:var(--an-muted);margin-top:1px;font-variant-numeric:tabular-nums}#sec-stones .stn-kpi.ok{border-color:#cfe8d3;background:#f6fbf7}#sec-stones .stn-kpi.ok b{color:#2f7d32}#sec-stones .stn-kpi.bad{border-color:#f0cfcb;background:#fdf7f6}#sec-stones .stn-kpi.bad b{color:var(--an-red)}#sec-stones .stn-master{margin:0 0 14px;padding:9px 13px;border-radius:10px;font-size:12.5px;color:var(--an-muted);
  background:#f7f9fb;border:1px solid var(--an-line)}#sec-stones .stn-master.bad{background:#fdf7f6;border-color:#f0cfcb}#sec-stones .stn-master b{color:var(--an-ink)}#sec-stones .stn-zone{margin:0 0 16px}#sec-stones .stn-zone-h{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;margin:0 0 7px}#sec-stones .stn-zone-h .t{font:700 13px inherit;color:var(--an-ink)}#sec-stones .stn-zone-h .c{font:600 11.5px inherit;color:var(--an-muted)}#sec-stones .stn-zone-h .tag{padding:2px 9px;border-radius:99px;font:700 11px/16px inherit}#sec-stones .stn-zone-h .tag.ok{background:#eaf6ec;color:#2f7d32}#sec-stones .stn-zone-h .tag.bad{background:#fdecec;color:var(--an-red)}#sec-stones table.stn{border-collapse:separate;border-spacing:0}#sec-stones table.stn th{padding:6px 9px;font-size:11px;color:var(--an-muted);text-align:left;border-bottom:1px solid var(--an-line);white-space:nowrap;background:#fafbfd}#sec-stones table.stn th.num,#sec-stones table.stn td.num{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--an-num)}#sec-stones table.stn td{padding:8px 9px;font-size:12.5px;border-bottom:1px solid var(--an-line-2);vertical-align:top}#sec-stones table.stn tr.click td:first-child{cursor:pointer}#sec-stones table.stn tr.def td:first-child{box-shadow:inset 3px 0 0 var(--an-red)}#sec-stones table.stn tr.def td{background:#fdf8f7}#sec-stones table.stn .car{color:var(--an-muted-2);font-size:9px;display:inline-block;width:13px}#sec-stones table.stn .nm{font-weight:600;color:var(--an-ink)}#sec-stones table.stn .mat{font-size:11px;color:var(--an-muted-2);display:block}#sec-stones table.stn .why{font-size:11px;color:var(--an-muted);margin-top:2px}#sec-stones table.stn .why b{color:var(--an-ink)}#sec-stones table.stn .neg{color:var(--an-red);font-weight:700}#sec-stones table.stn .pos{color:#2f7d32;font-weight:700}#sec-stones .stn-for{font-size:11px;color:var(--an-muted);line-height:1.5}#sec-stones .stn-for b{color:var(--an-ink)}#sec-stones .stn-detail{margin:4px 0 2px 14px;padding:9px 12px;background:#f7f9fc;border:1px solid var(--an-line);
  border-left:3px solid var(--an-gold-2);border-radius:8px;font-size:12px;line-height:1.6;color:var(--an-muted)}#sec-stones .stn-detail b{color:var(--an-ink);font-variant-numeric:tabular-nums}#sec-stones .stn-detail .h{font-weight:700;color:var(--an-ink)}#sec-stones .stn-detail .nl{margin-top:4px}#sec-stones .stn-detail .alt-ok{color:#2f7d32;font-weight:600}#sec-stones .stn-detail .alt-no{color:var(--an-red);font-weight:600}#sec-stones .stn-note{margin-top:10px;font-size:11.5px;color:var(--an-muted);line-height:1.6;padding:9px 12px;
  background:#f7f9fb;border:1px solid var(--an-line);border-radius:10px}#sec-stones .stn-note b{color:var(--an-ink)}
/* ===== «Заказ»: единая страница закупки — вердикт → KPI → таблица групп → расшифровка ===== */#sec-stones .stnp{display:flex;flex-direction:column;gap:14px;font-size:12.5px;color:var(--an-ink)}#sec-stones .stnp-top{display:flex;flex-wrap:wrap;align-items:center;gap:9px}#sec-stones .stnp-top .an-btn{padding:6px 11px;font-size:12px}#sec-stones .stnp-tgl{display:inline-flex;align-items:center;gap:6px;font:600 12px inherit;color:var(--an-muted);cursor:pointer;white-space:nowrap}#sec-stones .stnp-tgl input{margin:0;cursor:pointer}#sec-stones .stnp-q{position:relative;flex:1 1 190px;min-width:150px;max-width:300px}#sec-stones .stnp-q input{width:100%;box-sizing:border-box;padding:6px 10px 6px 27px;border:1px solid var(--an-line);
  border-radius:9px;font:inherit;font-size:12.5px;color:var(--an-ink);background:#fff}#sec-stones .stnp-q input:focus{outline:2px solid #d9e8f8;outline-offset:0;border-color:var(--an-gold)}#sec-stones .stnp-q::before{content:"";position:absolute;left:9px;top:50%;width:13px;height:13px;margin-top:-7px;pointer-events:none;background:no-repeat center/13px 13px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2398a1ad' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20.5 20.5 16.7 16.7'/%3E%3C/svg%3E")}
/* вердикт + KPI */#sec-stones .stnp-hero{display:flex;flex-wrap:wrap;gap:14px;align-items:center;border:1px solid var(--an-line);
  border-radius:14px;padding:13px 16px;background:linear-gradient(135deg,#fcfdff,#f3f7fc)}#sec-stones .stnp-hero.bad{background:linear-gradient(135deg,#fffdfd,#fdf4f3);border-color:#f0cfcb}#sec-stones .stnp-hero.ok{background:linear-gradient(135deg,#fdfffe,#f1faf4);border-color:#cfe8d3}#sec-stones .stnp-hero.warn{background:linear-gradient(135deg,#fffefa,#fdf8ee);border-color:#efe2c6}#sec-stones .stnp-verdict{flex:1 1 100%;min-width:0}#sec-stones .stnp-verdict .tl{font:700 16px/1.35 inherit;letter-spacing:-.2px;color:var(--an-ink)}#sec-stones .stnp-hero.bad .stnp-verdict .tl{color:var(--an-red)}#sec-stones .stnp-hero.ok .stnp-verdict .tl{color:var(--an-green)}#sec-stones .stnp-hero.warn .stnp-verdict .tl{color:#a35c00}#sec-stones .stnp-verdict .sb{margin-top:5px;font-size:12px;line-height:1.65;color:var(--an-muted)}#sec-stones .stnp-verdict .sb b{color:var(--an-ink);font-variant-numeric:tabular-nums}#sec-stones .stnp-kpis{display:flex;flex-wrap:wrap;gap:10px;flex:1 1 100%}#sec-stones .stnp-kpi{flex:1 1 145px;min-width:138px;background:#fff;border:1px solid var(--an-line);border-radius:12px;padding:9px 12px 10px}#sec-stones .stnp-kpi .l{display:block;font:700 10.5px/1.4 inherit;text-transform:uppercase;letter-spacing:.05em;color:var(--an-muted)}#sec-stones .stnp-kpi .v{display:block;font:700 19px/1.3 inherit;font-variant-numeric:tabular-nums;margin-top:1px;color:var(--an-ink)}#sec-stones .stnp-kpi .s{display:block;font-size:11px;line-height:1.5;color:var(--an-muted);font-variant-numeric:tabular-nums}#sec-stones .stnp-kpi.bad .v{color:var(--an-red)}#sec-stones .stnp-kpi.ok .v{color:var(--an-green)}#sec-stones .stnp-kpi .pb{margin-top:6px}
/* полоса покрытия: какая часть спроса закрыта остатком */#sec-stones .pb{height:5px;border-radius:99px;background:#e9edf3;overflow:hidden}#sec-stones .pb>i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#8fc0ea,#4197e2)}#sec-stones .pb.ok>i{background:linear-gradient(90deg,#6fc48a,#0f7a3d)}#sec-stones .pb.mid>i{background:linear-gradient(90deg,#e9c47e,#b45309)}#sec-stones .pb.low>i{background:linear-gradient(90deg,#dda6a1,#b3261e)}
/* переключатель группировки */#sec-stones .stnp-switch{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-bottom:9px}#sec-stones .stnp-switch .cnt{font-size:11.5px;color:var(--an-muted)}#sec-stones .stnp-zone{display:block}
/* таблица групп */#sec-stones table.stnp-t{min-width:1080px;border-collapse:separate;border-spacing:0}#sec-stones table.stnp-t th{white-space:nowrap;vertical-align:bottom}#sec-stones .stnp-twrap table.stnp-t{margin:-1px}
/* таблица групп — своя область прокрутки: шапка, итог и колонка камней остаются на виду */#sec-stones .stnp-twrap{overflow-x:auto;overflow-y:hidden;
  border:1px solid var(--an-line);border-bottom:0;border-radius:11px 11px 0 0;background:#fff}
/* итог всегда на виду — отдельной строкой под прокручиваемой таблицей */#sec-stones .stnp-total{display:flex;flex-wrap:wrap;gap:5px 20px;align-items:baseline;
  padding:9px 12px 10px;border:1px solid var(--an-line);border-radius:0 0 11px 11px;background:#f2f5f9;
  font-size:12px;color:var(--an-muted);font-variant-numeric:tabular-nums}#sec-stones .stnp-total .l{font-weight:700;color:var(--an-ink)}#sec-stones .stnp-total b{color:var(--an-ink)}#sec-stones .stnp-total .bad b{color:var(--an-red)}#sec-stones .stnp-total .g{color:var(--an-muted-2)}
/* Блок «Выбрано вручную»: позиции, которые человек сам добавил в список закупки
   (тумбы и цветники) — отдельно от потребности комплектов, со своей правкой «докупить» */#sec-stones .stnp-manual{margin:16px 0 0;border:1px solid var(--an-line);border-radius:11px;
  background:#fff;overflow:hidden}#sec-stones .stnp-manual-h{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;
  padding:9px 12px;border-bottom:1px solid var(--an-line);background:#fbfcfe}#sec-stones .stnp-manual-h b{font-size:13px;color:var(--an-ink)}#sec-stones .stnp-manual-h span{font-size:11.5px;color:var(--an-muted)}#sec-stones .stnp-manual table.stnp-mt{min-width:720px}#sec-stones .stnp-manual-t{display:flex;flex-wrap:wrap;gap:4px 14px;padding:8px 12px;
  border-top:1px solid var(--an-line);background:#f7f9fc;font-size:12px;color:var(--an-muted);
  font-variant-numeric:tabular-nums}#sec-stones .stnp-manual-t b{color:var(--an-ink)}#sec-stones table.stnp-t thead th{position:sticky;top:0;z-index:3;background:#f2f5f9;
  box-shadow:inset 0 -2px 0 var(--an-line),0 6px 8px -6px rgba(16,24,40,.14)}
/* первая колонка с камнями не уезжает при горизонтальной прокрутке */#sec-stones table.stnp-t th:first-child{position:sticky;left:0;z-index:5;
  box-shadow:inset -1px 0 0 var(--an-line),inset 0 -1px 0 var(--an-line)}#sec-stones table.stnp-t td:first-child{position:sticky;left:0;z-index:2;background:#fff;
  box-shadow:inset -1px 0 0 var(--an-line-2)}#sec-stones table.stnp-t tr.def>td{background:#fdf8f7}#sec-stones table.stnp-t tr.def>td:first-child{background:#fdf8f7}#sec-stones table.stnp-t tr.alt:not(.def)>td{background:#fbfcfe}#sec-stones table.stnp-t tr.alt:not(.def)>td:first-child{background:#fbfcfe}#sec-stones table.stnp-t tr.stn-detail-row>td{position:static;background:#f7f9fc;
  box-shadow:none;padding:10px 12px 12px;border-bottom:1px solid var(--an-line)}#sec-stones table.stnp-t tr.stn-detail-row .stn-detail{margin:0}
/* границы строк и реакция на наведение */#sec-stones table.stnp-t tbody tr.click>td{border-bottom:1px solid var(--an-line);padding-top:9px;padding-bottom:9px}#sec-stones table.stnp-t tbody tr.click:hover>td{background:#f2f7fd}#sec-stones table.stnp-t tbody tr.click.def:hover>td{background:#fbedeb}
/* числа и текст прижимаем к вертикали строки — так строка читается как одно целое */#sec-stones table.stnp-t td.num,#sec-stones table.stnp-t td.pl{vertical-align:middle}#sec-stones table.stnp-t th:nth-child(2),#sec-stones table.stnp-t td:nth-child(2){border-left:1px solid var(--an-line-2)}#sec-stones table.stnp-t th.num,#sec-stones table.stnp-t td.num{width:76px}#sec-stones table.stnp-t th:nth-child(1){width:345px}#sec-stones table.stnp-t th:nth-child(2){width:180px}#sec-stones table.stnp-t td{padding-top:7px;padding-bottom:7px}#sec-stones table.stnp-t th .sub{display:block;font-size:10px;font-weight:500;color:var(--an-muted-2);text-transform:none;letter-spacing:0}#sec-stones table.stnp-t td{vertical-align:top}#sec-stones table.stnp-t tr.click td{cursor:pointer}#sec-stones table.stnp-t th.pl,#sec-stones table.stnp-t td.pl{padding-left:16px;border-left:1px solid var(--an-line-2)}#sec-stones table.stnp-t .nm{font-weight:700;color:var(--an-ink)}#sec-stones table.stnp-t .mat{display:block;font-size:11px;font-weight:500;color:var(--an-muted-2)}#sec-stones .stnp-tag{display:inline-block;font-size:10px;color:var(--an-muted-2);border:1px solid var(--an-line);
  border-radius:99px;padding:0 6px;margin-left:5px;vertical-align:1px;font-weight:500}
/* колонка «Камни группы»: мини-таблица камень × (продано · резерв · всего · свободно · докупить) */#sec-stones .stnp-sttl{display:block;font-weight:600;color:var(--an-muted)}#sec-stones .stnp-sttl .sub{display:block}#sec-stones .stnp-st{display:grid;grid-template-columns:minmax(118px,1fr) 62px 58px 88px;
  align-items:baseline;font-variant-numeric:tabular-nums;font-size:11.5px;line-height:1.6}#sec-stones .stnp-st>*{padding:1px 0;min-width:0}#sec-stones .stnp-st .nm{color:var(--an-ink);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#sec-stones .stnp-st .num{text-align:right;padding-right:2px;color:var(--an-muted)}#sec-stones .stnp-st .num.b{color:var(--an-ink);font-weight:700}#sec-stones .stnp-st .num.neg{color:var(--an-red)}#sec-stones .stnp-st .num.pos{color:var(--an-green);font-weight:700}#sec-stones .stnp-st .hd{font-size:10px;line-height:1.5;color:var(--an-muted-2)}#sec-stones .stnp-st .hd .num{font-weight:500;color:var(--an-muted-2)}#sec-stones .stnp-st .buyc{display:inline-flex;align-items:center;justify-content:flex-end;gap:2px}#sec-stones .stnp-st input.stnp-buy{width:56px;box-sizing:border-box;padding:1px 5px;border:1px solid var(--an-line);
  border-radius:6px;background:#fff;font:600 11.5px inherit;color:var(--an-ink);text-align:right;
  font-variant-numeric:tabular-nums}#sec-stones .stnp-st input.stnp-buy:focus{outline:2px solid #d9e8f8;outline-offset:0;border-color:var(--an-gold)}#sec-stones .stnp-st input.stnp-buy.edited{border-color:var(--an-gold);background:#f2f8ff;color:var(--an-gold-2)}#sec-stones .stnp-st button.stnp-buy-x{border:0;background:none;padding:0 1px;cursor:pointer;
  font:700 11px/1 inherit;color:var(--an-muted-2)}#sec-stones .stnp-st button.stnp-buy-x:hover{color:var(--an-red)}#sec-stones .stnp-st .tot{border-top:1px dashed var(--an-line-2);margin-top:3px;padding-top:3px;
  font-weight:700;color:var(--an-ink)}#sec-stones .stnp-st .g{color:var(--an-muted-2);font-weight:400}#sec-stones .stnp-sl{display:block;font-size:11.5px;line-height:1.65;color:var(--an-muted);font-variant-numeric:tabular-nums;white-space:nowrap}#sec-stones .stnp-sl b{color:var(--an-ink)}#sec-stones .stnp-sl.def,#sec-stones .stnp-sl.def b{color:var(--an-red)}#sec-stones .stnp-sl.sumline{border-top:1px dashed var(--an-line-2);margin-top:3px;padding-top:3px;color:var(--an-ink)}#sec-stones .stnp-sl .g{color:var(--an-muted-2)}#sec-stones .stnp-pl{display:block;font-size:11.5px;line-height:1.65;color:var(--an-muted);font-variant-numeric:tabular-nums}#sec-stones .stnp-pl+.stnp-pl{margin-top:2px}#sec-stones .stnp-pl .nm{color:var(--an-ink);font-weight:600}#sec-stones .stnp-pl .g{color:var(--an-muted-2)}#sec-stones .stnp .neg{color:var(--an-red);font-weight:700}#sec-stones .stnp .pos{color:var(--an-green);font-weight:700}#sec-stones .stnp .nw{white-space:nowrap}
/* замена — компактные карточки внутри раскрытой строки */#sec-stones .stnp-alt{border-radius:10px;padding:7px 10px;margin:6px 0 0;font-size:12px;line-height:1.55;
  background:#f8fafc;border:1px solid var(--an-line);max-width:560px}#sec-stones .stnp-alt.can{background:#f1faf4;border-color:#cfe8d3}#sec-stones .stnp-alt.part{background:#fdf9f0;border-color:#efe2c6}#sec-stones .stnp-alt .ar1{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}#sec-stones .stnp-alt .nm{font-weight:700;color:var(--an-ink)}#sec-stones .stnp-alt .vd{margin-left:auto;font-weight:700;font-size:11.5px;white-space:nowrap}#sec-stones .stnp-alt.can .vd{color:var(--an-green)}#sec-stones .stnp-alt.part .vd{color:#a35c00}#sec-stones .stnp-alt.no .vd{color:var(--an-muted-2)}#sec-stones .stnp-alt .src{font-size:10px;color:var(--an-muted-2);border:1px solid var(--an-line);border-radius:99px;padding:0 6px;background:#fff}#sec-stones .stnp-alt .ex{font-size:11px;color:var(--an-muted);margin-top:3px;font-variant-numeric:tabular-nums}#sec-stones .stnp-empty{border:1px dashed var(--an-line);border-radius:12px;padding:18px;text-align:center;color:var(--an-muted);font-size:12.5px}
/* легенда */#sec-stones .stnp-legend{border:1px solid var(--an-line);border-radius:12px;background:#fbfcfe}#sec-stones .stnp-legend>summary{cursor:pointer;padding:10px 13px;font:700 12px inherit;color:var(--an-ink);
  list-style:none;display:flex;align-items:center;gap:7px}#sec-stones .stnp-legend>summary::-webkit-details-marker{display:none}#sec-stones .stnp-legend>summary::before{content:"?";display:inline-flex;align-items:center;justify-content:center;
  width:16px;height:16px;border-radius:50%;background:#e8eef7;color:var(--an-gold-2);font-size:11px;font-weight:700}#sec-stones .stnp-legend .bd{padding:0 13px 12px;font-size:11.5px;line-height:1.75;color:var(--an-muted)}#sec-stones .stnp-legend .bd b{color:var(--an-ink)}#sec-stones .stnp-legend .bd ul{margin:4px 0 0;padding-left:18px}#sec-stones .stnp-legend .bd li{margin-bottom:3px}@media(max-width:900px){#sec-stones table.stnp-t th:first-child,#sec-stones table.stnp-t td:first-child{position:static;box-shadow:none}#sec-stones table.stnp-t tr.def>td:first-child{box-shadow:inset 3px 0 0 var(--an-red)}}@media(max-width:760px){#sec-stones table.stnp-t th,#sec-stones table.stnp-t td{padding-left:7px;padding-right:7px}#sec-stones table.stnp-t td.num,#sec-stones table.stnp-t td.pl{vertical-align:top}#sec-stones table.stnp-t tbody tr.click>td{padding-top:8px;padding-bottom:8px}}@media(max-width:640px){#sec-stones .stnp-q{max-width:none}#sec-stones .stnp-st{grid-template-columns:minmax(108px,1fr) 52px 52px 78px}#sec-stones .stnp-st .hd{font-size:9px}#sec-stones table.stnp-t{min-width:1040px}}#sec-stones .free-neg{color:var(--an-red)}
/* полоска покрытия: какую часть спроса закрывает остаток */#sec-stones .st-bar{height:4px;border-radius:3px;background:#e9edf4;margin:6px 0 0;width:100%;max-width:134px;overflow:hidden}#sec-stones .st-bar>i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#7db8e8,#4197e2)}#sec-stones .st-bar.ok>i{background:linear-gradient(90deg,#6fc48a,#15803d)}#sec-stones .st-bar.mid>i{background:linear-gradient(90deg,#e8c07d,#b45309)}#sec-stones .st-bar.low>i{background:linear-gradient(90deg,#dca29d,#b3261e)}
/* строка-стела раскрывается кликом, детали — отдельной строкой */#sec-stones table.t-stones tr.st-mat td.ttl{cursor:pointer}#sec-stones table.t-stones tr.st-mat td.ttl .car{display:inline-block;width:11px;margin-right:5px;color:var(--an-muted-2);font-size:9px}#sec-stones table.t-stones tr.st-det > td{background:#fbfcfd;border-bottom:1px solid var(--an-line);padding:9px 12px}
/* детали — три компактные таблички: склад База · витрины филиалов · итог.
   width:auto и min-width:0 перебивают глобальные table{width:100%} и .scrollx table{min-width:560px} */
/* Раскрытие строки: компактная полоса из табличек «по содержимому» (width:auto) —
   таблички жмутся к своим числам, а не растягиваются на всю ширину с пустотой посередине. */#sec-stones .st-detgrid{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:flex-start}#sec-stones table.t-stones .st-dt{width:auto;min-width:0;max-width:100%;border:1px solid var(--an-line);border-radius:8px;
  background:#fff;border-collapse:separate;border-spacing:0;table-layout:auto;font-size:11.5px}#sec-stones table.t-stones .st-dt th{padding:4px 9px;font-size:10px;font-weight:700;text-transform:uppercase;
  letter-spacing:.04em;color:var(--an-muted);background:#f4f6fa;border-bottom:1px solid var(--an-line);white-space:nowrap;text-align:left}#sec-stones table.t-stones .st-dt th:last-child{text-align:right;font-variant-numeric:tabular-nums}#sec-stones table.t-stones .st-dt td{padding:3px 9px;font-size:11.5px;line-height:1.5;color:var(--an-muted);
  border-bottom:1px solid var(--an-line-2);white-space:nowrap;overflow:visible;text-overflow:clip;text-align:left}#sec-stones table.t-stones .st-dt td:last-child{text-align:right;color:var(--an-ink);font-weight:600;
  font-variant-numeric:tabular-nums;padding-left:16px}#sec-stones table.t-stones .st-dt tr:last-child td{border-bottom:0}#sec-stones table.t-stones .st-dt tr.sum td{background:#f7f9fc;font-weight:700;color:var(--an-ink)}#sec-stones table.t-stones .st-dt tr.need td{color:#b45309}#sec-stones table.t-stones .st-dt tr.neg td:last-child{color:var(--an-red)}
/* «В сборке (в изделия)» — кликабельная строка: открывает модалку с документами сборки */#sec-stones table.t-stones .st-dt tr.st-asm{cursor:pointer}#sec-stones table.t-stones .st-dt tr.st-asm:hover td{background:#eef6ff;color:#2f7fc4}#sec-stones table.t-stones .st-dt tr.st-asm td:first-child::after{content:" →";color:#4197e2;font-weight:700}#sec-stones table.t-stones tbody tr:hover td{background:#fafbfd}#sec-stones table.t-stones tbody tr.st-det:hover > td{background:#fbfcfd}#sec-stones table.t-stones tbody tr.st-det:hover .st-dt tr.sum td{background:#fafbfd}#sec-stones table.t-stones th.srt{cursor:pointer;user-select:none;-webkit-user-select:none}#sec-stones table.t-stones th.srt:hover{color:var(--an-ink)}#sec-stones table.t-stones th.srt .ar{font-size:9px;margin-left:4px;color:#c3cad4}#sec-stones table.t-stones th.srt.on{color:var(--an-ink)}#sec-stones table.t-stones th.srt.on .ar{color:var(--an-gold-2)}
/* строка-группа материала */#sec-stones table.t-stones tr.st-group td{background:#eef3fa;border-top:1px solid var(--an-line);
  border-bottom:1px solid var(--an-line);padding:9px 10px;cursor:pointer}#sec-stones table.t-stones tr.st-group:hover td{background:#e8eff8}#sec-stones .st-gwrap{display:flex;align-items:center;gap:10px;flex-wrap:wrap}#sec-stones .st-gwrap .car{width:12px;color:var(--an-muted-2);font-size:10px;transition:transform .15s;display:inline-block}#sec-stones tr.st-group.col .st-gwrap .car{transform:rotate(-90deg)}#sec-stones .st-gwrap .mt{font-size:13.5px;font-weight:700;color:var(--an-ink);letter-spacing:-.1px}#sec-stones .st-gwrap .gcnt{font-size:11.5px;font-weight:600;color:var(--an-muted)}#sec-stones .st-gwrap .gsum{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin-left:auto}#sec-stones .st-gwrap .gi{display:inline-flex;align-items:baseline;gap:5px}#sec-stones .st-gwrap .gi i{font-style:normal;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;
  color:var(--an-muted-2)}#sec-stones .st-gwrap .gi b{font-size:12.5px;font-weight:700;color:var(--an-ink);font-variant-numeric:tabular-nums}#sec-stones .st-gwrap .gi.neg b{color:var(--an-red)}#sec-stones table.t-stones tr.st-mat td:first-child{border-left:3px solid #e3e8ef}#sec-stones .need{color:var(--an-red);font-weight:700}#sec-stones .zero{color:var(--an-muted-2)}#sec-stones .dl{font-size:11px;color:var(--an-muted-2)}#sec-stones .an-empty{padding:26px;text-align:center;color:var(--an-muted)}@media(max-width:760px){#sec-stones .an-toolbar{position:static;padding:8px;gap:8px}#sec-stones .st-period{width:100%;gap:6px}#sec-stones .an-seg{width:100%;overflow-x:auto}#sec-stones .st-range{width:100%}#sec-stones .st-range input{flex:1 1 auto;min-width:0}#sec-stones .an-sortbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px}#sec-stones .an-sortbar .lb{font:600 11.5px/1.4 inherit;color:var(--an-muted);letter-spacing:.02em}#sec-stones .an-sortbar .an-chip{padding:4px 10px;font-size:11.5px}#sec-stones .an-chip{border:1px solid var(--an-line);background:#fff;border-radius:20px;padding:5px 11px;font:600 12px inherit;color:var(--an-muted);cursor:pointer;font-family:inherit}#sec-stones .an-chip.active{background:var(--an-gold-soft);border-color:#d6e7f7;color:var(--an-gold-2)}#sec-stones table.t-stones thead{display:none}#sec-stones table.t-stones{min-width:0}#sec-stones table.t-stones tr.st-group td{display:block;width:auto}#sec-stones table.t-stones tr.st-det > td{display:block;width:auto}#sec-stones .st-detgrid{gap:8px}#sec-stones table.t-stones .st-dt{min-width:0;width:100%}/* позиция на телефоне: метрики в ДВЕ колонки (карточкой), а не по строке на каждую — иначе одна позиция занимает 7 строк и список превращается в простыню */ /* Карточка позиции — отдельная плитка с рамкой, скруглением и отступом: без них соседние камни сливались в одну простыню и не было видно границ. */ #sec-stones table.t-stones tr.st-mat{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
   margin:0 0 8px;border:1px solid var(--an-line);border-radius:11px;background:#fff;overflow:hidden}#sec-stones table.t-stones tbody tr.st-mat td, #sec-stones table.t-stones tbody tr.st-mat.alt td{background:transparent}#sec-stones table.t-stones tbody tr.st-mat.open td{background:#f7fbff}#sec-stones table.t-stones tr.st-mat td{display:flex;align-items:baseline;justify-content:space-between;gap:8px;width:auto;max-width:none;padding:5px 9px;border-top:0}#sec-stones table.t-stones tr.st-mat td.num{text-align:right}#sec-stones table.t-stones tr.st-mat td[data-l]::before{content:attr(data-l);flex:0 1 auto;color:var(--an-muted);font:600 11px/1.35 inherit;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#sec-stones table.t-stones tr.st-mat td[data-l]>span{text-align:right}#sec-stones table.t-stones tr.st-mat td.ttl{grid-column:1/-1;display:block;padding:7px 9px;margin-bottom:2px;border-bottom:1px solid var(--an-line-2)}#sec-stones table.t-stones tr.st-mat td.ttl::before{display:none}/* название камня на телефоне — жирным: по нему ищут позицию в списке */ #sec-stones table.t-stones tr.st-mat td.ttl .an-name{font-weight:700;color:var(--an-ink);font-size:13.5px}#sec-stones table.t-stones tr.st-mat td.fill{display:none}/* раскрытая позиция: подробности — продолжение той же карточки, а не отдельная плитка */ #sec-stones table.t-stones tr.st-mat.open{border-bottom-left-radius:0;border-bottom-right-radius:0;margin-bottom:0}#sec-stones table.t-stones tr.st-det{margin:0 0 8px;border:1px solid var(--an-line);border-top:0;
  border-radius:0 0 11px 11px;background:#fbfcfd;overflow:hidden}#sec-stones table.t-stones tr.st-det > td{border-top:0;border-bottom:0}}

/* ===================== Раздел «Логи» (только администратор) ===================== */.lg-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 12px}.lg-tabs{display:flex;gap:2px;background:#eef0f4;border-radius:9px;padding:2px}.lg-tabs button{border:0;background:transparent;padding:6px 12px;border-radius:7px;font:inherit;font-size:13px;color:#4b5058;cursor:pointer}.lg-tabs button.active{background:#fff;color:#1c1f24;box-shadow:0 1px 2px rgba(16,24,40,.12)}.lg-chips{display:flex;gap:6px;flex-wrap:wrap}.lg-chip{border:1px solid #d7dbe2;background:#fff;border-radius:999px;padding:5px 11px;font-size:12.5px;color:#4b5058;cursor:pointer;display:inline-flex;gap:6px;align-items:center}.lg-chip b{font-variant-numeric:tabular-nums;font-weight:600}.lg-chip.active{border-color:#2563eb;color:#1d4ed8;background:#eff4ff}.lg-chip.err.active{border-color:#dc2626;color:#b91c1c;background:#fef2f2}.lg-chip.wrn.active{border-color:#d97706;color:#b45309;background:#fffbeb}.lg-sel,.lg-search input{border:1px solid #d7dbe2;border-radius:8px;padding:6px 9px;font:inherit;font-size:13px;background:#fff;color:#1c1f24}.lg-search input{min-width:200px}.lg-sp{flex:1}.lg-btn{border:1px solid #d7dbe2;background:#fff;border-radius:8px;padding:6px 11px;font:inherit;font-size:13px;color:#31363d;cursor:pointer;text-decoration:none;display:inline-flex;gap:6px;align-items:center}.lg-btn:hover{background:#f6f7f9}.lg-auto{display:inline-flex;gap:6px;align-items:center;font-size:12.5px;color:#4b5058}.lg-kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0 0 12px}.lg-card{background:#fff;border:1px solid #e6e8ee;border-radius:11px;padding:11px 13px}.lg-card .lbl{font-size:12px;color:#6e7178;margin-bottom:4px}.lg-card .val{font-size:21px;font-weight:650;font-variant-numeric:tabular-nums}.lg-card.err .val{color:#b91c1c}.lg-card.wrn .val{color:#b45309}.lg-card .sub{font-size:11.5px;color:#8a8f98;margin-top:3px}.lg-wrap{border:1px solid #e6e8ee;border-radius:11px;overflow:hidden;background:#fff}.lg-tbl{width:100%;border-collapse:collapse;font-size:13px}.lg-tbl th{text-align:left;font-weight:600;font-size:12px;color:#6e7178;background:#fafbfc;padding:8px 10px;border-bottom:1px solid #eceef2}.lg-tbl td{padding:7px 10px;border-bottom:1px solid #f2f3f6;vertical-align:top}.lg-tbl tr.lg-row{cursor:pointer}.lg-tbl tr.lg-row:hover{background:#fafbfc}.lg-ts{white-space:nowrap;color:#5b6068;font-variant-numeric:tabular-nums}.lg-src{white-space:nowrap;color:#5b6068}.lg-badge{display:inline-block;font-size:11px;font-weight:600;border-radius:5px;padding:2px 6px}.lg-badge.ERROR{background:#fef2f2;color:#b91c1c}.lg-badge.WARNING{background:#fffbeb;color:#b45309}.lg-badge.INFO{background:#eff6ff;color:#1d4ed8}.lg-detail td{background:#fbfbfd;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;white-space:pre-wrap;color:#3d424a;padding:10px}.lg-empty{padding:26px 12px;text-align:center;color:#8a8f98}.lg-more{display:flex;justify-content:center;padding:10px}.lg-note{font-size:11.5px;color:#8a8f98;margin-top:6px}

/* Полные суммы в карточках «Аналитики»: длинное число — уменьшаем шрифт
   (классы k-val-sm / k-val-xs ставит card() в 11_analytics.js). */#sec-analytics .an-kpi .k-val.k-val-sm{font-size:21px}#sec-analytics .an-kpi .k-val.k-val-xs{font-size:17px}@media (max-width:900px){#sec-analytics .an-kpi .k-val.k-val-sm{font-size:19px}#sec-analytics .an-kpi .k-val.k-val-xs{font-size:15px}}

/* Бейдж даты в колонке «Ожидается» (открытые заказы поставщикам 1С).
   Просрочка — ЯНТАРНАЯ: красный оставлен только «проблеме с наличием»
   (отрицательный свободный остаток, дефицит). */.t-stones .st-exp{display:inline-block;margin-left:6px;padding:1px 5px;border-radius:9px;font-size:10.5px;font-weight:600;line-height:1.4;background:#eef1f6;color:#5b6470;vertical-align:1px;white-space:nowrap}.t-stones .st-exp.late{background:#fff3e0;color:#b26a00}.t-stones .st-exp-more{font-style:normal;opacity:.8;margin-left:1px}.t-stones .st-dt tr.late td:first-child{color:#b26a00}

/* ===== Страница «Сетка» (все заказы покупателя) =====
   Стили раздела наследуются от блока «Должников» выше: селекторы там продублированы
   на #sec-grid, поэтому таблица, тулбар, KPI, мобильные карточки и сортировка выглядят
   так же. Здесь — только то, чего у «Должников» нет: плашка синхронизации и карточка
   заказа в модалке (кнопка с часами). */
/* подписи источника у статусов в карточке заказа — как на «Заказах под риском» */#grModal .src{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;
  color:var(--an-muted-2);margin-right:5px}#sec-grid .dp-banner{display:none;padding:11px 15px;margin:0 0 14px;border:1px solid #ecdfc8;
  border-left:3px solid var(--an-gold);background:#fdfaf4;color:#2b6ea8;border-radius:10px;font-size:12.5px}
/* ===== Карточка заказа в «Сетке» (кнопка с часами) =====
   Собрана как рабочее окно: шапка и суммы зафиксированы, содержимое меняется вкладками,
   прокручивается только панель вкладки. */
/* карточка заказа — НИЖЕ модалки предпросмотра файла (.doc-modal{z-index:2100}):
   preview открывается поверх карточки, а не наоборот */#grModal{z-index:2090}
/* Высота окна ФИКСИРОВАННАЯ (как у остальных модалок, .doc-box): при переключении
   вкладок окно не меняет размер. Содержимое вкладки прокручивается внутри .go-body. */#grModal .go-copy.done{color:#0f7a3d;border-color:#cbe7d3;background:#eaf6ee}#grModal .doc-tbtn.off{opacity:.5}#grModal .go-sum.due{background:#fff8f7}#grModal .go-sum.due b{color:var(--an-red)}#grModal .go-prog.full i{background:#2f9e58}#grModal .go-tab.on{color:var(--an-ink);background:#fff}#grModal .go-tab.on:after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:2px;background:#4197e2;border-radius:2px}#grModal .go-tab.on b{background:#eaf3fc;color:#1c5c96}
/* прокручивается только панель */#grModal .go-body::-webkit-scrollbar{width:10px}#grModal .go-body::-webkit-scrollbar-thumb{background:#d5dbe5;border-radius:6px;border:3px solid #f7f9fc}#grModal .go-pane{display:flex;flex-direction:column;gap:10px}
/* «Данные на захоронении» — полоса во всю ширину: имена идут в строку и переносятся,
   поэтому даже с тремя умершими полоса занимает две строки, а не пустую карточку */#grModal .go-block.go-bur{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:4px 14px}#grModal .go-block.go-bur h5{margin:0}#grModal .go-block.go-bur ul.go-bur-list{display:flex;flex-wrap:wrap;gap:6px 18px}#grModal .go-block.go-bur ul.go-bur-list li{font-size:13.5px;font-weight:600;color:var(--an-ink)}#grModal .go-spec.empty b{font-weight:400;color:var(--an-muted-2)}
/* иконка в заголовке карточки «Обзора» */#grModal .go-block h5 svg{width:14px;height:14px;flex:0 0 auto;fill:none;stroke:currentColor;
  stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:.75}
/* «Данные на захоронении» — та же карточка, что и остальные, но с зелёной полосой:
   это главное, что нужно монтажникам */#grModal .go-block.go-bur{border-left:3px solid #2f9e58;background:#fbfefc}#grModal .go-dl .go-due.hot{color:var(--an-red)}#grModal .go-over,#grModal .go-soon{font-style:normal;font-size:11px;margin-left:6px}#grModal .go-over{font-weight:600;color:var(--an-red)}#grModal .go-soon{color:var(--an-muted-2)}#grModal .doc-foot .r{margin-left:12px}
@keyframes goSk{to{transform:translateX(100%)}}#grModal .go-txt.empty>span{color:var(--an-muted-2);font-weight:600}#grModal .go-txt.empty i{font-style:normal;color:var(--an-muted-2);font-size:12.5px}

/* таблицы состава и производства */#grModal .go-total span{font-size:11.5px;color:var(--an-muted)}
/* широкая таблица производства прокручивается по горизонтали внутри своей карточки:
   на телефоне восемь колонок не влезают и сжимались в нечитаемые полоски */#grModal .go-t th.n,#grModal .go-t td.n{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}#grModal .go-t td.q{color:var(--an-muted);white-space:nowrap}#grModal .go-t th:nth-child(2),#grModal .go-t td:nth-child(2){width:84px}#grModal .go-t th:nth-child(3),#grModal .go-t td:nth-child(3){width:124px}#grModal .go-t th:nth-child(4),#grModal .go-t td:nth-child(4){width:130px}#grModal .go-t-prod th:nth-child(3),#grModal .go-t-prod td:nth-child(3){width:126px}#grModal .go-t-prod th:nth-child(1),#grModal .go-t-prod td:nth-child(1){width:124px}#grModal .go-t-prod th:nth-child(2),#grModal .go-t-prod td:nth-child(2){width:92px}#grModal .go-t-prod th:nth-child(3),#grModal .go-t-prod td:nth-child(3){width:126px}#grModal .go-t-prod th:nth-child(4),#grModal .go-t-prod td:nth-child(4){width:120px}#grModal .go-t-prod th:nth-child(5),#grModal .go-t-prod td:nth-child(5){width:92px}
/* журнал изменений суммы */#grModal .go-log li.base{background:#fcfdff}#grModal .go-l-date{flex:0 0 116px;color:var(--an-muted);font-variant-numeric:tabular-nums}#grModal .go-l-date i{display:block;font-style:normal;font-size:10.5px;color:var(--an-muted-2);text-transform:uppercase;letter-spacing:.04em}#grModal .go-l-what{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}#grModal .go-l-delta{flex:0 0 auto;font-weight:700;font-variant-numeric:tabular-nums}#grModal .go-l-delta.up{color:var(--an-red)}#grModal .go-l-delta.down{color:var(--an-green,#0f7a3d)}
/* документы */#grModal .go-files-col{background:#fff;border:1px solid var(--an-line);border-radius:11px;padding:10px 12px 8px}#grModal .go-files-col h5{margin:0 0 6px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--an-muted)}#grModal .go-files-col h5 i{font-style:normal;color:var(--an-ink);letter-spacing:0;margin-left:5px}#grModal .go-files-foot .r{margin-left:auto;display:flex;gap:10px;align-items:center}#grModal .go-files-foot a{color:#1c5c96;text-decoration:none}#grModal .go-files-foot a:hover{text-decoration:underline}
/* Тир 1280: окно почти во всю ширину, колонка подписей в списках уже — иначе длинные
   значения («Ответственный бригадир») переносятся на две строки */
/* Тир 880: одна колонка в «Обзоре» и суммы 2×2. Раньше это происходило уже на 900 px,
   хотя на 1000 px вторая колонка (2 × 462 px) помещается свободно. */@media(max-width:760px){/* width:auto обязателен: на узком экране общее правило модалок растягивает .doc-tools на всю ширину, и кнопки уезжали в отдельную строку под шапкой */ #grModal .doc-tools{margin-left:auto;width:auto;gap:8px;align-items:center}#grModal .doc-tbtn{padding:5px 9px;font-size:11.5px;border-radius:8px}/* «Закрыть» на телефоне — крестик: подпись занимала место в шапке */ #grModal .doc-tbtn.doc-close{width:30px;height:30px;padding:0;font-size:0;position:relative}#grModal .doc-tbtn.doc-close::before{content:"✕";font-size:14px;line-height:1;font-weight:600}#grModal .go-tab.on:after{left:3px;right:3px}#grModal .go-pane{gap:9px}#grModal .go-block.go-bur li{font-size:13px}#grModal .go-l-date{flex:0 0 auto}/* Таблица состава на телефоне: убираем колонку «Цена» (это сумма ÷ количество, обе цифры стоят рядом). С ней «Позиция» получала ~10 px, и заголовок обрезался. Правило только для состава: у таблицы производства третья колонка — «Цех» */ #grModal .go-t:not(.go-t-prod) th:nth-child(3), #grModal .go-t:not(.go-t-prod) td:nth-child(3){display:none}#grModal .go-t:not(.go-t-prod) th:nth-child(2), #grModal .go-t:not(.go-t-prod) td:nth-child(2){width:58px}#grModal .go-t:not(.go-t-prod) th:nth-child(4), #grModal .go-t:not(.go-t-prod) td:nth-child(4){width:92px}#grModal .go-t th,#grModal .go-t td{padding:6px 6px}/* производство: восемь колонок — прокрутка, а не сжатие в полоски */ #grModal .go-tscroll .go-t-prod{table-layout:auto;min-width:690px}#grModal .go-tscroll .go-t-prod th,#grModal .go-tscroll .go-t-prod td{white-space:nowrap}#grModal .go-tscroll .go-t-prod th{top:0}/* нижняя строка: одна строка мелким шрифтом, без подсказки про Esc (на телефоне её нет). Сводка в ней длинная и переносилась на две строки — обрезаем по краю */ #grModal .doc-foot{padding:6px 10px;font-size:11px;align-items:center}#grModal .doc-foot>span:first-child{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#grModal .doc-foot .r{display:none}}#sec-grid table.t-grid{table-layout:fixed;width:100%;border-collapse:collapse;min-width:1404px}
#sec-grid table.t-grid th{font-size:10.5px;font-weight:700;color:var(--an-muted);letter-spacing:.06em; text-transform:uppercase;line-height:1.25; /* заголовки ПЕРЕНОСЯТСЯ: глобальное правило th{white-space:nowrap} не давало им влезать
     в фиксированную ширину колонки, и подписи наезжали на соседние столбцы */
  white-space:normal;overflow-wrap:anywhere;vertical-align:bottom;text-align:left;
  background:#f8fafc;border-bottom:1px solid var(--an-line);padding:9px 10px}#sec-grid table.t-grid td{padding:8px 9px;font-size:12.5px;line-height:1.35;vertical-align:top;
  /* имена клиентов и менеджеров переносятся, а не обрезаются: читаемость важнее
     одинаковой высоты строк */
  overflow-wrap:anywhere;word-break:normal;hyphens:none}#sec-grid table.t-grid tbody tr+tr td{border-top:1px solid var(--an-line-2)}
/* наведение на группу: строка заказа, рамка подстроки и ячейки панели подсвечиваются
   вместе. Цвет подобран так, чтобы подсветка была видна и на белой группе, и на
   подкрашенной («зебра» ниже), и чтобы зелёные ячейки «принят/готов» не теряли фон */#sec-grid table.t-grid tbody tr[data-grk]:hover>td{background:#eef4fc}#sec-grid table.t-grid tbody tr[data-grk]:hover+tr.gr-sub>td{background:#eef4fc}#sec-grid table.t-grid tbody tr.gr-sub:hover>td{background:#eef4fc}#sec-grid table.t-grid tbody tr:has(+ tr.gr-sub:hover)>td{background:#eef4fc}#sec-grid table.t-grid tbody tr[data-grk]:hover+tr.gr-sub .gr-ci:not(.ok), #sec-grid table.t-grid tbody tr.gr-sub:hover .gr-ci:not(.ok){background:#eef4fc}#sec-grid table.t-grid tbody tr[data-grk]:hover+tr.gr-sub .gr-ci.empty:not(.ok), #sec-grid table.t-grid tbody tr.gr-sub:hover .gr-ci.empty:not(.ok){background:#e6eff9}#sec-grid table.t-grid tbody tr[data-grk]{cursor:pointer}
/* номер заказа строкой с бейджем изменений суммы; имена НЕ обрезаем — они переносятся */
/* Номер заказа — как в карточке: 15 px, табличные цифры, без переноса и разрыва.
   Ширина колонки «Заказ» (110 px) посчитана по нему: иконка документов + номер
   в одну строку, «Σ N» и «изм. …» — во вторую. */#sec-grid .gr-num{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}#sec-grid .gr-num b{font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap}#sec-grid .gr-sum-badge{display:inline-block;padding:0 6px;border-radius:20px;background:#fdf6e7;border:1px solid #ecdfc8;
  color:#8a6116;font-size:10.5px;font-weight:700;cursor:help;line-height:16px}#sec-grid .gr-min{display:flex;align-items:center;gap:6px;font-size:10.5px;color:var(--an-muted-2);
  margin-top:2px;white-space:nowrap}#sec-grid .gr-min-t{white-space:nowrap}
/* в самой таблице иконка документов стоит вплотную к номеру: 7 px отступа рядом
   с крупным номером выдавливали его на вторую строку */#sec-grid table.t-grid td.ttl .mtf-btn{margin-right:4px}
/* Статус = подпись источника (М/Б) + чип состояния. Подпись и чип НЕ разрываются:
   раньше строка была flex-wrap, и при нехватке ширины чип уезжал на следующую строку,
   оставляя «Б» одну — это и выглядело как «смещённые статусы». Теперь переносить
   между подписью и чипом нельзя, а сам текст чипа при нехватке места переносится
   внутри чипа. */#sec-grid .gr-st{display:flex;gap:6px;align-items:center;font-size:12px;color:#3d4852;
  white-space:nowrap;flex-wrap:nowrap;min-width:0}
/* значение статуса сжимается и переносит текст внутри себя — как чип, так и простой
   текст (статус менеджера в «Сетке» приходит текстом, чипа у него нет) */#sec-grid .gr-st .gr-v{flex:1 1 auto;min-width:0;white-space:normal;overflow-wrap:anywhere}#sec-grid .gr-st .gr-v .chip{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:left}#sec-grid .gr-st+.gr-st{margin-top:2px}#sec-grid .gr-st i{flex:0 0 auto;width:15px;height:15px;border-radius:50%;background:#eef1f7;color:#5b6472;
  font-style:normal;font-size:9.5px;font-weight:700;display:inline-grid;place-items:center}
/* тексты заказа (спецификация): две строки и «…», полный текст — в подсказке */#sec-grid table.t-grid td.gr-txt{white-space:normal;color:#3d4852}#sec-grid .gr-clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  overflow-wrap:anywhere;white-space:normal;
  /* max-width/min-width обязательны: без них длинный текст (до 1000 px) растягивал
     ячейку и на телефоне уводил карточку в горизонтальную прокрутку */
  max-width:100%;min-width:0}
/* ---- группы «заказ + его комментарии» ----
   Заказ занимает строку, а его тексты — строку-подстроку под ней. Между заказами —
   отступ в цвет фона страницы (12 px): он читается как настоящий разрыв, и соседние
   заказы не сливаются в одно полотно. Плюс «зебра»: фон каждой второй группы чуть
   темнее белого — на длинном списке это главный ориентир для глаза. */#sec-grid table.t-grid tbody tr[data-grk]>td{border-top:12px solid #eef1f5;padding-top:12px}#sec-grid table.t-grid tbody tr[data-grk]:first-child>td{border-top:0;padding-top:8px}
/* Полоса — только у строки ЗАКАЗА. Подстрока комментариев тоже помечена data-grk
   (по ней клик открывает карточку), поэтому раньше правило выше срабатывало и на ней:
   селектор с tbody нужен, чтобы перебить его по специфичности (4 элемента против 5),
   иначе полоса ложилась между строкой заказа и колонками с комментариями. */#sec-grid table.t-grid tbody tr.gr-sub>td{padding:3px 9px 14px;border-top:0;background:#fff}
/* «зебра»: чётные группы — белые, нечётные подкрашены. Фон задаём и строке, и рамке
   подстроки, и ячейкам панели: иначе подкрашенной была бы только часть группы */#sec-grid table.t-grid tbody tr.gr-alt>td{background:#f6f8fb}#sec-grid table.t-grid tbody tr.gr-sub.gr-alt>td{background:#f6f8fb}#sec-grid .gr-alt .gr-ci{background:#f6f8fb}#sec-grid .gr-alt .gr-ci.empty{background:#edf2f8}#sec-grid .gr-alt .gr-ci.ok{background:#e6f4ea}
/* Комментарии — ОДНОЙ строкой на всю ширину таблицы, ячейки равной высоты.
   Было repeat(auto-fit,minmax(340px,1fr)) с max-width:1150px: при 5–7 текстах
   получалось несколько рядов, а пустые места последнего ряда заливались серым
   фоном сетки (gap:1px на сером фоне) — блок выглядел недорисованным.
   grid-auto-flow:column раскладывает все ячейки в один ряд, 1fr делит ширину
   поровну, а выравнивание по умолчанию (stretch) даёт всем ячейкам одну высоту.
   Набор колонок постоянный (см. GR_SUB_COLS в 21_grid.js), поэтому столбцы всегда
   на своих местах и взгляд не приходится искать «где спецификация в этом заказе». */#sec-grid .gr-sub-in{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);
  align-items:stretch;gap:1px;background:#eaeef3;border:1px solid #eaeef3;border-top:0;
  border-radius:0 0 10px 10px;overflow:hidden;padding:0;margin:0;width:100%;max-width:none}#sec-grid .gr-ci{background:#fff;padding:8px 12px 10px;display:flex;flex-direction:column;gap:4px;min-width:0}
/* min-height у подписи: у «Начальник производства» подпись в две строки, у остальных —
   в одну. Без выравнивания тексты в соседних колонках начинались на разной высоте. */#sec-grid .gr-ci span.gr-lbl{display:inline-flex;align-items:center;gap:6px;flex:none;min-width:0;
  min-height:28px;line-height:1.35;
  font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--an-muted);
  overflow-wrap:anywhere}#sec-grid .gr-ci p{margin:0;font-size:12.5px;line-height:1.45;color:#26303c;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
  overflow-wrap:anywhere;white-space:normal;min-width:0}
/* пустое поле показываем прочерком — колонка остаётся на своём месте */#sec-grid .gr-ci.empty{background:#fbfcfe}#sec-grid .gr-ci p.gr-none{display:block;color:var(--an-muted-2);-webkit-line-clamp:none}
/* подтверждённые поля производства («принят»/«готов» первым словом) — зелёная ячейка */#sec-grid .gr-ci.ok{background:#eef8f0;box-shadow:inset 3px 0 0 #2f9e58}#sec-grid .gr-ci.ok span.gr-lbl{color:#1e7a43}#sec-grid .gr-check{width:13px;height:13px;flex:0 0 auto;margin-right:6px;vertical-align:-2px;
  fill:none;stroke:#1e7a43;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}#grModal .gr-check{width:12px;height:12px;margin-right:5px;vertical-align:-1px;
  fill:none;stroke:#1e7a43;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}#grModal .go-prod-txt.ok{background:#eef8f0;border-left:2px solid #2f9e58}
/* ---- статусы производства ---- */
/* строка производства: «цех + состояние». Название цеха НЕ обрезаем: раньше длинное
   имя упиралось в чип и превращалось в «Каменн…». Теперь имя переносится по словам,
   а если чип всё равно не влезает — уходит на следующую строку (flex-wrap), но не
   оставляет название обрезанным. */#sec-grid .gr-pr{display:flex;gap:5px;align-items:baseline;font-size:12px;color:#3d4852;
  white-space:nowrap;flex-wrap:wrap;min-width:0}#sec-grid .gr-pr+.gr-pr{margin-top:2px}
/* название цеха не режем и не переносим по слогам: если вместе с чипом состояния
   строка не влезает, на следующую строку уходит ЧИП (flex-wrap), а не часть названия */#sec-grid .gr-pr b{font-weight:600;flex:0 0 auto;white-space:nowrap}
/* Ширины колонок: их сумма = min-width таблицы, поэтому столбцы не «плывут»
   и заголовки не наезжают друг на друга. Порядок = порядок колонок в 21_grid.js.
   4-я колонка — «Место монтажа»: названия кладбищ длинные («Морозовка (Юго-Восточное)»),
   ей отдано 130 px; «Клиент» и «Менеджер» поджаты — их значения переносятся по словам.
   Деньги (Сумма, Оплачено, Остаток) стоят последними перед кнопкой карточки — так
   просил заказчик: список читают слева направо, а суммы нужны после того, как понятно,
   чей это заказ и что с ним делать.
   Ширины «Статусов» (126) и «Производства» (152) посчитаны по содержимому: строка
   «Б + чип На монтаже» — 124 px, «Б + чип Готов к выдаче» — 140 px (плюс отступы 18 px),
   «Каменный + чип Передан» — 134 px.
   При прежних 108/130 имя цеха обрезалось до «Каменн…», а чип статуса переносился
   на отдельную строку. Ширину взяли у «Клиента» и «Менеджера» (их значения и так
   переносятся по словам) и по 4 px у «Даты» и «Места монтажа». */#sec-grid table.t-grid th:nth-child(1){width:110px}#sec-grid table.t-grid th:nth-child(2){width:70px}
/* 3-я колонка — «Данные на захоронении» (ФИО умершего и даты жизни): строка длинная
   («Колосов Станислав Михайлович 15.03.2005-24.01.2025»), поэтому ей отдано 150 px,
   а «Менеджер» и «Место монтажа» поджаты — их значения и так переносятся */#sec-grid table.t-grid th:nth-child(3){width:150px}#sec-grid table.t-grid th:nth-child(4){width:110px}#sec-grid table.t-grid th:nth-child(5){width:78px}#sec-grid table.t-grid th:nth-child(6){width:108px}#sec-grid table.t-grid th:nth-child(7){width:82px}#sec-grid table.t-grid th:nth-child(8){width:140px}#sec-grid table.t-grid th:nth-child(9){width:152px}#sec-grid table.t-grid th:nth-child(10){width:84px}#sec-grid table.t-grid th:nth-child(11){width:98px}#sec-grid table.t-grid th:nth-child(12){width:92px}#sec-grid table.t-grid th:nth-child(13){width:92px}#sec-grid table.t-grid th:nth-child(14){width:38px}#sec-grid .gr-clock{width:30px;height:30px;padding:0;display:inline-grid;place-items:center;border:1px solid var(--an-line);
  background:#fff;border-radius:8px;color:var(--an-muted);cursor:pointer;transition:.15s}#sec-grid .gr-clock:hover{color:#1c5c96;border-color:#4197e2;background:#eaf3fc}#sec-grid .gr-clock svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}#sec-grid .gr-clock.has{color:#8a6116;border-color:#ecdfc8;background:#fdfaf4}
/* «+N» у данных на захоронении: в одной могиле бывает несколько человек,
   в колонку идёт первый, остальные — в подсказке */
/* «Исключить из показа»: пункт списка — галочка, а не выбор одного значения: панель
   не закрывается, чтобы снять сразу несколько значений (завершённые + без установки) */#sec-grid .gr-ex-h{font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  color:var(--an-muted);padding:7px 9px 4px}#sec-grid .gr-ex-it{padding:5px 9px}#sec-grid .gr-ex-it .n{display:flex;align-items:center;gap:8px;min-width:0}#sec-grid .gr-ex-bx{flex:0 0 auto;width:14px;height:14px;border:1px solid #c9cfd8;border-radius:4px;
  background:#fff;display:inline-grid;place-items:center;font-size:10px;font-style:normal;color:#fff}#sec-grid .gr-ex-it.on .gr-ex-bx{background:#2563eb;border-color:#2563eb}#sec-grid .gr-ex-it.on .gr-ex-bx::after{content:"✓"}#sec-grid .gr-ex-clear{display:block;width:100%;font:600 12px inherit;color:#1c5c96;background:none;
  border:0;border-radius:7px;padding:7px 9px;text-align:left;cursor:pointer}#sec-grid .gr-ex-clear:hover{background:#eef4fc}#sec-grid .gr-more{display:inline-block;min-width:19px;margin-left:5px;padding:0 5px;border-radius:20px;
  background:#eef1f7;color:#5b6472;font-size:10.5px;font-weight:700;vertical-align:1px;cursor:help}#sec-grid .gr-lgc{display:inline-block;min-width:22px;padding:1px 7px;margin-right:6px;border-radius:20px;background:#eef1f7;
  color:#3b4657;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}#sec-grid .gr-lgc.up{background:#fdecea;color:#b3261e}#sec-grid .gr-lgc.down{background:#e9f6ee;color:#0f7a3d}#sec-grid td.gr-dim{color:var(--an-muted)}#sec-grid .gr-note{font-size:12px;line-height:1.55;color:var(--an-muted);background:#fbfcfe;border:1px solid var(--an-line-2);
  border-radius:9px;padding:9px 11px;margin:4px 0 0}#sec-grid .gr-none{font-size:12.5px;color:var(--an-muted);padding:4px 0 8px}@media(max-width:760px){/* ===== карточки заказа на телефоне ===== Одна карточка в ряд, те же блоки (шапка, деньги, факты, работа), плотнее отступы. Факты — в две колонки: на 390 px по-другому не читается, а по одному полю в строку карточка растягивается почти на экран. */ body.gr-cards #sec-grid .gr-cards{grid-template-columns:minmax(0,1fr);gap:11px}body.gr-cards #sec-grid .gr-card{padding:12px 13px 13px 16px;border-radius:13px}body.gr-cards #sec-grid .gr-card-money{gap:12px}body.gr-cards #sec-grid .gr-card-money .gm:first-child b{font-size:16.5px}body.gr-cards #sec-grid .gr-card-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px}body.gr-cards #sec-grid .gr-work-grid{grid-template-columns:minmax(0,1fr);gap:8px}}


/* ===================== Раздел «Калькулятор ИК» =====================
   Слева форма изделия, справа живая смета (ТЗ §5: один экран без прокрутки на
   десктопе, смета пересчитывается при любом изменении поля). На телефоне и
   планшете колонки складываются в одну, позиции сметы становятся карточками. */#sec-calc .dp-tabs button .cnt{margin-left:6px;color:var(--an-muted-2);font-variant-numeric:tabular-nums}#sec-calc .cl-wrap{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);
  gap:12px;align-items:stretch}
/* смета — колонка: таблица занимает свободное место, итоги прижаты к низу карточки */#sec-calc .cl-est{display:flex;flex-direction:column}#sec-calc .cl-est .an-scroll{flex:1 1 auto;min-height:120px;overflow:auto}
/* полоса «считаю смету»: показывается только во время запроса к серверу */#sec-calc .dp-banner{display:none;padding:11px 15px;margin:0 0 14px;border:1px solid #ecdfc8;
  border-left:3px solid var(--an-gold);background:#fdfaf4;color:#2b6ea8;border-radius:10px;font-size:12.5px}#sec-calc .dp-banner.on{display:block}#sec-calc .cl-pad{padding:0 14px 14px}#sec-calc .an-card-h{padding:12px 14px 0;margin-bottom:10px}
/* переключатель типа изделия */#sec-calc .cl-types{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}#sec-calc .cl-type{height:32px;padding:0 12px;border:1px solid var(--an-line);background:#fff;
  border-radius:9px;font:600 12.5px inherit;color:var(--an-muted);cursor:pointer;font-family:inherit}#sec-calc .cl-type:hover{border-color:#cfd6e0;color:var(--an-ink)}#sec-calc .cl-type.on{background:#f6f2ea;border-color:#e3d6bd;color:#2c6ea8}
/* размеры: два поля в ряд */#sec-calc .cl-dims{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:10px}#sec-calc .cl-dims .dp-field{margin-bottom:0}#sec-calc .cl-chk-flat{align-self:end;padding-bottom:4px}
/* операции */
/* Операций в прайсе 24, и все они нужны редко: список прокручивается внутри своей
   рамки, поэтому форма со сметой остаются на одном экране (ТЗ §5). Прокрутка
   страницы при этом не появляется. */#sec-calc .cl-opts{margin:14px 0 10px;max-height:240px;overflow:auto;background:#fbfcfe;
  border:1px solid var(--an-line);border-radius:10px;padding:9px 11px;
  display:flex;flex-direction:column;gap:9px}#sec-calc .cl-grp{display:block}#sec-calc .cl-grp h5{margin:0 0 4px;font:700 10.5px/1.3 inherit;letter-spacing:.06em;
  text-transform:uppercase;color:var(--an-muted-2);position:sticky;top:0;z-index:1;
  background:#fbfcfe;padding:3px 0 4px}#sec-calc .cl-op{border-radius:7px}#sec-calc .cl-op:hover{background:#f2f6fb}#sec-calc .cl-op.on{background:#fff;box-shadow:inset 0 0 0 1px #e6ecf5}
/* сводка под списком операций: сколько отмечено */#sec-calc .cl-opsum{display:block;margin:-4px 0 8px;font-size:11.5px;line-height:1.4;
  color:var(--an-muted-2)}#sec-calc .cl-opsum b{color:var(--an-ink)}#sec-calc .cl-op{display:grid;grid-template-columns:minmax(0,1fr) 66px;gap:8px;align-items:center;
  padding:1px 0}#sec-calc .cl-chk{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--an-ink);cursor:pointer}#sec-calc .cl-chk input{width:16px;height:16px;flex:0 0 auto;accent-color:#4197e2}#sec-calc .cl-chk i{font-style:normal;font-size:11px;color:var(--an-muted-2);margin-left:7px}#sec-calc .cl-chk span{min-width:0}#sec-calc .cl-op .dp-input{height:32px;font-size:12.5px;text-align:right;padding:0 8px}
/* поле количества показываем только у отмеченной операции (visibility — чтобы
   строки не «прыгали» при включении галочки) */#sec-calc .cl-op .cl-opq,#sec-calc .cl-op .cl-opa{visibility:hidden;opacity:.45}#sec-calc .cl-op.on .cl-opq,#sec-calc .cl-op.on .cl-opa{visibility:visible;opacity:1}#sec-calc .cl-flags{display:flex;flex-direction:column;gap:6px;margin:4px 0 8px}
/* шапка сметы: что посчитано */#sec-calc .cl-client{display:flex;align-items:center;gap:10px;padding:0 14px 10px}#sec-calc .cl-client label{display:flex;align-items:center;gap:10px;width:100%;max-width:520px}#sec-calc .cl-client span{font:600 11.5px inherit;color:var(--muted,#6b7280);white-space:nowrap}#sec-calc .cl-client .dp-input{height:32px;font-size:12.5px;flex:1 1 auto}#sec-calc .cl-spec{padding:0 14px 11px;border-bottom:1px solid var(--an-line-2)}#sec-calc .cl-sig{display:grid;grid-template-columns:repeat(auto-fit,minmax(186px,1fr));
  gap:9px 18px}#sec-calc .cl-si{display:flex;flex-direction:column;gap:2px;min-width:0}#sec-calc .cl-si i{font-style:normal;font-size:10px;font-weight:700;letter-spacing:.05em;
  text-transform:uppercase;color:var(--an-muted-2)}#sec-calc .cl-si b{font-size:13px;font-weight:600;color:var(--an-ink);overflow-wrap:anywhere}
/* позиции сметы */#sec-calc .cl-lines{padding:0 14px}#sec-calc table.t-calc{width:100%;border-collapse:collapse;table-layout:fixed;min-width:0}#sec-calc table.t-calc th{font:700 10.5px/1.3 inherit;letter-spacing:.05em;text-transform:uppercase;
  color:var(--an-muted);text-align:left;padding:8px 8px 7px;border-bottom:1px solid var(--an-line);
  background:#fff;position:sticky;top:0;z-index:1}#sec-calc table.t-calc th.r,#sec-calc table.t-calc td.r{text-align:right}#sec-calc table.t-calc td{padding:7px 8px;border-bottom:1px solid #f2f4f8;font-size:12.5px;
  color:#26303c;overflow-wrap:anywhere;vertical-align:top}#sec-calc table.t-calc td.cl-n{font-weight:600;color:var(--an-ink)}#sec-calc table.t-calc td.cl-u,#sec-calc table.t-calc td.cl-q,#sec-calc table.t-calc td.cl-p{
  color:var(--an-muted);text-align:right}#sec-calc table.t-calc td.cl-s{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;
  text-align:right}#sec-calc table.t-calc tbody tr:hover td{background:#fafbfd}#sec-calc table.t-calc td.cl-n{padding-right:14px}#sec-calc table.t-calc tr.cl-g>td{padding:12px 8px 4px;border-bottom:0;font:700 10.5px/1.3 inherit;
  letter-spacing:.06em;text-transform:uppercase;color:var(--an-muted-2);background:none}#sec-calc .cl-note{display:block;font-weight:400;font-size:11px;color:var(--an-muted-2);margin-top:1px}#sec-calc table.t-calc tr.off td{opacity:.55}#sec-calc .cl-price{height:32px;max-width:120px;margin-left:auto;text-align:right;font-size:12.5px}#sec-calc .cl-price.busy{opacity:.5}#sec-calc .cl-fact{color:var(--an-muted);font-variant-numeric:tabular-nums}#sec-calc .cl-empty{padding:16px;color:var(--an-muted);font-size:12.5px}
/* итоги */#sec-calc .cl-sum{padding:12px 14px 14px;display:flex;flex-direction:column;gap:10px;
  border-top:1px solid var(--an-line-2);background:#fcfdfe}#sec-calc .cl-tg{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px 12px}#sec-calc .cl-tgi{display:flex;flex-direction:column;gap:1px;min-width:0}#sec-calc .cl-tgi i{font-style:normal;font-size:10px;font-weight:700;letter-spacing:.05em;
  text-transform:uppercase;color:var(--an-muted-2)}#sec-calc .cl-tgi b{font-size:13.5px;font-weight:600;color:var(--an-ink);font-variant-numeric:tabular-nums}#sec-calc .cl-tgi.zero b{color:var(--an-muted-2);font-weight:500}#sec-calc .cl-tt{display:flex;align-items:baseline;gap:12px;padding-top:10px;
  border-top:1px solid var(--an-line)}#sec-calc .cl-tt span{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:var(--an-muted)}#sec-calc .cl-tt b{margin-left:auto;font-size:24px;font-weight:700;letter-spacing:-.6px;
  color:var(--an-ink);font-variant-numeric:tabular-nums}#sec-calc #clWarn{margin:0;border:0;border-radius:0;background:none}#sec-calc #clWarn.on{margin:0;padding:10px 14px;border-top:1px solid #f0dfc0;background:#fff8ec;
  color:#8a6116;font-size:12.5px}@media(max-width:1100px){#sec-calc .cl-wrap{grid-template-columns:minmax(0,1fr)}}@media(max-width:760px){#sec-calc .an-card-h{padding:10px 12px 0}#sec-calc .cl-pad{padding:0 12px 12px}#sec-calc .cl-dims{grid-template-columns:minmax(0,1fr)}#sec-calc .cl-opts{max-height:none;overflow:visible}#sec-calc .cl-types{gap:5px}#sec-calc .cl-type{height:30px;padding:0 10px;font-size:12px}#sec-calc .cl-lines{padding:0 12px}#sec-calc .cl-sum{padding:10px 12px 12px}#sec-calc .cl-tg{grid-template-columns:repeat(2,minmax(0,1fr))}#sec-calc .cl-sig{grid-template-columns:repeat(2,minmax(0,1fr))}#sec-calc .cl-spec{padding:0 12px 9px}#sec-calc .cl-client{padding:0 12px 9px}#sec-calc .cl-client label{flex-direction:column;align-items:flex-start;gap:3px;max-width:none}#sec-calc .cl-tt b{font-size:21px}/* позиции сметы и прайса — карточками: подпись поля + значение */ #sec-calc table.t-cards{display:block;min-width:0}#sec-calc table.t-cards thead{display:none}#sec-calc table.t-cards tbody{display:block}#sec-calc table.t-cards tr[data-l]{display:grid;grid-template-columns:100px minmax(0,1fr);
    gap:2px 10px;background:#fff;border:1px solid var(--an-line);border-radius:10px;
    padding:8px 10px;margin:0 0 7px}#sec-calc table.t-cards tr[data-l]>td{display:flex;justify-content:space-between;gap:10px;
    border:0;padding:2px 0;font-size:12.5px;text-align:left;min-width:0}#sec-calc table.t-cards tr[data-l]>td::before{content:attr(data-l);flex:0 0 auto;
    font:600 10px/1.5 inherit;letter-spacing:.04em;text-transform:uppercase;color:var(--an-muted)}#sec-calc table.t-cards tr[data-l]>td.cl-n{grid-column:1/-1;display:block;font-size:13.5px}#sec-calc table.t-cards tr[data-l]>td.cl-n::before{display:none}#sec-calc table.t-cards td.cl-u{display:none}#sec-calc table.t-cards td.cl-s{font-size:14px}#sec-calc table.t-cards tr.cl-g{display:block;background:none;border:0;padding:6px 0 2px}#sec-calc table.t-cards tr.cl-g>td{display:block;padding:0;border:0}#sec-calc table.t-cards tr.cl-g>td::before{display:none}#sec-calc table.t-cards tr[data-l] .dp-input{max-width:130px}/* Прайс на телефоне: цена — своей строкой во всю ширину. В узком поле «18 000» не влезало и выглядело как «18» — цена читалась неверно. */ #sec-calc #clPriceTable table.t-cards tr[data-l]{grid-template-columns:minmax(0,1fr);gap:3px}#sec-calc #clPriceTable table.t-cards tr[data-l]>td[data-l^="Цена"]{
    flex-direction:column;align-items:stretch;gap:3px}#sec-calc #clPriceTable table.t-cards tr[data-l] .cl-price{
    max-width:none;width:100%;height:34px;font-size:13.5px;font-weight:600}#sec-calc #clPriceTable table.t-cards tr[data-l]>td[data-l="В смете"]{justify-content:flex-start}#sec-calc #clPriceTable table.t-cards tr[data-l]>td[data-l="В смете"]::before{display:none}}
/* печать сметы: на листе только смета (ТЗ §4.2 — печать/сохранение в PDF) */@media print{body *{visibility:hidden}#sec-calc .cl-est,#sec-calc .cl-est *{visibility:visible}#sec-calc .cl-est{position:absolute;left:0;top:0;width:100%;border:0;box-shadow:none}#sec-calc .cl-est .an-card-h .r,#sec-calc .cl-est .an-card-h .an-sumline{display:none}/* пустое поле клиента на лист не выводим: подпись без значения только мешает */ #sec-calc .cl-client:has(input:placeholder-shown){display:none}#sec-calc .cl-est .an-scroll{overflow:visible}#sec-calc table.t-calc{min-width:0;table-layout:auto}#sec-calc table.t-calc th{position:static}#sec-calc .cl-lines,#sec-calc .cl-sum{padding:0}@page{margin:14mm}}

/* ===================== Раздел «Чат с агентом» =====================
   Рабочее окно ассистента: слева ветки, справа диалог. Карточки и пузыри описаны
   здесь целиком (а не через общие .an-card), чтобы раздел выглядел одинаково в
   любой сборке. Окно занимает высоту экрана, прокручивается только переписка. */#sec-chat .chat-wrap{display:grid;grid-template-columns:minmax(0,268px) minmax(0,1fr);
  gap:14px;align-items:stretch;height:calc(100vh - 210px);min-height:520px}#sec-chat .chat-side,#sec-chat .chat-main{
  background:#fff;border:1px solid var(--an-line,#e4e7ec);border-radius:14px;
  box-shadow:0 1px 2px rgba(16,24,40,.05);min-width:0}#sec-chat .chat-side{display:flex;flex-direction:column;overflow:hidden}#sec-chat .chat-side-h{display:flex;align-items:center;gap:8px;padding:11px 12px 9px;
  border-bottom:1px solid var(--an-line-2,#f1f3f6)}#sec-chat .chat-new{margin-left:auto;display:inline-flex;align-items:center;gap:5px;height:30px;
  padding:0 10px;border:1px solid #cfdff2;background:#f2f8fe;border-radius:9px;color:#2b6ea8;
  font:600 12px inherit;font-family:inherit;cursor:pointer;white-space:nowrap}#sec-chat .chat-new:hover{background:#e6f2fd;border-color:#a9cdf0}#sec-chat .chat-new svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.1;
  stroke-linecap:round}#sec-chat .chat-back{display:none}#sec-chat .chat-side-h h3{margin:0;font-size:13px;font-weight:700;color:var(--an-ink,#1f2933)}#sec-chat .chat-side-h .n{margin-left:auto;font-size:11px;color:var(--an-muted-2,#98a2b3);
  background:#f4f6fa;border-radius:20px;padding:1px 8px}#sec-chat .chat-threads{flex:1 1 auto;overflow:auto;padding:8px;display:flex;
  flex-direction:column;gap:4px}#sec-chat .chat-th{display:flex;gap:9px;align-items:flex-start;text-align:left;width:100%;
  padding:9px 10px;border:1px solid transparent;border-radius:11px;background:none;
  cursor:pointer;font-family:inherit;min-width:0;transition:background .12s,border-color .12s}#sec-chat .chat-th:hover{background:#f7f9fc}#sec-chat .chat-th.on{background:#eff5fd;border-color:#cfe0f5}#sec-chat .chat-th .ic{flex:0 0 auto;width:26px;height:26px;border-radius:8px;background:#eef2f8;
  display:grid;place-items:center;color:#5b6472}#sec-chat .chat-th.on .ic{background:#dbeafc;color:#2f7fc4}#sec-chat .chat-th .ic svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round}#sec-chat .chat-th .tx{min-width:0;display:flex;flex-direction:column;gap:2px}#sec-chat .chat-th .tx b{font-size:12.5px;font-weight:600;color:var(--an-ink,#1f2933);
  line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}#sec-chat .chat-th .tx span{font-size:10.5px;color:var(--an-muted-2,#98a2b3)}
/* ветка, в которой агент отвечает прямо сейчас (в т.ч. после перезагрузки страницы) */#sec-chat .chat-th.work{border-color:#cfe0f5;background:#f4f9ff}#sec-chat .chat-th.work .ic{background:#dbeafc;color:#2f7fc4}#sec-chat .ch-work{display:inline-flex;align-items:center;gap:5px;font-style:normal;
  font-weight:600;color:#2f7fc4}#sec-chat .ch-work .ch-dots i{background:#7fb2e8}#sec-chat .chat-side-f{padding:9px 12px;border-top:1px solid var(--an-line-2,#f1f3f6);
  display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--an-muted,#6b7280)}#sec-chat .chat-side-f .dot{width:7px;height:7px;border-radius:50%;background:#2f9e58;flex:0 0 auto}#sec-chat .chat-side-f.off .dot{background:#c0392b}#sec-chat .chat-side-f.off{color:#b3261e}#sec-chat .chat-main{display:flex;flex-direction:column;overflow:hidden}#sec-chat .chat-head{display:flex;align-items:center;gap:10px;padding:12px 16px;
  border-bottom:1px solid var(--an-line-2,#f1f3f6);flex-wrap:wrap}#sec-chat .chat-head h3{margin:0;font-size:14px;font-weight:700;color:var(--an-ink,#1f2933);
  overflow-wrap:anywhere}#sec-chat .chat-head .sub{font-size:11.5px;color:var(--an-muted,#6b7280)}#sec-chat .chat-head .r{margin-left:auto;display:flex;gap:8px;align-items:center}#sec-chat .chat-on{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;
  color:var(--an-muted,#6b7280);background:#f4f7fb;border:1px solid var(--an-line-2,#f1f3f6);
  border-radius:20px;padding:3px 10px 3px 8px;white-space:nowrap;max-width:100%}#sec-chat .chat-on i{width:7px;height:7px;border-radius:50%;background:#2f9e58;flex:0 0 auto}#sec-chat .chat-on.off{color:#b3261e;background:#fdf3f2;border-color:#f4dcd9}#sec-chat .chat-on.off i{background:#c0392b}#sec-chat .chat-tbtn{display:none;align-items:center;gap:6px;height:32px;padding:0 10px;
  border:1px solid var(--an-line,#e4e7ec);background:#fff;border-radius:9px;font:600 12px inherit;
  color:var(--an-ink,#1f2933);cursor:pointer;font-family:inherit}#sec-chat .chat-tbtn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;
  stroke-linecap:round}#sec-chat .chat-start-btn{margin:0 auto 16px;display:inline-flex;align-items:center;gap:7px;
  height:38px;padding:0 18px;border:0;border-radius:11px;background:#2f7fc4;color:#fff;
  font:600 13px inherit;font-family:inherit;cursor:pointer}#sec-chat .chat-start-btn:hover{background:#2a72b0}#sec-chat .chat-log{flex:1 1 auto;overflow:auto;padding:18px 16px 8px;background:#f7f9fc;
  display:flex;flex-direction:column;gap:14px;scroll-behavior:smooth}#sec-chat .chat-msg{display:flex;gap:10px;max-width:min(820px,94%)}#sec-chat .chat-msg.me{align-self:flex-end;flex-direction:row-reverse}#sec-chat .chat-ava{flex:0 0 auto;width:32px;height:32px;border-radius:10px;display:grid;
  place-items:center;font:700 11px/1 inherit;letter-spacing:.02em;color:#fff;
  background:linear-gradient(160deg,#4f8fd8,#2f6fb4)}#sec-chat .chat-msg.me .chat-ava{background:linear-gradient(160deg,#8fa3bb,#6b7f96)}#sec-chat .chat-col{min-width:0;display:flex;flex-direction:column;gap:4px}#sec-chat .chat-msg.me .chat-col{align-items:flex-end}#sec-chat .chat-b{position:relative;background:#fff;border:1px solid var(--an-line,#e4e7ec);
  border-radius:14px;border-top-left-radius:5px;padding:11px 14px;
  box-shadow:0 1px 2px rgba(16,24,40,.04);min-width:0}
/* кнопка «скопировать ответ» — появляется при наведении на сообщение агента */#sec-chat .chat-copy{position:absolute;top:6px;right:6px;width:26px;height:26px;border:1px solid var(--an-line,#e4e7ec);
  background:#fff;border-radius:8px;color:var(--an-muted,#6b7280);font-size:13px;line-height:1;cursor:pointer;
  opacity:0;transition:opacity .15s,color .15s,border-color .15s;font-family:inherit}#sec-chat .chat-msg:hover .chat-copy{opacity:1}#sec-chat .chat-copy:hover{border-color:#b9d3ee;color:#1c5c96}#sec-chat .chat-msg.me .chat-b{background:#eaf3fc;border-color:#cfe3f7;border-radius:14px;
  border-top-right-radius:5px}#sec-chat .chat-msg.bad .chat-b{border-color:#f0d5d2;background:#fef7f6}#sec-chat .chat-body{font-size:13.5px;line-height:1.55;color:#26303c;overflow-wrap:anywhere}#sec-chat .chat-body p{margin:0 0 8px}#sec-chat .chat-body p:last-child{margin-bottom:0}
/* оформление ответа агента: заголовки, списки, таблицы, цитаты — как в мессенджере */#sec-chat .chat-body h1,#sec-chat .chat-body h2,#sec-chat .chat-body h3,#sec-chat .chat-body h4{
  margin:11px 0 5px;font-size:13.5px;font-weight:700;color:var(--an-ink,#1f2933);line-height:1.35}#sec-chat .chat-body h1:first-child,#sec-chat .chat-body h2:first-child, #sec-chat .chat-body h3:first-child,#sec-chat .chat-body h4:first-child{margin-top:0}#sec-chat .chat-body ul,#sec-chat .chat-body ol{margin:0 0 8px;padding-left:21px}#sec-chat .chat-body li{margin:3px 0}#sec-chat .chat-body li::marker{color:#8fa3bb}#sec-chat .chat-body b{font-weight:700;color:#141c26}#sec-chat .chat-body s{color:var(--an-muted-2,#98a2b3)}#sec-chat .chat-body a{color:#1c5c96;text-decoration:none;border-bottom:1px solid rgba(28,92,150,.35)}#sec-chat .chat-body a:hover{border-bottom-color:#1c5c96}#sec-chat .chat-body blockquote{margin:0 0 8px;padding:2px 0 2px 11px;border-left:3px solid #d6e2f0;
  color:#4a5563}#sec-chat .chat-body blockquote p{margin:0 0 4px}#sec-chat .chat-body hr{border:0;border-top:1px solid var(--an-line-2,#f1f3f6);margin:10px 0}#sec-chat .chat-body code{background:#f2f4f8;border-radius:5px;padding:1px 5px;font-size:12.5px}#sec-chat .chat-body pre{background:#f6f8fb;border:1px solid var(--an-line-2,#f1f3f6);
  border-radius:9px;padding:9px 11px;overflow:auto;font-size:12px;margin:0 0 8px}#sec-chat .chat-body table.ch-t{border-collapse:collapse;font-size:12.5px;margin:4px 0 9px;width:100%}#sec-chat .chat-body table.ch-t th,#sec-chat .chat-body table.ch-t td{
  border:1px solid var(--an-line-2,#f1f3f6);padding:5px 9px;text-align:left;vertical-align:top}#sec-chat .chat-body table.ch-t th{background:#f8fafc;font-weight:700;color:var(--an-ink,#1f2933)}#sec-chat .chat-body table.ch-t tr:nth-child(even) td{background:#fcfdfe}#sec-chat .chat-meta{font-size:10.5px;color:var(--an-muted-2,#98a2b3);padding:0 4px}#sec-chat .chat-meta.err{color:#b3261e}
/* пока агент думает и печатает */#sec-chat .chat-typing{display:inline-flex;align-items:center;gap:7px;color:var(--an-muted,#6b7280);
  font-size:12.5px}#sec-chat .ch-dots{display:inline-flex;gap:3px}#sec-chat .ch-dots i{width:5px;height:5px;border-radius:50%;background:#9fb0c4;
  animation:chBounce 1.1s infinite ease-in-out}#sec-chat .ch-dots i:nth-child(2){animation-delay:.15s}#sec-chat .ch-dots i:nth-child(3){animation-delay:.3s}
@keyframes chBounce{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-3px);opacity:1}}#sec-chat .ch-cur{display:inline-block;width:7px;height:15px;margin-left:2px;vertical-align:-2px;
  background:#4197e2;border-radius:2px;animation:chBlink 1s steps(2,start) infinite}
@keyframes chBlink{0%,50%{opacity:1}50.01%,100%{opacity:0}}
/* поле ввода */#sec-chat .chat-compose{padding:12px 16px 14px;border-top:1px solid var(--an-line-2,#f1f3f6);
  background:#fff}#sec-chat .chat-in{display:flex;gap:10px;align-items:flex-end;border:1px solid #dbe1ea;
  border-radius:14px;padding:6px 6px 6px 12px;background:#fff;transition:border-color .15s,box-shadow .15s}#sec-chat .chat-in:focus-within{border-color:#4197e2;box-shadow:0 0 0 3px rgba(65,151,226,.13)}#sec-chat .chat-in textarea{flex:1 1 auto;border:0;outline:none;resize:none;background:none;
  font:13.5px/1.5 inherit;font-family:inherit;color:var(--ink,#1f2933);min-height:42px;max-height:150px;
  padding:9px 0}#sec-chat .chat-in .send{flex:0 0 auto;height:38px;padding:0 16px;border:0;border-radius:10px;
  background:#2f7fc4;color:#fff;font:600 13px inherit;cursor:pointer;font-family:inherit}#sec-chat .chat-in .send:hover{background:#2a72b0}#sec-chat .chat-in .send:disabled{background:#c2d3e4;cursor:default}#sec-chat .chat-in .send.stop{background:#b3261e}#sec-chat .chat-hintline{margin-top:7px;font-size:11px;color:var(--an-muted-2,#98a2b3)}
/* пустой экран с примерами */#sec-chat .chat-start{max-width:620px;margin:auto;text-align:center;padding:26px 18px}#sec-chat .chat-start .big{width:54px;height:54px;margin:0 auto 12px;border-radius:16px;
  background:linear-gradient(160deg,#4f8fd8,#2f6fb4);display:grid;place-items:center;color:#fff}#sec-chat .chat-start .big svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round}#sec-chat .chat-start h4{margin:0 0 6px;font-size:15px;color:var(--an-ink,#1f2933)}#sec-chat .chat-start p{margin:0 0 14px;font-size:12.5px;line-height:1.55;color:var(--an-muted,#6b7280)}#sec-chat .ch-exs{display:flex;flex-direction:column;gap:7px;text-align:left}#sec-chat .ch-ex{display:block;width:100%;padding:10px 13px;border:1px solid var(--an-line,#e4e7ec);
  border-radius:11px;background:#fff;cursor:pointer;font:13px inherit;color:var(--an-ink,#1f2933);
  font-family:inherit;transition:border-color .12s,background .12s}#sec-chat .ch-ex:hover{border-color:#bcd7f2;background:#f7fbff}#sec-chat .ch-ex span{display:block;font-size:11px;color:var(--an-muted-2,#98a2b3);margin-top:2px}#sec-chat .chat-empty{color:var(--an-muted,#6b7280);font-size:12.5px;padding:14px 4px;text-align:center}@media(max-width:900px){/* Ветки на телефоне — выезжающий ящик: в шапке диалога кнопка «Ветки», список уезжает слева поверх страницы, закрывается по выбору ветки, фону или Esc */ #sec-chat .chat-wrap{grid-template-columns:minmax(0,1fr);height:auto;min-height:0}#sec-chat .chat-side{position:fixed;left:0;top:0;bottom:0;width:min(86vw,330px);z-index:120;
    border-radius:0 14px 14px 0;transform:translateX(-104%);transition:transform .22s ease;
    box-shadow:0 18px 50px rgba(16,24,40,.28);max-height:none}#sec-chat .chat-side.open{transform:none}#sec-chat .chat-back{display:block;position:fixed;inset:0;z-index:110;background:rgba(16,24,40,.42);
    opacity:0;pointer-events:none;transition:opacity .2s}#sec-chat .chat-back.on{opacity:1;pointer-events:auto}#sec-chat .chat-tbtn{display:inline-flex}#sec-chat .chat-main{min-height:64vh}#sec-chat .chat-head{padding:11px 12px;gap:8px}/* в шапке диалога на телефоне оставляем главное: кнопка списка, статус, название ветки и удаление. Дату создания («создана …») прячем — она в списке */ #sec-chat .chat-head .sub{display:none}#sec-chat .chat-head h3{font-size:13.5px;flex:1 1 100%;order:3;margin-top:2px}#sec-chat .chat-on{order:2;margin-left:auto}#sec-chat .chat-head .r{order:4}#sec-chat .chat-log{max-height:54vh;padding:14px 12px 6px}#sec-chat .chat-msg{max-width:100%}#sec-chat .chat-ava{display:none}#sec-chat .chat-compose{padding:10px 12px 12px}}@media print{#sec-chat .chat-main,#sec-chat .chat-side{display:none}}

/* Общие стили раздела (в проекте у каждой секции свой набор: панель, кнопки,
   карточки, поиск — берём те же правила, что у «Показателей») */
/* ---------- панель периода ---------- */#sec-chat .an-toolbar{position:sticky;top:var(--an-top,0);z-index:9;display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(8px);border:1px solid var(--an-line);border-radius:12px;
  padding:8px 11px;margin-bottom:10px;box-shadow:0 1px 2px rgba(16,24,40,.05)}#sec-chat .an-seg{display:flex;gap:2px;background:#eef0f4;border-radius:9px;padding:3px;overflow-x:auto;-webkit-overflow-scrolling:touch}#sec-chat .an-seg button{border:0;background:none;font:600 12.5px/1.2 inherit;color:var(--an-muted);padding:6px 11px;border-radius:7px;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s;font-family:inherit}#sec-chat .an-seg button:hover{color:var(--an-ink)}#sec-chat .an-seg button.active{background:#fff;color:var(--an-ink);box-shadow:0 1px 3px rgba(16,24,40,.13)}#sec-chat .an-sp{flex:1 1 auto}
/* ---------- строка пояснений ---------- */#sec-chat .an-toolbar.compact #anMeta{display:none}#sec-chat .an-meta{flex:1 0 100%;display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:12px;color:var(--an-muted);
  margin:0;padding:7px 2px 0;border-top:1px solid var(--an-line-2)}#sec-chat .an-meta b{color:var(--an-ink);font-weight:600;font-variant-numeric:tabular-nums}#sec-chat .an-meta .sep{color:#d5dae1}#sec-chat .an-meta .age{font-variant-numeric:tabular-nums;color:var(--an-muted-2)}#sec-chat .an-note{display:none;margin:0 0 14px;padding:12px 15px;border:1px solid #ece0c9;border-left:3px solid var(--an-gold);background:#fdfaf4;border-radius:10px;font-size:12.5px;line-height:1.6;color:#4b5563}#sec-chat .an-note.on{display:block}#sec-chat .an-note b{color:var(--an-ink)}#sec-chat .an-note ul{margin:6px 0 0;padding-left:18px}
/* ---------- карточки-виджеты ---------- */#sec-chat .an-card{background:#fff;border:1px solid var(--an-line);border-radius:12px;padding:15px 17px 16px;box-shadow:0 1px 2px rgba(16,24,40,.04);margin-bottom:16px}#sec-chat .an-card-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}#sec-chat .an-card-h h3{margin:0;font-size:14px;font-weight:700;letter-spacing:-.2px;color:var(--an-ink)}#sec-chat .an-card-h .hint{font-size:11.5px;color:var(--an-muted)}#sec-chat .an-card-h .r{margin-left:auto;display:flex;align-items:center;gap:8px}#sec-chat .an-split{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);gap:18px;align-items:start}
/* ---------- таблицы ---------- */#sec-chat .an-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}#sec-chat .an-search{display:flex;align-items:center;gap:7px;border:1px solid var(--an-line);background:#fff;border-radius:9px;padding:6px 10px;min-width:220px;flex:1 1 220px;max-width:340px}#sec-chat .an-search svg{width:15px;height:15px;fill:none;stroke:var(--an-muted-2);stroke-width:1.9;stroke-linecap:round}#sec-chat .an-search input{border:0;outline:0;background:none;font:400 13px inherit;color:var(--an-ink);width:100%;font-family:inherit}
/* скролл-контейнеры и колонки сеток не должны растягиваться содержимым */#sec-chat .an-split>*{min-width:0}#sec-chat .an-scroll{max-width:100%}#sec-chat .an-card{overflow:hidden}#sec-chat .an-scroll,#sec-chat .an-tabs,#sec-chat .an-seg{overscroll-behavior-x:contain}
/* ================= «Показатели»: только этот раздел ================= */
/* тулбар не липнет (у раздела нет собственной прокрутки тулбара, а липкая шапка приложения выше) */#sec-chat .an-toolbar{position:static}#sec-chat .an-toolbar .an-meta{flex:1 0 100%;border-top:1px solid var(--an-line-2)}
/* поиск-поле как в «Аналитике» */#sec-chat .an-search{max-width:320px}
/* режим переключателя валютной вкладки: div/button с классом .tab внутри .an-seg */#sec-chat .an-seg>.tab{border:0;background:none;font:600 12.5px/1.2 inherit;color:var(--an-muted);padding:6px 11px;border-radius:7px;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s;font-family:inherit}#sec-chat .an-seg>.tab:hover{color:var(--an-ink)}#sec-chat .an-seg>.tab.active{background:#fff;color:var(--an-ink);box-shadow:0 1px 3px rgba(16,24,40,.13)}
/* свайп внутренней прокрутки (таблицы, вкладки, сегменты) не должен дёргать всю страницу */#sec-analytics .an-scroll,#sec-analytics .an-tabs,#sec-analytics .an-seg, #sec-chat .an-scroll,#sec-chat .an-tabs,#sec-chat .an-seg, .scrollx,.tabs{overscroll-behavior-x:contain}

/* Общие стили раздела (в проекте у каждой секции свой набор: панель, кнопки,
   карточки, поиск — берём те же правила, что у «Показателей») */
/* ---------- панель периода ---------- */#sec-calc .an-toolbar{position:sticky;top:var(--an-top,0);z-index:9;display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(8px);border:1px solid var(--an-line);border-radius:12px;
  padding:8px 11px;margin-bottom:10px;box-shadow:0 1px 2px rgba(16,24,40,.05)}#sec-calc .an-seg{display:flex;gap:2px;background:#eef0f4;border-radius:9px;padding:3px;overflow-x:auto;-webkit-overflow-scrolling:touch}#sec-calc .an-seg button{border:0;background:none;font:600 12.5px/1.2 inherit;color:var(--an-muted);padding:6px 11px;border-radius:7px;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s;font-family:inherit}#sec-calc .an-seg button:hover{color:var(--an-ink)}#sec-calc .an-seg button.active{background:#fff;color:var(--an-ink);box-shadow:0 1px 3px rgba(16,24,40,.13)}#sec-calc .an-sp{flex:1 1 auto}
/* ---------- строка пояснений ---------- */#sec-calc .an-toolbar.compact #anMeta{display:none}#sec-calc .an-meta{flex:1 0 100%;display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:12px;color:var(--an-muted);
  margin:0;padding:7px 2px 0;border-top:1px solid var(--an-line-2)}#sec-calc .an-meta b{color:var(--an-ink);font-weight:600;font-variant-numeric:tabular-nums}#sec-calc .an-meta .sep{color:#d5dae1}#sec-calc .an-meta .age{font-variant-numeric:tabular-nums;color:var(--an-muted-2)}#sec-calc .an-note{display:none;margin:0 0 14px;padding:12px 15px;border:1px solid #ece0c9;border-left:3px solid var(--an-gold);background:#fdfaf4;border-radius:10px;font-size:12.5px;line-height:1.6;color:#4b5563}#sec-calc .an-note.on{display:block}#sec-calc .an-note b{color:var(--an-ink)}#sec-calc .an-note ul{margin:6px 0 0;padding-left:18px}
/* ---------- карточки-виджеты ---------- */#sec-calc .an-card{background:#fff;border:1px solid var(--an-line);border-radius:12px;padding:15px 17px 16px;box-shadow:0 1px 2px rgba(16,24,40,.04);margin-bottom:16px}#sec-calc .an-card-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}#sec-calc .an-card-h h3{margin:0;font-size:14px;font-weight:700;letter-spacing:-.2px;color:var(--an-ink)}#sec-calc .an-card-h .hint{font-size:11.5px;color:var(--an-muted)}#sec-calc .an-card-h .r{margin-left:auto;display:flex;align-items:center;gap:8px}#sec-calc .an-split{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);gap:18px;align-items:start}
/* ---------- таблицы ---------- */#sec-calc .an-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}#sec-calc .an-search{display:flex;align-items:center;gap:7px;border:1px solid var(--an-line);background:#fff;border-radius:9px;padding:6px 10px;min-width:220px;flex:1 1 220px;max-width:340px}#sec-calc .an-search svg{width:15px;height:15px;fill:none;stroke:var(--an-muted-2);stroke-width:1.9;stroke-linecap:round}#sec-calc .an-search input{border:0;outline:0;background:none;font:400 13px inherit;color:var(--an-ink);width:100%;font-family:inherit}
/* скролл-контейнеры и колонки сеток не должны растягиваться содержимым */#sec-calc .an-split>*{min-width:0}#sec-calc .an-scroll{max-width:100%}#sec-calc .an-card{overflow:hidden}#sec-calc .an-scroll,#sec-calc .an-tabs,#sec-calc .an-seg{overscroll-behavior-x:contain}
/* ================= «Показатели»: только этот раздел ================= */
/* тулбар не липнет (у раздела нет собственной прокрутки тулбара, а липкая шапка приложения выше) */#sec-calc .an-toolbar{position:static}#sec-calc .an-toolbar .an-meta{flex:1 0 100%;border-top:1px solid var(--an-line-2)}
/* поиск-поле как в «Аналитике» */#sec-calc .an-search{max-width:320px}
/* режим переключателя валютной вкладки: div/button с классом .tab внутри .an-seg */#sec-calc .an-seg>.tab{border:0;background:none;font:600 12.5px/1.2 inherit;color:var(--an-muted);padding:6px 11px;border-radius:7px;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s;font-family:inherit}#sec-calc .an-seg>.tab:hover{color:var(--an-ink)}#sec-calc .an-seg>.tab.active{background:#fff;color:var(--an-ink);box-shadow:0 1px 3px rgba(16,24,40,.13)}
/* свайп внутренней прокрутки (таблицы, вкладки, сегменты) не должен дёргать всю страницу */#sec-analytics .an-scroll,#sec-analytics .an-tabs,#sec-analytics .an-seg, #sec-calc .an-scroll,#sec-calc .an-tabs,#sec-calc .an-seg, .scrollx,.tabs{overscroll-behavior-x:contain}

/* Кнопки, сводная строка и поиск раздела — тот же вид, что в «Сетке» и «Монтаже» */#sec-chat .an-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--an-line,#e4e7ec);background:#fff;
  border-radius:9px;padding:7px 12px;font-weight:600;font-size:12.5px;color:var(--an-ink,#1f2933);cursor:pointer;
  font-family:inherit;transition:.15s;white-space:nowrap}#sec-chat .an-btn:hover{border-color:#d3d8e0;background:#fafbfc}#sec-chat .an-btn.loading{opacity:.6;pointer-events:none}#sec-chat .an-btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}#sec-chat .an-btn.acc{background:#4197e2;border-color:#4197e2;color:#fff}#sec-chat .an-btn.acc:hover{background:#2b7ac1;border-color:#2b7ac1}#sec-chat .an-search{display:flex;align-items:center;gap:7px;border:1px solid var(--an-line,#e4e7ec);background:#fff;
  border-radius:9px;padding:6px 10px;min-width:200px;max-width:320px;height:34px;box-sizing:border-box}#sec-chat .an-search svg{width:15px;height:15px;fill:none;stroke:var(--an-muted-2,#98a1ad);stroke-width:1.9;stroke-linecap:round}#sec-chat .an-search input{border:0;outline:0;background:none;font:400 13px inherit;font-family:inherit;
  color:var(--an-ink,#1f2933);width:100%}#sec-chat .an-sumline{margin-left:auto;display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--an-muted,#6b7280)}#sec-chat .an-sumline b{font-variant-numeric:tabular-nums;color:var(--an-ink,#1f2933)}
/* Кнопки, сводная строка и поиск раздела — тот же вид, что в «Сетке» и «Монтаже» */#sec-calc .an-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--an-line,#e4e7ec);background:#fff;
  border-radius:9px;padding:7px 12px;font-weight:600;font-size:12.5px;color:var(--an-ink,#1f2933);cursor:pointer;
  font-family:inherit;transition:.15s;white-space:nowrap}#sec-calc .an-btn:hover{border-color:#d3d8e0;background:#fafbfc}#sec-calc .an-btn.loading{opacity:.6;pointer-events:none}#sec-calc .an-btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}#sec-calc .an-btn.acc{background:#4197e2;border-color:#4197e2;color:#fff}#sec-calc .an-btn.acc:hover{background:#2b7ac1;border-color:#2b7ac1}#sec-calc .an-search{display:flex;align-items:center;gap:7px;border:1px solid var(--an-line,#e4e7ec);background:#fff;
  border-radius:9px;padding:6px 10px;min-width:200px;max-width:320px;height:34px;box-sizing:border-box}#sec-calc .an-search svg{width:15px;height:15px;fill:none;stroke:var(--an-muted-2,#98a1ad);stroke-width:1.9;stroke-linecap:round}#sec-calc .an-search input{border:0;outline:0;background:none;font:400 13px inherit;font-family:inherit;
  color:var(--an-ink,#1f2933);width:100%}#sec-calc .an-sumline{margin-left:auto;display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--an-muted,#6b7280)}#sec-calc .an-sumline b{font-variant-numeric:tabular-nums;color:var(--an-ink,#1f2933)}

/* Скопированные правила карточки дают внутренние отступы 15/17 px, а у этих двух
   разделов свои отступы у внутренних блоков — иначе поля становятся уже и текст
   в форме калькулятора начинает переноситься. Карточке оставляем рамку и тень. */#sec-calc .an-card{padding:0}#sec-chat .chat-side,#sec-chat .chat-main{padding:0}

/* Шапка страницы на телефоне: длинный подзаголовок раньше выдавливал заголовок
   на строку ниже кнопки меню — теперь текст всегда рядом с кнопкой, а подзаголовок
   обрезается по двум строкам */@media(max-width:760px){.topbar{flex-wrap:nowrap;gap:10px;padding:12px 14px;align-items:flex-start}.topbar>div{flex:1 1 auto;min-width:0}.topbar h1{font-size:16.5px;line-height:1.25;overflow-wrap:anywhere}.topbar .sub{font-size:11.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
    overflow:hidden;line-height:1.35}.menu-btn{padding:6px 9px;font-size:15px}}

/* Лента шагов агента в ответе: пока идёт работа — раскрыта и показывает текущий шаг,
   после ответа сворачивается в строку «шагов: N» и раскрывается по клику */#sec-chat .chat-steps{margin:-2px 0 8px;border:1px solid var(--an-line-2,#f1f3f6);
  border-radius:10px;background:#fbfcfe;overflow:hidden}#sec-chat .chat-steps-h{display:flex;align-items:center;gap:7px;width:100%;padding:6px 9px;
  border:0;background:none;font:600 11.5px inherit;color:var(--an-muted,#6b7280);
  cursor:pointer;font-family:inherit;text-align:left}#sec-chat .chat-steps-h .ic{font-size:12px}#sec-chat .chat-steps-h .arr{margin-left:auto;transition:transform .15s;font-size:11px}#sec-chat .chat-steps.run .chat-steps-h{color:#1c5c96}#sec-chat .chat-steps.open .chat-steps-h .arr{transform:rotate(180deg)}#sec-chat .chat-steps-l{display:none;padding:2px 9px 8px;border-top:1px solid var(--an-line-2,#f1f3f6)}#sec-chat .chat-steps.open .chat-steps-l{display:block}#sec-chat .chat-step{display:flex;align-items:flex-start;gap:7px;padding:3px 0;font-size:11.5px;
  color:#4a5563;line-height:1.4}#sec-chat .chat-step .i{flex:0 0 auto;width:15px;text-align:center}#sec-chat .chat-step .t{min-width:0;flex:1 1 auto}#sec-chat .chat-step .s{font-style:normal;color:var(--an-muted-2,#98a2b3)}#sec-chat .chat-step .d{display:block;color:var(--an-muted-2,#98a2b3);font-size:11px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}#sec-chat .chat-step .ok{color:#2f9e58;flex:0 0 auto}#sec-chat .chat-step .bad{color:#b3261e;flex:0 0 auto}#sec-chat .chat-step.run{color:#1c5c96}#sec-chat .chat-step.error{color:#b3261e}

/* ===================== Раздел «Начисления» =====================
   Стили .an-* в проекте объявлены только для #sec-analytics, поэтому здесь те же
   элементы оформлены заново для своей секции (одинаковые значения, свой scope). */#sec-accruals .an-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  background:rgba(255,255,255,.94);border:1px solid var(--an-line);border-radius:12px;
  padding:8px 11px;margin-bottom:10px;box-shadow:0 1px 2px rgba(16,24,40,.05)}#sec-accruals .an-seg{display:flex;gap:2px;background:#eef0f4;border-radius:9px;padding:3px;overflow-x:auto}#sec-accruals .an-seg button{border:0;background:none;font:600 12.5px/1.2 inherit;color:var(--an-muted);
  padding:6px 11px;border-radius:7px;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s;font-family:inherit}#sec-accruals .an-seg button:hover{color:var(--an-ink)}#sec-accruals .an-seg button.active{background:#fff;color:var(--an-ink);box-shadow:0 1px 3px rgba(16,24,40,.13)}#sec-accruals .an-dates{display:flex;align-items:center;gap:6px;flex-wrap:wrap}#sec-accruals .an-date{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--an-line);background:#fff;border-radius:9px;padding:3px 8px}#sec-accruals .an-date span{font-size:11px;color:var(--an-muted-2)}#sec-accruals .an-date input{border:0;outline:0;font:500 13px inherit;color:var(--an-ink);background:none;padding:3px 0;width:118px;font-family:inherit}#sec-accruals .an-sp{flex:1 1 auto}#sec-accruals .an-ibtn{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border:1px solid var(--an-line);
  background:#fff;border-radius:9px;cursor:pointer;color:var(--an-muted);transition:.15s;font:600 11px/1 inherit;font-family:inherit}#sec-accruals .an-ibtn.wide{width:auto;padding:0 11px}#sec-accruals .an-ibtn:hover{color:var(--an-ink);border-color:#d3d8e0;background:#fafbfc}#sec-accruals .an-ibtn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}#sec-accruals .an-meta{flex:1 0 100%;display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:12px;color:var(--an-muted);
  margin:0;padding:7px 2px 0;border-top:1px solid var(--an-line-2)}#sec-accruals .an-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}#sec-accruals .an-kpi{background:#fff;border:1px solid var(--an-line);border-radius:12px;padding:14px 16px 15px;
  box-shadow:0 1px 2px rgba(16,24,40,.04)}#sec-accruals .an-kpi .k-lbl{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--an-muted)}#sec-accruals .an-kpi .k-val{margin-top:9px;font-size:26px;font-weight:700;line-height:1.05;letter-spacing:-.7px;
  font-variant-numeric:tabular-nums;color:var(--an-ink);white-space:nowrap}#sec-accruals .an-kpi .k-val.plus{color:#b26a00}#sec-accruals .an-kpi .k-val.minus{color:var(--an-red)}#sec-accruals .an-kpi .k-val.good{color:var(--an-green)}#sec-accruals .an-kpi .k-sub{margin-top:8px;font-size:11.5px;color:var(--an-muted);min-height:18px}#sec-accruals .an-card{background:#fff;border:1px solid var(--an-line);border-radius:12px;padding:15px 17px 16px;
  box-shadow:0 1px 2px rgba(16,24,40,.04);margin-bottom:16px;overflow:hidden}#sec-accruals .ac-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px;
  font-size:14px;font-weight:700;letter-spacing:-.2px;color:var(--an-ink)}#sec-accruals .ac-hint{font-weight:400;color:var(--an-muted);font-size:11.5px}#sec-accruals .an-note + .an-kpis{margin-top:0}#sec-accruals .ac-tablewrap{overflow:auto;max-height:64vh;margin:0 -17px -16px;padding:0 17px}#sec-accruals table.ac-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}#sec-accruals table.ac-table th{position:sticky;top:0;z-index:2;background:#fbfcfe;border-bottom:1px solid var(--an-line);
  padding:9px 10px;text-align:left;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;
  color:var(--an-muted);white-space:nowrap}#sec-accruals table.ac-table th.num{text-align:right}#sec-accruals table.ac-table td{padding:9px 10px;border-bottom:1px solid var(--an-line-2);vertical-align:top}#sec-accruals table.ac-table td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;
  font-family:var(--an-num);font-size:12.5px}#sec-accruals tr.ac-row{cursor:pointer}#sec-accruals tr.ac-row:hover td{background:#f7fafd}#sec-accruals tr.ac-row.open td{background:#f3f8fd}#sec-accruals tr.ac-sub td{background:#fcfdff;color:#54607a;font-size:12.5px;padding-top:7px;padding-bottom:7px}#sec-accruals td.ac-name{max-width:420px;font-weight:600;color:var(--an-ink)}#sec-accruals tr.ac-sub td.ac-dep{padding-left:32px;font-weight:400}#sec-accruals .ac-caret{color:#9aa4b2;margin-right:2px}#sec-accruals .ac-plus{color:#b26a00;font-weight:600}#sec-accruals .ac-minus{color:var(--an-red);font-weight:600}#sec-accruals .ac-dim{color:var(--an-muted)}#sec-accruals .ac-flag{display:inline-block;margin-left:6px;padding:0 5px;border-radius:6px;background:#fdf2d8;
  color:#a1700a;font-size:11px;cursor:help;font-weight:700}#sec-accruals .ac-flag.nacc{background:#eef1f6;color:#5b6478;font-weight:600;text-transform:none;letter-spacing:0}#sec-accruals .ac-empty{color:var(--an-muted);padding:18px;text-align:center}#sec-accruals tfoot td{position:sticky;bottom:0;background:#fbfcfe;font-weight:700;border-top:1px solid var(--an-line);
  border-bottom:0;color:var(--an-ink)}#sec-accruals table.ac-months{max-width:760px}#sec-accruals .ac-bad{color:var(--an-red)}@media (max-width:900px){#sec-accruals .an-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ===================== Модалка «Почему расходятся суммы» ===================== */.sk2-help-b h4.why-h{margin:16px 0 6px;font-size:13.5px;color:var(--an-ink)}.sk2-help-b h4.why-h:first-child{margin-top:0}.sk2-help-b .why-lead{margin:0 0 10px;font-size:13px;line-height:1.65;color:#3d4653}.sk2-help-b .why-box{margin:12px 0;padding:12px 14px;border:1px solid #e6e8ec;border-radius:10px;background:#fbfcfe}.sk2-help-b .why-tot{display:flex;justify-content:space-between;font-size:13px;padding:4px 0}.sk2-help-b .why-tot b{font-variant-numeric:tabular-nums}.sk2-help-b table.why-tbl{width:100%;border-collapse:collapse;font-size:12.5px;margin:6px 0 4px}.sk2-help-b table.why-tbl th{background:#fbfcfe;border-bottom:1px solid #e6e8ec;padding:8px 9px;text-align:left;
  font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#7b8794;white-space:nowrap}.sk2-help-b table.why-tbl td{padding:7px 9px;border-bottom:1px solid #f0f2f5;vertical-align:top}.sk2-help-b table.why-tbl tr.why-sum td{background:#fbfcfe;font-weight:700;border-top:1px solid #e6e8ec;border-bottom:0}.sk2-help-b table.why-tbl tr.why-blok td{background:#fdfaf4;color:#4b5563}.sk2-help-b table.why-tbl tr.why-res td{background:#f3f8fd;font-weight:700;font-size:13px;border-top:1px solid #d6e4f2}.sk2-help-b .why-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;
  font-family:var(--an-num,ui-monospace,monospace)}.sk2-help-b .why-plus{color:#b26a00;font-weight:600}.sk2-help-b .why-minus{color:#b3261e;font-weight:600}.sk2-help-b .why-hint{font-size:12px;color:#7b8794;line-height:1.6}
/* модалка «почему расходятся суммы»: шире и с нормальной колонкой имён */#skWhy .sk2-help-box{width:min(1000px,96vw)}#skWhy table.why-tbl{table-layout:auto}#skWhy table.why-tbl th:first-child,#skWhy table.why-tbl td:first-child{min-width:212px;max-width:360px;white-space:normal}#skWhy table.why-tbl th.why-num,#skWhy table.why-tbl td.why-num{padding-left:16px}@media (max-width:900px){#skWhy table.why-tbl th:first-child,#skWhy table.why-tbl td:first-child{max-width:none}}
/* подробное объяснение расхождения: списки и метки причин */.sk2-help-b ol.why-list,.sk2-help-b ul.why-list{margin:6px 0 0;padding-left:20px;font-size:12.5px;line-height:1.7;color:#3d4653}.sk2-help-b ol.why-list li,.sk2-help-b ul.why-list li{margin-bottom:7px}.sk2-help-b .why-tag{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:9px;background:#eef1f6;
  color:#5b6478;font-size:11px;font-weight:600;white-space:nowrap}.sk2-help-b table.why-tbl.why-two{table-layout:fixed}.sk2-help-b table.why-tbl.why-two th,.sk2-help-b table.why-tbl.why-two td{width:50%;vertical-align:top;line-height:1.55}

/* ===================== Раздел «Анализ изделий» ===================== */
/* ===================== Раздел «Анализ изделий» =====================
   Стили .an-* в проекте объявлены только для #sec-analytics, поэтому здесь те же
   элементы оформлены заново для своей секции (одинаковые значения, свой scope). */#sec-goods .an-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  background:rgba(255,255,255,.94);border:1px solid var(--an-line);border-radius:12px;
  padding:8px 11px;margin-bottom:10px;box-shadow:0 1px 2px rgba(16,24,40,.05)}#sec-goods .an-seg{display:flex;gap:2px;background:#eef0f4;border-radius:9px;padding:3px;overflow-x:auto}#sec-goods .an-seg button{border:0;background:none;font:600 12.5px/1.2 inherit;color:var(--an-muted);
  padding:6px 11px;border-radius:7px;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s;font-family:inherit}#sec-goods .an-seg button:hover{color:var(--an-ink)}#sec-goods .an-seg button.active{background:#fff;color:var(--an-ink);box-shadow:0 1px 3px rgba(16,24,40,.13)}#sec-goods .an-dates{display:flex;align-items:center;gap:6px;flex-wrap:wrap}#sec-goods .an-date{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--an-line);background:#fff;border-radius:9px;padding:3px 8px}#sec-goods .an-date span{font-size:11px;color:var(--an-muted-2)}#sec-goods .an-date input{border:0;outline:0;font:500 13px inherit;color:var(--an-ink);background:none;padding:3px 0;width:118px;font-family:inherit}#sec-goods .an-sp{flex:1 1 auto}#sec-goods .an-ibtn{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border:1px solid var(--an-line);
  background:#fff;border-radius:9px;cursor:pointer;color:var(--an-muted);transition:.15s;font:600 11px/1 inherit;font-family:inherit}#sec-goods .an-ibtn.wide{width:auto;padding:0 11px}#sec-goods .an-ibtn:hover{color:var(--an-ink);border-color:#d3d8e0;background:#fafbfc}#sec-goods .an-ibtn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}#sec-goods .an-meta{flex:1 0 100%;display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:12px;color:var(--an-muted);
  margin:0;padding:7px 2px 0;border-top:1px solid var(--an-line-2)}#sec-goods .an-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}#sec-goods .an-kpi{background:#fff;border:1px solid var(--an-line);border-radius:12px;padding:14px 16px 15px;
  box-shadow:0 1px 2px rgba(16,24,40,.04)}#sec-goods .an-kpi .k-lbl{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--an-muted)}#sec-goods .an-kpi .k-val{margin-top:9px;font-size:26px;font-weight:700;line-height:1.05;letter-spacing:-.7px;
  font-variant-numeric:tabular-nums;color:var(--an-ink);white-space:nowrap}#sec-goods .an-kpi .k-val.plus{color:#b26a00}#sec-goods .an-kpi .k-val.minus{color:var(--an-red)}#sec-goods .an-kpi .k-val.good{color:var(--an-green)}#sec-goods .an-kpi .k-sub{margin-top:8px;font-size:11.5px;color:var(--an-muted);min-height:18px}#sec-goods .an-card{background:#fff;border:1px solid var(--an-line);border-radius:12px;padding:15px 17px 16px;
  box-shadow:0 1px 2px rgba(16,24,40,.04);margin-bottom:16px;overflow:hidden}#sec-goods .ac-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px;
  font-size:14px;font-weight:700;letter-spacing:-.2px;color:var(--an-ink)}#sec-goods .ac-hint{font-weight:400;color:var(--an-muted);font-size:11.5px}#sec-goods .an-note + .an-kpis{margin-top:0}#sec-goods .ac-tablewrap{overflow:auto;max-height:64vh;margin:0 -17px -16px;padding:0 17px}#sec-goods table.ac-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}#sec-goods table.ac-table th{position:sticky;top:0;z-index:2;background:#fbfcfe;border-bottom:1px solid var(--an-line);
  padding:9px 10px;text-align:left;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;
  color:var(--an-muted);white-space:nowrap}#sec-goods table.ac-table th.num{text-align:right}#sec-goods table.ac-table td{padding:9px 10px;border-bottom:1px solid var(--an-line-2);vertical-align:top}#sec-goods table.ac-table td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;
  font-family:var(--an-num);font-size:12.5px}#sec-goods tr.ac-row{cursor:pointer}#sec-goods tr.ac-row:hover td{background:#f7fafd}#sec-goods tr.ac-row.open td{background:#f3f8fd}#sec-goods tr.ac-sub td{background:#fcfdff;color:#54607a;font-size:12.5px;padding-top:7px;padding-bottom:7px}#sec-goods td.ac-name{max-width:420px;font-weight:600;color:var(--an-ink)}#sec-goods tr.ac-sub td.ac-dep{padding-left:32px;font-weight:400}#sec-goods .ac-caret{color:#9aa4b2;margin-right:2px}#sec-goods .ac-plus{color:#b26a00;font-weight:600}#sec-goods .ac-minus{color:var(--an-red);font-weight:600}#sec-goods .ac-dim{color:var(--an-muted)}#sec-goods .ac-flag{display:inline-block;margin-left:6px;padding:0 5px;border-radius:6px;background:#fdf2d8;
  color:#a1700a;font-size:11px;cursor:help;font-weight:700}#sec-goods .ac-flag.nacc{background:#eef1f6;color:#5b6478;font-weight:600;text-transform:none;letter-spacing:0}#sec-goods .ac-empty{color:var(--an-muted);padding:18px;text-align:center}#sec-goods tfoot td{position:sticky;bottom:0;background:#fbfcfe;font-weight:700;border-top:1px solid var(--an-line);
  border-bottom:0;color:var(--an-ink)}#sec-goods table.ac-months{max-width:760px}#sec-goods .ac-bad{color:var(--an-red)}@media (max-width:900px){#sec-goods .an-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ===================== Модалка «Почему расходятся суммы» ===================== */.sk2-help-b h4.why-h{margin:16px 0 6px;font-size:13.5px;color:var(--an-ink)}.sk2-help-b h4.why-h:first-child{margin-top:0}.sk2-help-b .why-lead{margin:0 0 10px;font-size:13px;line-height:1.65;color:#3d4653}.sk2-help-b .why-box{margin:12px 0;padding:12px 14px;border:1px solid #e6e8ec;border-radius:10px;background:#fbfcfe}.sk2-help-b .why-tot{display:flex;justify-content:space-between;font-size:13px;padding:4px 0}.sk2-help-b .why-tot b{font-variant-numeric:tabular-nums}.sk2-help-b table.why-tbl{width:100%;border-collapse:collapse;font-size:12.5px;margin:6px 0 4px}.sk2-help-b table.why-tbl th{background:#fbfcfe;border-bottom:1px solid #e6e8ec;padding:8px 9px;text-align:left;
  font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#7b8794;white-space:nowrap}.sk2-help-b table.why-tbl td{padding:7px 9px;border-bottom:1px solid #f0f2f5;vertical-align:top}.sk2-help-b table.why-tbl tr.why-sum td{background:#fbfcfe;font-weight:700;border-top:1px solid #e6e8ec;border-bottom:0}.sk2-help-b table.why-tbl tr.why-blok td{background:#fdfaf4;color:#4b5563}.sk2-help-b table.why-tbl tr.why-res td{background:#f3f8fd;font-weight:700;font-size:13px;border-top:1px solid #d6e4f2}.sk2-help-b .why-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;
  font-family:var(--an-num,ui-monospace,monospace)}.sk2-help-b .why-plus{color:#b26a00;font-weight:600}.sk2-help-b .why-minus{color:#b3261e;font-weight:600}.sk2-help-b .why-hint{font-size:12px;color:#7b8794;line-height:1.6}
/* модалка «почему расходятся суммы»: шире и с нормальной колонкой имён */#skWhy .sk2-help-box{width:min(1000px,96vw)}#skWhy table.why-tbl{table-layout:auto}#skWhy table.why-tbl th:first-child,#skWhy table.why-tbl td:first-child{min-width:212px;max-width:360px;white-space:normal}#skWhy table.why-tbl th.why-num,#skWhy table.why-tbl td.why-num{padding-left:16px}@media (max-width:900px){#skWhy table.why-tbl th:first-child,#skWhy table.why-tbl td:first-child{max-width:none}}
/* подробное объяснение расхождения: списки и метки причин */.sk2-help-b ol.why-list,.sk2-help-b ul.why-list{margin:6px 0 0;padding-left:20px;font-size:12.5px;line-height:1.7;color:#3d4653}.sk2-help-b ol.why-list li,.sk2-help-b ul.why-list li{margin-bottom:7px}.sk2-help-b .why-tag{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:9px;background:#eef1f6;
  color:#5b6478;font-size:11px;font-weight:600;white-space:nowrap}.sk2-help-b table.why-tbl.why-two{table-layout:fixed}.sk2-help-b table.why-tbl.why-two th,.sk2-help-b table.why-tbl.why-two td{width:50%;vertical-align:top;line-height:1.55}#sec-goods .an-search input{border:1px solid var(--an-line);background:#fff;border-radius:9px;padding:7px 11px;
  font:500 13px inherit;color:var(--an-ink);font-family:inherit;min-width:220px;outline:0}#sec-goods .an-btn{border:1px solid var(--an-line);background:#fff;border-radius:9px;padding:7px 13px;
  font:600 12.5px inherit;color:var(--an-ink);cursor:pointer;font-family:inherit}#sec-goods .an-btn:hover{background:#fafbfc;border-color:#d3d8e0}#sec-goods .st-range{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}#sec-goods .st-range[hidden]{display:none!important}#sec-goods .an-search{border:1px solid var(--an-line);background:#fff;border-radius:9px;padding:6px 10px;
  min-width:220px;flex:1 1 220px;max-width:340px;display:flex;align-items:center;gap:7px}#sec-goods .an-search input{border:0;outline:0;background:none;padding:3px 0;width:100%;
  font:500 13px inherit;font-family:inherit;color:var(--an-ink)}#sec-goods .an-btn{display:inline-flex;align-items:center;gap:6px;height:34px}@media (max-width:760px){/* вкладки категорий: не сжимать, а прокручивать по горизонтали */ #sec-goods .ac-tabs{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;
    -webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:thin;
    -webkit-mask-image:linear-gradient(90deg,#000 92%,transparent);mask-image:linear-gradient(90deg,#000 92%,transparent)}#sec-goods .ac-tabs button{flex:0 0 auto;white-space:nowrap}#sec-goods .an-toolbar{gap:8px}#sec-goods .an-search{flex:1 1 100%;max-width:none}#sec-goods .an-seg{order:-1;width:100%}#sec-goods .an-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#sec-goods .an-kpi .k-val{font-size:20px}#sec-accruals .ac-tabs{max-width:100%;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}#sec-accruals .ac-tabs button{flex:0 0 auto;white-space:nowrap}#sec-goods table.ac-table{font-size:12px}#sec-goods table.ac-table th,#sec-goods table.ac-table td{padding:7px 8px}}#sec-goods table.ac-table td:first-child{max-width:460px}#sec-goods .an-note{font-size:12.5px;line-height:1.7}
/* вкладки раздела «Начисления» и панель «Заказы с изменениями» */#sec-accruals .ac-tabs{display:flex;gap:2px;background:#eef0f4;border-radius:9px;padding:3px;margin:0 0 12px;width:max-content}#sec-accruals .ac-tabs button{border:0;background:none;font:600 12.5px/1.2 inherit;color:var(--an-muted);
  padding:7px 14px;border-radius:7px;cursor:pointer;font-family:inherit}#sec-accruals .ac-tabs button:hover{color:var(--an-ink)}#sec-accruals .ac-tabs button.active{background:#fff;color:var(--an-ink);box-shadow:0 1px 3px rgba(16,24,40,.13)}#sec-accruals .ac-select{border:0;outline:0;font:500 13px inherit;color:var(--an-ink);background:none;
  font-family:inherit;padding:3px 0;min-width:120px}#sec-accruals .ac-chk{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--an-muted);cursor:pointer}#sec-accruals .ac-pos{color:#b26a00;font-weight:600}#sec-accruals .ac-neg{color:var(--an-red);font-weight:600}#sec-accruals .ac-new{display:inline-block;padding:0 6px;border-radius:6px;background:#e9f6ee;color:#0f7a3d;font-size:11px;font-weight:600}#sec-goods table.ac-table th .sub{display:block;font-weight:400;text-transform:none;letter-spacing:0;
  font-size:10.5px;color:#98a2b3;margin-top:2px}#sec-goods table.ac-table td:first-child{max-width:420px}#sec-goods .ac-plus{color:#b26a00;font-weight:700}#sec-goods .ac-minus{color:var(--an-red);font-weight:700;color:#b3261e}

/* вкладки, чекбоксы и цвета «Анализа изделий» — как в «Начислениях» */#sec-goods .ac-tabs{display:flex;gap:2px;background:#eef0f4;border-radius:9px;padding:3px;margin:0 0 12px;width:max-content}#sec-goods .ac-tabs button{border:0;background:none;font:600 12.5px/1.2 inherit;color:#6b7280;
  padding:7px 14px;border-radius:7px;cursor:pointer;font-family:inherit}#sec-goods .ac-tabs button:hover{color:#1f2933}#sec-goods .ac-tabs button.active{background:#fff;color:#1f2933;box-shadow:0 1px 3px rgba(16,24,40,.13)}#sec-goods .ac-chk{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:#6b7280;cursor:pointer}#sec-goods .an-kpi .k-val.plus{color:#b26a00}#sec-goods .an-kpi .k-val.minus{color:#b3261e}#sec-goods .an-kpi .k-val.good{color:#0f7a3d}

/* --- Аналитика: ошибка загрузки и предупреждение о неполных данных (аудит 02.10.2026) --- */#sec-analytics .an-error{padding:14px 16px;margin:0 0 12px;border:1px solid #f0c2c2;background:#fdf3f3;
  color:#a12b2b;border-radius:10px;font-size:13.5px;line-height:1.45}#sec-analytics .an-warn{color:#a15c00}

/* «Анализ изделий»: 12 колонок — делаем таблицу компактной, чтобы влезала на экран */#sec-goods table.ac-table{font-size:12px}#sec-goods table.ac-table th,#sec-goods table.ac-table td{padding:6px 7px}#sec-goods table.ac-table th{font-size:10.5px;letter-spacing:.02em}#sec-goods table.ac-table .sub{font-size:9.5px;line-height:1.25;max-width:104px}#sec-goods table.ac-table td.num,#sec-goods table.ac-table th.num{white-space:nowrap;text-align:right}#sec-goods table.ac-table td:first-child{max-width:210px;white-space:normal;line-height:1.3}#sec-goods .ac-tablewrap{overflow-x:auto;scrollbar-width:thin}#sec-goods .ac-tablewrap::-webkit-scrollbar{height:9px}#sec-goods .ac-tablewrap::-webkit-scrollbar-thumb{background:#cfd5de;border-radius:5px}#sec-goods .ac-scrollhint{display:none;font-size:11.5px;color:#98a1ad;margin:6px 0 0}@media (max-width:1680px){#sec-goods table.ac-table .sub{display:none}#sec-goods table.ac-table th{font-size:9.5px}#sec-goods table.ac-table th,#sec-goods table.ac-table td{padding:6px 6px}}@media (max-width:1300px){#sec-goods table.ac-table{font-size:11.5px}#sec-goods table.ac-table td:first-child{max-width:200px}}


/* ===================== «База знаний»: индекс, поиск, сворачиваемые панели =====
   Только упаковка раздела: текст и данные не меняются. Индекс — липкая колонка
   слева от содержимого, панель сворачивается в <details> (заголовок остаётся
   на месте), совпадения поиска подсвечиваются. На мобильном сетка одноколонная,
   индекс становится обычным блоком сверху: липкая колонка там не помещается. */#sec-kb.active{display:grid;grid-template-columns:230px minmax(0,1fr);gap:16px;align-items:start}#sec-kb .kb-bar{grid-column:1/-1;display:flex;align-items:center;gap:8px;margin-bottom:12px}#sec-kb .kb-bar input{flex:1;min-width:0;max-width:420px;padding:8px 12px;border:1px solid var(--line);
  border-radius:9px;font-size:13px;font-family:inherit;color:var(--ink);background:var(--card)}#sec-kb .kb-bar input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}#sec-kb .kb-count{font-size:12px;color:var(--muted)}#sec-kb .kb-bar button{display:none;background:none;border:none;cursor:pointer;font-size:13px;
  color:var(--muted);padding:4px 8px;font-family:inherit}#sec-kb .kb-bar.on button{display:inline-block}#sec-kb .kb-bar button:hover{color:var(--ink)}#sec-kb .tabs{grid-column:1/-1}#sec-kb .tabpane{grid-column:2}#kbIndex{grid-column:1;position:sticky;top:74px;max-height:calc(100vh - 110px);overflow-y:auto;
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:12px 14px;box-shadow:var(--shadow)}#kbIndex .kb-idx-h{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);
  font-weight:700;margin-bottom:8px}#kbIndex a{display:block;padding:6px 9px;border-radius:8px;font-size:12.5px;color:var(--muted);
  text-decoration:none;line-height:1.35}#kbIndex a:hover{background:var(--bg);color:var(--ink)}#kbIndex a.on{background:var(--accent-soft);color:var(--accent-2);font-weight:600}#kbIndex .kb-idx-c{float:right;font-size:11px;font-weight:700;color:var(--accent-2)}#kbIndex .kb-idx-e{font-size:12px;color:var(--muted);font-style:italic}#kbIndex .kb-idx-o{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}#sec-kb .kb-panel{padding:14px 18px}#sec-kb .kb-panel[hidden]{display:none}#sec-kb .kb-panel > summary{cursor:pointer;list-style:none;user-select:none}#sec-kb .kb-panel > summary::-webkit-details-marker{display:none}#sec-kb .kb-panel > summary h2{display:inline;margin:0}#sec-kb .kb-panel > summary:before{content:"▸";display:inline-block;margin-right:8px;
  color:var(--muted);transition:transform .15s}#sec-kb .kb-panel[open] > summary:before{transform:rotate(90deg)}#sec-kb .kb-panel mark{background:#fff3bf;border-radius:3px;padding:0 2px}#sec-kb .kb-flash{animation:kbflash 1.2s ease}
@keyframes kbflash{0%{background:var(--accent-soft)}100%{background:var(--card)}}@media(max-width:900px){#sec-kb.active{display:block}#kbIndex{position:static;max-height:none;margin-bottom:14px}}

/* ============================================================================
   КАРТОЧКА ЗАКАЗА — оформление по макету дизайнера (десктоп + мобильная версия).
   Значения цветов/размеров взяты из макета 1:1; классы с префиксом go2- , чтобы
   не задеть остальной дашборд. Блок стоит в конце файла: он перекрывает прежние
   правила модалки (те, что ещё нужны вкладкам «Состав», «Производство»,
   «Изменения суммы» и «Документы», дополнены ниже в новой палитре).
   ============================================================================ */
/* Высота окна ОДНА И ТА ЖЕ для всех вкладок и заказов: переключение разделов не меняет
   размер окна (содержимое, если не помещается, прокручивается внутри .go-body).
   Размер зависит только от высоты экрана, поэтому на большом мониторе окно выше. */
#grModal .go-box{width:min(1180px,94vw);height:min(90vh,880px);
  background:#f5f6f8;border-radius:20px;color:#1f2933;font-size:14px}
/* ---- шапка ---- */
/* шапка, вкладки и подвал не сжимаются: иначе при высоком содержимом flex
   «съедает» полосу вкладок (на телефоне она превращалась в тонкую линию) */
#grModal .go2-head{background:#0A1322;color:#fff;padding:14px 24px 0;flex:0 0 auto}
#grModal .go2-tabs,#grModal .go2-foot{flex:0 0 auto}
#grModal .go2-hd{display:none}
#grModal .go2-top{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}
#grModal .go2-eb{font-size:10.5px;letter-spacing:.16em;font-weight:700;color:#4197e2;text-transform:uppercase}
/* Левый блок шапки — сетка: [надпись «ЗАКАЗ»] / [номер + копирование | бейджи] /
   [подпись клиент · филиал · дата]. Так на ПК бейджи стоят в строке с номером, а на
   телефоне (одна колонка) уезжают своей строкой после подписи. */
#grModal .go2-tt{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:12px;min-width:0}
#grModal .go2-eb{grid-column:1/-1;grid-row:1;line-height:1.2}
#grModal .go2-tline{grid-column:1;grid-row:2;display:flex;align-items:center;gap:10px;margin-top:2px}
#grModal .go2-num{margin:0;font-size:30px;line-height:1.05;font-weight:800;letter-spacing:-.01em}
#grModal .go2-sub{grid-column:1/-1;grid-row:3;margin:2px 0 0;font-size:13px;color:#98a3b3}
#grModal .go2-acts{display:flex;gap:10px;flex:0 0 auto}
#grModal .go2-b{height:34px;padding:0 14px;border-radius:10px;border:1px solid rgba(255,255,255,.10);background:#232d3f;
  color:#fff;font:600 13.5px inherit;display:inline-flex;align-items:center;gap:8px;cursor:pointer;
  transition:background .15s,border-color .15s}
#grModal .go2-b:hover{background:#242a33;border-color:#3b434f}
#grModal .go2-b:disabled,#grModal .go2-b.off{opacity:.45;cursor:default}
#grModal .go2-ic{width:34px;padding:0;justify-content:center;font-size:14px;line-height:1}
#grModal .go2-ic.done{color:#4ade80;border-color:rgba(74,222,154,.45)}
#grModal .go2-cn{min-width:22px;height:20px;padding:0 6px;border-radius:10px;background:#4197e2;color:#1f2933;
  font-size:11.5px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}
#grModal .go2-cn:empty{display:none}
#grModal .go2-docs{display:none}
#grModal .go2-chips{grid-column:2;grid-row:2;display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 0;align-self:center}
#grModal .go2-chip{display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 12px;border-radius:14px;
  background:#232d3f;border:1px solid rgba(255,255,255,.10);font-size:12px;color:#98a3b3}
#grModal .go2-chip b{color:#fff;font-weight:700}
#grModal .go2-chip i{width:7px;height:7px;border-radius:50%;background:#4ade80;flex:0 0 auto}
#grModal .go2-chip.new i{background:#98a3b3}
#grModal .go2-chip.work i{background:#4197e2}
/* ---- полоса показателей ---- */
#grModal .go2-kpi{display:grid;grid-template-columns:1fr 1fr 1fr 2.1fr;margin-top:9px;border-top:1px solid rgba(255,255,255,.09)}
#grModal .go2-k{padding:11px 20px 12px 0;min-width:0}
#grModal .go2-k+.go2-k{padding-left:22px;border-left:1px solid rgba(255,255,255,.09)}
#grModal .go2-kl{font-size:10.5px;letter-spacing:.12em;font-weight:700;color:#98a3b3;text-transform:uppercase}
#grModal .go2-kn.go2-bad{color:#f7a8a0}
#grModal .go2-kv{font-size:22px;font-weight:800;margin-top:3px;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
#grModal .go2-kn{font-size:11.5px;color:#98a3b3;margin-top:2px}
#grModal .go2-bar{height:3px;border-radius:2px;background:rgba(255,255,255,.10);margin-top:6px;overflow:hidden}
#grModal .go2-bar i{display:block;height:100%;width:0;border-radius:2px;background:#4197e2;transition:width .3s ease}
#grModal .go2-sh{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:3px}
#grModal .go2-sn{font-size:12px;font-weight:600;color:#c9d2de;margin-bottom:4px}
#grModal .go2-st{display:inline-flex;align-items:center;gap:5px;height:23px;padding:0 10px;border-radius:12px;
  background:rgba(74,222,128,.14);border:1px solid rgba(74,222,128,.42);color:#4ade80;font-size:11.5px;font-weight:700}
#grModal .go2-st:before{content:"";width:5px;height:5px;border-radius:50%;background:#4ade80;flex:0 0 auto}
#grModal .go2-st.work{background:rgba(244,185,66,.14);border-color:rgba(244,185,66,.42);color:#4197e2}
#grModal .go2-st.work:before{background:#4197e2}
#grModal .go2-st.wait{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.10);color:#98a3b3}
#grModal .go2-st.wait:before{background:#98a3b3}
#grModal .go2-cnt{margin-left:6px;font-size:11px;color:#98a3b3}
#grModal .go2-none{font-size:12.5px;color:#9aa1ab;margin-top:6px}
#grModal .go2-kpi .go2-none{color:#98a3b3}
/* ---- вкладки ---- */
#grModal .go2-tabs{display:flex;gap:4px;padding:0 22px;background:#fff;border-bottom:1px solid #e6e8ec}
#grModal .go2-tab{height:44px;padding:0 15px;display:inline-flex;align-items:center;gap:7px;border:0;
  border-bottom:2px solid transparent;background:none;font:600 13.5px inherit;color:#6b7280;cursor:pointer;white-space:nowrap}
#grModal .go2-tab:hover{color:#1f2933}
#grModal .go2-tab.on{color:#1f2933;border-bottom-color:#4197e2}
#grModal .go2-pl{min-width:20px;height:18px;padding:0 6px;border-radius:9px;background:#eef1f5;font-size:10.5px;
  font-weight:700;display:inline-flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}
#grModal .go2-tab.on .go2-pl{background:#1f2933;color:#fff}
/* ---- тело ---- */
#grModal .go-body{flex:1;min-height:0;overflow:auto;background:#f5f6f8;padding:20px 28px;
  display:flex;flex-direction:column;gap:16px;scrollbar-width:thin}
#grModal .go2-body::-webkit-scrollbar{width:10px}
#grModal .go2-body::-webkit-scrollbar-thumb{background:#e6e8ec;border-radius:6px;border:3px solid #f5f6f8}
#grModal .go2-pane{display:flex;flex-direction:column;gap:16px}
#grModal .go2-g2{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch}
#grModal .go2-c{background:#fff;border:1px solid #e6e8ec;border-radius:14px;padding:18px 22px;min-width:0}
#grModal .go2-cl{margin:0 0 0;font-size:10.5px;letter-spacing:.14em;font-weight:700;color:#2b7ac1;text-transform:uppercase}
#grModal .go2-cv{font-size:15.5px;font-weight:700;line-height:1.45;margin-top:7px;overflow-wrap:anywhere}
#grModal .go2-cv.empty{font-weight:600;color:#9aa1ab}
/* Захоронение: по одной строке на человека — имя и даты рядом, диапазон дат не рвётся */
#grModal .go2-pers{display:flex;flex-direction:column;gap:4px;margin-top:7px}
#grModal .go2-pers-i{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px}
#grModal .go2-pers-i b{font-size:15.5px;font-weight:700;color:#1f2933}
#grModal .go2-pers-i span{font-size:13px;color:#6b7280;font-variant-numeric:tabular-nums;white-space:nowrap}
#grModal .go2-rows{margin-top:3px}
#grModal .go2-r{display:grid;grid-template-columns:140px 1fr;gap:14px;padding:7px 0;border-top:1px solid #eef1f5}
#grModal .go2-r:first-child{border-top:0}
#grModal .go2-rl{font-size:11.5px;color:#6b7280;font-weight:600}
#grModal .go2-rv{font-size:14px;font-weight:700;overflow-wrap:anywhere}
/* сроки — лента */
#grModal .go2-tl{position:relative;margin-top:5px;padding-left:24px}
#grModal .go2-tl:before{content:"";position:absolute;left:4px;top:14px;bottom:14px;width:2px;background:#e6e8ec}
#grModal .go2-ti{position:relative;padding:7px 0;display:flex;justify-content:space-between;align-items:baseline;gap:12px}
#grModal .go2-ti:before{content:"";position:absolute;left:-24px;top:11px;width:10px;height:10px;border-radius:50%;
  background:#fff;border:2px solid #4197e2}
#grModal .go2-tn{font-size:12.5px;font-weight:600;color:#6b7280}
#grModal .go2-d{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;text-align:right}
#grModal .go2-late .go2-d{color:#b91c1c}
#grModal .go2-lb{display:inline-block;margin-top:3px;padding:1px 7px;border-radius:9px;background:#fdecec;
  color:#b91c1c;font-size:10.5px;font-weight:700;white-space:nowrap}
#grModal .go2-lb.go2-soon{background:#eaf3fc;color:#2b7ac1}
/* тексты */
#grModal .go2-nt{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:12px}
#grModal .go2-nt.one{grid-template-columns:1fr}
#grModal .go2-nl{font-size:11.5px;font-weight:600;color:#6b7280}
#grModal .go2-nx{font-size:13.5px;line-height:1.55;margin-top:4px;white-space:pre-wrap;overflow-wrap:anywhere}
#grModal .go2-em{margin-top:12px;padding:9px 13px;border:1px dashed #d6dae0;border-radius:10px;font-size:12.5px;color:#6b7280}
/* скелетон */
#grModal .go2-sk{position:relative;overflow:hidden;background:#fff;border:1px solid #e6e8ec;border-radius:16px}
#grModal .go2-sk:after{content:"";position:absolute;inset:0;transform:translateX(-100%);
  background:linear-gradient(90deg,transparent,rgba(16,24,40,.05),transparent);animation:goSk 1.2s infinite}
#grModal .go2-sk-c{height:104px}
#grModal .go2-sk-tall{height:250px}
#grModal .go2-sk-w{height:150px}
/* ---- подвал ---- */
#grModal .go2-foot{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 24px;
  background:#fff;border-top:1px solid #e6e8ec}
#grModal .go2-fn{font-size:12.5px;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#grModal .go2-nav{display:flex;gap:8px}
#grModal .go2-nb{height:36px;padding:0 13px;border-radius:10px;border:1px solid #e6e8ec;background:#fff;color:#1f2933;
  font:600 13px inherit;display:inline-flex;align-items:center;gap:8px;cursor:pointer;transition:.15s}
#grModal .go2-nb:hover:not(:disabled){border-color:#4197e2;color:#2b7ac1}
#grModal .go2-nb:disabled{opacity:.45;cursor:default}
#grModal .go2-hs{display:flex;gap:14px;font-size:11.5px;color:#6b7280}
#grModal .go2-kb{display:inline-block;padding:2px 6px;margin-right:4px;border:1px solid #e6e8ec;
  border-bottom-width:2px;border-radius:5px;background:#f5f6f8;font-size:10.5px;font-weight:700;color:#3A404A}
/* ---- карточки других вкладок: та же палитра ---- */
#grModal .go-block{background:#fff;border:1px solid #e6e8ec;border-radius:14px;padding:18px 22px;min-width:0}
#grModal .go-block h5{margin:0 0 10px;font-size:10.5px;letter-spacing:.14em;font-weight:700;color:#2b7ac1;text-transform:uppercase}
#grModal .go-block h5 i{font-style:normal;letter-spacing:0;text-transform:none;font-weight:600;color:#6b7280;font-size:12px}
#grModal .go-total{background:#fff;border:1px solid #e6e8ec;border-radius:14px;padding:12px 20px;font-size:12.5px;
  color:#6b7280;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
#grModal .go-total b{font-size:16px;font-variant-numeric:tabular-nums;color:#1f2933}
#grModal .go-t{width:100%;border-collapse:collapse;font-size:12.5px;table-layout:fixed}
#grModal .go-t th{position:sticky;top:-28px;z-index:1;text-align:left;font-size:11px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:#9aa1ab;background:#fff;border-bottom:1px solid #e6e8ec;padding:8px 8px}
#grModal .go-t td{border-bottom:1px solid #eef1f5;padding:9px 8px;color:#1f2933;overflow-wrap:anywhere}
#grModal .go-t tbody tr:last-child td{border-bottom:0}
#grModal .go-t tbody tr:hover td{background:#f8fafc}
#grModal .go-note{font-size:13px;line-height:1.55;color:#6b7280;background:#fff;border:1px solid #e6e8ec;
  border-radius:12px;padding:12px 16px}
#grModal .go-empty{font-size:13px;color:#6b7280;background:#fff;border:1px dashed #d6dae0;border-radius:12px;padding:16px 18px}
#grModal .go-empty-actions{margin-top:10px}
#grModal .go-btn{border:1px solid #e6e8ec;background:#fff;border-radius:10px;padding:7px 12px;
  font:600 13px inherit;color:#1f2933;cursor:pointer}
#grModal .go-btn:hover{border-color:#4197e2;color:#2b7ac1}
#grModal .go-log{list-style:none;margin:0;padding:0;background:#fff;border:1px solid #e6e8ec;border-radius:16px;overflow:hidden}
#grModal .go-log li{display:flex;align-items:baseline;gap:14px;padding:12px 18px;border-top:1px solid #eef1f5;font-size:13px}
#grModal .go-log li:first-child{border-top:0}
#grModal .go-files{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
#grModal .go-files-foot{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:13px;color:#6b7280;
  background:#fff;border:1px solid #e6e8ec;border-radius:12px;padding:12px 16px}
#grModal .go-tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
/* ---- мобильная версия (макет 390 px) ---- */
@media(max-width:760px){
  /* Как в мобильном макете: лист прокручивается ЦЕЛИКОМ (шапка и показатели уезжают
     вверх, освобождая экран), а подвал-действия липнет к низу. Иначе шапка с показателями
     занимала почти весь экран и на содержимое оставалось ~150 px. */
  #grModal .doc-box{border-radius:0;height:100%;overflow-y:auto;overflow-x:hidden}
  #grModal .go-body{flex:none;overflow:visible;min-height:0}
  #grModal .go2-foot{position:sticky;bottom:0;z-index:3}
  #grModal .go2-head{padding:10px 20px 0}
  #grModal .go2-hd{display:block;width:36px;height:4px;border-radius:2px;background:#3A404A;margin:0 auto 14px}
  #grModal .go2-top{gap:12px}
  #grModal .go2-num{font-size:30px;margin-top:4px}
  #grModal .go2-sub{font-size:13px;line-height:1.4}
  #grModal .go2-acts{gap:8px}
  /* на телефоне — одна колонка: номер, кнопка, подпись, затем бейджи своей строкой */
  #grModal .go2-tt{grid-template-columns:minmax(0,1fr)}
  #grModal .go2-eb,#grModal .go2-tline,#grModal .go2-sub,#grModal .go2-chips{grid-column:1;grid-row:auto}
  #grModal .go2-sub{order:2;margin-top:8px}
  #grModal .go2-chips{order:3;margin:10px 0 0}
  #grModal .go2-close-txt{display:none}
  #grModal #grOClose{width:44px;padding:0;justify-content:center}
  #grModal #grOFiles{display:none}
  #grModal .go2-ic{width:44px;padding:0}
  #grModal .go2-chips{gap:8px;margin-top:16px}
  #grModal .go2-chip{height:32px;padding:0 12px;gap:8px}
  #grModal .go2-b{height:44px;padding:0 16px}
  #grModal .go2-ic,#grModal #grOClose{width:44px;height:44px;padding:0}
  #grModal .go2-kpi{grid-template-columns:1fr 1fr;margin-top:16px}
  #grModal .go2-k{padding:14px 0 16px;border-top:1px solid rgba(255,255,255,.09)}
  #grModal .go2-k+.go2-k{padding-left:16px}
  #grModal .go2-k:nth-child(odd){padding-left:0;border-left:0}
  #grModal .go2-kl{font-size:10px}
  #grModal .go2-kv{font-size:22px;margin-top:6px}
  #grModal .go2-w{grid-column:1/-1;padding-left:0!important;border-left:0!important}
  /* на телефоне «Остаток» — отдельной строкой во всю ширину: рядом с ним не остаётся
     пустой половины (показателей теперь четыре, а не три) */
  #grModal .go2-kpi>.go2-k:nth-child(3){grid-column:1/-1;padding-left:0;border-left:0}
  #grModal .go2-tabs{padding:0 8px;gap:2px;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}
  #grModal .go2-tabs::-webkit-scrollbar{height:0}
  #grModal .go2-tab{height:48px;padding:0 14px;font-size:13.5px}
  #grModal .go-body{padding:16px;gap:12px}
  #grModal .go2-pane{gap:12px}
  #grModal .go2-g2{grid-template-columns:1fr;gap:12px}
  #grModal .go2-c{padding:18px}
  #grModal .go2-cv{font-size:16px}
  #grModal .go2-r{grid-template-columns:1fr;gap:2px;padding:12px 0}
  #grModal .go2-rv{font-size:15px}
  #grModal .go2-tl{padding-left:26px;margin-top:10px}
  #grModal .go2-ti{padding:11px 0}
  #grModal .go2-ti:before{left:-26px;top:16px}
  #grModal .go2-nt{grid-template-columns:1fr;gap:18px}
  #grModal .go2-em{margin-top:16px;padding:12px 14px}
  #grModal .go2-foot{gap:8px;padding:12px 16px 28px;justify-content:space-between}
  #grModal .go2-fn,#grModal .go2-hs,#grModal .go2-nav span{display:none}
  #grModal .go2-docs{display:inline-flex;flex:1;height:48px;justify-content:center;background:#0A1322;
    border-color:#0A1322;font:700 15px inherit}
  #grModal .go2-nb{width:48px;padding:0;justify-content:center;font-size:16px}
  #grModal .go-block{padding:18px}
  #grModal .go-t th{top:-16px;padding:6px 8px}
  #grModal .go-files{grid-template-columns:1fr}
}

/* ============================================================================
   СЕТКА — редизайн по макету дизайнера (значения 1:1 из макета).
   Классы макета получили префикс gm- и область #sec-grid, чтобы не задеть
   остальной дашборд. Шрифты и цвета — базовые сайта (Inter/system, палитра из :root);
   значения размеров и отступов оставлены как в макете.
   ============================================================================ */
.gm-pg button, .gm-pg select, .gm-pg input{font:inherit;color:inherit}
.gm-pg button{cursor:pointer}
#sec-grid .gm-pg{--ink:#1f2933;--mut:#6b7280;--line:#e6e8ec;--soft:#f5f6f8;--brass:#2b7ac1;--red:#b91c1c;--h:36px;display:flex;flex-direction:column;gap:10px;padding:0 0 10px;box-sizing:border-box;background:#f5f6f8;color:var(--ink);font:13px/1.45 "Inter",-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-variant-numeric:tabular-nums}
@media (pointer:coarse){
  #sec-grid .gm-pg{--h:44px}
}
#sec-grid .gm-i{width:15px;height:15px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#sec-grid .gm-mu{color:var(--mut)}
#sec-grid .gm-red{color:var(--red)}
#sec-grid .gm-sp{flex:1}
#sec-grid .gm-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 1px 2px rgba(16,24,40,.05),0 12px 30px -18px rgba(16,24,40,.10);overflow:hidden}
/* overflow:visible — иначе выпадающий список фильтра «Исключено» срезался границей шапки;
   скругления углов держим на самих блоках шапки */
#sec-grid .gm-hd{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 1px 2px rgba(16,24,40,.05),0 12px 30px -18px rgba(16,24,40,.10);overflow:visible}
#sec-grid .gm-hb1{border-radius:21px 21px 0 0}
#sec-grid .gm-tb{border-radius:0 0 21px 21px}
#sec-grid .gm-ex .cem-dd-panel{z-index:70}
#sec-grid .gm-hb1{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;background:#0A1322;color:#e8edf4;padding:14px 18px 12px}
#sec-grid .gm-dib, #sec-grid .gm-hp{border:1px solid rgba(255,255,255,.10);background:transparent;display:grid;place-items:center;color:#c9d2de;padding:0}
#sec-grid .gm-dib{width:44px;height:44px;border-radius:12px}
#sec-grid .gm-hp{width:32px;height:32px;border-radius:10px}
@media (pointer:coarse){
  #sec-grid .gm-hp{width:44px;height:44px}
}
#sec-grid .gm-dib:hover, #sec-grid .gm-hp:hover{border-color:#6A7078;color:#fff}
#sec-grid .gm-ttl{display:flex;flex-direction:column;gap:4px}
#sec-grid .gm-t1{display:flex;align-items:center;gap:8px}
#sec-grid .gm-hd h1{font-family:inherit;font-size:20px;font-weight:800;line-height:1.15;margin:0;color:#fff;letter-spacing:-.01em}
#sec-grid .gm-sbt{color:#98a3b3;font-size:12px}
#sec-grid .gm-syn{display:flex;align-items:center;font-size:12px;color:#98a3b3}
#sec-grid .gm-sd{width:7px;height:7px;border-radius:50%;background:#4197e2;margin-right:7px;flex:none}
#sec-grid .gm-rf, #sec-grid .gm-gb{height:var(--h);display:flex;gap:7px;align-items:center;padding:0 14px;border-radius:10px;font-weight:700}
#sec-grid .gm-rf{border:0;background:#4197e2;color:#1f2933}
#sec-grid .gm-rf:hover{background:#2b7ac1}
#sec-grid .gm-gb{border:1px solid rgba(255,255,255,.12);background:transparent;color:#e8edf4}
#sec-grid .gm-gb:hover{border-color:#6A7078}
#sec-grid .gm-tr{display:flex;align-items:flex-end;gap:6px;background:#0A1322;padding:4px 18px 0}
#sec-grid .gm-tl{flex:1;min-width:0;display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}
#sec-grid .gm-tl::-webkit-scrollbar{display:none}
#sec-grid .gm-tab{flex:none;position:relative;display:flex;align-items:center;gap:8px;height:46px;padding:0 15px;border:0;background:transparent;color:#98a3b3;font-weight:600;font-size:13.5px;border-radius:12px 12px 0 0;white-space:nowrap}
#sec-grid .gm-tab:hover{background:#232d3f;color:#fff}
#sec-grid .gm-tab b{font-size:11px;font-weight:600;background:rgba(255,255,255,.08);color:#c9d2de;border-radius:99px;padding:2px 8px;font-variant-numeric:tabular-nums}
#sec-grid .gm-tab.gm-on{background:#fff;color:var(--ink)}
#sec-grid .gm-tab.gm-on b{background:#eaf3fc;color:#2b7ac1}
#sec-grid .gm-tab.gm-all{margin-right:12px}
#sec-grid .gm-tab.gm-all::after{content:"";position:absolute;right:-7px;top:14px;bottom:14px;width:1px;background:rgba(255,255,255,.12)}
#sec-grid .gm-ar{flex:none;width:34px;height:34px;margin-bottom:6px;border-radius:10px;border:1px solid rgba(255,255,255,.10);background:transparent;color:#c9d2de;display:none;place-items:center;padding:0}
#sec-grid .gm-ar.gm-on{display:grid}
#sec-grid .gm-ar:hover{border-color:#6A7078;color:#fff}
#sec-grid .gm-sel{position:relative;display:inline-flex;align-items:center}
#sec-grid .gm-sel select{appearance:none;height:var(--h);padding:0 30px 0 12px;border:1px solid var(--line);border-radius:10px;background:#fff;font-weight:600;max-width:230px;cursor:pointer}
#sec-grid .gm-sel select:hover{border-color:#cfd6e0}
#sec-grid .gm-sel .gm-i{position:absolute;right:10px;pointer-events:none;color:var(--mut)}
#sec-grid .gm-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
#sec-grid .gm-r2{padding-top:10px;border-top:1px solid var(--line)}
#sec-grid .gm-af{flex:1;min-width:220px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
#sec-grid .gm-fc{display:inline-flex;align-items:center;gap:6px;height:calc(var(--h) - 8px);padding:0 8px 0 11px;border-radius:99px;background:var(--soft);border:1px solid var(--line);font-weight:600;font-size:12px}
#sec-grid .gm-fc:hover{border-color:#cfd6e0}
#sec-grid .gm-fc .gm-i{width:12px;height:12px;color:var(--mut)}
#sec-grid .gm-lk{background:none;border:0;color:var(--brass);font-weight:700;padding:0 6px;height:calc(var(--h) - 8px)}
#sec-grid .gm-bar{height:4px;border-radius:99px;background:#eef1f5;overflow:hidden}
#sec-grid .gm-bar span{display:block;height:100%;border-radius:99px;background:var(--ink)}
#sec-grid .gm-tb{display:flex;flex-direction:column;gap:10px;padding:14px 18px 12px;background:#fff}
#sec-grid .gm-search{flex:1 1 200px;min-width:180px;max-width:340px;display:flex;align-items:center;gap:8px;height:var(--h);padding:0 12px;box-sizing:border-box;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--mut)}
#sec-grid .gm-search:focus-within{border-color:var(--ink)}
#sec-grid .gm-search input{border:0;outline:0;flex:1;min-width:0;background:transparent;color:var(--ink)}
#sec-grid .gm-seg{display:flex;gap:2px;padding:3px;background:var(--soft);border-radius:12px;overflow-x:auto}
#sec-grid .gm-seg button{border:0;background:transparent;height:calc(var(--h) - 6px);padding:0 11px;border-radius:9px;color:#5b6472;font-weight:600;display:flex;gap:5px;align-items:center;white-space:nowrap}
#sec-grid .gm-seg button:hover{background:#eef1f5}
#sec-grid .gm-seg button.gm-on{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(16,24,40,.12)}
#sec-grid .gm-seg i{font-style:normal;font-weight:500;color:var(--mut);font-size:11px}
#sec-grid .gm-chip2, #sec-grid .gm-sw{height:var(--h);display:flex;gap:8px;align-items:center;padding:0 12px;border-radius:10px;font-weight:600;white-space:nowrap}
#sec-grid .gm-chip2{border:1px dashed #cfd6e0;background:transparent}
#sec-grid .gm-chip2 i{font-style:normal;color:var(--mut);font-weight:500}
#sec-grid .gm-sw{border:1px solid var(--line);background:#fff}
#sec-grid .gm-chip2:hover, #sec-grid .gm-sw:hover{border-color:#cfd6e0}
#sec-grid .gm-tg{width:30px;height:18px;border-radius:99px;background:#cfd6e0;position:relative;transition:.15s}
#sec-grid .gm-tg::after{content:"";position:absolute;left:2px;top:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:.15s}
#sec-grid .gm-sw.gm-on .gm-tg{background:var(--ink)}
#sec-grid .gm-sw.gm-on .gm-tg::after{left:14px}
#sec-grid .gm-btn{height:var(--h);padding:0 14px;border:1px solid var(--line);border-radius:10px;background:#fff;font-weight:600}
#sec-grid .gm-th{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:14px 18px 8px}
#sec-grid .gm-sm2{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;color:var(--mut);font-size:12px}
#sec-grid .gm-sm2 b{color:var(--ink);font-size:13px}
#sec-grid .gm-sm2 .gm-red{color:var(--red)}
#sec-grid .gm-kb{height:calc(var(--h) - 4px);display:flex;align-items:center;gap:7px;padding:0 12px;border:1px solid var(--line);border-radius:99px;background:#fff;font-weight:600;font-size:12px}
#sec-grid .gm-kb b{color:var(--red)}
#sec-grid .gm-kb:hover{border-color:#cfd6e0}
#sec-grid .gm-kb.gm-on{background:var(--ink);border-color:var(--ink);color:#fff}
#sec-grid .gm-kb.gm-on b{color:#FF9A8F}
#sec-grid .gm-th b{font-size:16px}
#sec-grid .gm-th .gm-mu b{font-size:12.5px;color:var(--ink)}
#sec-grid .gm-tc{overflow:clip}
@media (max-width:1100px){
  #sec-grid .gm-sc{overflow-x:auto}
  #sec-grid .gm-v-table{min-width:1180px}
}
#sec-grid .gm-ib2{width:var(--h);height:var(--h);border:1px solid var(--line);background:#fff;border-radius:10px;display:grid;place-items:center;padding:0;font-weight:700}
#sec-grid .gm-ib2:hover{border-color:#cfd6e0}
#sec-grid .gm-gr{display:grid;grid-template-columns:150px minmax(0,1.5fr) minmax(0,1.05fr) minmax(0,1.15fr) minmax(0,1.1fr) 100px 232px 36px;column-gap:18px;align-items:start}
#sec-grid .gm-zh{position:sticky;top:0;z-index:2;padding:0 18px;background:#f8fafc;border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center}
#sec-grid .gm-sb{min-width:0;background:none;border:0;padding:10px 0;font-size:12px;font-weight:700;text-align:left;display:flex;align-items:baseline;gap:5px;white-space:nowrap}
#sec-grid .gm-sb small{font-size:11px;font-weight:500;color:var(--mut);overflow:hidden;text-overflow:ellipsis}
#sec-grid .gm-sb em{font-style:normal;color:#A5A29A;font-size:11px}
#sec-grid .gm-sb:hover em{color:var(--ink)}
#sec-grid .gm-sb.gm-on em{color:var(--brass)}
#sec-grid .gm-sb.gm-ns{cursor:default}
#sec-grid .gm-sb.gm-ns em{display:none}
#sec-grid .gm-zh .gm-ic{justify-self:center;color:var(--mut)}
#sec-grid .gm-od{padding:15px 18px 16px;border-bottom:1px solid #eef1f5}
#sec-grid .gm-od:last-child{border-bottom:0}
#sec-grid .gm-od:hover{background:#f8fafc}
#sec-grid .gm-c{min-width:0;overflow-wrap:break-word;hyphens:auto}
#sec-grid .gm-c::before{display:none}
#sec-grid .gm-c b{font-weight:700}
#sec-grid .gm-on1{display:flex;align-items:center;gap:7px}
#sec-grid .gm-on1 b{font-size:15px;letter-spacing:-.01em}
#sec-grid .gm-dc{display:inline-flex;align-items:center;gap:2px;font-size:10.5px;font-weight:700;color:var(--mut);background:var(--soft);border-radius:5px;padding:2px 5px 2px 3px}
#sec-grid .gm-dc .gm-i{width:12px;height:12px}
#sec-grid .gm-sub{margin-top:4px;color:var(--mut);font-size:12px}
#sec-grid .gm-ch{color:var(--brass);font-weight:600}
#sec-grid .gm-cz b{font-size:13.5px}
#sec-grid .gm-loc{display:flex;align-items:center;gap:5px;margin-top:5px;font-weight:600;color:#3c4657}
#sec-grid .gm-loc .gm-i{width:13px;height:13px;color:var(--mut)}
#sec-grid .gm-plus{display:inline-block;margin-left:6px;padding:0 5px;border-radius:5px;background:#eef1f5;color:#3c4657;font-size:10.5px;font-weight:700}
#sec-grid .gm-mg{display:flex;gap:9px;align-items:flex-start;text-align:left;background:none;border:0;padding:0}
#sec-grid .gm-mg:hover b{text-decoration:underline;text-decoration-color:#cfd6e0;text-underline-offset:3px}
#sec-grid .gm-mg b{font-weight:600;display:block}
#sec-grid .gm-av{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:10.5px;font-weight:700}
#sec-grid .gm-av0{background:#eaf3fc;color:#2b7ac1}
#sec-grid .gm-av1{background:#eef4fb;color:#2b7ac1}
#sec-grid .gm-av2{background:#eaf6ee;color:#15803d}
#sec-grid .gm-av3{background:#eef0fb;color:#3f51b5}
#sec-grid .gm-pill{display:inline-block;padding:2px 9px;border-radius:999px;background:#eef1f5;color:#3c4657;font-size:11px;font-weight:600}
#sec-grid .gm-pill.gm-ok{background:#eaf6ee;color:#15803d}
#sec-grid .gm-late{display:inline-block;margin-top:4px;padding:0 6px;border-radius:5px;background:#eef1f5;font-size:10.5px;font-weight:700}
#sec-grid .gm-stl{display:flex;gap:5px;align-items:flex-start;margin-bottom:3px}
#sec-grid .gm-stl.gm-f{margin-top:7px}
#sec-grid .gm-stl:last-child{margin-bottom:0}
#sec-grid .gm-lt{flex:none;width:16px;height:16px;border-radius:4px;background:#eef1f5;font-size:9.5px;font-style:normal;font-weight:700;display:grid;place-items:center;color:#3c4657}
#sec-grid .gm-s1{color:#b45309;font-weight:600}
#sec-grid .gm-s2{color:#15803d;font-weight:600}
#sec-grid .gm-chip{display:inline-block;padding:1px 8px;border-radius:999px;background:#fdf3e3;color:#b45309;font-size:10.5px;font-weight:600}
#sec-grid .gm-pr{margin-bottom:5px}
#sec-grid .gm-pr:last-child{margin-bottom:0}
#sec-grid .gm-pay1{display:flex;align-items:baseline;gap:6px}
#sec-grid .gm-pay1 b{font-size:15px;letter-spacing:-.01em}
#sec-grid .gm-cm .gm-bar{height:5px;margin:6px 0 5px}
#sec-grid .gm-pay2{display:flex;justify-content:space-between;gap:8px;font-size:11.5px;font-weight:500}
#sec-grid .gm-pay2 i{font-style:normal;color:var(--mut)}
#sec-grid .gm-hb{width:32px;height:32px;border:0;border-radius:9px;background:var(--soft);display:grid;place-items:center;padding:0;color:#5b6472}
#sec-grid .gm-hb:hover{background:#eef1f5;color:var(--ink)}
@media (pointer:coarse){
  #sec-grid .gm-hb{width:44px;height:44px;margin:-6px -6px 0 -6px}
}
#sec-grid .gm-dt{display:grid;grid-template-columns:150px minmax(0,1fr);column-gap:18px;margin-top:12px}
#sec-grid .gm-dg{display:flex;align-items:center;gap:6px;padding-top:8px;font-size:11px;font-weight:600;color:var(--mut)}
#sec-grid .gm-nl{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1.8fr) minmax(0,1.25fr) minmax(0,1.35fr) minmax(0,1.5fr) minmax(0,1.4fr) minmax(0,1fr);background:var(--soft);border-radius:12px}
#sec-grid .gm-n{min-width:0;padding:8px 12px 9px;border-left:1px solid #e6e8ec}
#sec-grid .gm-n:first-child{border-left:0}
#sec-grid .gm-n i{display:flex;align-items:center;gap:5px;margin-bottom:3px;font-style:normal;font-size:11px;font-weight:600;color:var(--mut);line-height:1.3}
#sec-grid .gm-n span{display:block;font-size:12.5px;line-height:1.45;overflow-wrap:break-word}
#sec-grid .gm-n.gm-e span{color:var(--mut)}
#sec-grid .gm-n.gm-ok{background:#eaf6ee;border-radius:12px;border-left-color:transparent}
#sec-grid .gm-n.gm-ok i{color:#15803d}
#sec-grid .gm-ck{width:12px;height:12px;stroke-width:3}
#sec-grid .gm-nodt .gm-dt{display:none}
#sec-grid .gm-v-cards .gm-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr));gap:10px;padding:12px}
#sec-grid .gm-v-cards .gm-zh{display:none}
#sec-grid .gm-v-cards .gm-od{position:relative;border:1px solid var(--line);border-radius:16px}
#sec-grid .gm-v-cards .gm-od:last-child{border-bottom:1px solid var(--line)}
#sec-grid .gm-v-cards .gm-mr{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}
#sec-grid .gm-v-cards .gm-c::before{content:attr(data-l);display:block;font-size:10px;font-weight:600;color:var(--mut);margin-bottom:3px}
#sec-grid .gm-v-cards .gm-c1, #sec-grid .gm-v-cards .gm-cz, #sec-grid .gm-v-cards .gm-cm{grid-column:1/-1}
#sec-grid .gm-v-cards .gm-c1::before{display:none}
#sec-grid .gm-v-cards .gm-hb{position:absolute;top:12px;right:12px}
#sec-grid .gm-v-cards .gm-dt{grid-template-columns:1fr}
#sec-grid .gm-v-cards .gm-dg{display:none}
#sec-grid .gm-v-cards .gm-nl{grid-template-columns:1fr 1fr}
#sec-grid .gm-v-cards .gm-n{border-left:0;border-top:1px solid #e6e8ec}
#sec-grid .gm-v-cards .gm-n:nth-child(-n+2){border-top:0}
#sec-grid .gm-em{padding:32px;text-align:center;display:flex;flex-direction:column;gap:12px;align-items:center}
#sec-grid .gm-fp{display:contents}
#sec-grid .gm-ftb{display:none}
#sec-grid .gm-sel select{min-width:150px}
#sec-grid .gm-sel.gm-act select{border-color:var(--ink);background:var(--soft)}
#sec-grid .gm-fb{display:none;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:var(--ink);color:#fff;font-size:11px;place-items:center}
#sec-grid .gm-fb.gm-on{display:inline-grid}
#sec-grid .gm-tl.gm-fr{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 32px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 32px),transparent)}
#sec-grid .gm-tl.gm-fl{-webkit-mask-image:linear-gradient(270deg,#000 calc(100% - 32px),transparent);mask-image:linear-gradient(270deg,#000 calc(100% - 32px),transparent)}
#sec-grid .gm-tl.gm-fl.gm-fr{-webkit-mask-image:linear-gradient(90deg,transparent,#000 32px,#000 calc(100% - 32px),transparent);mask-image:linear-gradient(90deg,transparent,#000 32px,#000 calc(100% - 32px),transparent)}
@media (pointer:coarse){
  #sec-grid .gm-ar, #sec-grid .gm-ar.gm-on{display:none}
}
@media (max-width:1100px){
  #sec-grid .gm-search{flex:1 1 100%;max-width:none}
}
@media (max-width:760px){
  #sec-grid .gm-pg{padding:0 0 6px;gap:8px}
  #sec-grid .gm-hd{border-radius:18px}
  #sec-grid .gm-hb1{padding:12px 12px 10px;gap:8px}
  #sec-grid .gm-hd h1{font-size:18px}
  #sec-grid .gm-syn{order:9;flex:1 1 100%}
  #sec-grid .gm-bt{display:none}
  #sec-grid .gm-rf, #sec-grid .gm-gb{width:var(--h);padding:0;justify-content:center}
  #sec-grid .gm-tr{padding:2px 8px 0}
  #sec-grid .gm-tab{height:42px;padding:0 12px;font-size:13px}
  #sec-grid .gm-tb{padding:10px 12px;gap:8px}
  #sec-grid .gm-od{padding:14px}
}
@media (max-width:700px){
  #sec-grid .gm-search{flex:1 1 0;min-width:0}
  #sec-grid .gm-ftb{display:flex;align-items:center;gap:8px;height:var(--h);padding:0 14px;border:1px solid var(--line);border-radius:10px;background:#fff;font-weight:600}
  #sec-grid .gm-fp{display:none}
  #sec-grid .gm-fp.gm-open{display:grid;grid-template-columns:1fr;gap:8px;flex:1 1 100%}
  #sec-grid .gm-fp.gm-fq.gm-open{display:flex;flex-wrap:wrap;align-items:center}
  #sec-grid .gm-fp .gm-sel{width:100%}
  #sec-grid .gm-fp .gm-sel select{width:100%;max-width:none}
  #sec-grid .gm-fq .gm-sel{width:auto;flex:1 1 140px}
  #sec-grid .gm-fp .gm-seg{overflow-x:auto}
  #sec-grid .gm-fp .gm-chip2, #sec-grid .gm-fp .gm-sw{justify-content:flex-start}
  #sec-grid .gm-r2{border-top:0;padding-top:0}
  #sec-grid .gm-af{flex-wrap:nowrap;overflow-x:auto;min-width:0}
  #sec-grid .gm-af .gm-mu{display:none}
  #sec-grid .gm-af .gm-fc, #sec-grid .gm-af .gm-lk{flex:none;white-space:nowrap}
  #sec-grid .gm-v-cards .gm-nl{grid-template-columns:1fr}
  #sec-grid .gm-v-cards .gm-n:nth-child(2){border-top:1px solid #e6e8ec}
}
@media (max-width:640px){
  #sec-grid .gm-th{padding:12px 14px 6px}
  #sec-grid .gm-th .gm-sp{display:none}
  #sec-grid .gm-sm2{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;width:100%}
  #sec-grid .gm-kb{grid-column:1/-1;justify-content:space-between}
}

/* Иконки в шапке «Сетки»: anIcon() отдаёт svg без размеров — задаём их палитрой макета */
#sec-grid .gm-ic svg,#sec-grid .gm-rf svg,#sec-grid .gm-gb svg,#sec-grid .gm-hb svg,#sec-grid .gm-mg svg{
  width:15px;height:15px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#sec-grid .gm-hb svg{width:16px;height:16px}

/* чип «Исключено»: когда исключения выбраны — заметная рамка и счётчик-пилюля */
#sec-grid .gm-chip2.gm-act{border-style:solid;border-color:#2b7ac1;background:#eaf3fc;color:#2b7ac1}
#sec-grid .gm-chip2 .gm-fb{margin-left:2px}

/* ===== «Сетка»: верхняя панель с названием и блок филиалов/фильтров — ОДНА панель =====
   Без зазора между ними, без закруглений на стыке и той же ширины, что верхняя панель,
   поэтому поля страницы для этого раздела убираем, а таблица тоже идёт во всю ширину. */
body.sec-grid .content.wide{padding:0 0 24px}
body.sec-grid #sec-grid .gm-pg{padding:0;gap:10px}
body.sec-grid #sec-grid .gm-hd{border-radius:0;border-left:0;border-right:0}
body.sec-grid #sec-grid .gm-hb1{border-radius:0}
body.sec-grid #sec-grid .gm-tb{border-radius:0}
/* панель шапки — во всю ширину, а таблица с небольшим отступом от края страницы */
body.sec-grid #sec-grid .gm-card{border-radius:14px;margin:0 16px}
body.sec-grid #sec-grid .gm-th{padding-left:24px;padding-right:24px}
body.sec-grid #sec-grid .gm-zh{padding-left:24px;padding-right:24px}
body.sec-grid #sec-grid .gm-od{padding-left:24px;padding-right:24px}

/* внутренние отступы объединённой панели — те же 24 px, что у таблицы */
body.sec-grid #sec-grid .gm-hb1{padding-left:24px;padding-right:24px}
body.sec-grid #sec-grid .gm-tr{padding-left:24px;padding-right:24px}
body.sec-grid #sec-grid .gm-tb{padding-left:24px;padding-right:24px}

/* бейдж цеха со «плохим» состоянием (отменён/брак) */
.chip.bad{background:#fee2e2;color:#b91c1c}

/* триггеры выпадающих фильтров «Менеджер» и «Место монтажа» — вид селекта макета,
   а сама панель — штатная панель дашборда (.cem-dd-panel) со счётчиками и поиском */
#sec-grid .gm-sel.cem-dd{position:relative;display:inline-flex;align-items:center}
#sec-grid .gm-sel .cem-dd-btn{position:relative;height:var(--h);display:inline-flex;align-items:center;gap:6px;
  padding:0 30px 0 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);
  font-weight:600;cursor:pointer;max-width:100%;box-sizing:border-box}
#sec-grid .gm-sel .cem-dd-btn:hover{border-color:#bdb7a8}
#sec-grid .gm-sel .cem-dd-lbl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#sec-grid .gm-sel .cem-dd-cnt{color:var(--mut);font-weight:600}
#sec-grid .gm-sel .cem-dd-btn>svg.gm-i{position:absolute;right:10px;pointer-events:none;color:var(--mut)}
#sec-grid .gm-sel .cem-dd-panel{min-width:360px;width:360px}
#sec-grid .gm-sel .cem-dd-item .c{white-space:nowrap}
#sec-grid .gm-sel .cem-dd-list{max-height:340px}
#sec-grid .gm-sel .cem-dd-item{font-size:12.5px}

/* ===== «Сетка»: верхняя панель не нужна — её кнопки переехали в шапку раздела ===== */
body.sec-grid .topbar{display:none}
#sec-grid .gm-t1{display:flex;align-items:center;gap:16px}
#sec-grid .gm-hbtns{display:inline-flex;align-items:center;gap:8px;flex:none}
#sec-grid .gm-hbtn{width:var(--h);height:var(--h);flex:none;display:inline-flex;align-items:center;justify-content:center;
  border-radius:10px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);color:#e8edf4;
  font-size:17px;line-height:1;cursor:pointer;transition:background .15s ease,border-color .15s ease}
#sec-grid .gm-hbtn:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.3)}
#sec-grid .gm-hbtn:active{background:rgba(255,255,255,.22)}
#sec-grid .gm-hbtn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:760px){#sec-grid .gm-t1{gap:10px}#sec-grid .gm-hbtn{font-size:16px}}

/* ===== Телефон: сводка и полоса сортировки списка скрыты — до заказов сразу =====
   Суммы и «показано N из M» остаются в подвале списка, а переключатель «с остатком»
   переезжает в панель «Фильтры», чтобы фильтр не потерялся. */
#sec-grid .gm-debtmob{display:none}
@media(max-width:700px){
  body.sec-grid #sec-grid .gm-th{display:none}
  body.sec-grid #sec-grid .an-sortbar{display:none}
  #sec-grid .gm-debtmob{display:inline-flex}
}

/* ===== Телефон: компактная шапка карточки заказа =====
   Было: сумма и оплачено в ряд, остаток — во всю ширину, «статус по цехам» — ещё строка,
   плюс подписи под числами («21 поз. в составе», «закрыт по оплате») — шапка съедала ~300 px.
   Стало: три денежные ячейки в один ряд, подписи под числами скрыты, «статус по цехам» —
   одной невысокой строкой. Экономия ~170 px, ничего важного не теряется. */
@media(max-width:760px){
  #grModal .go2-kpi{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:12px}
  #grModal .go2-k{padding:9px 0 10px}
  #grModal .go2-k+.go2-k{padding-left:9px}
  #grModal .go2-k:nth-child(3){grid-column:auto;padding-left:9px;border-left:1px solid rgba(255,255,255,.09)}
  #grModal .go2-kpi>.go2-k:nth-child(3){grid-column:auto;padding-left:9px;border-left:1px solid rgba(255,255,255,.09)}
  #grModal .go2-kl{font-size:9.5px;letter-spacing:.03em}
  #grModal .go2-kv{font-size:17px;margin-top:3px;white-space:nowrap}
  #grModal .go2-kn{display:none}
  #grModal .go2-bar{height:4px;margin-top:6px}
  #grModal .go2-k.go2-w{grid-column:1/-1;padding:9px 0 10px;border-left:0;border-top:1px solid rgba(255,255,255,.09)}
  #grModal .go2-k.go2-w .go2-kl{margin-bottom:2px}
}

/* Телефон: «статус по цехам» — одной строкой (подпись слева, цеха рядом), и чуть плотнее верх шапки */
@media(max-width:760px){
  #grModal .go2-k.go2-w{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 10px}
  #grModal .go2-k.go2-w .go2-kl{margin:0;flex:none}
  #grModal .go2-k.go2-w .go2-sh{display:flex;flex-wrap:wrap;gap:6px 8px}
  #grModal .go2-k.go2-w .go2-sh>div{display:inline-flex;align-items:center;gap:6px}
  #grModal .go2-k.go2-w .go2-sn{font-size:12px;margin:0}
  #grModal .go2-k.go2-w .go2-st{font-size:11px;padding:2px 7px;border-radius:99px}
  #grModal .go2-head{padding:8px 16px 0}
  #grModal .go2-hd{margin:0 auto 10px}
  #grModal .go2-num{font-size:27px}
  #grModal .go2-sub{margin-top:6px;font-size:12.5px}
  #grModal .go2-chips{margin-top:10px}
}

/* Телефон: строку с суммами (сумма заказа / оплачено / остаток) убираем совсем —
   суммы видны в списке в блоке «Оплата» карточки заказа и в разделе «Состав».
   Остаётся только компактная строка «статус по цехам». */
@media(max-width:760px){
  #grModal .go2-kpi>.go2-k:not(.go2-w){display:none}
  #grModal .go2-kpi{margin-top:10px}
  #grModal .go2-k.go2-w{padding:0 0 2px;border-top:0;align-items:center}
}

/* ===== Телефон: содержимое карточки заказа плотнее =====
   Значения были 15–16 px, отступ строки 12 px, блок 18 px — на телефоне это выглядело крупно
   и растянуто. Уменьшаем текст значений, подписи и вертикальные отступы, блоки чуть плотнее. */
@media(max-width:760px){
  #grModal .go-body{padding:12px;gap:9px}
  #grModal .go2-pane{gap:9px}
  #grModal .go2-g2{gap:9px}
  #grModal .go2-c{padding:13px 14px;border-radius:12px}
  #grModal .go2-cl{font-size:10px;letter-spacing:.1em}
  #grModal .go2-cv{font-size:14.5px;line-height:1.35;margin-top:5px}
  #grModal .go2-rows{margin-top:1px}
  #grModal .go2-r{padding:7px 0;gap:1px}
  #grModal .go2-rl{font-size:10px}
  #grModal .go2-rv{font-size:14px;line-height:1.3}
  #grModal .go2-tl{padding-left:20px;margin-top:8px}
  #grModal .go2-ti{padding:6px 0;gap:8px}
  #grModal .go2-ti:before{left:-20px;top:11px}
  #grModal .go2-tn{font-size:12px}
  #grModal .go2-d{font-size:13px}
  #grModal .go2-lb{font-size:10px;padding:1px 6px}
  #grModal .go2-nl{font-size:11px}
  #grModal .go2-nt{gap:12px}
}

/* ===== Вкладка «Документы» в карточке заказа: аккуратный список файлов =====
   Было на телефоне: имя занимало всю строку, подпись «87 КБ · 08.10, 14:06» и стрелка ↓
   уезжали на вторую строку, стрелка висела справа отдельно, строки выглядели рыхло.
   Стало: иконка-плитка типа файла, имя в одну строку с многоточием, под папкой/размером —
   вторая строка с отступом под имя, кнопка «скачать» — справа по центру строки,
   между файлами тонкие разделители. Стили только для #grModal: общий список .mtf-*
   («Готовность к монтажу», «Должники») не меняется. */
#grModal .go-files{gap:14px}
#grModal .go-files-col{padding:12px 13px 6px;border-radius:12px}
#grModal .go-files-col h5{margin:0 0 6px;font-size:11px;letter-spacing:.08em}
#grModal .mtf-f{padding:6px 2px;border-top:1px solid #eef1f5}
#grModal .mtf-f:first-of-type{border-top:0}
#grModal .mtf-f:hover{background:#f8fafc}
#grModal .mtf-t{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;
  border-radius:7px;font-size:10.5px;font-weight:700;margin-right:6px;vertical-align:-5px}
#grModal .mtf-n{font-weight:600}
#grModal .mtf-dl{display:inline-flex;width:26px;height:26px;align-items:center;justify-content:center;flex:none;
  border:1px solid #e6e8ec;border-radius:8px;background:#fff;color:#3c4657;font-size:14px;font-weight:700;
  text-decoration:none;line-height:1}
#grModal .mtf-dl:hover{background:#eaf3fc;border-color:#4197e2;color:#2b7ac1}
@media(max-width:760px){
  #grModal .mtf-f{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:0;
    padding:9px 42px 9px 2px;font-size:13px}
  #grModal .mtf-t{order:1;margin-right:8px;vertical-align:0}
  #grModal .mtf-n{order:2;flex:1 1 auto;min-width:0;font-size:13px;font-weight:600;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  #grModal .mtf-dir{order:3;flex:1 1 100%;margin:1px 0 0 32px;font-size:11px;white-space:normal}
  #grModal .mtf-m{order:4;flex:1 1 100%;margin:2px 0 0 32px;font-size:11px;white-space:normal}
  #grModal .mtf-dl{position:absolute;right:0;top:50%;transform:translateY(-50%);width:30px;height:30px}
}

/* Телефон: содержимое вкладки «Документы» не должно вылезать за окно.
   Блок «в облаке N файлов …» с кнопками растягивал колонку — карточка списка уезжала
   на 34 px вправо и кнопка «скачать» подрезалась. */
@media(max-width:760px){
  #grModal .go-pane,#grModal .go-files,#grModal .go-files-col,#grModal .mtf-f{min-width:0;max-width:100%}
  #grModal .go-files-foot{font-size:11.5px;gap:6px 10px;padding:10px 12px}
  #grModal .go-files-foot .r{margin-left:0;flex:1 1 100%;justify-content:flex-start;gap:8px}
  #grModal .go-files-foot .r .go-btn{flex:1 1 auto;justify-content:center}
  #grModal .go-note{font-size:11.5px;padding:10px 12px}
}

/* =====================================================================
   Боковое меню по макету дизайнера (10.10.2026)
   Значения перенесены 1:1 из макета «Боковое меню» (Main.dc.html):
     фон сайдбара ........ #0A1322 (было #1a2230)
     пункт ............... 42 px, radius 12 px, gap 12 px, 14 px/500, #B7C4D9
     иконка .............. квадрат 30×30, radius 9 px, #8EA0BC, svg 18 px/stroke 1.8
     активный пункт ...... заливка rgba(59,130,246,.15) + квадрат #3B82F6 с тенью
     заголовок группы .... 11 px/600, .09em, uppercase, #7A8BA8, отступ 20/6
     подвал .............. карточка #111C30 r14, аватар 36 px #1E3A6B/#BFD7FF,
                           точка #34D399, подпись автора #6EA8FF
   Шрифт макета (Onest) НЕ подключаем — по замечанию от 09.10.2026 разделы
   набраны базовым шрифтом сайта. Ширина: 288 px (в макете) / 72 px свёрнуто.
   ===================================================================== */
:root{
  --sb-w:288px; --sb-w-min:72px;
  --sb-bg:#0A1322; --sb-line:rgba(255,255,255,.07);
  --sb-ink:#B7C4D9; --sb-ic:#8EA0BC; --sb-grp:#7A8BA8; --sb-sub:#8B9BB4;
  --sb-hover:rgba(255,255,255,.05); --sb-on:#3B82F6; --sb-on-bg:rgba(59,130,246,.15);
  --sb-card:#111C30; --sb-ava:#1E3A6B; --sb-ava-ink:#BFD7FF; --sb-link:#6EA8FF;
}

/* ---------- корпус и шапка ---------- */
.sidebar{width:var(--sb-w);background:var(--sb-bg);border-right:1px solid var(--sb-line);color:#E8EEF8}
.sidebar a,.sidebar button{font-family:inherit}
.sidebar svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.sidebar .nav-item svg,.sidebar .sb-ib svg,.sidebar .brand svg{width:18px;height:18px;fill:none;stroke:currentColor;
  stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.sidebar .brand{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 16px 16px;border-bottom:1px solid var(--sb-line)}
.sidebar .brand-logo{display:block;width:150px;height:auto;max-width:100%;margin:0;filter:none}
.sidebar .brand .bt{display:none}
.sidebar .brand .bs{font-size:12px;color:var(--sb-sub);margin:0}
.sb-ib{width:40px;height:40px;padding:1px 6px;border-radius:10px;border:0;background:transparent;color:var(--sb-ic);
  display:grid;place-items:center;cursor:pointer;transition:background .15s,color .15s;flex:none}
.sb-ib:hover{background:rgba(255,255,255,.07);color:#fff}
#sbCollapseBtn{position:absolute;top:12px;right:12px}

/* ---------- список разделов ---------- */
.sidebar .nav{padding:0 12px 12px;flex:1 1 auto;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
.sidebar .nav::-webkit-scrollbar{width:6px}
.sidebar .nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:6px}
.sidebar .nav .grp{padding:0 10px;margin:20px 0 6px;font-size:11px;font-weight:600;letter-spacing:.09em;
  text-transform:uppercase;color:var(--sb-grp);line-height:normal}
.sidebar .nav .grp:first-child{margin-top:12px}
.sidebar .nav-item{display:flex;align-items:center;gap:12px;height:42px;min-height:42px;padding:0 10px 0 6px;
  border-radius:12px;color:var(--sb-ink);font-size:14px;font-weight:500;line-height:normal;margin:0;
  cursor:pointer;user-select:none;transition:background .15s,color .15s}
.sidebar .nav-item + .nav-item{margin-top:2px}
.sidebar .nav-item:hover{background:var(--sb-hover);color:#fff}
.sidebar .nav-item.active{background:var(--sb-on-bg);color:#fff;font-weight:600}
.sidebar .nav-item.active::before{display:none}
.sidebar .nav-item .ic{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:var(--sb-ic);
  background:transparent;font-size:14px;flex:none;transition:background .15s,color .15s}
.sidebar .nav-item:hover .ic{color:#fff}
.sidebar .nav-item.active .ic{background:var(--sb-on);color:#fff;box-shadow:0 4px 12px rgba(59,130,246,.35)}
.sidebar .nav-item .lbl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar .nav-item .b{margin-left:auto;flex:none;font-size:9.5px;font-weight:600;letter-spacing:.02em;
  background:rgba(110,168,255,.14);color:#9DBDF5;border-radius:8px;padding:2px 7px}
/* пункты «Скоро» — некликабельные, приглушены */
.sidebar .nav-item.soon{opacity:.5;cursor:default}
.sidebar .nav-item.soon:hover{background:transparent;color:var(--sb-ink)}
.sidebar .nav-item.soon:hover .ic{color:var(--sb-ic)}
.sidebar .nav-item:focus-visible,.sb-ib:focus-visible{outline:2px solid var(--sb-link);outline-offset:1px}

/* ---------- подвал: человек, источник данных, автор ---------- */
.sidebar .foot{padding:12px;border-top:1px solid var(--sb-line);font-size:12px;color:var(--sb-sub);
  line-height:1.5;flex:none}
.sidebar .sb-user{align-items:center;gap:10px;padding:8px 6px 8px 10px;border-radius:14px;
  background:var(--sb-card);border:1px solid var(--sb-line)}
.sidebar .sb-user .sb-ib{width:36px;height:36px;border-radius:9px}
.sidebar .sb-ava{width:36px;height:36px;border-radius:50%;background:var(--sb-ava);color:var(--sb-ava-ink);
  display:grid;place-items:center;font-size:14px;font-weight:600;flex:none}
.sidebar .sb-uinfo{flex:1;min-width:0}
.sidebar .sb-uname{font-size:14px;font-weight:600;color:#fff;line-height:1.2}
.sidebar .sb-urole{font-size:12px;color:var(--sb-sub);margin-top:1px}
.sidebar .sb-status{display:flex;align-items:center;gap:8px;margin-top:12px;padding:0 6px;font-size:12px;color:var(--sb-sub)}
.sidebar .sb-dot{width:7px;height:7px;border-radius:50%;background:#34D399;flex:none}
.sidebar .sb-credit{margin-top:8px;padding:0 6px;border-top:0;font-size:11px;line-height:1.45;color:var(--sb-grp)}
.sidebar .sb-credit b{color:var(--sb-link);font-weight:600}
.sidebar .sb-credit span{display:block;margin-top:2px;font-size:11px;font-style:italic;color:var(--sb-grp)}

/* ---------- ширина: свёрнутое меню (только десктоп) ---------- */
@media(min-width:901px){
  .sidebar{transition:width .22s ease}
  .main{margin-left:var(--sb-w)}
  body.sb-collapsed .sidebar{width:var(--sb-w-min)}
  body.sb-collapsed .main{margin-left:var(--sb-w-min)}
  /* свёрнутое меню — колонка: мелкий логотип, под ним кнопка «развернуть».
     flex-direction перебивает прежнее правило (там была строка, из-за неё
     логотип и кнопка вылезали за 72 px). */
  body.sb-collapsed .sidebar .brand{flex-direction:column;align-items:center;padding:12px 8px 10px;gap:6px}
  body.sb-collapsed .sidebar .brand-logo{width:40px;height:auto}
  body.sb-collapsed .sidebar .brand .bs{display:none}
  body.sb-collapsed #sbCollapseBtn{position:static;width:32px;height:32px}
  body.sb-collapsed .sidebar .nav{padding:0 10px 12px}
  body.sb-collapsed .sidebar .nav .grp{height:1px;margin:12px 8px;padding:0;background:rgba(255,255,255,.09);
    font-size:0;letter-spacing:0;color:transparent;overflow:hidden}
  body.sb-collapsed .sidebar .nav .grp:first-child{height:0;margin:6px 8px 0;background:transparent}
  body.sb-collapsed .sidebar .nav-item{justify-content:center;gap:0;padding:0;height:44px;min-height:44px}
  body.sb-collapsed .sidebar .nav-item .lbl,body.sb-collapsed .sidebar .nav-item .b{display:none}
  /* в свёрнутом виде подвал не прячем: остаются аватар, пароль и выход */
  body.sb-collapsed .sidebar .foot{display:block;padding:10px}
  body.sb-collapsed .sidebar .sb-user{flex-direction:column;justify-content:center;gap:6px;padding:6px}
  body.sb-collapsed .sidebar .sb-uinfo{display:none}
  body.sb-collapsed .sidebar .sb-status,body.sb-collapsed .sidebar .sb-credit{display:none}
}

/* ---------- телефон: меню-шторка в тех же значениях ---------- */
@media(max-width:900px){
  .sidebar,.sidebar.open,body.sb-collapsed .sidebar{width:min(288px,84vw);min-width:250px;max-width:84vw}
  .sidebar .brand{padding:18px 16px 14px}
  .sidebar .brand-logo{width:150px}
  #sbCollapseBtn{position:static;width:40px;height:40px;margin-top:2px}
  .sidebar .nav{padding:0 12px calc(12px + env(safe-area-inset-bottom,0px))}
  .sidebar .nav-item{height:46px;min-height:46px;padding:0 12px 0 8px;font-size:14.5px;gap:13px}
  .sidebar .nav-item .ic{width:32px;height:32px}
  .sidebar .foot{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}
}

/* ===== «Расходы»: правая рейка фильтров (2026-10-09) =====
   Рейка — сосед всего столбца с динамикой и таблицей, поэтому липнет на всю высоту списка и
   остаётся на виду, пока листаешь операции. До 1500 px сворачивается в полоску со счётчиком
   выбранного и раскрывается поверх страницы; на телефоне полоска встаёт сверху. */
#sec-expenses .ex-wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:10px;align-items:start}
#sec-expenses .ex-main{min-width:0}
#sec-expenses .ex-rail{position:sticky;top:calc(var(--ex-head,0px) + 8px);align-self:start;
  max-height:calc(100vh - var(--ex-head,0px) - 20px);display:flex;flex-direction:column}
#sec-expenses .ex-railcard{background:#fff;border:1px solid #e6e8ec;border-radius:12px;padding:10px;
  display:flex;flex-direction:column;min-height:0}
#sec-expenses .ex-railhead{display:flex;align-items:center;gap:8px;font:650 12.5px/1.3 inherit;margin-bottom:8px}
#sec-expenses .ex-railhead .cnt{margin-left:auto;color:#8a8f98;font:600 11px/1 inherit}
#sec-expenses .ex-railreset{border:0;background:none;color:#2b7ac1;font:600 11.5px/1 inherit;cursor:pointer;padding:0}
#sec-expenses .ex-railhead .ex-railreset[hidden]{display:none}
#sec-expenses .ex-railq{width:100%;height:30px;border:1px solid #e2e6ec;border-radius:8px;padding:0 10px;
  font:inherit;font-size:12.5px;margin-bottom:8px;box-sizing:border-box;background:#fff;color:#1f2430}
#sec-expenses .ex-railtabs{display:flex;gap:2px;background:#eef0f4;border-radius:9px;padding:3px;margin-bottom:8px}
#sec-expenses .ex-railtabs button{flex:1 1 auto;border:0;background:none;font:600 12px/1.2 inherit;color:#6e7178;
  padding:6px 8px;border-radius:7px;cursor:pointer;white-space:nowrap}
#sec-expenses .ex-railtabs button.on{background:#fff;color:#1f2430;box-shadow:0 1px 3px rgba(16,24,40,.13)}
#sec-expenses .ex-railtabs button .n{color:#b6bcc7;font-weight:500}
#sec-expenses .ex-raillist{border:1px solid #eef1f6;border-radius:10px;overflow:auto;min-height:140px;flex:1 1 auto}
#sec-expenses .ex-raillist .ex-catsh{display:none}                 /* шапка таблицы в рейке не нужна */
#sec-expenses .ex-railfoot{color:#8a8f98;font-size:10.5px;line-height:1.45;padding-top:8px;margin-top:8px;
  border-top:1px solid #f1f3f6}
#sec-expenses .ex-railstub{display:none;background:#fff;border:1px solid #e6e8ec;border-radius:12px;padding:10px 6px;
  flex-direction:column;align-items:center;gap:8px;cursor:pointer;color:#6e7178}
#sec-expenses .ex-railstub .ic{font-size:16px}
#sec-expenses .ex-railstub .vt{writing-mode:vertical-rl;font:600 11.5px/1 inherit;color:#42506b}
#sec-expenses .ex-railstub b{font:650 11px/1 inherit;color:#1d4ed8;background:#eef6ff;border:1px solid #bcd9f7;
  border-radius:999px;padding:3px 7px}
#sec-expenses .ex-railstub b[hidden]{display:none}
/* строки списка в рейке: имя и сумма сверху, полоса и доли снизу — влезает в 300 px */
#sec-expenses .ex-raillist .ex-row{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"nm v v" "bm p n";
  gap:1px 8px;padding:5px 8px 6px;border-radius:0;border-bottom:1px solid #f4f6f9}
#sec-expenses .ex-raillist .ex-row:last-child{border-bottom:0}
#sec-expenses .ex-raillist .ex-row .nm{grid-area:nm}
#sec-expenses .ex-raillist .ex-row .bm{grid-area:bm}
#sec-expenses .ex-raillist .ex-row .v{grid-area:v;text-align:right;white-space:nowrap;font-weight:650}
#sec-expenses .ex-raillist .ex-row .p{grid-area:p;text-align:left;color:#8a8f98;font-size:10.5px}
#sec-expenses .ex-raillist .ex-row .n{grid-area:n;text-align:right;color:#8a8f98;font-size:10.5px}
#sec-expenses .ex-raillist .ex-row.on{background:#f2f7ff;box-shadow:inset 2px 0 0 #3B82F6}
#sec-expenses .ex-raillist .ex-row.kid{padding-left:16px}
#sec-expenses .ex-raillist .ex-row.top .nm{font-weight:650}
#sec-expenses .ex-raillist .ex-more{padding:6px 8px;color:#2b7ac1;font-size:11.5px;cursor:pointer}
#sec-expenses .ex-raillist .ex-more:hover{background:#fafbfd}
#sec-expenses .ex-raillist .empty{padding:20px 10px;text-align:center;color:#6e7178;font-size:12px}
@media(max-width:1660px){#sec-expenses .ex-wrap{grid-template-columns:minmax(0,1fr) 270px}}
@media(max-width:1500px){
  #sec-expenses .ex-wrap{grid-template-columns:minmax(0,1fr) 54px}
  #sec-expenses .ex-rail .ex-railcard{display:none}
  #sec-expenses .ex-rail .ex-railstub{display:flex}
  /* height обязателен: с одними top/bottom высота берётся по содержимому, и панель
     не достаёт до низа окна (проверено замером: 816 из 844) */
  body.ex-rail-open #sec-expenses .ex-rail{position:fixed;top:0;right:0;bottom:0;width:300px;z-index:20;
    max-height:none;height:100vh;height:100dvh;margin:0;padding:0}
  body.ex-rail-open #sec-expenses .ex-rail .ex-railcard{display:flex;flex:1 1 auto;min-height:0;
    border-radius:0;border-top:0;border-bottom:0;border-right:0;box-shadow:-14px 0 34px rgba(16,24,40,.22)}
  body.ex-rail-open #sec-expenses .ex-rail .ex-raillist{flex:1 1 auto;min-height:0}
  body.ex-rail-open #sec-expenses .ex-rail .ex-railstub{display:none}
}
@media(max-width:900px){
  #sec-expenses .ex-wrap{grid-template-columns:minmax(0,1fr)}
  #sec-expenses .ex-rail{order:-1;position:static;max-height:none;margin-bottom:4px}
  #sec-expenses .ex-rail .ex-railcard{display:none}
  #sec-expenses .ex-rail .ex-railstub{display:flex;flex-direction:row;justify-content:center;gap:10px;padding:8px}
  #sec-expenses .ex-railstub .vt{writing-mode:horizontal-tb}
  body.ex-rail-open #sec-expenses .ex-rail{position:static;width:auto}
  body.ex-rail-open #sec-expenses .ex-rail .ex-railcard{display:flex;box-shadow:none}
  body.ex-rail-open #sec-expenses .ex-rail .ex-railstub{display:none}
}

/* подпись «доли от всего итога» нужна в блоке, а в рейке она лишняя: место дорого */
#sec-expenses .ex-raillist .ex-sub2{display:none}

/* ===== «Расходы»: кнопка фильтров в шапке на телефоне (2026-10-09) =====
   На телефоне полоска «фильтры» не нужна: кнопка с иконкой стоит в шапке страницы
   (в правом углу блока с заголовком) и открывает рейку поверх страницы — с затемнением,
   закрытием по крестику и по тапу мимо рейки. */
.topbar .ex-railbtn{display:none;margin-left:auto;position:relative;width:38px;height:38px;flex:0 0 38px;
  padding:0;border:1px solid var(--line);background:#fff;border-radius:10px;color:#42506b;cursor:pointer;
  align-items:center;justify-content:center}
.topbar .ex-railbtn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;
  stroke-linecap:round;stroke-linejoin:round}
.topbar .ex-railbtn b{position:absolute;top:-6px;right:-6px;font:650 10px/1 inherit;color:#1d4ed8;
  background:#eef6ff;border:1px solid #bcd9f7;border-radius:999px;padding:3px 5px}
.topbar .ex-railbtn b[hidden]{display:none}
#sec-expenses .ex-railclose{display:none;margin-left:2px;width:28px;height:28px;flex:0 0 28px;padding:0;
  border:1px solid var(--line);background:#fff;border-radius:8px;color:#6e7178;font-size:13px;cursor:pointer}
@media(max-width:900px){
  body.sec-expenses .topbar .ex-railbtn{display:inline-flex}
  /* на телефоне рейка живёт только в оверлее: в потоке ни карточки, ни полоски */
  #sec-expenses .ex-rail{display:none}
  #sec-expenses .ex-rail .ex-railstub{display:none}
  /* во всю высоту экрана: height:100dvh (в старых браузерах — 100vh) */
  body.ex-rail-open #sec-expenses .ex-rail{display:flex;position:fixed;top:0;right:0;bottom:0;z-index:60;
    width:min(340px,88vw);max-height:none;height:100vh;height:100dvh;margin:0;padding:0;background:var(--bg);
    box-shadow:-14px 0 34px rgba(16,24,40,.28)}
  body.ex-rail-open #sec-expenses .ex-rail .ex-railcard{display:flex;flex:1 1 auto;min-height:0;
    border-radius:0;border-top:0;border-bottom:0;border-right:0;padding:12px 12px 14px;box-shadow:none}
  body.ex-rail-open #sec-expenses .ex-rail .ex-raillist{flex:1 1 auto;min-height:0}
  body.ex-rail-open #sec-expenses .ex-rail .ex-railclose{display:inline-flex;align-items:center;justify-content:center}
  body.ex-rail-open::before{content:"";position:fixed;inset:0;background:rgba(0,0,0,.42);z-index:55}
  body.ex-rail-open{overflow:hidden}   /* фон не прокручивается, пока открыт оверлей */
}
