/* ══════════════════════════════════════════════════════════════════════════════
   НОВЫЙ ВИД КАБИНЕТА (daisyUI-демо → бой, 18.10.2026). Поток «оболочка».
   Свой CSS поверх классов кабинета: сам Tailwind/daisyUI в бой НЕ тащим — его
   preflight и классы btn/card/modal/tabs/toast конфликтуют с кабинетом.

   Как включается. Слой действует на html:not([data-dz-off]) — то есть по умолчанию
   у всех. «Прежний вид» в «Мой кабинет → Оформление» ставит data-dz-off, и кабинет
   выглядит ровно как до переноса (js/70_dz-shell.js). Откат целиком — убрать строку
   <link> этого файла в index.html.

   Палитры. Здесь ОПРЕДЕЛЕНИЯ токенов (как в style.css): поверхности и линии сняты с
   тем демо uip-light / uip-dark / csi-light / csi-dark (src/app.css), текстовые
   акценты (--gold, --muted, --green …) оставлены боевыми — они выверены по WCAG.
   Компоненты ниже берут цвета ТОЛЬКО из токенов.

   Специфичность. Блоки бренда в style.css весят (0,2,1); наши — (0,3,1) и идут позже,
   поэтому палитра светлой УиП не перебивает светлую ЦСИ: каждый блок исключает чужой бренд.
   ══════════════════════════════════════════════════════════════════════════════ */

/* ─── Общее для всех палитр: радиусы, шрифт, линии (из демо: поле .625rem, блок 1rem) ─── */
html:not([data-dz-off])[data-brand]{
  --r-sm:10px; --r-md:12px; --r-lg:16px; --radius:16px; --r-xl:20px;
  --dz-field:10px; --dz-box:16px;
  --dz-ease:cubic-bezier(.23,1,.32,1);
  --line:color-mix(in oklab,var(--ink) 12%,var(--panel));
  --inset-line:color-mix(in oklab,var(--ink) 7%,transparent);
  --hover:color-mix(in oklab,var(--ink) 5%,transparent);
  --hover-2:color-mix(in oklab,var(--ink) 2.5%,transparent);
  --dz-track:color-mix(in oklab,var(--ink) 6%,var(--panel2));
}

