/* Norbiss POS — стили кассы.
   Дизайн-система — Norbiss (доработка, не новый дизайн). Блок «NORBISS TOKENS» ниже — дословная копия
   токенов основного приложения: design.css (цвета светлой и тёмной темы, радиусы, шрифт) и nbx.css (мозаика, шкала
   шрифтов и отступов). Менять только копированием из Norbiss: pos/tests/test_design_tokens.py сверяет блок с origin/main.
   Шрифт Manrope — тот же файл, что в Norbiss (fonts/manrope-var.woff, переупакован в TTF без изменений; OFL). */
@font-face{font-family:"Manrope";src:url('/assets/fonts/Manrope-Variable.ttf') format('truetype');font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:"Noto Sans Armenian";src:url('/assets/fonts/NotoSansArmenian-Regular.ttf') format('truetype');font-weight:200 600;font-display:swap;unicode-range:U+0530-058F,U+FB13-FB17}
@font-face{font-family:"Noto Sans Armenian";src:url('/assets/fonts/NotoSansArmenian-Bold.ttf') format('truetype');font-weight:700 900;font-display:swap;unicode-range:U+0530-058F,U+FB13-FB17}
/* ==== NORBISS TOKENS: начало ==== */
:root{--d-font:"Manrope","Noto Sans Armenian",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
 --nb-navy:#002D7A;--nb-blue:#0043C3;--nb-cobalt:#0059FF;--nb-sky:#D6E6FF;--nb-yellow:#FFB800;--nb-coral:#FF651E;--nb-peach:#FF9C6B;--nb-cream:#FFF2D9;
 --nb-ctl:#8494B8;--nb-focus:#0059FF;--nb-hover:#EEF3FF;--nb-pressed:#DCE7FF;--nb-disabled:#EDEFF4;--nb-disabled-ink:#6B7793;
 --ic-a:#0059FF;--ic-b:#FFB800;--ic-c:#FF651E;--ic-d:#002D7A;--ic-w:#FFFFFF;
 --r-field:12px;--r-panel:16px;--r-large:22px;--r-pill:999px;
 --d-nav:#002D7A;--d-nav-ink:#FFFFFF;--d-nav-muted:#C9D7F6;--d-nav-line:rgba(255,255,255,.14);--d-nav-hover:rgba(255,255,255,.08);--d-nav-active:#0043C3;--d-nav-accent:#FFB800;
 --d-bg:#FBF7EF;--d-surface:#FFFFFF;--d-surface2:#FFF6E6;--d-line:#E8E1D3;--d-ink:#0B2150;--d-muted:#4A5A80;--d-faint:#5A6888;
 --d-accent:#0043C3;--d-accent-ink:#0043C3;--d-accent-soft:#D6E6FF;--d-sel:#0043C3;--d-sel-soft:#D6E6FF;--d-red:#C42335;--d-green:#0B6E46;--d-dot:#0E7A4F;
 --d-shadow:0 1px 0 rgba(0,45,122,.04),0 6px 18px rgba(0,45,122,.06);--d-on-accent:#FFFFFF;--d-warn:#8A5300;--d-mc1:#0059FF;--d-mc2:#0E9F6E;--d-mc3:#FF651E;--d-mc4:#0043C3;--d-mc5:#E09A00;--d-mc6:#FF9C6B;--d-chart:#0059FF;--d-grid:#ECE6DA;--d-hero:#002D7A;--d-rose:#FFD9C7;--d-peach:#D6E6FF;--d-sand:#FFE2A3;--d-sage:#C7F0DE;--d-lav:#DCE3FF}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--d-nav:#0C1222;--d-nav-ink:#FFFFFF;--d-nav-muted:#B9C7E8;--d-nav-line:rgba(255,255,255,.12);--d-nav-hover:rgba(255,255,255,.07);--d-nav-active:#2F5FC4;--d-nav-accent:#E6AE36;
 --d-bg:#0E1424;--d-surface:#151D31;--d-surface2:#1B253C;--d-line:#28334C;--d-ink:#E4E8F1;--d-muted:#A8B2C6;--d-faint:#939EB5;
 --d-accent:#2F5FC4;--d-accent-ink:#9DB6EA;--d-accent-soft:#1F2D4E;--d-sel:#2F5FC4;--d-sel-soft:#1F2D4E;--d-red:#EE8E95;--d-green:#73C9A0;--d-dot:#73C9A0;
 --d-shadow:none;--d-on-accent:#FFFFFF;--d-warn:#E6BE62;--d-mc1:#6F98E6;--d-mc2:#73C9A0;--d-mc3:#E8916C;--d-mc4:#9DB6EA;--d-mc5:#E0AE3A;--d-mc6:#FF9C6B;--d-chart:#6F98E6;--d-grid:#232D44;--d-hero:#1E2B4C;
 --nb-ctl:#46557A;--nb-focus:#FFB800;--nb-hover:#1E2840;--nb-pressed:#243050;--nb-disabled:#1A2236;--nb-disabled-ink:#7F8AA3;
 --ic-a:#6F98E6;--ic-b:#FFB800;--ic-c:#FF7A3D;--ic-d:#D6E6FF;--ic-w:#151D31;--d-tile-sky:#1C2A48;--d-tile-sand:#2A2619;--d-tile-peach:#33231F;--d-tile-navy:#1E2B4C;--d-tile-cobalt:#22396B;--d-tile-gold:#C79B3A;--d-deco:.4;--nb-yellow:#E6AE36;--nb-cobalt:#2F5FC4}}
:root[data-theme="dark"]{--d-nav:#0C1222;--d-nav-ink:#FFFFFF;--d-nav-muted:#B9C7E8;--d-nav-line:rgba(255,255,255,.12);--d-nav-hover:rgba(255,255,255,.07);--d-nav-active:#2F5FC4;--d-nav-accent:#E6AE36;
 --d-bg:#0E1424;--d-surface:#151D31;--d-surface2:#1B253C;--d-line:#28334C;--d-ink:#E4E8F1;--d-muted:#A8B2C6;--d-faint:#939EB5;
 --d-accent:#2F5FC4;--d-accent-ink:#9DB6EA;--d-accent-soft:#1F2D4E;--d-sel:#2F5FC4;--d-sel-soft:#1F2D4E;--d-red:#EE8E95;--d-green:#73C9A0;--d-dot:#73C9A0;
 --d-shadow:none;--d-on-accent:#FFFFFF;--d-warn:#E6BE62;--d-mc1:#6F98E6;--d-mc2:#73C9A0;--d-mc3:#E8916C;--d-mc4:#9DB6EA;--d-mc5:#E0AE3A;--d-mc6:#FF9C6B;--d-chart:#6F98E6;--d-grid:#232D44;--d-hero:#1E2B4C;
 --nb-ctl:#46557A;--nb-focus:#FFB800;--nb-hover:#1E2840;--nb-pressed:#243050;--nb-disabled:#1A2236;--nb-disabled-ink:#7F8AA3;
 --ic-a:#6F98E6;--ic-b:#FFB800;--ic-c:#FF7A3D;--ic-d:#D6E6FF;--ic-w:#151D31;--d-tile-sky:#1C2A48;--d-tile-sand:#2A2619;--d-tile-peach:#33231F;--d-tile-navy:#1E2B4C;--d-tile-cobalt:#22396B;--d-tile-gold:#C79B3A;--d-deco:.4;--nb-yellow:#E6AE36;--nb-cobalt:#2F5FC4}
:root{--mz-hero:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 160'%3E%3Cg transform='translate%280 0%29'%3E%3Crect width='80' height='80' fill='%23FF651E'/%3E%3Cpath d='M0 80A80 80 0 0 1 80 0V80z' fill='%23FFB800'/%3E%3C/g%3E%3Cg transform='translate%2880 0%29'%3E%3Crect width='80' height='80' fill='%230059FF'/%3E%3Ccircle cx='40' cy='40' r='26' fill='%23FFB800'/%3E%3Ccircle cx='40' cy='40' r='11' fill='%23FF651E'/%3E%3C/g%3E%3Cg transform='translate%28160 0%29'%3E%3Crect width='80' height='80' fill='%23FFF2D9'/%3E%3Cpath d='M40 8 72 40 40 72 8 40z' fill='%230043C3'/%3E%3C/g%3E%3Cg transform='translate%280 80%29'%3E%3Crect width='80' height='80' fill='%230043C3'/%3E%3Cpath d='M0 80a40 40 0 0 1 80 0z' fill='%23FFB800'/%3E%3C/g%3E%3Cg transform='translate%2880 80%29'%3E%3Crect width='80' height='80' fill='%23FFB800'/%3E%3Cpath d='M0 0h80A80 80 0 0 1 0 80z' fill='%230059FF'/%3E%3C/g%3E%3Cg transform='translate%28160 80%29'%3E%3Crect width='80' height='80' fill='%23002D7A'/%3E%3Cpath d='M80 0v80H0A80 80 0 0 1 80 0z' fill='%23FF651E'/%3E%3Ccircle cx='62' cy='62' r='9' fill='%23FFF2D9'/%3E%3C/g%3E%3C/svg%3E");--mz-hero-sq:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160'%3E%3Cg transform='translate%280 0%29'%3E%3Crect width='80' height='80' fill='%230059FF'/%3E%3Ccircle cx='40' cy='40' r='26' fill='%23FFB800'/%3E%3Ccircle cx='40' cy='40' r='11' fill='%23FF651E'/%3E%3C/g%3E%3Cg transform='translate%2880 0%29'%3E%3Crect width='80' height='80' fill='%23FFF2D9'/%3E%3Cpath d='M40 8 72 40 40 72 8 40z' fill='%230043C3'/%3E%3C/g%3E%3Cg transform='translate%280 80%29'%3E%3Crect width='80' height='80' fill='%23FFB800'/%3E%3Cpath d='M0 0h80A80 80 0 0 1 0 80z' fill='%230059FF'/%3E%3C/g%3E%3Cg transform='translate%2880 80%29'%3E%3Crect width='80' height='80' fill='%23FF651E'/%3E%3Cpath d='M0 80A80 80 0 0 1 80 0V80z' fill='%23FFB800'/%3E%3C/g%3E%3C/svg%3E");--mz-side:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 248 62'%3E%3Cg transform='translate%280 0%29'%3E%3Crect width='62' height='62' fill='%230059FF'/%3E%3Ccircle cx='31' cy='31' r='18' fill='%23FFB800'/%3E%3C/g%3E%3Cg transform='translate%2862 0%29'%3E%3Crect width='62' height='62' fill='%23FF651E'/%3E%3Cpath d='M0 62A62 62 0 0 1 62 0V62z' fill='%23FF9C6B'/%3E%3C/g%3E%3Cg transform='translate%28124 0%29'%3E%3Crect width='62' height='62' fill='%23FFB800'/%3E%3Cpath d='M31 6 56 31 31 56 6 31z' fill='%230043C3'/%3E%3C/g%3E%3Cg transform='translate%28186 0%29'%3E%3Crect width='62' height='62' fill='%230043C3'/%3E%3Cpath d='M0 62a31 31 0 0 1 62 0z' fill='%23FFF2D9'/%3E%3C/g%3E%3C/svg%3E");--mz-corner:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 48'%3E%3Cg transform='translate%280 0%29'%3E%3Crect width='48' height='48' fill='%23FFB800'/%3E%3Cpath d='M48 0v48H0A48 48 0 0 1 48 0z' fill='%23FF651E'/%3E%3C/g%3E%3Cg transform='translate%2848 0%29'%3E%3Crect width='48' height='48' fill='%230059FF'/%3E%3Ccircle cx='24' cy='24' r='14' fill='%23FFF2D9'/%3E%3C/g%3E%3C/svg%3E")}
/* ---------- Шкала: шрифт и отступы ---------- */
:root{
 --fs-cap:12px;    /* подписи, метки, заголовки столбцов */
 --fs-body:14px;   /* основной текст, кнопки, строки таблиц */
 --fs-lead:16px;   /* поля ввода, суммы в строках */
 --fs-title:16px;  /* заголовки блоков */
 --fs-kpi:22px;    /* цифры в плитках */
 --fs-h2:22px;     /* крупная сумма блока */
 --fs-h1:28px;     /* заголовок страницы */
 --fs-display:36px;/* главная сумма */
 --lh-tight:1.15;--lh-body:1.5;
 --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;
 --ink-on-light:#0B2150;--ink-on-light-2:#2A3D6B;
 --ico-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
}
@media (max-width:780px){:root{--fs-h1:22px;--fs-display:28px;--fs-h2:22px;--fs-kpi:18px}}
@media (max-width:420px){:root{--fs-display:28px}}
:root{--r-card:16px;--r-ctl:14px;--h-ctl:44px;--gap:12px}
/* ==== NORBISS TOKENS: конец ==== */

/* ==== Касса: смысловые имена поверх токенов Norbiss (новых цветов нет, кроме белой подложки фото) ==== */
:root{
 --sidebar:240px;--receipt:440px;--recs:440px;--topbar:64px;--stock-table-h:300px;
 --pos-photo:#FFFFFF; /* фото товаров сняты на белом: подложка белая в обеих темах */
 --pos-ok:var(--d-green);--pos-bad:var(--d-red);--pos-warn:var(--d-warn);
 --pos-ok-soft:color-mix(in srgb,var(--d-green) 13%,var(--d-surface));
 --pos-bad-soft:color-mix(in srgb,var(--d-red) 11%,var(--d-surface));
 --pos-warn-soft:color-mix(in srgb,var(--d-warn) 15%,var(--d-surface));
 --pos-scrim:color-mix(in srgb,var(--nb-navy) 45%,transparent);
 /* служебные линейные иконки (img): цвет текста через фильтр — светлая тема */
 --pos-icon:var(--pos-icon-navy);
 --pos-icon-on:brightness(0) invert(1);
 --pos-icon-navy:brightness(0) saturate(100%) invert(10%) sepia(55%) saturate(3300%) hue-rotate(214deg) brightness(88%) contrast(105%);
 --pos-ease:cubic-bezier(.23,1,.32,1);
 --pos-brand:var(--nb-navy);
 --pos-panel:color-mix(in srgb,var(--d-surface) 55%,var(--d-bg));
 --pos-deco:1;
 --pos-discount-soft:color-mix(in srgb,var(--d-lav) 70%,var(--d-surface));
 --pos-discount-chip:var(--nb-cobalt);
 --pos-speed-soft:color-mix(in srgb,var(--nb-yellow) 16%,var(--d-surface));
 --pos-icon-accent:brightness(0) saturate(100%) invert(17%) sepia(83%) saturate(4000%) hue-rotate(221deg) brightness(93%) contrast(104%);
 --pos-icon-red:brightness(0) saturate(100%) invert(19%) sepia(73%) saturate(3600%) hue-rotate(340deg) brightness(88%) contrast(95%);
 --pos-icon-coral:brightness(0) saturate(100%) invert(52%) sepia(86%) saturate(2400%) hue-rotate(347deg) brightness(101%) contrast(101%);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--pos-icon:brightness(0) invert(.9);--pos-brand:var(--d-ink);--pos-panel:var(--d-surface2);--pos-deco:.6;--pos-discount-soft:color-mix(in srgb,var(--d-mc4) 18%,var(--d-surface));--pos-icon-accent:brightness(0) invert(.75) sepia(.6) saturate(4) hue-rotate(190deg);color-scheme:dark}}
:root[data-theme="dark"]{--pos-icon:brightness(0) invert(.9);--pos-brand:var(--d-ink);--pos-panel:var(--d-surface2);--pos-deco:.6;--pos-discount-soft:color-mix(in srgb,var(--d-mc4) 18%,var(--d-surface));--pos-icon-accent:brightness(0) invert(.75) sepia(.6) saturate(4) hue-rotate(190deg);color-scheme:dark}

/* ==== Основа ==== */
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--d-bg);color:var(--d-ink);font:var(--fs-body)/var(--lh-body) var(--d-font);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow:hidden}
::selection{background:var(--d-accent-soft);color:var(--d-ink)}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,p{margin-top:0}
h1{font-size:var(--fs-h1);line-height:var(--lh-tight);font-weight:700;letter-spacing:-.03em;margin-bottom:0}
h2{font-size:var(--fs-kpi);line-height:var(--lh-tight);font-weight:700;letter-spacing:-.025em;margin-bottom:var(--s3)}
h3{font-size:var(--fs-title);font-weight:700;letter-spacing:-.015em}
a{color:var(--d-accent-ink);text-underline-offset:3px}
:where(a,button,input,select,textarea,summary,[tabindex]:not([tabindex="-1"]),[role="button"]):focus-visible{outline:3px solid var(--nb-focus);outline-offset:2px;border-radius:10px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
*{scrollbar-width:thin;scrollbar-color:var(--nb-ctl) transparent}

/* Кнопки: по умолчанию — контурная капсула Norbiss */
button{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:44px;padding:0 var(--s4);
 border:1.5px solid var(--nb-ctl);border-radius:var(--r-pill);background:transparent;color:var(--d-ink);font-weight:700;font-size:var(--fs-body);
 transition:background-color .15s var(--pos-ease),border-color .15s var(--pos-ease),transform .1s var(--pos-ease)}
button:hover{background:var(--nb-hover)}
button:active:not(:disabled){transform:scale(.97)}
button:disabled{cursor:not-allowed;background:var(--nb-disabled);border-color:var(--nb-disabled);color:var(--nb-disabled-ink)}
button:disabled .icon{opacity:.55}
.primary{background:var(--d-accent);border-color:var(--d-accent);color:var(--d-on-accent);font-weight:600}
.primary:hover{background:var(--nb-cobalt);border-color:var(--nb-cobalt)}
.primary .icon{filter:var(--pos-icon-on)}
.yellow{background:var(--nb-yellow);border-color:var(--nb-yellow);color:var(--ink-on-light)}
.yellow:hover{background:var(--nb-yellow);filter:brightness(1.06)}
.yellow .icon{filter:var(--pos-icon-navy)}
.primary:disabled,.yellow:disabled{background:var(--nb-disabled);border-color:var(--nb-disabled);color:var(--nb-disabled-ink);filter:none}
.primary:disabled .icon,.yellow:disabled .icon{filter:var(--pos-icon)}

/* Поля */
input,select,textarea{border:1.5px solid var(--d-line);border-radius:var(--r-field);padding:10px 12px;width:100%;min-height:44px;background:var(--d-surface);color:var(--d-ink);min-width:0;font-size:var(--fs-lead)}
input::placeholder,textarea::placeholder{color:var(--d-faint)}
input:hover,select:hover{border-color:var(--nb-ctl)}
input[aria-invalid="true"]{border-color:var(--d-red)}
label{display:block;font-size:var(--fs-cap);font-weight:700;color:var(--d-muted);margin-bottom:var(--s2)}
label input,label select{display:block;margin-top:6px;font-weight:400;color:var(--d-ink)}

/* Иконки */
.icon{width:24px;height:24px;object-fit:contain;flex-shrink:0;filter:var(--pos-icon)}
.nbi{display:block;flex:none;width:22px;height:22px}
.nbi .a{fill:var(--ic-a)}.nbi .b{fill:var(--ic-b)}.nbi .c{fill:var(--ic-c)}.nbi .d{fill:var(--ic-d)}.nbi .w{fill:var(--ic-w)}
.nbi .sa,.nbi .sb,.nbi .sw{fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.nbi .sa{stroke:var(--ic-a)}.nbi .sb{stroke:var(--ic-b)}.nbi .sw{stroke:var(--ic-w)}
.icon-button{width:44px;height:44px;min-width:44px;padding:0;border:1.5px solid var(--d-line);background:var(--d-surface);border-radius:50%}
.icon-button:hover{background:var(--nb-hover)}
.chevron{width:16px;height:16px}

/* ==== Боковое меню: светлое, синяя «таблетка» выбранного раздела, мозаика Norbiss только внизу слева ==== */
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);padding:var(--s4) var(--s3) 0;display:flex;flex-direction:column;gap:var(--s2);
 background:var(--d-bg);color:var(--d-ink);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;z-index:10}
