/*
 * „Ясен ден“ – новият дизайн (макет: https://claude.ai/artifact/5HNZHhAAxniU7upZk2UwJq; модели A–I от дъската Map).
 * Правилата се добавят в края по ред на появата си.
 * Важи при body.ui-v2: по подразбиране за всички; „Стар дизайн“ в менюто връща стария (бисквитка erp_ui=1).
 * Нищо не се маха от страниците: само цветове, размери и подредба на общите части.
 */
body.ui-v2 {
  --bg: #F4F6F9; --surface: #FFFFFF; --line: #E3E7EE; --line-soft: #EEF1F5;
  --text: #142033; --text-2: #3E4A5C; --muted: #5B6678; --muted-2: #6B7486; --faint: #8A94A6;
  --accent: #2453D6; --accent-dark: #1A3FA8; --accent-soft: #E8EEFC; --accent-softer: #F5F8FF;
  --sidebar: #0E1A2B; --sidebar-text: #C7D0DD; --sidebar-muted: #7F8CA0;
  --ok-bg: #E3F4EA; --ok: #14653E; --ok-dot: #1F9D5C;
  --warn-bg: #FFF1D6; --warn: #8A4F00; --warn-dot: #D98A00;
  --off-bg: #EEF1F5; --off: #3E4A5C; --off-dot: #8A94A6;
  --bad-bg: #FDE8E6; --bad: #A31F14; --bad-dot: #C8372D;
  --radius: 14px;
  font-size: 14px;
}
body.ui-v2 h1 { font-size: 26px; font-weight: 700; letter-spacing: -.01em; }
body.ui-v2 h2 { font-size: 18px; font-weight: 600; }
body.ui-v2 h3 { font-size: 12px; font-weight: 700; color: var(--muted); letter-spacing: .05em; }
body.ui-v2 kbd { border-color: #D5DBE5; background: var(--bg); color: var(--text-2); font-weight: 600; border-radius: 5px; padding: 1px 6px; }

/* Меню */
body.ui-v2 .sidebar { width: 240px; flex-basis: 240px; transition: width .15s, flex-basis .15s; }
body.ui-v2 .brand { padding: 18px 18px 14px; border-bottom-color: #1C2C44; }
body.ui-v2 .brand-mark { width: 36px; height: 36px; flex-basis: 36px; border-radius: 10px; }
body.ui-v2 .brand-text strong { font-size: 15px; }
body.ui-v2 .nav { gap: 2px; padding: 10px 12px 0; }
body.ui-v2 .nav a, body.ui-v2 .sidebar-foot a, body.ui-v2 .nav-settings summary { min-height: 38px; padding: 8px 12px; border-radius: 9px; font-size: 14px; }
body.ui-v2 .nav a:hover, body.ui-v2 .sidebar-foot a:hover, body.ui-v2 .nav-settings summary:hover { background: #17263B; }
body.ui-v2 .nav a.active { background: var(--accent); color: #FFFFFF; }
body.ui-v2 .nav-section { font-size: 11px; font-weight: 700; color: var(--sidebar-muted); padding: 14px 12px 6px; }
body.ui-v2 .nav-badge { background: #F2A33A; color: #2B1A00; font-weight: 700; }
body.ui-v2 .user { border-top-color: #1C2C44; }
body.ui-v2 .avatar { background: #1C2C44; }
body.ui-v2 .nav-mini-toggle { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 36px; padding: 8px 12px; border: 0; border-radius: 9px; background: none; color: var(--sidebar-muted); font: inherit; font-size: 13px; cursor: pointer; }
body.ui-v2 .nav-mini-toggle:hover { background: #17263B; color: #FFFFFF; }
body.ui-v2 .nav-mini-toggle svg { width: 18px; height: 18px; flex: 0 0 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
body.ui-v2 .ui-switch { display: block; margin-top: 6px; padding: 6px 12px; border-radius: 8px; font-size: 12px; color: var(--sidebar-muted); }
body.ui-v2 .ui-switch:hover { background: #17263B; color: #FFFFFF; }

/* Свито меню: само иконки (запомня се в браузъра) */
@media (min-width: 901px) {
  body.ui-v2.nav-mini .sidebar { width: 72px; flex-basis: 72px; }
  body.ui-v2.nav-mini .brand { justify-content: center; padding: 16px 0 12px; }
  body.ui-v2.nav-mini .brand-text, body.ui-v2.nav-mini .nav-section, body.ui-v2.nav-mini .nav span, body.ui-v2.nav-mini .sidebar-foot span,
  body.ui-v2.nav-mini .nav-settings summary .chev, body.ui-v2.nav-mini .user-text, body.ui-v2.nav-mini .user form, body.ui-v2.nav-mini .ui-switch, body.ui-v2.nav-mini .nav-mini-toggle span { display: none; }
  body.ui-v2.nav-mini .nav a, body.ui-v2.nav-mini .sidebar-foot a, body.ui-v2.nav-mini .nav-settings summary, body.ui-v2.nav-mini .nav-mini-toggle { justify-content: center; padding: 10px 0; position: relative; }
  body.ui-v2.nav-mini .nav-settings a { padding-left: 0; }
  body.ui-v2.nav-mini .nav-badge { position: absolute; top: 2px; right: 4px; padding: 0 5px; font-size: 10px; }
  body.ui-v2.nav-mini .user { justify-content: center; padding: 12px 0 0; }
}

/* Горна лента: търсене, бутони и табовете с отворените страници като едно цяло */
body.ui-v2 .topbar { padding: 14px 28px 10px; border-bottom: 0; }
body.ui-v2 .gsearch { max-width: 640px; }
body.ui-v2 .gsearch svg { top: 13px; width: 18px; height: 18px; left: 14px; }
body.ui-v2 .gsearch input { height: 44px; padding-left: 42px; border-color: #D5DBE5; border-radius: 11px; background: #F7F8FB; font-size: 14px; }
body.ui-v2 .gs-kbd { position: absolute; right: 12px; top: 12px; }
body.ui-v2 .gsearch input { padding-right: 52px; }
body.ui-v2 .btn-icon { width: 40px; padding: 0; justify-content: center; font-size: 16px; color: var(--muted); }
body.ui-v2 .topbar-right { align-items: center; }
body.ui-v2 .htabs { padding: 0 28px; gap: 3px; border-bottom: 1px solid var(--line); }
body.ui-v2 .htab { height: 34px; padding: 0 8px 0 12px; border-radius: 9px 9px 0 0; border-color: var(--line); background: #FFFFFF; color: var(--text-2); font-size: 13px; max-width: 220px; }
body.ui-v2 .htab:hover { background: var(--accent-softer); }
body.ui-v2 .htab.on { background: var(--bg); height: 35px; border-color: var(--line); color: var(--text); }
body.ui-v2 .test-banner { background: #FFF6E0; color: #8A4F00; border-bottom-color: #F7E3B5; padding: 6px 28px; }
body.ui-v2 .content { padding: 22px 28px 32px; gap: 16px; }
body.ui-v2 .flash { border-radius: 10px; padding: 11px 14px; }

/* Бутони и полета */
body.ui-v2 .btn { height: 40px; padding: 0 15px; border-color: #D5DBE5; border-radius: 9px; font-weight: 600; font-size: 14px; }
body.ui-v2 .btn:hover { background: #F7F8FB; }
/* сините бутони: при посочване стават по-тъмно сини, текстът остава бял (общото правило отгоре ги правеше бели) */
body.ui-v2 .btn-primary:hover, body.ui-v2 a.btn-primary:hover, body.ui-v2 .btn-primary:focus-visible { background: var(--accent-dark); border-color: var(--accent-dark); color: #FFFFFF; }
body.ui-v2 .btn-primary[disabled]:hover { background: var(--accent); border-color: var(--accent); }
body.ui-v2 .btn small { font-size: 11px; font-weight: 600; padding: 1px 5px; border: 1px solid #D5DBE5; border-radius: 5px; background: var(--bg); color: var(--text-2); }
body.ui-v2 .btn-primary small { background: #3A66E0; border-color: #5A7FE8; color: #FFFFFF; }
body.ui-v2 .btn-sm { height: 34px; padding: 0 11px; font-size: 13px; }
body.ui-v2 .filters { padding: 12px 14px; gap: 10px; border-radius: 12px; }
body.ui-v2 .filters input[type=search], body.ui-v2 .filters input[type=text], body.ui-v2 .filters input[type=date], body.ui-v2 .filters select, body.ui-v2 .filters .check, body.ui-v2 .combo input { height: 38px; border-color: #D5DBE5; border-radius: 9px; font-size: 14px; }
body.ui-v2 .filters input[type=search] { background: #F7F8FB; }
body.ui-v2 .form input[type=text], body.ui-v2 .form input[type=email], body.ui-v2 .form input[type=password] { height: 42px; border-color: #D5DBE5; border-radius: 9px; }
body.ui-v2 input:focus, body.ui-v2 select:focus, body.ui-v2 textarea:focus { outline: 2px solid var(--accent-soft); border-color: var(--accent); }

/* Заглавие и раздели */
body.ui-v2 .page-head { gap: 14px; }
body.ui-v2 .page-head .sub { font-size: 13px; margin-top: 3px; }
body.ui-v2 .page-head .actions { flex-wrap: wrap; justify-content: flex-end; }
body.ui-v2 .tabs { gap: 18px; }
body.ui-v2 .tabs a { padding: 10px 2px; font-size: 14px; font-weight: 600; }

/* Карти, таблици, етикети */
body.ui-v2 .card { border-radius: 14px; }
body.ui-v2 .card-head { padding: 14px 20px; }
body.ui-v2 .card-body { padding: 16px 20px; }
body.ui-v2 th { font-size: 12px; color: var(--muted); background: #F7F8FB; padding: 10px 12px; }
body.ui-v2 td { padding: 10px 12px; border-bottom-color: var(--line-soft); }
body.ui-v2 table.compact th { padding: 8px 10px; } body.ui-v2 table.compact td { padding: 8px 10px; }
body.ui-v2 tr.row.selected td { background: var(--accent-soft); }
body.ui-v2 td.idx { color: var(--faint); }
body.ui-v2 .table-foot { padding: 12px 14px; font-size: 13px; }
body.ui-v2 .pager a, body.ui-v2 .pager span { border-radius: 8px; padding: 5px 11px; border-color: #D5DBE5; }
body.ui-v2 .pill { height: 24px; padding: 0 10px; border-radius: 12px; font-weight: 600; }
body.ui-v2 .tag { height: 26px; padding: 0 10px; border-radius: 8px; background: var(--bg); border: 1px solid var(--line); color: var(--text-2); font-size: 13px; }
body.ui-v2 .chip { border-radius: 16px; font-weight: 600; }
body.ui-v2 .stat { border-radius: 12px; padding: 12px 14px; }
body.ui-v2 .stat small { font-size: 12px; font-weight: 600; }
body.ui-v2 .stat strong { font-size: 22px; font-weight: 700; }
body.ui-v2 .dash .stat strong { font-size: 28px; }

/* Карта на запис: числата горе, разделите като табове, доставчиците вдясно */
body.ui-v2 .ic-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; }
body.ui-v2 .stat-ok { background: var(--ok-bg); border-color: #BFE3CC; }
body.ui-v2 .stat-ok small, body.ui-v2 .stat-ok strong, body.ui-v2 .stat-ok .note { color: var(--ok); }
body.ui-v2 .stat-bad { background: var(--bad-bg); border-color: #F3C4BF; }
body.ui-v2 .stat-bad small, body.ui-v2 .stat-bad strong, body.ui-v2 .stat-bad .note { color: var(--bad); }
body.ui-v2 .tabbar { display: flex; flex-wrap: wrap; gap: 4px 18px; border-bottom: 1px solid var(--line); }
body.ui-v2 .tabbar-btn { height: 42px; padding: 0 2px; border: 0; border-bottom: 2px solid transparent; margin-bottom: -1px; background: none; font: inherit; font-size: 14px; font-weight: 600; color: var(--muted); cursor: pointer; }
body.ui-v2 .tabbar-btn:hover { color: var(--text); }
body.ui-v2 .tabbar-btn.on { color: var(--text); border-bottom-color: var(--accent); }
body.ui-v2 [data-tabs-ready] > .section[data-tab] > h3 { display: none; }
body.ui-v2 [data-tabs-ready] > .section[hidden] { display: none !important; }
body.ui-v2 .ic-supplier { border: 1px solid var(--line); border-radius: 12px; padding: 14px; background: #FFFFFF; }
body.ui-v2 .ic-side { display: flex; flex-direction: column; gap: 14px; }
body.ui-v2 .ic-side:empty { display: none; }
@media (min-width: 1100px) {
  body.ui-v2 .detail-page .card-body[data-tabs-ready] { display: block; }
  body.ui-v2 .detail-page .card-body[data-tabs-ready] > * { margin-bottom: 16px; }
  body.ui-v2 .detail-page .card-body[data-tabs-ready] > .ic-side { float: right; width: 32%; margin-left: 24px; }
  body.ui-v2 .detail-page .card-body[data-tabs-ready] > .tabbar, body.ui-v2 .detail-page .card-body[data-tabs-ready] > .section[data-tab] { margin-right: calc(32% + 24px); }
  body.ui-v2 .detail-page .card-body[data-tabs-ready]::after { content: ''; display: block; clear: both; }
}

/* Панел вдясно */
body.ui-v2 .panel { width: min(520px, 100vw); box-shadow: -16px 0 40px rgba(14,26,43,.16); }
body.ui-v2 .panel-head { padding: 18px 20px 14px; gap: 10px; }
body.ui-v2 .panel-head .close { width: 36px; height: 36px; border-radius: 9px; border: 1px solid var(--line); background: #FFFFFF; }

/* Панелът изскача отгоре като плаваща карта и не бута страницата (07.11.2026, проба по желание на потребителя).
   Без затъмнение: списъкът отдолу остава жив, клик по друг ред сменя панела; затваря се с × или Esc.
   Старият вариант „закачен до списъка“ е по-долу с класа panel-dock на body: за връщане се слага panel-dock. */
@media (min-width: 901px) {
  body.ui-v2:not(.panel-dock) .drawer-backdrop { display: none; }
  body.ui-v2:not(.panel-dock) .panel {
    top: 12px; right: 12px; bottom: 12px; height: auto; width: min(500px, calc(100vw - 24px));
    border: 1px solid var(--line); border-radius: 16px; overflow: hidden;
    box-shadow: 0 24px 64px rgba(14,26,43,.22), 0 4px 12px rgba(14,26,43,.08);
    animation: panel-pop .18s ease-out;
  }
  body.ui-v2:not(.panel-dock) .panel > .card { border-radius: 16px; }
  /* бутонът „Помощ“ отива вляво от картата, докато тя е отворена */
  body.ui-v2:not(.panel-dock):has(.panel:not(:empty)) .ai-fab { right: calc(min(500px, 100vw - 24px) + 28px); }
}
@keyframes panel-pop { from { opacity: 0; transform: translateY(-10px) scale(.985); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { body.ui-v2 .panel { animation: none !important; } }
/* стар вариант: панелът се закача до списъка и го стеснява */
@media (min-width: 1280px) {
  body.ui-v2.panel-dock .drawer-backdrop { display: none; }
  body.ui-v2.panel-dock:has(.panel:not(:empty)) .main { margin-right: min(520px, 38vw); }
  body.ui-v2.panel-dock .panel { width: min(520px, 38vw); box-shadow: none; border-left: 1px solid var(--line); }
}
body.ui-v2 .bulk-bar { background: #142033; color: #FFFFFF; border-radius: 12px; padding: 8px 10px 8px 16px; }
body.ui-v2 .bulk-bar .muted, body.ui-v2 .bulk-bar .small { color: #AEB9C9; }
body.ui-v2 .bulk-bar .btn { height: 36px; background: #1C2C44; border-color: #2C3E5A; color: #FFFFFF; }
body.ui-v2 .bulk-bar .btn-primary { background: var(--accent); border-color: var(--accent); }
body.ui-v2 .bulk-bar kbd { background: #1C2C44; border-color: #2C3E5A; color: #FFFFFF; }
.segs { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 5px; background: var(--surface); border: 1px solid var(--line); border-radius: 12px; align-self: flex-start; }
.segs a { display: inline-flex; align-items: center; gap: 8px; height: 34px; padding: 0 12px; border-radius: 9px; font-size: 13px; font-weight: 600; color: var(--text-2); white-space: nowrap; }
.segs a:hover { background: var(--bg); color: var(--text); }
.segs a.on { background: #142033; color: #FFFFFF; }
.views { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.views .lbl { font-size: 12px; font-weight: 700; color: var(--muted); letter-spacing: .05em; margin-right: 4px; }
.views a { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 12px; border-radius: 16px; border: 1px solid #D5DBE5; background: var(--surface); font-size: 13px; font-weight: 600; color: var(--text-2); }
.views a.on { background: #142033; border-color: #142033; color: #FFFFFF; }
/* Ценова листа: голямото поле за номера */
body.ui-v2 #pricelist-filter { padding: 14px; }
body.ui-v2 #pricelist-filter #q { height: 48px; border: 2px solid var(--accent); border-radius: 12px; font-size: 17px; font-weight: 600; background: #FFFFFF; }
body.ui-v2 #pricelist-filter #client { height: 48px; border-radius: 12px; background: #F7F8FB; }

/* Документ с редове: номерирани стъпки, сумата и бутоните вдясно */
body.ui-v2 .step-h { display: flex; align-items: center; gap: 10px; font-size: 16px; font-weight: 700; color: var(--text); letter-spacing: 0; text-transform: none; margin: 4px 0 2px; }
body.ui-v2 .step-h .n { width: 26px; height: 26px; border-radius: 13px; background: #142033; color: #FFFFFF; font-size: 13px; display: inline-flex; align-items: center; justify-content: center; flex: none; }
body.ui-v2 .doc-layout { gap: 18px; }
@media (min-width: 1240px) { body.ui-v2 .doc-layout { grid-template-columns: minmax(0, 1fr) 360px; } }
body.ui-v2 .ctx-sum .ctx-body { display: flex; flex-direction: column; gap: 10px; padding: 16px; }
body.ui-v2 .sum-total { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; font-size: 14px; color: var(--text-2); }
body.ui-v2 .sum-total strong { font-size: 26px; font-weight: 700; color: var(--text); font-variant-numeric: tabular-nums; }
body.ui-v2 .btn-lg { height: 48px; font-size: 15px; }
body.ui-v2 .btn-block { width: 100%; justify-content: center; }
body.ui-v2 .wb-box { border-top: 1px solid var(--line-soft); padding-top: 14px; }

/* Телефон: по-големи цели за пръста */
@media (max-width: 900px) {
  body.ui-v2 .topbar { padding: 12px 16px 8px; }
  body.ui-v2 .htabs { padding: 0 16px; }
  body.ui-v2 .content { padding: 16px; }
  body.ui-v2 .btn { height: 46px; }
  body.ui-v2 .nav a { min-height: 44px; }
}

/* ===== Телефон 1:1 (макети M_Home, M_Orders, M_Item): долно меню, менюто отстрани, списъци като карти ===== */
.tbar { display: none; }
@media (max-width: 760px) {
  body.ui-v2 { padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
  /* меню: скрито, „Още“ го вади отляво */
  body.ui-v2 .sidebar { position: fixed; top: 0; left: 0; bottom: 0; width: min(300px, 86vw); height: 100vh; z-index: 60; transform: translateX(-105%); transition: transform .18s ease; overflow-y: auto; }
  body.ui-v2.nav-open .sidebar { transform: none; box-shadow: 12px 0 32px rgba(14,26,43,.3); }
  body.ui-v2 .sidebar .nav { flex-direction: column; flex-wrap: nowrap; }
  body.ui-v2 .nav-mini-toggle { display: none; }
  body.ui-v2 .nav-scrim { position: fixed; inset: 0; z-index: 59; background: rgba(14,26,43,.35); }
  /* долно меню */
  body.ui-v2 .tbar { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; background: #FFFFFF; border-top: 1px solid var(--line); padding: 0 6px env(safe-area-inset-bottom); }
  body.ui-v2 .tbar > a, body.ui-v2 .tbar > button { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; height: 64px; border: 0; background: none; font: 600 11px Inter, sans-serif; color: var(--muted); text-decoration: none; cursor: pointer; }
  body.ui-v2 .tbar .on { color: var(--accent); }
  body.ui-v2 .tbar svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
  body.ui-v2 .tbar .tb-scan { color: var(--accent); }
  body.ui-v2 .tbar .tb-fab { width: 52px; height: 52px; border-radius: 26px; background: var(--accent); color: #FFFFFF; display: flex; align-items: center; justify-content: center; margin-top: -18px; box-shadow: 0 6px 16px rgba(36,83,214,.35); }
  body.ui-v2 .ai-fab { bottom: calc(84px + env(safe-area-inset-bottom)); }
  /* горна лента: голямо търсене, без табовете и клавишите */
  body.ui-v2 .htabs, body.ui-v2 .gs-kbd, body.ui-v2 [data-keys-help], body.ui-v2 #new-doc small { display: none !important; }
  /* търсенето и „+“ (нов документ) на един ред */
  body.ui-v2 .topbar { padding: 12px 16px 10px; gap: 8px; flex-wrap: nowrap; }
  body.ui-v2 .gsearch { flex: 1 1 auto; min-width: 0; max-width: none; }
  body.ui-v2 .gsearch input { height: 52px; border-radius: 14px; font-size: 16px; }
  body.ui-v2 .topbar-right { margin-left: 0; flex: 0 0 auto; }
  body.ui-v2 #new-doc { width: 52px; height: 52px; padding: 0; border-radius: 14px; justify-content: center; font-size: 26px; font-weight: 500; line-height: 1; }
  body.ui-v2 #new-doc .nd-text { display: none; }
  /* Склад: броячите по два на ред */
  body.ui-v2 .wms-stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }

  /* --- нищо по-широко от екрана (иначе телефонът смалява цялата страница) --- */
  /* формите и бележките в заглавието на карта слизат на свой ред */
  body.ui-v2 .card-head { flex-wrap: wrap; }
  body.ui-v2 .card-head > .right:is(form, div, .fin-form) { margin-left: 0; flex: 1 1 100%; flex-wrap: wrap; }
  body.ui-v2 .card-head > form.right input[type=search], body.ui-v2 .card-head > form.right input[type=text] { flex: 1 1 140px; width: auto !important; min-width: 0; }
  body.ui-v2 .fin-form > label { flex: 1 1 140px; min-width: 0; }
  body.ui-v2 .fin-form input, body.ui-v2 .fin-form select { width: 100%; min-width: 0; }
  /* фиксирани минимални ширини на полета (style="min-width:…") */
  body.ui-v2 :is(input, select, label, textarea)[style*="min-width"] { min-width: 0 !important; max-width: 100%; }
  body.ui-v2 .filters input, body.ui-v2 .filters select { max-width: 100%; }
  /* табовете: на един ред, плъзгат се настрани */
  body.ui-v2 .tabs, body.ui-v2 .int-nav { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; max-width: 100%; }
  body.ui-v2 .tabs::-webkit-scrollbar, body.ui-v2 .int-nav::-webkit-scrollbar { display: none; }
  body.ui-v2 .tabs a, body.ui-v2 .int-nav a { flex: none; white-space: nowrap; }

  /* --- действията на документа: главните остават, другите са в „Още ⋯“ (public/js/mobile.js) --- */
  body.ui-v2 .page-head .actions { margin-left: 0; width: 100%; justify-content: stretch; flex-wrap: nowrap; }
  body.ui-v2 .page-head .actions.m-more > * { flex: 0 0 auto; }
  body.ui-v2 .page-head .actions.m-more > .m-keep-main { flex: 1 1 auto; min-width: 0; }
  body.ui-v2 .page-head .actions.m-more > .m-keep-main > .btn, body.ui-v2 .page-head .actions.m-more > a.m-keep-main { width: 100%; justify-content: center; }
  /* без „Още ⋯“ остават най-много главният и още един бутон: един до друг, по равно */
  body.ui-v2 .page-head .actions:not(.m-more) { flex-wrap: nowrap; }
  body.ui-v2 .page-head .actions:not(.m-more) > :is(a.btn, form, button, details) { flex: 1 1 0; min-width: 0; }
  body.ui-v2 .page-head .actions:not(.m-more) > a.btn, body.ui-v2 .page-head .actions:not(.m-more) > * > .btn { width: 100%; justify-content: center; padding: 0 10px; }
  /* падащите менюта (Печат, Функции, Още ⋯…): на телефон са долен лист на цяла ширина, не бягат извън екрана */
  body.ui-v2 details.menu[open] > .menu-body { position: fixed; left: 0; right: 0; top: auto; bottom: 0; z-index: 80; min-width: 0; max-width: none; max-height: 75vh; overflow-y: auto; padding: 22px 16px calc(16px + env(safe-area-inset-bottom)); gap: 8px; border: 0; border-radius: 18px 18px 0 0; box-shadow: 0 -12px 32px rgba(14,26,43,.25); }
  /* тъмният фон отзад е част от менюто: докосване по него само затваря (public/js/mobile.js), не натиска нищо отдолу */
  body.ui-v2 details.menu[open]::before { content: ''; position: fixed; inset: 0; z-index: 79; background: rgba(14,26,43,.4); }
  body.ui-v2 details.menu[open] > .menu-body::before { content: ''; position: absolute; left: 50%; top: 8px; width: 40px; height: 4px; margin-left: -20px; border-radius: 2px; background: var(--line); }
  body.ui-v2 details.menu[open] > .menu-body > .btn, body.ui-v2 details.menu[open] > .menu-body > form > .btn { min-height: 48px; height: auto; padding: 8px 14px; justify-content: flex-start; text-align: left; white-space: normal; }
  body.ui-v2 details.menu[open] > .menu-body .btn small { display: block; margin: 2px 0 0; }
  body.ui-v2 .m-more-menu .menu-body > .btn, body.ui-v2 .m-more-menu .menu-body > form > .btn, body.ui-v2 .m-more-menu .menu-body > form { width: 100%; justify-content: flex-start; }
  body.ui-v2 .m-more-menu .menu-body details.menu .menu-body { position: static; box-shadow: none; min-width: 0; }

  /* --- широки таблици (редове в документите, пратки, склад, финанси): всеки ред е карта с етикети --- */
  body.ui-v2 .table-wrap:has(> table.stack), body.ui-v2 .section:has(> table.stack) { overflow: visible; background: transparent; border: 0; }
  body.ui-v2 table.stack { display: block; width: 100% !important; min-width: 0 !important; border-collapse: separate; }
  body.ui-v2 table.stack thead { display: none; }
  body.ui-v2 table.stack tbody, body.ui-v2 table.stack tfoot { display: flex; flex-direction: column; gap: 10px; padding: 8px 0; }
  body.ui-v2 table.stack tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 12px; padding: 12px 14px; background: #FFFFFF; border: 1px solid var(--line); border-radius: 14px; }
  body.ui-v2 table.stack td { display: block; padding: 0 !important; border: 0 !important; height: auto; min-width: 0; max-width: none; white-space: normal; text-align: left !important; background: none !important; }
  body.ui-v2 table.stack td[data-label]::before { content: attr(data-label); display: block; margin-bottom: 2px; font-size: 11px; font-weight: 600; color: var(--muted); }
  body.ui-v2 table.stack td:first-child, body.ui-v2 table.stack td[colspan], body.ui-v2 table.stack td.ell, body.ui-v2 table.stack td.wrap { grid-column: 1 / -1; }
  body.ui-v2 table.stack td:empty { display: none; }
  body.ui-v2 table.stack td input:not([type=checkbox]):not([type=radio]), body.ui-v2 table.stack td select { width: 100%; height: 42px; font-size: 16px; }
  /* редовете в нова продажба / доставка: артикулът и името на цял ред, „×“ горе вдясно */
  body.ui-v2 table.stack.lines tr { position: relative; padding-right: 48px; }
  body.ui-v2 table.stack.lines td:nth-child(2) { grid-column: 1 / -1; }
  body.ui-v2 table.stack.lines td:last-child:has(.l-del) { position: absolute; top: 10px; right: 8px; }
  body.ui-v2 table.stack.lines td:last-child:has(.l-del)::before { display: none; }
  body.ui-v2 table.stack.lines .l-del { width: 34px; height: 34px; padding: 0; justify-content: center; }
  body.ui-v2 table.stack.lines tfoot { display: none; } /* общата сума я има и под редовете */
  /* номерът на реда е малък знак в ъгъла, артикулът след него е на цял ред */
  body.ui-v2 table.stack tr:has(> td.idx) { position: relative; padding-right: 44px; }
  body.ui-v2 table.stack td.idx { position: absolute; top: 12px; right: 14px; width: auto !important; text-align: right !important; font-size: 12px; color: var(--muted); }
  body.ui-v2 table.stack td.idx::before { display: none; }
  body.ui-v2 table.stack td.idx + td { grid-column: 1 / -1; }
  /* „+ Ред“ под редовете е голям бутон */
  body.ui-v2 #add-line, body.ui-v2 #add { width: 100%; height: 46px; justify-content: center; font-size: 15px; }
  /* полетата във финансите без фиксирана ширина */
  body.ui-v2 .fin-form input[style*="width"] { width: 100% !important; }
  /* бутоните в „Още ⋯“ са подравнени вляво, и тези във форма */
  body.ui-v2 .m-more-menu .menu-body .btn { justify-content: flex-start; text-align: left; padding-left: 12px; }

  /* --- „Помощ“ е в менюто „Още“, не плава над съдържанието --- */
  body.ui-v2 .ai-fab { display: none !important; }
  body.ui-v2 .sidebar-foot a.nav-help { display: flex; }
  /* тестовата лента: един ред, обяснението при докосване */
  body.ui-v2 .test-banner { cursor: pointer; }
  body.ui-v2 .test-banner:not(.open) .tb-long { display: none; }
  /* сумите не се чупят; текст в брояча (начин на плащане) е с обикновен размер */
  body.ui-v2 .stat strong { font-size: 20px; white-space: nowrap; }
  body.ui-v2 .stat strong.stat-text { font-size: 15px; white-space: normal; line-height: 1.3; }
  body.ui-v2 .dash .stat strong { font-size: 22px; }
  /* --- филтрите (public/js/mobile.js → filters): лента „търсене + Филтри“, чипове, долен лист --- */
  body.ui-v2 form.m-filt { flex-wrap: wrap; gap: 8px; padding: 10px; }
  body.ui-v2 form.m-filt:not(.f-open) > *:not(input[type=search]):not(:has(input[type=search])):not(.f-btn):not(.f-chips):not(.meta) { display: none !important; }
  body.ui-v2 form.m-filt:not(.f-open) > :is(input[type=search], :has(input[type=search])) { flex: 1 1 0 !important; min-width: 0 !important; }
  body.ui-v2 form.m-filt input[type=search] { width: 100%; height: 44px; font-size: 16px; }
  body.ui-v2 form.m-filt .f-btn { display: inline-flex; flex: none; height: 44px; gap: 6px; padding: 0 12px; align-items: center; }
  body.ui-v2 form.m-filt .f-btn svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
  body.ui-v2 form.m-filt .f-count { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: var(--accent); color: #FFFFFF; font-size: 12px; font-weight: 700; line-height: 20px; text-align: center; }
  body.ui-v2 form.m-filt .f-chips { display: flex; flex: 1 1 100%; gap: 6px; overflow-x: auto; scrollbar-width: none; }
  body.ui-v2 form.m-filt .f-chips[hidden] { display: none; }
  body.ui-v2 form.m-filt .f-chip { flex: none; display: inline-flex; align-items: center; gap: 4px; height: 32px; padding: 0 12px; border: 1px solid var(--accent); border-radius: 16px; background: var(--accent-softer, #EEF3FD); color: var(--accent); font: inherit; font-size: 13px; font-weight: 600; white-space: nowrap; cursor: pointer; }
  body.ui-v2 form.m-filt .f-chip span { font-size: 16px; line-height: 1; }
  body.ui-v2 form.m-filt:not(.f-open) > .meta { flex: 1 1 100%; margin: 0; font-size: 12px; }
  /* отворен: долен лист над всичко */
  body.ui-v2 form.m-filt.f-open { position: fixed; left: 0; right: 0; bottom: 0; z-index: 80; display: flex; flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: 8px; max-height: 88vh; overflow-y: auto; margin: 0; padding: 8px 16px calc(16px + env(safe-area-inset-bottom)); border: 0; border-radius: 18px 18px 0 0; background: #FFFFFF; box-shadow: 0 -12px 32px rgba(14,26,43,.25); }
  body.ui-v2 form.m-filt.f-open > * { flex: none; width: 100%; max-width: none; min-width: 0 !important; margin: 0; }
  body.ui-v2 form.m-filt.f-open > .f-btn, body.ui-v2 form.m-filt.f-open > .f-chips, body.ui-v2 form.m-filt.f-open > .meta { display: none; }
  body.ui-v2 form.m-filt.f-open .f-head { display: flex; align-items: center; justify-content: space-between; padding: 6px 0 4px; font-size: 17px; }
  body.ui-v2 form.m-filt.f-open .f-head::before { content: ''; position: absolute; left: 50%; top: 6px; width: 40px; height: 4px; margin-left: -20px; border-radius: 2px; background: var(--line); }
  body.ui-v2 form.m-filt .f-close { width: 36px; height: 36px; border: 0; border-radius: 18px; background: var(--surface-2, #F3F5F7); font-size: 22px; line-height: 1; cursor: pointer; }
  body.ui-v2 form.m-filt.f-open label.sr-only { position: static; width: auto; height: auto; overflow: visible; clip: auto; margin: 4px 0 -4px; font-size: 12px; font-weight: 600; color: var(--muted); }
  body.ui-v2 form.m-filt.f-open :is(input:not([type=checkbox]):not([type=radio]), select, .combo, .combo input) { width: 100% !important; height: 46px; font-size: 16px; }
  body.ui-v2 form.m-filt.f-open .combo { display: block; }
  body.ui-v2 form.m-filt.f-open .check { height: 46px; }
  body.ui-v2 form.m-filt.f-open .f-go { position: sticky; bottom: 0; height: 50px; margin-top: 6px; justify-content: center; font-size: 16px; background: var(--accent); border-color: var(--accent); color: #FFFFFF; }
  body.ui-v2 .f-scrim { position: fixed; inset: 0; z-index: 79; background: rgba(14,26,43,.4); }
  body.ui-v2.f-sheet-open { overflow: hidden; }

  /* клавишите (F6, Ctrl+Enter, ↑↓…) нямат смисъл без клавиатура */
  body.ui-v2 .key-hint, body.ui-v2 .kbd-help { display: none !important; }
  body.ui-v2 .test-banner { font-size: 11px; padding: 4px 16px; }
  body.ui-v2 input, body.ui-v2 select, body.ui-v2 textarea { font-size: 16px; } /* без увеличение при фокус в iOS */
  /* Начало: бързите бутони като плочки 2×2, броячите по два */
  body.ui-v2 .hello-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; width: 100%; }
  body.ui-v2 .hello-actions .btn { height: 72px; border-radius: 16px; justify-content: flex-start; align-items: flex-end; padding: 14px; font-size: 15px; font-weight: 700; }
  body.ui-v2 .hello-actions .btn:first-child { background: var(--accent); border-color: var(--accent); color: #FFFFFF; }
  body.ui-v2 .kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  body.ui-v2 .kpi { padding: 12px; border-radius: 14px; }
  body.ui-v2 .kpi strong { font-size: 20px; }
  body.ui-v2 .kpi span { display: none; }
  body.ui-v2 .lanes { padding: 0 12px 12px; }
  body.ui-v2 .dash-lanes .card-head .muted { display: none; }
  body.ui-v2 .ic-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  /* списъци: всеки ред е карта (заглавието на таблицата се скрива, клетките се нареждат) */
  body.ui-v2 .list-scroll { max-height: none; min-height: 0; }
  body.ui-v2 table:has(tr.row) { border-collapse: separate; }
  body.ui-v2 table:has(tr.row) thead { display: none; }
  body.ui-v2 table:has(tr.row) tbody { display: flex; flex-direction: column; gap: 10px; padding: 10px; }
  body.ui-v2 tr.row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; padding: 12px 14px; background: #FFFFFF; border: 1px solid var(--line); border-radius: 16px; }
  body.ui-v2 tr.row > td { display: block; padding: 0; border: 0 !important; height: auto; max-width: 100%; white-space: normal; font-size: 14px; }
  body.ui-v2 tr.row > td:empty { display: none; }
  body.ui-v2 tr.row > td .id, body.ui-v2 tr.row > td:first-child a { font-weight: 700; font-size: 16px; }
  body.ui-v2 tr.row > td.num { margin-left: auto; font-weight: 700; }
  body.ui-v2 tr.row > td.wrap, body.ui-v2 tr.row > td.ell { flex: 1 1 100%; order: 1; color: var(--text-2); }
  body.ui-v2 tr.row.selected { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); }
  body.ui-v2 .table-wrap:has(tr.row) { background: transparent; border: 0; }
  /* филтри и сегменти: хоризонтален скрол като чипове */
  body.ui-v2 .segs, body.ui-v2 .views { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  body.ui-v2 .segs a, body.ui-v2 .views a { flex: none; height: 36px; border-radius: 18px; }
  /* панелът е на цял екран; действията на артикула са залепени долу (Продай / Поръчка) */
  body.ui-v2 .panel { width: 100vw; bottom: calc(64px + env(safe-area-inset-bottom)); height: auto; }
  body.ui-v2 .panel-actions, body.ui-v2 .item-actions { position: sticky; bottom: 0; z-index: 5; background: #FFFFFF; padding: 10px 0; border-top: 1px solid var(--line-soft); }
  body.ui-v2 .main, body.ui-v2 .content > *, body.ui-v2 .card, body.ui-v2 .card-body, body.ui-v2 .section { min-width: 0; max-width: 100%; }
  body.ui-v2 .segs, body.ui-v2 .views, body.ui-v2 .tabbar { max-width: 100%; }
  body.ui-v2 .section:has(> table), body.ui-v2 .table-wrap { overflow-x: auto; }
  body.ui-v2 .item-actions { display: flex; flex-wrap: wrap; justify-content: stretch; gap: 8px; }
  body.ui-v2 .item-actions > .btn:not(.btn-primary) { flex: 1 1 0; min-width: 0; padding: 0 6px; font-size: 13px; justify-content: center; height: 42px; }
  body.ui-v2 .item-actions { position: fixed; left: 0; right: 0; bottom: calc(64px + env(safe-area-inset-bottom)); z-index: 45; margin: 0; padding: 10px 16px; box-shadow: 0 -6px 16px rgba(14,26,43,.08); }
  body.ui-v2:has(.item-actions) .content { padding-bottom: 150px; }
  body.ui-v2:has(.item-actions) .ai-fab { bottom: calc(200px + env(safe-area-inset-bottom)); }
  body.ui-v2 .panel-actions .btn-primary, body.ui-v2 .item-actions .btn-primary { flex: 1 1 100%; height: 50px; justify-content: center; font-size: 16px; }
  body.ui-v2 .ic-side { float: none; width: auto; margin: 0 0 12px; }
  body.ui-v2 .tabbar { overflow-x: auto; flex-wrap: nowrap; scrollbar-width: none; }
  body.ui-v2 .tabbar > * { flex: none; }
}

/* ===== Кратки форми (модел D): две колони, грешката под полето, бутоните долу ===== */
body.ui-v2 .form-grid { gap: 14px 18px; }
body.ui-v2 .form-grid label { font-size: 13px; font-weight: 600; color: var(--text-2); gap: 6px; }
body.ui-v2 .form-grid input[type=text], body.ui-v2 .form-grid input[type=number], body.ui-v2 .form-grid input[type=email], body.ui-v2 .form-grid input[type=date],
body.ui-v2 .form-grid input[type=password], body.ui-v2 .form-grid input[type=search], body.ui-v2 .form-grid select, body.ui-v2 .form-grid .combo input { height: 42px; border: 1px solid #D5DBE5; border-radius: 9px; font-size: 14px; padding: 0 12px; background: #FFFFFF; }
body.ui-v2 .form-grid textarea { border: 1px solid #D5DBE5; border-radius: 9px; font-size: 14px; padding: 10px 12px; }
body.ui-v2 form.card > .card-body > div:last-child:has(> .btn-primary) { border-top: 1px solid var(--line-soft); padding-top: 14px; margin-top: 4px; }
body.ui-v2 .is-invalid { border-color: var(--bad-dot) !important; background: #FFF8F7 !important; }
body.ui-v2 .is-invalid:focus { outline-color: var(--bad-bg) !important; }
.field-err { display: block; font-size: 12px; font-weight: 600; color: #A31F14; }

/* ===== Настройки с раздели (модел H): раздели горе, карти със „Запиши“ и „Провери“ ===== */
body.ui-v2 .int-card .card-head { gap: 10px; }
body.ui-v2 .int-actions { display: flex; flex-wrap: wrap; gap: 8px; border-top: 1px solid var(--line-soft); }

/* ===== Справка (модел F): филтри горе, таблица със суми ===== */
body.ui-v2 tfoot tr.tot td, body.ui-v2 tr.tot td { background: #F7F8FB; font-weight: 700; border-top: 2px solid var(--line); }

/* ===== Вход и парола (модел I): тъмна лента с марката, бялата карта отгоре, големи полета ===== */
body.ui-v2.auth-body { background: linear-gradient(180deg, #0E1A2B 0, #0E1A2B 300px, #F4F6F9 300px); font-family: Inter, system-ui, sans-serif; }
body.ui-v2 .auth-card { max-width: 420px; border: 0; border-radius: 16px; padding: 32px 32px 34px; gap: 12px; box-shadow: 0 18px 48px rgba(14,26,43,.22); }
body.ui-v2 .auth-card .brand { border-bottom: 0; padding-bottom: 8px; }
body.ui-v2 .auth-card .brand-mark { width: 40px; height: 40px; border-radius: 12px; background: var(--accent); color: #FFFFFF; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
body.ui-v2 .auth-card h1 { margin: 0; font-size: 24px; font-weight: 700; }
body.ui-v2 .auth-card .form label { font-size: 13px; font-weight: 600; color: var(--text-2); }
body.ui-v2 .auth-card .form input[type=text], body.ui-v2 .auth-card .form input[type=email], body.ui-v2 .auth-card .form input[type=password] { height: 46px; font-size: 15px; border: 1px solid #D5DBE5; border-radius: 10px; padding: 0 14px; }
body.ui-v2 .auth-card .btn-primary { height: 48px; font-size: 15px; border-radius: 10px; margin-top: 6px; }
body.ui-v2 .auth-card .error { color: var(--bad); font-weight: 600; font-size: 13px; margin: 0; }
/* в падащото меню обясненията под избора са обикновен текст, не клавиш */
body.ui-v2 details.menu .menu-body > a.btn small { border: 0; background: none; padding: 0; color: var(--muted); font-weight: 400; font-size: 12px; }
/* лентата и листът на филтрите са само за телефон (виж @media по-горе) */
.filters .f-head, .filters .f-btn, .filters .f-chips { display: none; }
/* „Помощ“ в менюто се вижда само на телефон (виж @media по-горе) */
.sidebar-foot a.nav-help { display: none; }
/* „Избери файл“ като другите бутони */
input[type=file]::file-selector-button { height: 36px; margin-right: 10px; padding: 0 14px; border: 1px solid var(--line); border-radius: 9px; background: #FFFFFF; font: inherit; font-weight: 600; color: var(--text); cursor: pointer; }
input[type=file]::file-selector-button:hover { background: var(--surface-2, #F6F7F9); }
input[type=file] { font-size: 13px; color: var(--muted); max-width: 100%; }
/* Склад: броячите са четири на ред (на телефон по два, виж @media по-горе) */
.wms-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