/* ─── УиП · тёмная («УиП · ночь») ─── */
html:not([data-dz-off]):not([data-theme="light"]):not([data-brand="csi"]){
  --bg:#0f1115; --bg-deep:#0b0d10; --panel:#171a20; --panel3:#252a33;
  --panel2:color-mix(in oklab,#0f1115 55%,#252a33);
  --sunken:color-mix(in oklab,#0f1115 70%,#171a20);
  --ink:#eceae4;
  --sh-1:0 1px 2px rgba(0,0,0,.3); --sh-2:0 16px 48px rgba(0,0,0,.55); --sh-pop:0 10px 30px rgba(0,0,0,.45);
  --scrim:rgba(0,0,0,.6);
}
/* ─── УиП · светлая («УиП · бумага») ─── */
html:not([data-dz-off])[data-theme="light"]:not([data-brand="csi"]){
  --bg:#faf8f3; --panel:#ffffff; --panel3:#eeeade;
  --panel2:color-mix(in oklab,#faf8f3 55%,#eeeade);
  --sunken:color-mix(in oklab,#faf8f3 70%,#ffffff);
  --ink:#1c1e24;
  --sh-1:0 1px 2px rgba(60,52,32,.06); --sh-2:0 18px 50px rgba(60,52,32,.16); --sh-pop:0 10px 30px rgba(60,52,32,.14);
  --sh-menu:0 12px 32px rgba(60,52,32,.16);
  --scrim:rgba(38,34,26,.32);
}
/* ─── ЦСИ · тёмная («ЦСИ · ночь») ─── */
html:not([data-dz-off])[data-brand="csi"]:not([data-theme="light"]){
  --bg:#0d1524; --bg-deep:#0a101c; --panel:#152033; --panel3:#22314a;
  --panel2:color-mix(in oklab,#0d1524 55%,#22314a);
  --sunken:color-mix(in oklab,#0d1524 70%,#152033);
  --ink:#e6edf6;
  --sh-1:0 1px 2px rgba(0,0,0,.3); --sh-2:0 16px 48px rgba(0,0,0,.55); --sh-pop:0 10px 30px rgba(0,0,0,.45);
  --scrim:rgba(0,0,0,.6);
}
/* ─── ЦСИ · светлая («ЦСИ · лист») ─── */
html:not([data-dz-off])[data-brand="csi"][data-theme="light"]{
  --bg:#f3f6fa; --panel:#ffffff; --panel3:#e3e9f1;
  --panel2:color-mix(in oklab,#f3f6fa 55%,#e3e9f1);
  --sunken:color-mix(in oklab,#f3f6fa 70%,#ffffff);
  --ink:#16202e;
  --sh-1:0 1px 2px rgba(20,32,52,.06); --sh-2:0 18px 50px rgba(20,32,52,.16); --sh-pop:0 10px 30px rgba(20,32,52,.14);
  --scrim:rgba(20,32,52,.32);
}

/* ─── Дополнительные палитры из «библиотеки стилистик» демо (daisyUI nord / dim).
   Меняют поверхности и акцент; статусные цвета берутся из светлой/тёмной темы. ─── */
html:not([data-dz-off])[data-dz-pal="nord"][data-theme="light"]{
  --bg:#e5e9f0; --bg-deep:#dde2ea; --panel:#eceff4; --panel3:#d8dee9;
  --panel2:color-mix(in oklab,#e5e9f0 55%,#d8dee9);
  --sunken:color-mix(in oklab,#e5e9f0 70%,#eceff4);
  --ink:#2e3440; --muted:#5b6475;
  --gold:#3f5f87; --gold-dim:#5e81ac; --gold-fill:#5e81ac; --gold-fill-h:#4f719a; --on-gold:#ffffff;
  --soft-gold:rgba(94,129,172,.16); --soft-gold-2:rgba(94,129,172,.08); --ink-gold:#36547a;
  --sel-bg:rgba(94,129,172,.3); --gold-fill-90:rgba(94,129,172,.92);
  --grad-gold:linear-gradient(135deg,#81a1c1,#5e81ac);
  --grad-photo:linear-gradient(135deg,#d8dee9,#c9d1de);
  --sh-1:0 1px 2px rgba(46,52,64,.07); --sh-2:0 18px 50px rgba(46,52,64,.16); --sh-pop:0 10px 30px rgba(46,52,64,.14);
  --scrim:rgba(46,52,64,.32);
}
html:not([data-dz-off])[data-dz-pal="dim"]:not([data-theme="light"]){
  --bg:#242933; --bg-deep:#1e222b; --panel:#2a303c; --panel3:#20252e;
  --panel2:color-mix(in oklab,#2a303c 60%,#20252e);
  --sunken:color-mix(in oklab,#242933 70%,#20252e);
  --ink:#d7e2e8; --muted:#97a6b0;
  --gold:#9fe88d; --gold-dim:#6fb062; --gold-fill:#9fe88d; --gold-fill-h:#b2f0a3; --on-gold:#13240f;
  --soft-gold:rgba(159,232,141,.14); --soft-gold-2:rgba(159,232,141,.07); --ink-gold:#c8f3bd;
  --sel-bg:rgba(159,232,141,.28); --gold-fill-90:rgba(159,232,141,.9);
  --grad-gold:linear-gradient(135deg,#9fe88d,#5fa152);
  --grad-photo:linear-gradient(135deg,#323946,#272d38);
  --sh-1:0 1px 2px rgba(0,0,0,.3); --sh-2:0 16px 48px rgba(0,0,0,.5); --sh-pop:0 10px 30px rgba(0,0,0,.4);
  --scrim:rgba(0,0,0,.55);
}


/* ─── CORPORATE — палитра ПО УМОЛЧАНИЮ (решение владельца 18.10.2026: «от золотого отказываюсь,
   белый фон самый читабельный, Corporate светлая и тёмная»). Действует, пока палитра не выбрана
   (нет data-dz-pal); прежние фирменные палитры УиП/ЦСИ — data-dz-pal="brand", Nord/Dim — свои.
   Токены «золота» переопределены на синий daisyUI corporate (#0082ce), имена оставлены, чтобы
   весь кабинет перекрасился без правок. Цвет текста акцента притемнён до контраста ≥4.5:1. ─── */
html:not([data-dz-off]):not([data-dz-pal])[data-brand]{
  --r-sm:6px; --r-md:6px; --r-lg:8px; --radius:8px; --r-xl:10px;
  --dz-field:6px; --dz-box:8px;
}
html:not([data-dz-off]):not([data-dz-pal])[data-theme="light"]{
  --bg:#ffffff; --bg-deep:#f2f4f7; --panel:#ffffff; --panel3:#e9ecf0;
  --panel2:#f5f6f8; --sunken:#f7f8fa;
  --ink:#181a2a; --muted:#5d6676;
  --gold:#0069ab; --gold-dim:#61738d; --gold-fill:#0082ce; --gold-fill-h:#0074b8; --on-gold:#ffffff;
  --soft-gold:rgba(0,130,206,.10); --soft-gold-2:rgba(0,130,206,.05); --ink-gold:#005a92;
  --sel-bg:rgba(0,130,206,.22); --gold-fill-90:rgba(0,130,206,.92);
  --grad-gold:linear-gradient(135deg,#0082ce,#0069ab);
  --grad-photo:linear-gradient(135deg,#eef1f5,#e2e6ec);
  --line:color-mix(in oklab,var(--ink) 13%,#ffffff);
  --sh-1:0 1px 2px rgba(24,26,42,.05); --sh-2:0 16px 40px rgba(24,26,42,.14); --sh-pop:0 8px 24px rgba(24,26,42,.12);
  --sh-menu:0 10px 28px rgba(24,26,42,.14);
  --scrim:rgba(24,26,42,.30);
}
html:not([data-dz-off]):not([data-dz-pal]):not([data-theme="light"]){
  --bg:#0f1218; --bg-deep:#0b0d12; --panel:#161a22; --panel3:#262c37;
  --panel2:#1c212a; --sunken:#12151c;
  --ink:#e8ebf0; --muted:#9aa3b2;
  --gold:#3da7ed; --gold-dim:#7d8ea8; --gold-fill:#0082ce; --gold-fill-h:#1592dc; --on-gold:#ffffff;
  --soft-gold:rgba(61,167,237,.14); --soft-gold-2:rgba(61,167,237,.07); --ink-gold:#a9d6f6;
  --sel-bg:rgba(61,167,237,.30); --gold-fill-90:rgba(0,130,206,.92);
  --grad-gold:linear-gradient(135deg,#1592dc,#0069ab);
  --grad-photo:linear-gradient(135deg,#232935,#1a1f28);
  --sh-1:0 1px 2px rgba(0,0,0,.3); --sh-2:0 16px 48px rgba(0,0,0,.55); --sh-pop:0 10px 30px rgba(0,0,0,.45);
  --scrim:rgba(0,0,0,.6);
}

/* ══════════════════════ База ══════════════════════ */
html:not([data-dz-off]) body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11","ss01"}
html:not([data-dz-off]) :where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--gold-fill);outline-offset:2px}

/* Шапка раздела: как в демо — заголовок без капса, тише подпись */
html:not([data-dz-off]) .topbar h1{text-transform:none;letter-spacing:.01em;font-size:26px;line-height:1.1}
html:not([data-dz-off]) .topbar .crumb{font-size:13px}

/* ─── Кнопки ─── */
html:not([data-dz-off]) .btn{border-radius:var(--dz-field);font-weight:600;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}
html:not([data-dz-off]) .btn:not(.ghost){box-shadow:var(--sh-1)}
html:not([data-dz-off]) .btn.ghost{background:var(--panel);border:1px solid var(--line);color:var(--ink);font-weight:500}
html:not([data-dz-off]) .btn.ghost:hover{background:var(--hover);border-color:color-mix(in oklab,var(--gold-fill) 45%,var(--line));color:var(--ink)}
html:not([data-dz-off]) .btn:disabled{opacity:.55;cursor:default;box-shadow:none}

/* ─── Поля ввода: тонкая рамка, мягкое кольцо фокуса ─── */
html:not([data-dz-off]) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]),select,textarea){transition:border-color .15s,box-shadow .15s}
html:not([data-dz-off]) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]),select,textarea):focus{outline:none;border-color:var(--gold-fill);box-shadow:0 0 0 3px var(--soft-gold)}
html:not([data-dz-off]) .login-field input{border-radius:var(--dz-field)}
html:not([data-dz-off]) input[type=checkbox],html:not([data-dz-off]) input[type=radio]{accent-color:var(--gold-fill)}

/* ─── Блоки и карточки ─── */
html:not([data-dz-off]) .panel-box{border-radius:var(--dz-box);box-shadow:var(--sh-1)}
html:not([data-dz-off]) .panel-box h3{text-transform:none;letter-spacing:0;color:var(--ink);font-size:15px}
html:not([data-dz-off]) .profile,html:not([data-dz-off]) .kpi,html:not([data-dz-off]) .col{border-radius:var(--dz-box);box-shadow:var(--sh-1)}
html:not([data-dz-off]) .login-box{border-radius:var(--r-xl);box-shadow:var(--sh-2)}

/* ─── Таблицы: тихая шапка без капса ─── */
html:not([data-dz-off]) th{text-transform:none;letter-spacing:0;font-size:11.5px;font-weight:600}
html:not([data-dz-off]) tr:hover td{background:var(--hover-2)}

/* ─── Чипы и бейджи ─── */
html:not([data-dz-off]) .pill{border-radius:var(--r-pill);font-weight:500;font-size:11.5px}
html:not([data-dz-off]) .note{border-radius:var(--dz-field)}

/* ─── Сегмент-переключатели: дорожка + «бегунок» (daisyUI tabs-box) ─── */
html:not([data-dz-off]) .seg:has(> button){display:inline-flex;gap:2px;padding:3px;width:fit-content;max-width:100%;
  background:var(--dz-track);border:1px solid var(--line);border-radius:12px}
html:not([data-dz-off]) .seg:has(> button) > button{background:none;border:0;border-radius:9px;color:var(--muted);font-weight:500;padding:6px 12px}
html:not([data-dz-off]) .seg:has(> button) > button:hover{color:var(--ink)}
html:not([data-dz-off]) .seg:has(> button) > button.active{background:var(--panel);color:var(--ink);box-shadow:var(--sh-1)}
html:not([data-dz-off]) .theme-sw{background:var(--dz-track);border-radius:12px;padding:2px}
html:not([data-dz-off]) .theme-sw button{border-radius:9px}
html:not([data-dz-off]) .theme-sw button[aria-pressed="true"]{background:var(--panel);color:var(--ink);box-shadow:var(--sh-1)}

/* ─── Окна ─── */
html:not([data-dz-off]) .modal-ov{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
html:not([data-dz-off]) .modal,html:not([data-dz-off]) .modal-win{border-radius:var(--dz-box);box-shadow:var(--sh-2)}
html:not([data-dz-off]) .modal-title{text-transform:none;color:var(--ink);letter-spacing:.01em}
@media (max-width:768px){
  html:not([data-dz-off]) .modal-win,html:not([data-dz-off]) .modal{border-radius:20px 20px 0 0!important}
}

/* ─── Тосты ─── */
html:not([data-dz-off]) .toast,html:not([data-dz-off]) #pfToast{border-radius:12px!important;animation:dzToastIn .25s var(--dz-ease)}
@keyframes dzToastIn{from{opacity:0;transform:translate(-50%,10px) scale(.97)}}

/* ─── Тонкие полосы прокрутки в рабочем поле (меню красит свою сам, style.css) ─── */
html:not([data-dz-off]) .main ::-webkit-scrollbar{width:10px;height:10px}
html:not([data-dz-off]) .main ::-webkit-scrollbar-thumb{background:color-mix(in oklab,var(--ink) 18%,transparent);border-radius:10px;border:3px solid transparent;background-clip:padding-box}
html:not([data-dz-off]) .main ::-webkit-scrollbar-thumb:hover{background-color:color-mix(in oklab,var(--ink) 30%,transparent)}
html:not([data-dz-off]) .main ::-webkit-scrollbar-track{background:transparent}

/* ══════════════════════ Левое меню ══════════════════════
   Широкое (как в демо, 232px) — когда у body НЕТ nav-collapsed; узкое значками — когда есть.
   Класс снимает/ставит js/70_dz-shell.js (кнопка «Свернуть меню», экран уже 900px — всегда узкое). */
html:not([data-dz-off]) .side{background:var(--panel);border-right:1px solid var(--line)}
html:not([data-dz-off]) .nav .ico .dz-svg{display:block;width:18px;height:18px;margin:0 auto}
html:not([data-dz-off]) .nav .ico .dz-emo{display:none}
html[data-dz-off] .nav .ico .dz-svg{display:none}

/* широкое */
html:not([data-dz-off]) body:not(.nav-collapsed) .side{width:232px}
html:not([data-dz-off]) body:not(.nav-collapsed) .main{margin-left:232px}
html:not([data-dz-off]) body:not(.nav-collapsed) .logo{padding:16px 16px 12px;border-bottom:0}
html:not([data-dz-off]) body:not(.nav-collapsed) .logo-img{height:38px}
html:not([data-dz-off]) body:not(.nav-collapsed) .nav{padding:2px 12px 8px}
html:not([data-dz-off]) body:not(.nav-collapsed) .nav-group{padding:12px 10px 4px;font-size:10.5px;font-weight:600;letter-spacing:.08em;color:var(--muted)}
html:not([data-dz-off]) body:not(.nav-collapsed) .nav > button{gap:10px;padding:7px 10px;margin:1px 0;border-left:0;border-radius:9px;
  font-size:13.5px;font-weight:500;color:var(--ink);transition:background .15s,color .15s}
html:not([data-dz-off]) body:not(.nav-collapsed) .nav > button .ico{width:18px;opacity:.75;font-size:16px}
html:not([data-dz-off]) body:not(.nav-collapsed) .nav > button:hover{background:var(--hover)}
html:not([data-dz-off]) body:not(.nav-collapsed) .nav > button.active{background:var(--soft-gold);color:var(--ink-gold)}
html:not([data-dz-off]) body:not(.nav-collapsed) .nav > button.active .ico{opacity:1}
html:not([data-dz-off]) body:not(.nav-collapsed) .side-intake{padding:8px 16px 0}
html:not([data-dz-off]) body:not(.nav-collapsed) .side-theme{padding:8px 16px 8px}
html:not([data-dz-off]) body:not(.nav-collapsed) .side-foot{padding:10px 14px 12px}
@media (max-height:860px){
  html:not([data-dz-off]) body:not(.nav-collapsed) .nav > button{padding:5px 10px}
  html:not([data-dz-off]) body:not(.nav-collapsed) .logo{padding:8px 16px 6px}
  html:not([data-dz-off]) body:not(.nav-collapsed) .logo-img{height:30px}
}

/* узкое — только значки (подпись — во всплывающей подсказке кнопки) */
html:not([data-dz-off]) body.nav-collapsed .side{width:68px}
html:not([data-dz-off]) body.nav-collapsed .main{margin-left:68px}
html:not([data-dz-off]) body.nav-collapsed .logo-img{height:40px}
html:not([data-dz-off]) body.nav-collapsed .nav{padding:4px 0}
html:not([data-dz-off]) body.nav-collapsed .nav > button{flex-direction:row;justify-content:center;width:44px;margin:2px auto;padding:9px 0;
  border:0;border-radius:10px;color:var(--ink)}
html:not([data-dz-off]) body.nav-collapsed .nav > button::after{display:none}
html:not([data-dz-off]) body.nav-collapsed .nav > button .ico{opacity:.75}
html:not([data-dz-off]) body.nav-collapsed .nav > button .ico .dz-svg{width:20px;height:20px}
html:not([data-dz-off]) body.nav-collapsed .nav > button:hover{background:var(--hover)}
html:not([data-dz-off]) body.nav-collapsed .nav > button.active{border:0;background:var(--soft-gold);color:var(--ink-gold)}
html:not([data-dz-off]) body.nav-collapsed .nav > button.active .ico{opacity:1}
html:not([data-dz-off]) body.nav-collapsed .side-foot{padding:8px 4px 10px}
html:not([data-dz-off]) body.nav-collapsed .user-chip .uc-name{font-size:10px;overflow-wrap:normal;word-break:normal;hyphens:none}
html:not([data-dz-off]) body.nav-collapsed .user-chip .uc-role{font-size:8.5px;letter-spacing:0;overflow-wrap:normal}
@media (max-height:860px){
  html:not([data-dz-off]) body.nav-collapsed .nav > button{padding:6px 0}
  html:not([data-dz-off]) body.nav-collapsed .logo-img{height:30px}
}
@media (max-width:900px){
  html:not([data-dz-off]) body.nav-collapsed .side{width:64px}
  html:not([data-dz-off]) body.nav-collapsed .main{margin-left:64px}
}
@media (max-width:768px){
  html:not([data-dz-off]) body.nav-collapsed .main,html:not([data-dz-off]) body:not(.nav-collapsed) .main{margin-left:0}
}

/* кнопка «Свернуть меню» внизу меню */
.dz-navmini{display:none}
html:not([data-dz-off]) .dz-navmini{display:flex;align-items:center;gap:10px;width:calc(100% - 24px);margin:4px 12px 2px;padding:6px 10px;
  background:none;border:0;border-radius:9px;color:var(--muted);font-size:12.5px;white-space:nowrap;cursor:pointer}
html:not([data-dz-off]) .dz-navmini:hover{background:var(--hover);color:var(--ink)}
html:not([data-dz-off]) .dz-navmini svg{flex:none;transition:transform .25s var(--dz-ease)}
html:not([data-dz-off]) body.nav-collapsed .dz-navmini{justify-content:center;width:auto;margin:4px 10px 2px;padding:8px 0}
html:not([data-dz-off]) body.nav-collapsed .dz-navmini .lbl{display:none}
html:not([data-dz-off]) body.nav-collapsed .dz-navmini svg{transform:rotate(180deg)}
@media (max-width:900px){ html:not([data-dz-off]) .dz-navmini{display:none} }

/* ─── Низ меню (19.10.2026, как в демо): поиск ⌘K, профиль с компактным «Выйти».
   Тумблер темы 🌙☀️ в новом виде из меню убран — тема в «Мой кабинет → Оформление». ─── */
html:not([data-dz-off]) .side-theme{display:none}
.dz-sidesearch{display:none}
html:not([data-dz-off]) .dz-sidesearch{display:flex;align-items:center;gap:8px;width:calc(100% - 24px);margin:2px 12px 6px;padding:7px 10px;
  border:1px solid var(--line);border-radius:10px;background:var(--dz-track);color:var(--muted);font:inherit;font-size:12.5px;text-align:left;cursor:pointer;white-space:nowrap}
html:not([data-dz-off]) .dz-sidesearch:hover{color:var(--ink);border-color:color-mix(in oklab,var(--ink) 22%,var(--line))}
html:not([data-dz-off]) .dz-sidesearch .lbl{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
html:not([data-dz-off]) .dz-sidesearch svg{flex:none}
html:not([data-dz-off]) .dz-sidesearch kbd{font:500 10.5px/1.4 inherit;padding:0 5px;border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;background:var(--panel);color:var(--muted)}
html:not([data-dz-off]) body.nav-collapsed .dz-sidesearch{justify-content:center;width:44px;margin:2px auto 6px;padding:8px 0}
html:not([data-dz-off]) body.nav-collapsed .dz-sidesearch .lbl,html:not([data-dz-off]) body.nav-collapsed .dz-sidesearch kbd{display:none}
@media (max-width:900px){ html:not([data-dz-off]) .dz-sidesearch{display:none} }

/* профиль: фото · имя и роль · значок «Выйти» справа */
html:not([data-dz-off]) body:not(.nav-collapsed) .side-foot{padding:8px 10px 10px}
html:not([data-dz-off]) body:not(.nav-collapsed) .user-chip.rd-chip{grid-template-columns:auto minmax(0,1fr) auto;padding:4px 4px 4px 6px;border-radius:10px}
html:not([data-dz-off]) .user-chip .uc-role{text-transform:none;letter-spacing:0;color:var(--muted);font-size:11px}
html:not([data-dz-off]) .user-chip .uc-logout .dz-svg{display:block}
html:not([data-dz-off]) .user-chip .uc-logout .uc-lbl{display:none}
html[data-dz-off] .user-chip .uc-logout .dz-svg{display:none}
html:not([data-dz-off]) .user-chip.rd-chip .uc-logout{grid-column:3;grid-row:1/3;align-self:center;margin:0;width:30px;height:30px;padding:0;
  display:grid;place-items:center;border:0;border-radius:8px;background:none;color:var(--muted)}
html:not([data-dz-off]) .user-chip.rd-chip .uc-logout:hover{background:var(--hover);color:var(--red)}
html:not([data-dz-off]) body:not(.nav-collapsed) .user-chip.rd-chip.rd-click:hover{background:var(--hover)}
html:not([data-dz-off]) body.nav-collapsed .user-chip.rd-chip .uc-logout{align-self:center;width:30px;height:26px;margin-top:2px}

/* счётчики у пунктов меню */
.nav > button .dz-cnt{display:none}
html:not([data-dz-off]) body:not(.nav-collapsed) .nav > button .dz-cnt{display:inline-block;margin-left:auto;min-width:20px;padding:1px 6px;border-radius:999px;
  background:var(--dz-track);color:var(--muted);font-size:11px;font-weight:500;line-height:16px;text-align:center;font-variant-numeric:tabular-nums}
html:not([data-dz-off]) body:not(.nav-collapsed) .nav > button.active .dz-cnt{background:var(--panel);color:var(--ink-gold)}

/* ─── Кнопка чатов: компактнее и не закрывает конец таблиц ───
   Внизу каждого раздела запас под кнопку: докрутив до конца, последняя строка и правые
   столбцы («Доход», «Итог») видны целиком. Доска (#platform) живёт своей высотой — без запаса. */
html:not([data-dz-off]) #gcFab{width:46px!important;height:46px!important;bottom:18px!important;right:18px!important;
  color:var(--on-gold);box-shadow:var(--sh-pop)}
html:not([data-dz-off]) #gcFab .dz-svg{width:21px;height:21px}
html[data-dz-off] #gcFab .dz-svg{display:none}
html:not([data-dz-off]) #gcFab .dz-emo{display:none}
html:not([data-dz-off]) .main > .view.active:not(#platform){padding-bottom:72px}

/* ══════════════════════ Плотность и размер текста ══════════════════════ */
html:not([data-dz-off])[data-density="c"] .main{padding-top:18px}
html:not([data-dz-off])[data-density="c"] td{padding-top:7px;padding-bottom:7px}
html:not([data-dz-off])[data-density="c"] th{padding-top:8px;padding-bottom:8px}
html:not([data-dz-off])[data-density="c"] .panel-box{padding:14px 16px}
html:not([data-dz-off])[data-density="c"] .topbar{margin-bottom:16px}
html:not([data-dz-off])[data-density="c"] body:not(.nav-collapsed) .nav > button{padding-top:5px;padding-bottom:5px}
html:not([data-dz-off])[data-fs="lg"] .main{zoom:1.07}

/* ══════════════════════ «Мой кабинет → Оформление» ══════════════════════ */
/* в новом виде прежний двухкнопочный выбор темы в карточке профиля заменён галереей */
html:not([data-dz-off]) .theme-block:has(#themeSwCab){display:none}
.dz-look{margin-top:18px}
.dz-look-h{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.dz-look-h b{font-size:15px;color:var(--ink)}
.dz-look-h span{font-size:12px;color:var(--muted)}
.dz-themes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
@media (max-width:1200px){.dz-themes{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.dz-themes{grid-template-columns:repeat(2,minmax(0,1fr))}}
.dz-th{position:relative;display:flex;flex-direction:column;gap:8px;padding:8px;border:1px solid var(--line);border-radius:var(--r-lg);
  background:var(--panel);color:var(--ink);text-align:left;font:inherit;cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s}
.dz-th:hover{transform:translateY(-1px);border-color:color-mix(in oklab,var(--gold-fill) 50%,var(--line))}
.dz-th.on{border-color:var(--gold-fill);box-shadow:0 0 0 2px var(--soft-gold)}
.dz-th-t{padding:0 4px 2px}
.dz-th-t b{display:block;font-size:13px;font-weight:600}
.dz-th-t small{display:block;color:var(--muted);font-size:11.5px;line-height:1.35}
.dz-th-ok{position:absolute;top:12px;right:12px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--gold-fill);color:var(--on-gold)}

/* Мини-макет кабинета в цветах темы: меню, шапка, плитки, бейджи.
   Цвета образцов — определения палитр (те же, что выше), а не цвета компонента. */
.dz-tp{display:flex;height:84px;border-radius:12px;overflow:hidden;border:1px solid var(--tp-l);background:var(--tp-b2)}
.dz-tp-side{width:28%;display:flex;flex-direction:column;gap:5px;padding:8px 6px;background:var(--tp-b1);border-right:1px solid var(--tp-l)}
.dz-tp-side i{height:5px;border-radius:3px;background:var(--tp-l)}
.dz-tp-side i.p{background:var(--tp-p)}
.dz-tp-main{flex:1;display:flex;flex-direction:column;gap:7px;padding:9px 8px}
.dz-tp-main b{height:7px;width:46%;border-radius:3px;background:var(--tp-c);opacity:.85}
.dz-tp-row{display:flex;gap:4px}
.dz-tp-row u{flex:1;height:22px;border-radius:4px;background:var(--tp-b1);border:1px solid var(--tp-l)}
.dz-tp-row em{width:18px;height:7px;border-radius:4px}
.dz-tp-row em.g{background:var(--green-fill)}.dz-tp-row em.w{background:var(--warn)}.dz-tp-row em.r{background:var(--red-fill)}
.dz-tp-row s{margin-left:auto;width:26px;height:9px;border-radius:4px;background:var(--tp-p)}
.dz-tp[data-p="light"]{--tp-b1:#ffffff;--tp-b2:#ffffff;--tp-l:#dfe3e9;--tp-c:#181a2a;--tp-p:#0082ce}
.dz-tp[data-p="dark"]{--tp-b1:#161a22;--tp-b2:#0f1218;--tp-l:#2a303b;--tp-c:#e8ebf0;--tp-p:#0082ce}
.dz-tp[data-p="brand-light"]{--tp-b1:#ffffff;--tp-b2:#faf8f3;--tp-l:#e2ddd0;--tp-c:#1c1e24;--tp-p:#c9a24a}
.dz-tp[data-p="brand-dark"]{--tp-b1:#171a20;--tp-b2:#0f1115;--tp-l:#2c313b;--tp-c:#eceae4;--tp-p:#c9a24a}
html[data-brand="csi"] .dz-tp[data-p="brand-light"]{--tp-b1:#ffffff;--tp-b2:#f3f6fa;--tp-l:#d9e1ec;--tp-c:#16202e;--tp-p:#2f6bb8}
html[data-brand="csi"] .dz-tp[data-p="brand-dark"]{--tp-b1:#152033;--tp-b2:#0d1524;--tp-l:#26354e;--tp-c:#e6edf6;--tp-p:#2f6bb8}
.dz-tp[data-p="nord"]{--tp-b1:#eceff4;--tp-b2:#e5e9f0;--tp-l:#d0d7e2;--tp-c:#2e3440;--tp-p:#5e81ac}
.dz-tp[data-p="dim"]{--tp-b1:#2a303c;--tp-b2:#242933;--tp-l:#3a4250;--tp-c:#d7e2e8;--tp-p:#9fe88d}
.dz-tp[data-p="classic"]{--tp-b1:#ffffff;--tp-b2:#faf8f3;--tp-l:#e2dccd;--tp-c:#1c1e24;--tp-p:#c9a24a}
.dz-tp[data-p="classic"] .dz-tp-side{width:16%}
.dz-tp[data-p="classic"] .dz-tp-row u{border-radius:2px}
html[data-brand="csi"] .dz-tp[data-p="classic"]{--tp-b2:#f4f7fb;--tp-l:#d6e0ec;--tp-c:#16202e;--tp-p:#2f6bb8}

.dz-sets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 24px;margin-top:8px}
@media (max-width:1200px){.dz-sets{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.dz-sets{grid-template-columns:1fr}}
.dz-set{display:flex;flex-direction:column;gap:8px;padding:12px 0;border-top:1px solid var(--line)}
.dz-set b{font-weight:500;font-size:13px;color:var(--ink)}
.dz-set small{display:block;color:var(--muted);font-size:12px;line-height:1.4}
.dz-set select{width:100%;padding:7px 9px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel2);color:var(--ink);font-size:13px}
.dz-seg{display:inline-flex;gap:2px;padding:3px;width:fit-content;max-width:100%;background:var(--panel2);border:1px solid var(--line);border-radius:12px}
.dz-seg button{background:none;border:0;border-radius:9px;color:var(--muted);font:inherit;font-size:12.5px;font-weight:500;padding:6px 12px;cursor:pointer;white-space:nowrap}
.dz-seg button:hover{color:var(--ink)}
.dz-seg button.on{background:var(--panel);color:var(--ink);box-shadow:var(--sh-1)}

/* ══════════════════════ «Доступы» ══════════════════════
   Проверка доступа отдельным действием убрана (разбор владельца 18.10.2026):
   что может человек, видно в его карточке. Прячем во ВСЕХ видах. */
#permsTestRole,#permsTestOut,button[onclick^="permsSelftest"]{display:none!important}
/* узкое меню: у профиля только фото (имя — в подсказке), как в демо */
html:not([data-dz-off]) body.nav-collapsed .user-chip.rd-chip .uc-name,html:not([data-dz-off]) body.nav-collapsed .user-chip.rd-chip .uc-role{display:none}
/* узкое меню: счётчик — маленьким числом на значке */
html:not([data-dz-off]) body.nav-collapsed .nav > button{position:relative}
html:not([data-dz-off]) body.nav-collapsed .nav > button .dz-cnt{display:block;position:absolute;top:2px;right:0;min-width:16px;height:16px;padding:0 4px;
  border-radius:999px;background:var(--gold-fill);color:var(--on-gold);font-size:9.5px;font-weight:600;line-height:16px;text-align:center;
  font-variant-numeric:tabular-nums;box-shadow:0 0 0 2px var(--panel)}
/* кнопка «Развернуть меню» в узком меню — заметная стрелка › */
html:not([data-dz-off]) body.nav-collapsed .dz-navmini{width:44px;margin:4px auto 2px;border:1px solid var(--line);color:var(--ink)}