.brand{position:relative;z-index:1;display:flex;align-items:center;gap:10px;min-height:52px;padding:0 var(--s2);margin:0 0 var(--s3);color:var(--pos-brand);text-decoration:none;border-radius:var(--r-field);flex-shrink:0}
.brand .nbmark{height:34px;width:auto;flex:none}
.nbmark .m1{fill:var(--nb-cobalt)}.nbmark .m2{fill:var(--pos-brand)}.nbmark .m3{fill:var(--nb-yellow)}
.brandtext{display:flex;align-items:baseline;gap:.28em;font-size:27px;line-height:1;white-space:nowrap}
.nbwm{font-family:var(--d-font);font-weight:800;letter-spacing:-.045em;line-height:1;color:var(--pos-brand)}
.nbwm-i{position:relative;display:inline-block}
.nbwm-i::after{content:"";position:absolute;left:50%;top:-.02em;width:.25em;height:.25em;margin-left:-.125em;border-radius:50%;background:var(--nb-yellow)}
.brandpos{font-weight:700;letter-spacing:-.01em;color:var(--d-accent-ink);font-size:.62em;align-self:center;padding:2px 7px;border-radius:var(--r-pill);background:var(--d-accent-soft)}
nav{display:grid;gap:2px;position:relative;z-index:1;flex-shrink:0}
nav button{position:relative;width:100%;min-height:44px;border:0;background:transparent;color:var(--d-ink);border-radius:var(--r-field);justify-content:flex-start;padding:0 var(--s3) 0 var(--s4);font-size:var(--fs-body);font-weight:600;gap:var(--s3);white-space:nowrap}
nav button:hover{background:var(--nb-hover)}
nav button.active{background:var(--d-accent);color:var(--d-on-accent);box-shadow:var(--d-shadow)}
nav button.active .nbi .a,nav button.active .nbi .d{fill:var(--d-on-accent)}
nav button.active .nbi .sa{stroke:var(--d-on-accent)}
nav button.active .nbi .w{fill:var(--d-accent)}
nav button>span{overflow:hidden;text-overflow:ellipsis}
.sidebar-art{flex:1 0 170px;margin:var(--s4) calc(var(--s3) * -1) 0;display:flex;align-items:flex-end;pointer-events:none;opacity:var(--pos-deco)}
.sidebar-art svg{display:block;width:100%;max-width:240px;height:auto;max-height:210px}
.mz-c{fill:var(--nb-coral)}.mz-b{fill:var(--nb-cobalt)}.mz-n{fill:var(--nb-navy)}.mz-y{fill:var(--nb-yellow)}.mz-w{fill:var(--nb-cream)}

/* ==== Верхняя строка ==== */
.app-shell{margin-left:var(--sidebar);height:100%;display:flex;flex-direction:column;min-width:0}
.topbar{height:var(--topbar);flex-shrink:0;padding:0 var(--s5);display:flex;align-items:center;justify-content:space-between;gap:var(--s4);background:var(--d-bg)}
.workplace,.topbar-end,.session-block{display:flex;align-items:center;gap:var(--s4);white-space:nowrap;min-width:0}
.store-pill{border:0;background:var(--d-accent-soft);padding:0 var(--s3);gap:var(--s2);max-width:240px;min-width:0;color:var(--d-ink)}
.store-pill:hover{background:var(--nb-pressed)}
.store-pill strong{font-size:var(--fs-lead);overflow:hidden;text-overflow:ellipsis}
.store-pill>.icon:first-child{width:22px;height:22px}
.register-name{display:flex;align-items:center;gap:var(--s2);font-size:var(--fs-lead);font-weight:700;min-width:0}
.register-name .icon{width:22px;height:22px}
#page-title{overflow:hidden;text-overflow:ellipsis}
.business-badge{max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--fs-cap);color:var(--d-muted)}
.business-badge:empty{display:none}
.test-badge{display:inline-flex;align-items:center;gap:var(--s2);color:var(--d-green);background:var(--pos-ok-soft);border-radius:var(--r-pill);padding:7px 14px;font-size:var(--fs-body);font-weight:700}
.test-badge::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--d-dot);box-shadow:0 0 0 3px color-mix(in srgb,var(--d-dot) 22%,transparent)}
.test-badge[role="button"]{cursor:pointer;min-height:44px}
.test-badge.shift-closed{color:var(--d-warn);background:var(--pos-warn-soft)}
.test-badge.shift-closed::before{background:var(--nb-coral)}
#clock{display:flex;align-items:baseline;gap:var(--s5);font-size:var(--fs-lead);font-weight:700}
.clock-time{font-weight:700}
.notification-button{position:relative}
.topbar-end .icon-button{border:0;background:var(--d-surface);box-shadow:var(--d-shadow)}
.notification-dot{position:absolute;top:9px;right:10px;width:9px;height:9px;border:1.5px solid var(--d-surface);background:var(--nb-coral);border-radius:50%}
.local-profile{border:0;background:transparent;padding:0 0 0 var(--s2);gap:var(--s3);text-align:left}
.local-profile:hover{background:transparent}
.profile-avatar{background:var(--nb-sky);color:var(--nb-navy);border-radius:50%;width:42px;height:42px;display:grid;place-items:center;font-weight:800;font-size:var(--fs-body);letter-spacing:-.02em}
.profile-avatar .icon{filter:var(--pos-icon-navy)}
.profile-copy strong,.profile-copy small{display:block;font-size:var(--fs-body);font-weight:700;line-height:1.25}
.profile-copy small{font-size:var(--fs-cap);font-weight:500;color:var(--d-muted)}

/* ==== Рабочая область ==== */
main{flex:1;min-height:0;padding:var(--s2) var(--s5) var(--s4);overflow:auto}
body[data-screen="checkout"] main{overflow:hidden}
#checkout{height:100%}
.checkout-grid{height:100%;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) var(--receipt);gap:var(--s4)}
.product-workspace{display:grid;grid-template-rows:minmax(0,1fr) auto auto;gap:var(--s3);min-width:0;min-height:0}
.catalog-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:var(--s3);min-height:0;background:var(--pos-panel);border-radius:var(--r-large);padding:var(--s3)}
.search-row{display:flex;gap:var(--s2);align-items:center}
.scan-mark{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:var(--r-field);background:var(--d-surface)}
.search-bar{display:flex;align-items:center;gap:var(--s2);background:var(--d-surface);border:1.5px solid var(--d-line);border-radius:var(--r-pill);padding:4px 4px 4px var(--s4);flex:1;min-width:0;height:52px;transition:border-color .15s var(--pos-ease)}
.search-bar:focus-within{border-color:var(--d-accent)}
.search-bar input{border:0;background:transparent;padding:0;min-width:0;min-height:44px;font-size:var(--fs-body)}
.search-bar input:focus-visible{outline:0}
.search-bar .icon-button{border:0;background:var(--d-accent-soft);border-radius:var(--r-field);width:52px}
.filter-button{flex-shrink:0;border:0;background:var(--d-surface)}
.category-strip{display:flex;align-items:center;gap:var(--s2);min-width:0}
.category-strip>.icon-button{flex-shrink:0;border:0;background:var(--d-surface)}
.category-tabs{display:flex;gap:6px;overflow:auto;scrollbar-width:none;align-items:center;min-width:0;flex:1}
.category-tabs::-webkit-scrollbar{display:none}
.category-tabs button,.weight-chip{padding:0 var(--s3) 0 var(--s2);font-size:13px;font-weight:600;white-space:nowrap;border:0;background:var(--d-surface);color:var(--d-ink);height:44px;gap:6px;flex-shrink:0;box-shadow:var(--d-shadow)}
.category-tabs button:first-child{min-width:72px;padding:0 var(--s4)}
.category-tabs button:hover{background:var(--nb-hover)}
.category-tabs button.active{background:var(--d-accent);color:var(--d-on-accent)}
.weight-chip{flex-shrink:0;border:0;height:44px;gap:6px;font-weight:700;white-space:nowrap;background:var(--nb-yellow);color:var(--ink-on-light)}
.weight-chip:hover{background:var(--nb-yellow);filter:brightness(1.05)}
.weight-chip .icon{width:20px;height:20px;filter:var(--pos-icon-navy)}
.weight-chip[aria-pressed="true"]{box-shadow:0 0 0 2px var(--d-ink)}
.category-tabs .icon{width:20px;height:20px}
.category-image{width:22px;height:22px;object-fit:contain;border-radius:50%;background:var(--pos-photo);padding:1px}

.product-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:minmax(168px,auto);gap:var(--s3);align-content:start;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:2px}
.product-card{text-align:left;border-radius:var(--r-panel);padding:var(--s2) var(--s3) var(--s3);display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;background:var(--d-surface);border:1.5px solid transparent;color:var(--d-ink);position:relative;gap:0;overflow:hidden;min-width:0;font-weight:400;box-shadow:var(--d-shadow)}
.product-card:hover{background:var(--d-surface);border-color:var(--d-line)}
.product-card:active:not(:disabled){transform:scale(.98)}
.product-card .product-image{width:100%;height:78px;min-height:52px;object-fit:contain;margin:0 0 var(--s2);flex-shrink:1;border-radius:var(--r-field);background:var(--pos-photo)}
.product-card .no-photo{opacity:.55;max-width:70px;align-self:center;padding:14px;background:transparent;filter:var(--pos-icon)}
.product-card>strong{font-size:13px;line-height:17px;font-weight:700;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex-shrink:0}
.product-card>small{color:var(--d-muted);font-size:var(--fs-cap);line-height:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}
.card-price-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s1);margin-top:auto;padding-top:var(--s1);min-height:32px}
.product-card .price{font-size:var(--fs-lead);font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.02em}
.price-unit{font-size:var(--fs-cap);letter-spacing:0;font-weight:700}
.card-plus{display:flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;border-radius:50%;background:var(--d-accent)}
.card-plus .icon{width:18px;height:18px;filter:var(--pos-icon-on)}

.cashier-actions{display:flex;gap:var(--s2);min-width:0;overflow-x:auto;scrollbar-width:none}
.cashier-actions button{flex:1 1 0;font-size:var(--fs-body);padding:0 var(--s3);border-radius:var(--r-pill);border:0;background:var(--d-surface);box-shadow:var(--d-shadow);gap:var(--s2);min-width:max-content;font-weight:700;white-space:nowrap}
.cashier-actions button:hover{background:var(--nb-hover)}
.cashier-actions .icon{width:20px;height:20px}
.cashier-actions .more-chip{flex:0 0 64px;min-width:64px}
.cashier-actions button[aria-pressed="true"]{background:var(--d-accent-soft)}

/* Показатели под каталогом */
.metrics{display:grid;grid-template-columns:1fr 1.25fr 1.15fr 1fr;gap:var(--s3);min-height:0}
.metric{position:relative;overflow:hidden;background:var(--d-surface);border:0;border-radius:var(--r-panel);padding:var(--s3) var(--s4);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:var(--s1);min-width:0;box-shadow:var(--d-shadow);color:var(--d-ink);font-weight:400;text-align:left}
.metric-title{font-size:var(--fs-body);font-weight:700;color:var(--d-ink);display:flex;align-items:center;gap:var(--s2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.metric-title .icon{width:20px;height:20px}
.metric>strong{font-size:var(--fs-kpi);line-height:1.15;letter-spacing:-.025em;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;font-weight:800}
.delta{font-size:var(--fs-cap);font-weight:700;color:var(--d-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.delta.up{color:var(--d-green)}.delta.down{color:var(--d-red)}
.kpi-checks-body{display:flex;align-items:flex-end;gap:var(--s3);width:100%;min-width:0}
.kpi-checks-body>strong{font-size:var(--fs-kpi);font-weight:800;letter-spacing:-.025em}
.kpi-average{display:flex;flex-direction:column;min-width:0}
.kpi-average small{font-size:11px;color:var(--d-muted);white-space:nowrap}
.kpi-average b{font-size:var(--fs-body);white-space:nowrap}
.mini-bars{display:flex;align-items:flex-end;gap:4px;height:44px;flex:1;min-width:48px;max-width:120px;margin-left:auto}
.mini-bars span{flex:1;min-height:3px;border-radius:3px 3px 0 0;background:var(--d-chart);opacity:.55}
.mini-bars span:last-child{opacity:1}
.top-list{list-style:none;margin:0;padding:0;display:grid;gap:2px;width:100%}
.top-list li{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:var(--s2);font-size:var(--fs-cap);font-weight:600;line-height:20px}
.top-list img{width:22px;height:18px;object-fit:contain;border-radius:4px;background:var(--pos-photo)}
.top-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.top-list b{font-weight:700;white-space:nowrap}
.top-list .empty-line{grid-template-columns:1fr;color:var(--d-muted);font-weight:500}
.kpi-critical .metric-title .icon{filter:none}
.critical-count{color:var(--d-red)}
.critical-count.calm{color:var(--d-green)}
.soft-button{min-height:44px;border:0;background:var(--d-accent-soft);color:var(--d-accent-ink);padding:0 var(--s4);font-size:var(--fs-body);align-self:stretch}
.soft-button:hover{background:var(--nb-pressed)}

/* ==== Правая колонка: весы и чек ==== */
.checkout-side{display:flex;flex-direction:column;gap:var(--s3);min-height:0;min-width:0}
.live-scale{flex-shrink:0;border:2.5px solid var(--d-hero);border-radius:var(--r-large);background:var(--d-surface);overflow:hidden;box-shadow:var(--d-shadow);transition:box-shadow .2s var(--pos-ease)}
.scale-head{display:flex;align-items:center;gap:var(--s2);background:var(--d-hero);color:var(--d-nav-ink);padding:2px var(--s1) 2px var(--s3);min-height:46px}
.scale-head>.icon{filter:var(--pos-icon-on);width:22px;height:22px}
.scale-head h2{font-size:var(--fs-lead);margin:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--d-nav-ink)}
.scale-chip{display:inline-flex;align-items:center;gap:6px;border-radius:var(--r-pill);padding:4px 10px;font-size:var(--fs-cap);font-weight:700;background:var(--pos-ok-soft);color:var(--d-green);white-space:nowrap}
.scale-chip::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.scale-off .scale-chip{background:var(--pos-warn-soft);color:var(--d-warn)}
.scale-head .icon-button{border:0;background:transparent}
.scale-head .icon-button .icon{filter:var(--pos-icon-on)}
.scale-head .icon-button:hover{background:var(--d-nav-hover)}
.scale-readouts{display:grid;grid-template-columns:1.15fr 1fr 1.1fr;padding:var(--s2) var(--s3) 0}
.scale-readouts>div{display:flex;flex-direction:column;gap:2px;min-width:0;padding:0 var(--s3)}
.scale-readouts>div+div{border-left:1.5px solid var(--d-line)}
.scale-readouts small{font-size:var(--fs-cap);color:var(--d-muted);font-weight:600}
.scale-readouts strong{font-size:26px;line-height:1.15;letter-spacing:-.035em;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.scale-readouts .unit{font-size:20px}
.scale-off .scale-readouts strong{color:var(--d-faint)}
.scale-line{display:flex;justify-content:space-between;gap:var(--s2);margin:var(--s1) 0 0;padding:0 var(--s4);font-size:var(--fs-cap);color:var(--d-muted);min-width:0}
.scale-line span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#live-scale-product{font-weight:700;color:var(--d-ink)}
.live-scale-actions{display:grid;grid-template-columns:1fr 1fr 1.6fr;gap:var(--s2);padding:var(--s2) var(--s3) var(--s3)}
.live-scale-actions button{border:0;background:var(--d-accent-soft);border-radius:var(--r-field);font-size:var(--fs-body);padding:0 var(--s2);white-space:nowrap;min-width:0}
.live-scale-actions button.yellow{background:var(--nb-yellow);color:var(--ink-on-light)}
.live-scale-actions button.yellow:disabled{background:var(--nb-disabled);color:var(--nb-disabled-ink)}
.live-scale-actions .icon{width:20px;height:20px}
.live-scale.scale-good{box-shadow:0 0 0 3px color-mix(in srgb,var(--d-green) 35%,transparent)}
.live-scale.scale-selected{box-shadow:0 0 0 3px color-mix(in srgb,var(--d-accent) 30%,transparent)}

.panel{background:var(--d-surface);border:0;border-radius:var(--r-large);padding:var(--s5);box-shadow:var(--d-shadow)}
.basket{display:flex;flex-direction:column;flex:1;min-height:0;padding:var(--s2) var(--s4) var(--s3)}
.basket-heading{display:flex;align-items:center;justify-content:space-between;height:48px;flex-shrink:0}
.basket-heading h2{font-size:var(--fs-h2);margin:0}
.basket-heading h2 span{font-weight:700}
.heading-tools{display:flex;gap:var(--s1)}
.heading-tools .icon-button{border:0;background:var(--d-surface2)}
.heading-tools .icon-button:disabled{background:transparent}
#cart-lines{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.cart-line{display:grid;grid-template-columns:36px minmax(0,1fr) auto 72px;align-items:center;gap:var(--s2);min-height:48px;padding:2px 0;border-bottom:1.5px solid var(--d-line);position:relative}
.cart-thumb{width:36px;height:30px;object-fit:contain;border-radius:6px;background:var(--pos-photo)}
.cart-detail{min-width:0}
.cart-detail>strong{display:block;font-size:var(--fs-body);line-height:18px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cart-detail>small{display:block;font-size:var(--fs-cap);color:var(--d-muted);white-space:nowrap;line-height:15px}
.cart-amount{font-size:var(--fs-body);font-weight:800;text-align:right;white-space:nowrap;letter-spacing:-.02em}
.cart-controls{display:flex;align-items:center;min-width:0}
.cart-controls input{width:44px;flex:0 0 44px;min-height:44px;height:44px;min-width:0;text-align:center;padding:0;border:0;background:transparent;font-size:var(--fs-body);font-weight:700;border-radius:0;appearance:textfield;-moz-appearance:textfield}
.cart-controls input::-webkit-inner-spin-button,.cart-controls input::-webkit-outer-spin-button{appearance:none;margin:0}
.cart-controls button{position:relative;padding:0;border:0;border-radius:50%;background:transparent;min-width:44px;width:44px;height:44px;flex-shrink:0;min-height:0}
.cart-controls button::before{content:"";position:absolute;inset:9px;border-radius:50%;background:var(--d-surface2)}
.cart-controls button:hover::before{background:var(--nb-pressed)}
.cart-controls button .icon{position:relative;width:16px;height:16px}
.cart-line .remove-line{position:absolute;right:-6px;top:-6px;width:44px;height:44px;min-height:0;padding:0;border:0;display:none;background:transparent}
.cart-line .remove-line::before{content:"";position:absolute;inset:12px;border-radius:50%;background:var(--pos-bad-soft)}
.remove-line .icon{position:relative;width:12px;height:12px}
.cart-line:focus-within .remove-line{display:flex}
@media (hover:hover){.cart-line:hover .remove-line{display:flex}}

.basket-bottom{display:grid;gap:var(--s2);flex-shrink:0;padding-top:var(--s2)}
.discount-row{display:flex;gap:var(--s2);align-items:center;border-radius:var(--r-field);background:var(--pos-discount-soft);padding:4px var(--s3) 4px var(--s2);min-height:52px}
.discount-row label{display:flex;align-items:center;gap:var(--s2);margin:0;font-size:var(--fs-body);color:var(--d-ink);font-weight:700}
.discount-row label .icon{width:20px;height:20px}
.discount-row>#discount-mode{border:0;background:var(--pos-discount-chip);color:var(--d-on-accent);padding:0 var(--s3);font-size:var(--fs-cap);min-width:44px;font-weight:800}
.discount-row input{width:76px;min-width:0;padding:0 var(--s1);text-align:center;font-size:var(--fs-body);font-weight:700;border:0;background:var(--d-surface);appearance:textfield;-moz-appearance:textfield}
.discount-row input::-webkit-inner-spin-button,.discount-row input::-webkit-outer-spin-button{appearance:none;margin:0}
.discount-row strong{margin-left:auto;font-size:var(--fs-lead);font-weight:800;color:var(--d-red);white-space:nowrap}
.discount-row strong.zero{color:var(--d-muted)}
.total{display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}
.total>span{font-size:var(--fs-h2);font-weight:800;letter-spacing:-.02em}
.total>div{display:flex;align-items:baseline;gap:var(--s1);white-space:nowrap;min-width:0}
.total strong{font-size:var(--fs-display);letter-spacing:-.035em;line-height:1.05;font-weight:800}
.currency{font-size:var(--fs-h2);font-weight:800}
.receipt-tools{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--s2)}
.receipt-tools button{border:0;background:var(--d-surface2);border-radius:var(--r-field);padding:0;min-height:48px}
.receipt-tools button:hover{background:var(--nb-hover)}
.receipt-tools .icon{width:24px;height:24px}
.payment-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2)}
.payment-actions button{padding:0 var(--s3);gap:var(--s3);font-size:var(--fs-lead);font-weight:700;white-space:nowrap;min-width:0;min-height:56px;border-radius:var(--r-panel)}
.payment-actions .icon{width:28px;height:28px}
.payment-actions button span{overflow:hidden;text-overflow:ellipsis}
.basket-hint{font-size:11px;color:var(--d-muted);text-align:center;margin:0;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.empty{text-align:center;color:var(--d-muted);padding:var(--s6) var(--s4);font-size:var(--fs-body);border:1.5px dashed var(--d-line);border-radius:var(--r-panel);grid-column:1/-1;align-self:stretch}
.empty strong{display:block;color:var(--d-ink);font-size:var(--fs-lead);margin-bottom:var(--s2)}
.basket #cart-lines .empty{margin-top:var(--s4);border:0;padding-top:var(--s5)}


/* ==== Разделы: заголовки, таблицы, формы ==== */
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);margin:var(--s3) 0 var(--s5)}
.section-heading h1{display:flex;align-items:center;gap:var(--s3)}
.section-heading h1::before,.operations-heading h1::before{content:"";width:24px;height:24px;flex:none;border-radius:0 0 0 24px;background:radial-gradient(circle at 70% 30%,var(--nb-yellow) 0 7px,transparent 8px),var(--nb-cobalt)}
.section-heading h2{margin:0}
.section-heading>span{font-size:var(--fs-cap);color:var(--d-muted)}
.hint{font-size:var(--fs-body);color:var(--d-muted);font-weight:400;margin:var(--s2) 0 0}
.table-wrap{overflow:auto;border:1.5px solid var(--d-line);border-radius:var(--r-panel);background:var(--d-surface);margin-top:var(--s3);padding:var(--s1)}
.table-wrap th:first-child{border-radius:var(--r-field) 0 0 var(--r-field)}.table-wrap th:last-child{border-radius:0 var(--r-field) var(--r-field) 0}
.table-wrap thead th{border-bottom:0}
table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}
th{font-size:var(--fs-cap);font-weight:700;background:var(--d-surface2);color:var(--d-muted)}
td,th{padding:var(--s3) var(--s4);border-bottom:1.5px solid var(--d-line)}
tr:last-child td{border-bottom:0}
td{font-size:var(--fs-body)}
td small{display:block;color:var(--d-muted);margin-top:2px;font-size:var(--fs-cap)}
.text-button{border:0;background:transparent;padding:0 var(--s2);font-size:var(--fs-body);color:var(--d-accent-ink);font-weight:700}
.text-button:hover{background:var(--nb-hover)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3);margin-bottom:var(--s5)}
.form-grid>button{align-self:end;width:max-content}
.equipment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--s4)}
.equipment-grid p{font-size:var(--fs-body);color:var(--d-muted)}
.store-form{display:flex;align-items:flex-end;gap:var(--s3);margin-bottom:var(--s5);flex-wrap:wrap}
.store-form label{margin:0;flex:1;min-width:180px}
.tag{font-size:var(--fs-cap);font-weight:700;background:var(--nb-sky);color:var(--nb-navy);padding:4px 10px;border-radius:var(--r-pill);display:inline-block;margin-bottom:var(--s4)}
.tag.orange{background:var(--pos-warn-soft);color:var(--d-warn)}
.sale{margin-bottom:var(--s3)}
.sale summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center}
.sale p{font-size:var(--fs-body);margin:var(--s3) 0 0}
.report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4)}
.report-grid .panel strong{display:block;font-size:var(--fs-h1);margin:var(--s3) 0}
.feature-state{max-width:700px;margin:var(--s6) auto;padding:var(--s6);display:flex;flex-direction:column;align-items:flex-start;gap:var(--s4)}
.feature-state>.icon{width:36px;height:36px}
.feature-state p{margin:0;line-height:1.7;color:var(--d-muted)}
.feature-state h1{margin:0}
.about-version{margin:var(--s5) 0 0;font-size:var(--fs-cap);color:var(--d-muted)}

dialog{border:1.5px solid var(--d-line);border-radius:var(--r-large);max-width:560px;width:calc(100% - 32px);padding:var(--s5);color:var(--d-ink);background:var(--d-surface);box-shadow:var(--d-shadow)}
dialog[open]{animation:pos-dialog .2s var(--pos-ease)}
@keyframes pos-dialog{from{opacity:0;transform:translateY(6px) scale(.98)}}
dialog::backdrop{background:var(--pos-scrim)}
dialog .section-heading{margin-top:0}
dialog label{margin-bottom:var(--s3)}
.wide{width:100%}
.input-row{display:flex;gap:var(--s2);margin-top:var(--s4)}
.more-options{display:grid;gap:var(--s3)}
.more-options button{justify-content:flex-start}
.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden;padding:0;border:0;margin:-1px}
[hidden]{display:none!important}
#message:empty{display:none}
#message{position:fixed;top:72px;right:var(--s5);z-index:50;max-width:min(450px,calc(100vw - 32px));border:1.5px solid color-mix(in srgb,var(--d-green) 35%,transparent);background:var(--pos-ok-soft);color:var(--d-green);border-radius:var(--r-panel);box-shadow:var(--d-shadow);padding:var(--s3) var(--s4);display:flex;align-items:center;gap:var(--s3);font-size:var(--fs-body);font-weight:600;animation:pos-toast .22s var(--pos-ease)}
@keyframes pos-toast{from{opacity:0;transform:translateY(-6px)}}
#message button{background:transparent;border:0;padding:0;width:44px;height:44px;flex-shrink:0;margin:-10px -10px -10px 0}
#message .icon{width:16px;height:16px}
#message.error,.error{color:var(--d-red)}
#message.error{background:var(--pos-bad-soft);border-color:color-mix(in srgb,var(--d-red) 35%,transparent)}

/* ==== Оборудование, языки, направления, советник ==== */
.hardware-discovery{margin-bottom:var(--s4)}
#hardware-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--s3)}
.discovered-device{border:1.5px solid var(--d-line);border-radius:var(--r-panel);padding:var(--s4);overflow-wrap:anywhere}
.discovered-device .tag{display:table;margin-top:var(--s2)}
.discovered-device small{display:block}
.discovered-device a{display:block;margin-top:var(--s2)}
#locale-form{margin-bottom:var(--s4)}
#locale-form h2,#locale-form p,#locale-form .currency-ack{grid-column:1/-1}
.currency-ack{display:flex;align-items:center;gap:var(--s2)}
.currency-ack input{width:auto;min-height:20px}
#reports-content>h2{grid-column:1/-1}
.business-section{margin-bottom:var(--s4)}
.business-section form{margin-top:var(--s4)}
.business-section h3,.business-section p,.business-section .currency-ack{grid-column:1/-1}
.catalog-business-tools{display:flex;gap:var(--s4);align-items:end;margin:var(--s4) 0}
.catalog-business-tools label{min-width:230px}
.sample-notice{display:none}
#product-form .currency-ack{margin-bottom:var(--s3)}
.advisor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--s4);margin-top:var(--s4)}
.advisor-card{display:flex;flex-direction:column;gap:var(--s3)}
.advisor-card h2{overflow-wrap:anywhere}
.advisor-card button{margin-top:auto}

/* ==== Склад и контроль сроков ==== */
body[data-screen="stock"] main{display:block}
#stock:not([hidden]){display:grid;gap:var(--s3);grid-template-rows:auto auto auto auto}
.sklad-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s3) var(--s4);flex-wrap:wrap}
.sklad-head>div:first-child{min-width:0;flex:1 1 320px}
.sklad-head .hint{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sklad-head h1{font-size:var(--fs-h1);font-weight:800}
.sklad-head .hint{margin:2px 0 0;font-size:var(--fs-cap)}
.warehouse-actions{display:flex;gap:var(--s2);flex-wrap:wrap;align-items:center}
.warehouse-actions>button,.menu>summary{border:0;background:var(--d-surface);box-shadow:var(--d-shadow);font-size:13px;padding:0 var(--s3);gap:6px}
.warehouse-actions>button.primary{background:var(--d-accent);color:var(--d-on-accent)}
.warehouse-actions .icon{width:20px;height:20px}
.menu{position:relative}
.menu>summary{list-style:none;display:inline-flex;align-items:center;gap:var(--s2);min-height:44px;border-radius:var(--r-pill);font-weight:700;cursor:pointer}
.menu>summary::-webkit-details-marker{display:none}
.menu>summary:hover{background:var(--nb-hover)}
.menu-list{position:absolute;right:0;top:calc(100% + 6px);z-index:20;display:grid;gap:2px;min-width:220px;padding:var(--s2);background:var(--d-surface);border:1.5px solid var(--d-line);border-radius:var(--r-panel);box-shadow:var(--d-shadow)}
.menu-list button{border:0;justify-content:flex-start;border-radius:var(--r-field)}
.warehouse-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s3)}
.kpi-card{position:relative;overflow:hidden;border-radius:var(--r-large);background:var(--d-surface);padding:var(--s3) var(--s4);display:grid;grid-template-columns:minmax(0,1fr) minmax(70px,42%);grid-template-rows:auto auto auto;column-gap:var(--s2);box-shadow:var(--d-shadow);min-width:0}
.kpi-head{grid-column:1/-1;display:flex;align-items:center;gap:var(--s2);font-size:var(--fs-body);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi-head .icon{width:22px;height:22px}
.kpi-card strong{font-size:var(--fs-kpi);font-weight:800;letter-spacing:-.025em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.kpi-card .delta{grid-column:1}
.kpi-card .spark{grid-column:2;grid-row:2/4;align-self:end;height:42px}
.spark svg{display:block;width:100%;height:100%;overflow:visible}
.spark .line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.spark .area{stroke:none;opacity:.16}
.kpi-value .spark{color:var(--d-mc2)}.kpi-low .spark{color:var(--d-mc5)}.kpi-soon .spark{color:var(--d-mc4)}.kpi-loss .spark{color:var(--d-mc1)}
.spark .line{stroke:currentColor}.spark .area{fill:currentColor}
.sklad-main{display:grid;grid-template-columns:minmax(0,1fr) var(--recs);gap:var(--s3);min-height:0}
.stock-table-panel{padding:var(--s3) var(--s4);min-width:0;display:flex;flex-direction:column;gap:var(--s2)}
.block-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}
.block-head h2,.recs-panel h2,.chart-card h2{display:flex;align-items:center;gap:var(--s2);font-size:var(--fs-title);margin:0;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.block-head h2 .icon,.recs-panel h2 .icon,.chart-card h2 .icon{width:22px;height:22px}
.block-tools{display:flex;gap:var(--s2)}
.block-tools>button{border:0;background:var(--d-surface2);font-size:var(--fs-body)}
.block-tools>button[aria-expanded="true"]{background:var(--d-accent-soft)}
.block-tools .icon{width:20px;height:20px}
.stock-tabs{display:flex;gap:var(--s2);align-items:center;overflow-x:auto;scrollbar-width:none}
.stock-tabs button{border:0;background:var(--d-surface2);font-size:var(--fs-cap);font-weight:700;color:var(--d-ink);padding:0 var(--s3);gap:6px;white-space:nowrap;flex-shrink:0}
.stock-tabs button .icon{width:16px;height:16px}
.stock-tabs .active{background:var(--d-accent);color:var(--d-on-accent)}
.stock-tabs .active .icon{filter:var(--pos-icon-on)}
.tab-count{font-weight:600;opacity:.85}
.stock-filters{display:flex;gap:var(--s2)}
.stock-filters input{min-width:150px;flex:1}
.stock-filters select{max-width:220px;font-size:var(--fs-body)}
.stock-table-panel .table-wrap{border:0;padding:var(--s1);margin:0;overflow:auto;max-height:var(--stock-table-h)}
.warehouse-table{width:100%}
.warehouse-table th{padding:6px var(--s3);position:sticky;top:0;z-index:1}
.warehouse-table td{height:44px;font-size:var(--fs-cap);font-weight:600;padding:0 var(--s3);border-bottom:1.5px solid var(--d-line)}
.stock-product-cell{display:flex;gap:var(--s3);align-items:center;min-width:170px;font-weight:700}
.stock-thumb{width:32px;height:26px;object-fit:contain;border-radius:6px;background:var(--pos-photo)}
.stock-status{display:inline-flex;align-items:center;gap:6px;border-radius:var(--r-pill);font-size:var(--fs-cap);font-weight:700;padding:3px 10px;white-space:nowrap}
.stock-status .icon{width:14px;height:14px;filter:none}
.stock-status.ok{background:var(--pos-ok-soft);color:var(--d-green)}
.stock-status.low,.stock-status.soon{background:var(--pos-warn-soft);color:var(--d-warn)}
.stock-status.expired,.stock-status.out{background:var(--pos-bad-soft);color:var(--d-red)}
.stock-status::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.row-actions{display:flex;justify-content:flex-end;gap:0;white-space:nowrap}
.row-actions .icon-button{border:0;background:transparent}
.row-actions .icon-button:hover{background:var(--nb-hover)}
.row-actions .icon{width:18px;height:18px}
.row-edit .icon{filter:var(--pos-icon-accent)}
.journal-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}
.journal-head h3{margin:0}
.recs-panel{padding:var(--s3) var(--s4);display:flex;flex-direction:column;gap:var(--s2);min-width:0}
.recs{display:grid;gap:var(--s2)}
.rec{display:grid;grid-template-columns:44px minmax(0,1fr) 20px;align-items:center;gap:var(--s3);width:100%;text-align:left;border:0;border-radius:var(--r-panel);padding:var(--s2) var(--s3);min-height:72px;font-weight:400;color:var(--d-ink)}
.rec strong{display:block;font-size:var(--fs-body);font-weight:800;line-height:1.3}
.rec small{display:block;font-size:var(--fs-cap);color:var(--d-muted);line-height:1.35}
.rec small b{color:var(--d-ink)}
.rec>.icon:first-child{width:30px;height:30px;justify-self:center;filter:none}
.rec>.icon:last-child{width:18px;height:18px}
.rec.discount{background:var(--pos-bad-soft)}.rec.discount>.icon:first-child{filter:var(--pos-icon-red)}
.rec.restock{background:var(--d-accent-soft)}.rec.restock>.icon:first-child{filter:var(--pos-icon-accent)}
.rec.speed{background:var(--pos-speed-soft)}.rec.speed>.icon:first-child{filter:var(--pos-icon-coral)}
.rec:hover{filter:brightness(.98)}
.recs .empty{padding:var(--s4)}
.sklad-charts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--s3)}
.chart-card{padding:var(--s3) var(--s4);min-width:0;display:flex;flex-direction:column;gap:var(--s2)}
.chart-reasons{display:grid;grid-template-columns:120px minmax(0,1fr);gap:var(--s4);align-items:center}
.donut{position:relative;width:120px;height:120px}
.donut svg{width:100%;height:100%;transform:rotate(-90deg)}
.donut circle{fill:none;stroke-width:16}
.donut .track{stroke:var(--d-grid)}
.donut-center{position:absolute;inset:0;display:grid;place-content:center;text-align:center;line-height:1.2}
.donut-center b{font-size:var(--fs-body);font-weight:800;white-space:nowrap}
.donut-center small{font-size:11px;color:var(--d-muted)}
.legend{list-style:none;margin:0;padding:0;display:grid;gap:var(--s2)}
.legend li{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:var(--s2);align-items:center;font-size:var(--fs-cap);font-weight:600}
.legend i{width:12px;height:12px;border-radius:50%}
.legend b{font-weight:800;white-space:nowrap}
.r-expired{background:var(--d-mc3);stroke:var(--d-mc3)}.r-spoiled{background:var(--d-mc5);stroke:var(--d-mc5)}.r-damaged{background:var(--d-mc1);stroke:var(--d-mc1)}.r-other{background:var(--nb-ctl);stroke:var(--nb-ctl)}
.chart-categories{display:grid;gap:5px}
.cat-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) 38px;gap:var(--s3);align-items:center;font-size:var(--fs-cap);font-weight:600}
.cat-row span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cat-row b{text-align:right;font-weight:800}
.bar-track{display:block;height:10px;border-radius:var(--r-pill);background:var(--d-grid);overflow:hidden}
.bar-fill{display:block;height:100%;border-radius:var(--r-pill);background:var(--d-mc1)}
.chart-expiry{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--s2);align-items:end;height:128px;padding-top:var(--s2)}
.exp-col{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;height:100%;gap:4px;text-align:center;min-width:0}
.exp-col b{font-size:var(--fs-body);font-weight:800}
.exp-col i{display:block;border-radius:6px;min-height:6px;background:var(--d-mc1)}
.exp-col.d0 i{background:var(--nb-coral)}.exp-col.d1 i,.exp-col.d2 i,.exp-col.d3 i{background:var(--nb-yellow)}
.exp-col.none i{background:var(--d-grid)}
.exp-col small{font-size:11px;color:var(--d-muted);white-space:nowrap}
.chart-card .hint{margin:0;font-size:11px}
dialog.stock-movement{max-width:640px}
#movement-form .wide-field{grid-column:1/-1}
#movement-form>button{grid-column:1/-1;width:100%}
#stock-location-note{display:none}

#manual-weight-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2);margin:var(--s4) 0}
#manual-weight-products button{min-height:48px}
.label-settings{margin-bottom:var(--s4)}
.autofill-note{background:var(--d-accent-soft);border-radius:var(--r-field);padding:var(--s3);margin:var(--s3) 0}
.autofill-note p{margin:6px 0}
.autofill-note a{font-size:var(--fs-cap)}
.autofill-product-photo{display:block;width:130px;height:130px;object-fit:contain;background:var(--pos-photo);border-radius:var(--r-field);margin:var(--s2) 0}
.automation-tools{margin-bottom:var(--s4)}
.automation-tools h3{margin:var(--s5) 0 var(--s3)}
.automation-tools textarea{min-height:110px;font:12px/1.5 ui-monospace,Menlo,Consolas,monospace}
.automation-tools form>button{margin:var(--s2) var(--s2) var(--s2) 0}
.automation-tools ul{padding-left:20px;line-height:1.8;font-size:var(--fs-cap)}
.automation-tools .import-summary{white-space:pre-line;font-size:var(--fs-cap);margin:var(--s3) 0}
.import-invalid{background:var(--pos-bad-soft)}
.alert-expired{color:var(--d-red)}

/* Смена и бонусы */
.shift-report{display:grid;gap:6px;margin:var(--s3) 0}
.shift-report p{display:flex;justify-content:space-between;gap:var(--s3);margin:0;font-size:var(--fs-lead);border-bottom:1.5px solid var(--d-line);padding:6px 0}
.shift-dialog form{margin-top:var(--s3)}
.shift-dialog .wide{min-height:48px;margin-top:var(--s2)}
.loyalty-dialog form,.loyalty-body{display:grid;gap:var(--s2);margin-top:var(--s2)}
.loyalty-dialog .wide{min-height:48px}
.loyalty-dialog input{font-size:17px}
.loyalty-name{font-size:17px;font-weight:700;margin:0}
.loyalty-balance{font-size:var(--fs-h2);font-weight:700;color:var(--d-accent-ink);margin:0}
.loyalty-consent{display:flex;gap:var(--s3);align-items:flex-start;font-size:var(--fs-body);color:var(--d-ink);font-weight:400}
.loyalty-consent input{width:28px;min-width:28px;height:28px;min-height:28px;margin:0}

/* RESPONSIVE */

/* ==== Размеры экрана: без масштабирования, кнопки остаются 44 px ==== */
@media (max-width:1599px){
 :root{--sidebar:220px;--receipt:400px;--recs:380px}
 .brandtext{font-size:24px}
}
@media (min-height:900px) and (min-width:1366px){.product-grid{grid-auto-rows:minmax(200px,auto)}.product-card .product-image{height:104px}}
@media (max-height:880px){
 .catalog-panel{gap:var(--s2);padding:var(--s2)}
 .product-grid{grid-auto-rows:minmax(150px,auto);gap:var(--s2)}
 .product-card .product-image{height:62px}
 .metric{padding:var(--s2) var(--s3)}
 .mini-bars{height:36px}
 .scale-head{min-height:44px}
 .scale-readouts strong{font-size:22px}
 .scale-readouts .unit{font-size:17px}
 .scale-line{display:none}
 .live-scale-actions{padding-top:var(--s2)}
 .basket-bottom{gap:6px}
 .total strong{font-size:30px}
 .total>span{font-size:var(--fs-kpi)}
 .currency{font-size:var(--fs-kpi)}
 .receipt-tools button{min-height:44px}
 .payment-actions button{min-height:52px}
 .basket-hint{display:none}
 :root{--stock-table-h:265px}
 .chart-expiry{height:112px}
}
@media (max-width:1439px){
 :root{--sidebar:208px;--receipt:368px}
 .topbar,main{padding-left:var(--s4);padding-right:var(--s4)}
 .topbar{gap:var(--s3)}
 .workplace,.topbar-end{gap:var(--s3)}
 .brandtext{font-size:22px}
 .brand .nbmark{height:30px}
 .business-badge,.profile-copy,.local-profile>.chevron{display:none}
 #clock{gap:var(--s3);font-size:var(--fs-body)}
 .cart-line{grid-template-columns:30px minmax(0,1fr) auto 64px;gap:6px}
 .product-card{padding-left:10px;padding-right:10px}
 .cashier-actions button{padding:0 var(--s2);font-size:13px;gap:6px}
 .live-scale-actions button{font-size:13px;gap:6px}
 .live-scale-actions{grid-template-columns:1fr 1fr}
 .live-scale-actions button.yellow{grid-column:1/-1}
 .warehouse-actions>button,.menu>summary{padding:0 var(--s3)}
}
@media (max-width:1365px){
 .product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .register-name .icon,.session-block .clock-date{display:none}
 .cashier-actions{flex-wrap:wrap}
 .cashier-actions button{flex:1 1 calc(25% - var(--s2))}
 .cashier-actions .more-chip{flex:1 1 calc(25% - var(--s2))}
 .metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s2)}
 .mini-bars{display:none}
 .metric-title{font-size:13px}
 .metric-title .icon{display:none}
 .metric>strong,.kpi-checks-body>strong{font-size:20px}
 .kpi-critical .soft-button{min-height:44px;padding:0 var(--s2)}
 .sklad-main{grid-template-columns:1fr}
 .warehouse-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 .scale-readouts strong{font-size:20px}
 .scale-readouts>div{padding:0 var(--s2)}
 .live-scale-actions{grid-template-columns:1fr 1fr}
 .live-scale-actions button.yellow{grid-column:1/-1}
}
/* iPad вертикально (до 1024 точек, в т. ч. iPad Pro 12,9″ — 1024×1366) и планшеты Android: меню — полоса иконок, чек справа */
@media (max-width:1099px){
 :root{--sidebar:84px;--receipt:336px}
 .sidebar{padding:var(--s3) var(--s2) 0;align-items:stretch}
 .brand{justify-content:center;padding:0;margin-bottom:var(--s2)}
 .brandtext{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}
 nav button{justify-content:center;padding:0;min-height:52px}
 nav button>span{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}
 .nbi{width:24px;height:24px}
 .sidebar-art{margin:var(--s3) calc(var(--s2) * -1) 0;flex-basis:70px}
 .topbar{padding:0 var(--s3);gap:var(--s2)}
 .workplace,.topbar-end{gap:var(--s2)}
 main{padding:var(--s2) var(--s3) var(--s3)}
 .session-block{display:none}
 .store-pill{max-width:170px}
 .checkout-grid{gap:var(--s3)}
 .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(168px,auto)}
 .product-card .product-image{height:72px}
 .cashier-actions{flex-wrap:nowrap}
 .cashier-actions button,.cashier-actions .more-chip{flex:1 1 0;min-width:44px;padding:0}
 .cashier-actions button>span{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}
 .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 .warehouse-table th:nth-child(2),.warehouse-table td:nth-child(2){display:none}
 .cart-line{grid-template-columns:minmax(0,1fr) auto 58px}
 .cart-thumb{display:none}
 .scale-readouts{grid-template-columns:1fr 1fr}
 .scale-readouts>div:last-child{grid-column:1/-1;border-left:0;padding-top:var(--s1)}
 .report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .form-grid{grid-template-columns:1fr}
 .section-heading{flex-wrap:wrap}
 .sklad-charts{grid-template-columns:1fr}
 .chart-reasons{grid-template-columns:110px minmax(0,1fr)}
}
/* iPad Pro 12,9″ вертикально (1024 точки): каталогу хватает места на три колонки */
@media (min-width:1000px) and (max-width:1099px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
