/* ══════════════════════════════════════════════════════════════════════════════
   НОВЫЙ ДИЗАЙН (бета, 2026-10-08). Включается классом html.ui-v2 (public/js/ui-v2.js,
   Настройки → Аккаунт → «Внешний вид»), по умолчанию выключен — основной дизайн
   (styles.css) не меняется. ВСЕ правила ниже начинаются с html.ui-v2, поэтому без класса
   этот файл ни на что не влияет.

   Устройство: styles.css целиком построен на переменных (--red, --bg, --white, --s1…--s3,
   --text, --muted, --r), а разметка разделов — на классах и inline-стилях с этими
   переменными. Поэтому (1) переопределяем сами переменные — это перекрашивает ВСЕ разделы
   сразу; (2) отдельными правилами меняем «оболочку»: сайдбар, шапку, карточки, кнопки,
   таблицы, всплывашки. Inline-стили в JS-разметке перебиваются только через !important.
   WB: акцент кабинета WB (#CB11AB) сохраняется — см. html.ui-v2 body.wb-mode.
   ══════════════════════════════════════════════════════════════════════════════ */

/* ───────── 1. Палитра ───────── */
html.ui-v2{
  --red:#3B5BFF; --red2:#2E49DB; --red-soft:#2E49DB;
  --red-dim:rgba(59,91,255,.09); --red-dim2:rgba(59,91,255,.16); --red-dim-solid:#E9EEFF;
  --bg:#F1F3F9; --white:#FFFFFF; --s1:#F5F7FC; --s2:#E4E8F2; --s3:#D3D9E8;
  --border:rgba(14,23,38,.08); --border2:rgba(59,91,255,.30);
  --text:#0E1726; --muted:#7A8499; --muted2:#3A4560;
  --ok:#0FA968; --green:#0FA968; --warn:#F5A524; --danger:#F2455F;
  --accent:#3B5BFF; --accent-light:rgba(59,91,255,.12); --total-row-bg:#E6ECFF;
  --r:18px;
  --grad:linear-gradient(135deg,#3B5BFF,#7A4DFF);
  --v2-shadow:0 1px 2px rgba(14,23,38,.04),0 8px 24px -10px rgba(14,23,38,.10);
  --v2-glow1:rgba(122,77,255,.15); --v2-glow2:rgba(59,91,255,.13);
  --zebra:#F4F6FF;
}
html.ui-v2[data-theme="dark"]{
  --red:#6E86FF; --red2:#8A9DFF; --red-soft:#8A9DFF;
  --red-dim:rgba(110,134,255,.16); --red-dim2:rgba(110,134,255,.26); --red-dim-solid:#1E2A52;
  --bg:#0A0F1E; --white:#121A2E; --s1:#17213A; --s2:#243050; --s3:#33426B;
  --border:rgba(255,255,255,.08); --border2:rgba(110,134,255,.42);
  --text:#EEF2FB; --muted:#8793AD; --muted2:#C3CCE0;
  --ok:#2FD38E; --green:#2FD38E; --danger:#FF6A80;
  --accent:#8A9DFF; --accent-light:rgba(110,134,255,.22); --total-row-bg:#1B2A55;
  --grad:linear-gradient(135deg,#5470FF,#8B5CFF);
  --v2-shadow:0 1px 2px rgba(0,0,0,.3),0 10px 30px -12px rgba(0,0,0,.5);
  --v2-glow1:rgba(122,77,255,.20); --v2-glow2:rgba(59,91,255,.18);
  --zebra:#131D38;
}
/* Кабинет WB: акцент — фирменный пурпурный, остальная оболочка та же */
html.ui-v2 body.wb-mode{--red:#CB11AB; --red2:#A8009B; --red-soft:#A8009B; --red-dim:rgba(203,17,171,.09); --red-dim2:rgba(203,17,171,.16); --red-dim-solid:#FBE8F7; --border2:rgba(203,17,171,.30); --accent:#CB11AB; --accent-light:rgba(203,17,171,.12); --grad:linear-gradient(135deg,#CB11AB,#7A3BE0); --zebra:#FAF0F8; --total-row-bg:#F9E6F5;}
html.ui-v2[data-theme="dark"] body.wb-mode{--red:#E05BC9; --red2:#EE86DC; --red-dim:rgba(224,91,201,.16); --red-dim-solid:#3A1E36; --accent:#E05BC9; --zebra:#241830; --total-row-bg:#33203A;}

html.ui-v2 body{background:var(--bg);}
html.ui-v2 #screen-dashboard.active{
  background:radial-gradient(900px 480px at 88% -8%,var(--v2-glow1),transparent 62%),radial-gradient(760px 460px at 18% -6%,var(--v2-glow2),transparent 62%),var(--bg);
}

/* ───────── 2. Сайдбар: плавающая тёмная панель ───────── */
@media(min-width:768px){
  html.ui-v2 #screen-dashboard.active{padding:14px;gap:16px;}
  html.ui-v2 .sidebar{
    width:248px;height:calc(100vh - 28px);border:0;border-radius:26px;
    background:linear-gradient(180deg,#0E1830,#16233F);color:#B9C4DD;
    box-shadow:0 20px 50px -22px rgba(8,14,30,.6);position:relative;
  }
  /* вместо расплывчатого фиолетового пятна — тонкая подсветка кромки панели (стекло) */
  html.ui-v2 .sidebar::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,.09),inset 0 0 0 1px rgba(255,255,255,.04);pointer-events:none;}
  html.ui-v2 body.sidebar-collapsed .sidebar{width:76px;}
  html.ui-v2 .sidebar{transition:width .4s cubic-bezier(.22,.8,.26,1);}
  html.ui-v2 body.sb-anim .main-area{will-change:transform;}   /* контент едет готовой «картинкой» (композитинг), а не перерисовывается каждый кадр */
  html.ui-v2 body.sb-anim #screen-dashboard{overflow:hidden;}   /* на время анимации контент шире окна (см. core.js:toggleDesktopSidebar) */
  html.ui-v2 .main-area{height:calc(100vh - 28px);}
}
html.ui-v2 .sidebar-brand{border-bottom:0;padding:20px 20px 12px;gap:11px;}
html.ui-v2 .sidebar-brand-logo{width:42px;height:42px;filter:drop-shadow(0 6px 14px rgba(255,110,160,.4));}
html.ui-v2 .sidebar-brand-title{color:#fff;font-size:19px;font-weight:600;letter-spacing:.2px;}
html.ui-v2 .sidebar-nav{display:flex;flex-direction:column;padding:6px 8px;position:relative;z-index:1;}
html.ui-v2 .sidebar-footer{border-top:1px solid rgba(255,255,255,.08);padding:8px;position:relative;z-index:1;}
html.ui-v2 .sidebar-item,html.ui-v2 .sidebar-group-header{
  color:#B9C4DD;border-radius:12px;margin:0 0 2px;padding:10px 12px;font-size:13.5px;gap:12px;
}
html.ui-v2 .sidebar-item:hover,html.ui-v2 .sidebar-group-header:hover{background:rgba(255,255,255,.07);color:#fff;}
html.ui-v2 .sidebar-item.active{background:var(--grad);color:#fff;box-shadow:0 10px 24px -10px rgba(91,92,255,.95);}
html.ui-v2 .sidebar-item.sub{padding-left:38px;font-size:13px;font-weight:600;}
html.ui-v2 .sidebar-item.active .sb-badge{background:#fff;color:var(--red);}
html.ui-v2 body.wb-mode .sidebar-item.active{background:var(--grad);color:#fff;}
html.ui-v2 .sb-badge{background:#F2455F;color:#fff;font-size:10px;}
html.ui-v2 .sb-chevron{opacity:.6;}
/* Подписи групп — над первым пунктом группы. Порядок пунктов задаём через order. */
html.ui-v2 #sb-analytics{order:1;margin-top:22px;} html.ui-v2 #sb-products{order:2;} html.ui-v2 #sb-rnp{order:3;} html.ui-v2 #sb-unit-forecast{order:4;}
html.ui-v2 #sb-supplies{order:5;margin-top:22px;} html.ui-v2 #sb-fbs-orders{order:6;} html.ui-v2 #sb-comm-group{order:7;margin-top:6px;}
html.ui-v2 #sb-analytics::before,html.ui-v2 #sb-supplies::before{position:absolute;left:12px;top:-19px;font-size:10px;font-weight:800;letter-spacing:1.3px;color:#6B7898;text-transform:uppercase;}
html.ui-v2 #sb-analytics::before{content:"Финансы";} html.ui-v2 #sb-supplies::before{content:"Операции";}
html.ui-v2 body.sidebar-collapsed #sb-analytics::before,html.ui-v2 body.sidebar-collapsed #sb-supplies::before{display:none;}
html.ui-v2 body.sidebar-collapsed .sidebar-item,html.ui-v2 body.sidebar-collapsed .sidebar-group-header{margin:0 4px 2px;padding:12px 0;}
/* Иконки: вместо эмодзи — линейные SVG (маска на currentColor) */
html.ui-v2 .sb-icon{font-size:0;line-height:0;width:18px;height:18px;display:block;position:relative;}
html.ui-v2 .sb-icon::before{content:"";position:absolute;inset:0;background:currentColor;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat;}
html.ui-v2 #sb-analytics .sb-icon{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3v18h18'/%3E%3Cpath d='M7 15l4-4 3 3 5-6'/%3E%3C/svg%3E");}
html.ui-v2 #sb-products .sb-icon{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8l-9-5-9 5v8l9 5 9-5z'/%3E%3Cpath d='M3 8l9 5 9-5M12 13v8'/%3E%3C/svg%3E");}
html.ui-v2 #sb-supplies .sb-icon{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7h11v9H3zM14 10h4l3 3v3h-7'/%3E%3Ccircle cx='7' cy='18' r='1.8'/%3E%3Ccircle cx='17' cy='18' r='1.8'/%3E%3C/svg%3E");}
html.ui-v2 #sb-rnp .sb-icon{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h4l3-8 4 16 3-8h4'/%3E%3C/svg%3E");}
html.ui-v2 #sb-unit-forecast .sb-icon{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3' width='14' height='18' rx='3'/%3E%3Cpath d='M8.5 7.5h7M8.5 12h.01M12 12h.01M15.5 12h.01M8.5 16h.01M12 16h.01M15.5 16h.01'/%3E%3C/svg%3E");}
html.ui-v2 #sb-fbs-orders .sb-icon{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3' width='16' height='18' rx='3'/%3E%3Cpath d='M8 8h8M8 12h8M8 16h5'/%3E%3C/svg%3E");}
html.ui-v2 #sb-comm-group .sb-icon{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a8 8 0 0 1-11.6 7.1L4 20l1-4.6A8 8 0 1 1 21 12z'/%3E%3C/svg%3E");}
html.ui-v2 #sb-questions .sb-icon{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M9.5 9.2a2.5 2.5 0 1 1 3.5 2.3c-.7.4-1 1-1 1.7M12 17h.01'/%3E%3C/svg%3E");}
html.ui-v2 #sb-chats .sb-icon{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a8 8 0 0 1-11.6 7.1L4 20l1-4.6A8 8 0 1 1 21 12z'/%3E%3C/svg%3E");}
html.ui-v2 #sb-reviews .sb-icon{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1L3.2 9.5l6.1-.9z'/%3E%3C/svg%3E");}
html.ui-v2 #sb-comm-settings .sb-icon{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6h10M18 6h2M4 12h4M12 12h8M4 18h12M20 18h0'/%3E%3Ccircle cx='16' cy='6' r='2'/%3E%3Ccircle cx='10' cy='12' r='2'/%3E%3Ccircle cx='18' cy='18' r='2'/%3E%3C/svg%3E");}
html.ui-v2 #sb-guides .sb-icon{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5a2 2 0 0 1 2-2h13v16H6a2 2 0 0 0-2 2z'/%3E%3Cpath d='M4 19V5M9 7h6'/%3E%3C/svg%3E");}
html.ui-v2 #sb-support .sb-icon{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Ccircle cx='12' cy='12' r='3.5'/%3E%3Cpath d='M5.6 5.6l3.9 3.9M14.5 14.5l3.9 3.9M18.4 5.6l-3.9 3.9M9.5 14.5l-3.9 3.9'/%3E%3C/svg%3E");}
html.ui-v2 #sb-admin .sb-icon{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 4.5-3.2 8-8 9-4.8-1-8-4.5-8-9V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E");}
html.ui-v2 #sb-billing .sb-icon{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='3'/%3E%3Cpath d='M3 10h18M7 15h3'/%3E%3C/svg%3E");}
html.ui-v2 .sidebar-footer .sidebar-item:last-child .sb-icon{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M19.4 15a1.7 1.7 0 0 0 .3 1.8l.1.1a2 2 0 1 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-1.8-.3 1.7 1.7 0 0 0-1 1.5V21a2 2 0 1 1-4 0v-.1a1.7 1.7 0 0 0-1.1-1.5 1.7 1.7 0 0 0-1.8.3l-.1.1a2 2 0 1 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0 .3-1.8 1.7 1.7 0 0 0-1.5-1H3a2 2 0 1 1 0-4h.1a1.7 1.7 0 0 0 1.5-1.1 1.7 1.7 0 0 0-.3-1.8l-.1-.1a2 2 0 1 1 2.8-2.8l.1.1a1.7 1.7 0 0 0 1.8.3H9a1.7 1.7 0 0 0 1-1.5V3a2 2 0 1 1 4 0v.1a1.7 1.7 0 0 0 1 1.5 1.7 1.7 0 0 0 1.8-.3l.1-.1a2 2 0 1 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0-.3 1.8V9a1.7 1.7 0 0 0 1.5 1H21a2 2 0 1 1 0 4h-.1a1.7 1.7 0 0 0-1.5 1z'/%3E%3C/svg%3E");}
/* Тумблер «Новый дизайн» над переключателем кабинета */
html.ui-v2 .sidebar-ui2{border-top:0;margin:0 10px 2px;padding:10px 12px;border-radius:14px;color:#B9C4DD;background:rgba(255,255,255,.05);position:relative;z-index:2;transition:background .2s;}
html.ui-v2 .sidebar-ui2:hover{background:rgba(255,255,255,.09);color:#fff;}
html.ui-v2 .sidebar-ui2 .sl{background:rgba(255,255,255,.2);}
html.ui-v2 .sidebar-ui2 .sw input:checked+.sl{background:linear-gradient(135deg,#5B5CFF,#7A4DFF);}
/* Переключатель кабинета */
html.ui-v2 .sidebar-cabinet{border-top:0;padding:8px 10px;position:relative;z-index:2;}
html.ui-v2 .cab-current{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:14px;}
html.ui-v2 .cab-current:hover{background:rgba(255,255,255,.11);}
html.ui-v2 .cab-name{color:#fff;font-weight:700;}
html.ui-v2 .cab-label,html.ui-v2 .cab-chevron{color:#8895B4;}
html.ui-v2 .cab-dropdown{border-radius:16px;border:1px solid var(--border);box-shadow:0 -14px 40px -12px rgba(8,14,30,.45);}
html.ui-v2 .mp-logo-ozon,html.ui-v2 .mp-logo-wb{border-radius:10px;}
/* Мобильный сайдбар: прежняя off-canvas механика, только цвет и скругление */
@media(max-width:767px){
  html.ui-v2 .sidebar{border-radius:0 22px 22px 0;background:linear-gradient(180deg,#0E1830,#16233F);}
}

/* ───────── 3. Шапка ───────── */
html.ui-v2 .topbar{background:transparent;border-bottom:0;padding:4px 6px 10px;}
html.ui-v2 .icon-btn{width:42px;height:42px;border-radius:14px;background:var(--white);border:1px solid var(--border);box-shadow:var(--v2-shadow);color:var(--muted2);transition:transform .2s,color .2s;}
html.ui-v2 .icon-btn:hover{background:var(--white);transform:translateY(-1px);color:var(--red);}
html.ui-v2 .upd-btn{height:42px;border-radius:14px;background:var(--white);border:1px solid var(--border);box-shadow:var(--v2-shadow);padding:0 16px;}
html.ui-v2 .upd-btn:hover{background:var(--white);color:var(--red);}
html.ui-v2 .notif-badge{background:var(--danger);box-shadow:0 0 0 2px var(--white);}
html.ui-v2 .sidebar-collapse-btn{width:42px;height:42px;border-radius:14px;background:var(--white);border:1px solid var(--border);box-shadow:var(--v2-shadow);}
html.ui-v2 .sidebar-collapse-btn:hover{background:var(--white);color:var(--red);}
/* Иконки шапки вместо эмодзи (тема/выход/колокольчик/напоминания) */
html.ui-v2 #notif-btn,html.ui-v2 #rem-btn,html.ui-v2 #theme-btn,html.ui-v2 .tb-right .icon-btn[onclick="logout()"]{font-size:0;line-height:0;}
html.ui-v2 #notif-btn::before,html.ui-v2 #rem-btn::before,html.ui-v2 #theme-btn::before,html.ui-v2 .tb-right .icon-btn[onclick="logout()"]::before{content:"";width:18px;height:18px;background:currentColor;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat;}
html.ui-v2 #notif-btn{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8a6 6 0 1 1 12 0c0 7 3 8 3 8H3s3-1 3-8M10 20a2 2 0 0 0 4 0'/%3E%3C/svg%3E");}
html.ui-v2 #rem-btn{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='13' r='8'/%3E%3Cpath d='M12 9v4l2.5 2M5 4L2 7M19 4l3 3'/%3E%3C/svg%3E");}
html.ui-v2 #theme-btn{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 13A9 9 0 1 1 11 3a7 7 0 0 0 10 10z'/%3E%3C/svg%3E");}
html.ui-v2[data-theme="dark"] #theme-btn{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4'/%3E%3C/svg%3E");}
html.ui-v2 .tb-right .icon-btn[onclick="logout()"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4M16 17l5-5-5-5M21 12H9'/%3E%3C/svg%3E");}
html.ui-v2 .notif-dropdown{border-radius:18px;border:1px solid var(--border);box-shadow:0 24px 50px -18px rgba(8,14,30,.4);top:62px;}
html.ui-v2 .notif-item-action{background:var(--grad);border-radius:10px;}

/* ───────── 4. Базовые компоненты ───────── */
html.ui-v2 .q-card{border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--v2-shadow);}
html.ui-v2 .q-card:hover{border-color:var(--border2);box-shadow:0 14px 32px -16px rgba(14,23,38,.22);}
html.ui-v2 .q-card.priority{border-width:1.5px;}
html.ui-v2 .chat-card,html.ui-v2 .rev-card{border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--v2-shadow);}
html.ui-v2 .btn{border-radius:14px;}
html.ui-v2 .btn-red,html.ui-v2 .btn-send,html.ui-v2 .ob-btn-primary,html.ui-v2 .btn-chat-generate,html.ui-v2 .btn-chat-send,html.ui-v2 .rev-btn-approve,html.ui-v2 .rev-approve-all,html.ui-v2 .sfp-apply,html.ui-v2 .pf-btn--primary,html.ui-v2 .trigger-input-row button,html.ui-v2 .pai-send-btn,html.ui-v2 .btn-send-msg{
  background:var(--grad);border-color:transparent;box-shadow:0 10px 22px -12px var(--red);
}
html.ui-v2 .btn-red:hover,html.ui-v2 .btn-send:hover,html.ui-v2 .ob-btn-primary:hover,html.ui-v2 .btn-chat-generate:hover,html.ui-v2 .btn-chat-send:hover,html.ui-v2 .rev-btn-approve:hover,html.ui-v2 .pf-btn--primary:hover{background:var(--grad);filter:brightness(1.07);}
html.ui-v2 .btn-send:disabled{background:var(--s2);box-shadow:none;}
html.ui-v2 .btn-outline{border:1px solid var(--s2);border-radius:14px;}
html.ui-v2 .btn-outline:hover{border-color:var(--border2);background:var(--red-dim);}
html.ui-v2 .tab.active,html.ui-v2 .settings-tab.active,html.ui-v2 .supplies-tab.active{color:var(--red);border-bottom-color:var(--red);}
html.ui-v2 .chat-filter-btn,html.ui-v2 .rev-tab,html.ui-v2 .rev-view-chip,html.ui-v2 .rev-star-chip{border-radius:12px;}
html.ui-v2 .chat-filter-btn.active,html.ui-v2 .rev-tab.active,html.ui-v2 .rev-view-chip.active{background:var(--grad);border-color:transparent;}
html.ui-v2 .field input,html.ui-v2 .field textarea,html.ui-v2 .field select,html.ui-v2 .chat-textarea,html.ui-v2 .reply-edit,html.ui-v2 .chat-ai-textarea,html.ui-v2 .pf-input{border:1px solid var(--s2);border-radius:14px;}
html.ui-v2 .field input:focus,html.ui-v2 .field textarea:focus,html.ui-v2 .field select:focus{border-color:var(--red);box-shadow:0 0 0 4px var(--red-dim);}
html.ui-v2 .sw input:checked+.sl,html.ui-v2 .apple-sw input:checked+.apple-track{background:var(--red);}
html.ui-v2 .tag-new{border-radius:99px;}
html.ui-v2 .spinner.spin-dark{border-top-color:var(--red);}

/* Панели фильтров («pf-*»): белая карточка с кнопками-таблетками */
html.ui-v2 .pf-card{border:1px solid var(--border);border-radius:20px;box-shadow:var(--v2-shadow);padding:12px 14px;align-items:center;}   /* center: блок «Обновить данные» с отсчётом выше кнопок — иначе после нажатия он «съезжал» вниз */
html.ui-v2 .pf-btn{height:42px;border-radius:14px;border:1px solid var(--s2);background:var(--s1);transition:transform .2s,border-color .2s,color .2s,background .2s;}
html.ui-v2 .pf-btn:hover{background:var(--white);border-color:var(--border2);color:var(--red);transform:translateY(-1px);}
html.ui-v2 .pf-badge{background:var(--red-dim);color:var(--red);font-weight:800;}
html.ui-v2 .pf-badge--accent{background:var(--red-dim);}
html.ui-v2 .pf-btn--green{background:var(--green);border-color:transparent;color:#fff;}
html.ui-v2 .pf-btn--green:hover{background:var(--green);filter:brightness(1.07);color:#fff;}
html.ui-v2 .pf-btn--ready{background:linear-gradient(135deg,var(--ok),#13C27A);border-color:transparent;color:#fff;box-shadow:0 10px 22px -12px var(--ok);}
html.ui-v2 .pf-btn--ready:hover{background:linear-gradient(135deg,var(--ok),#13C27A);filter:brightness(1.07);color:#fff;}
html.ui-v2 .pf-btn--sm{height:34px;border-radius:11px;}
html.ui-v2 .pf-btn.pf-btn--primary,html.ui-v2 .pf-btn.pf-btn--primary:hover{background:var(--grad);border-color:transparent;color:#fff;}
html.ui-v2 .pf-btn.pf-btn--primary:hover{filter:brightness(1.08);box-shadow:0 12px 24px -12px var(--red);}
html.ui-v2 .pf-search input{height:42px;border-radius:14px;background:var(--s1);border-color:var(--s2);}
html.ui-v2 .pf-search input:focus{background:var(--white);border-color:var(--red);box-shadow:0 0 0 4px var(--red-dim);}
html.ui-v2 .pf-seg,html.ui-v2 .analytics-view-toggle{border-radius:14px;background:var(--white);border:1px solid var(--border);box-shadow:var(--v2-shadow);padding:4px;}
html.ui-v2 .pf-seg button,html.ui-v2 .analytics-view-toggle button{border-radius:10px;}
html.ui-v2 .pf-seg button.on,html.ui-v2 .analytics-view-toggle button.active{background:var(--text);color:var(--white);box-shadow:0 4px 12px -4px rgba(14,23,38,.5);}
html.ui-v2[data-theme="dark"] .pf-seg button.on,html.ui-v2[data-theme="dark"] .analytics-view-toggle button.active{background:var(--red);color:#fff;}
/* Окно подтверждения uiConfirm (core.js): в новом дизайне главная кнопка тёмная, как у .pf-seg; «опасная» остаётся красной. */
html.ui-v2 .z-dlg{border-radius:26px;border-color:var(--border);}
html.ui-v2 .z-dlg-ok:not(.z-dlg-ok--danger){background:var(--text);border-color:var(--text);color:var(--white);}
html.ui-v2[data-theme="dark"] .z-dlg-ok:not(.z-dlg-ok--danger){background:var(--red);border-color:var(--red);color:#fff;}
/* «Таблетки» массовых действий в «Прогнозной юнитке» — выбранная в стиле активной кнопки .pf-seg (тёмная), как у переключателя режима рядом. */
html.ui-v2 .uf-chip.on,html.ui-v2 .uf-chip--primary{background:var(--text);border-color:var(--text);color:var(--white);}
html.ui-v2[data-theme="dark"] .uf-chip.on,html.ui-v2[data-theme="dark"] .uf-chip--primary{background:var(--red);border-color:var(--red);color:#fff;}
html.ui-v2 body.wb-mode .pf-seg button.on,html.ui-v2 body.wb-mode .analytics-view-toggle button.active{background:var(--red);color:#fff;}
html.ui-v2 .pf-panel,html.ui-v2 .dp-popup,html.ui-v2 .comm-pop,html.ui-v2 .sup-filter-pop,html.ui-v2 .tpl-menu,html.ui-v2 .admin-menu{border-radius:18px;border:1px solid var(--border);box-shadow:0 24px 50px -18px rgba(8,14,30,.38);}
html.ui-v2 .dp-trigger{border-radius:14px;}
html.ui-v2 .dp-preset{border-radius:99px;}
html.ui-v2 .dp-day.dp-start,html.ui-v2 .dp-day.dp-end,html.ui-v2 .dp-monthgrid-btn.active{background:var(--grad)!important;border-color:transparent;}
html.ui-v2 .dp-day.dp-range{background:var(--red-dim);}
html.ui-v2 .pf-check:has(input:checked){background:var(--red-dim);border-color:var(--red);}

/* Модалки и панели */
html.ui-v2 .modal-overlay,html.ui-v2 .settings-panel,html.ui-v2 .ob-overlay{backdrop-filter:blur(3px);background:rgba(8,14,30,.5);}
html.ui-v2 .modal,html.ui-v2 .settings-sheet{background:var(--white);}
html.ui-v2 .modal-head,html.ui-v2 .modal-actions{border-color:var(--border);}
html.ui-v2 .pai-modal,html.ui-v2 .uf-modal-card,html.ui-v2 .shb-modal-card,html.ui-v2 .pay-modal-card,html.ui-v2 .supply-modal-card{border-radius:26px;box-shadow:0 40px 90px -30px rgba(8,14,30,.6);border:1px solid var(--border);}
html.ui-v2 .close-btn,html.ui-v2 .chat-back{border-radius:12px;border:1px solid var(--border);}
html.ui-v2 .close-btn{border-radius:50%;flex:none;width:34px;height:34px;transition:background .15s,transform .15s;}   /* круглый, не сжимается рядом с длинным заголовком */
html.ui-v2 .close-btn:hover{background:var(--s2);transform:rotate(90deg);}
/* Кнопка «Подробнее» в «Аналитике товаров»: в разметке жёлтые inline-цвета — перекрашиваем в акцент темы */
html.ui-v2 button[onclick^="showProductDetail("]{background:color-mix(in srgb,var(--red) 10%,var(--white))!important;border:1px solid color-mix(in srgb,var(--red) 24%,transparent)!important;color:var(--red)!important;border-radius:99px!important;padding:4px 12px!important;font-size:11px!important;font-weight:700!important;line-height:1.2;transition:background .15s,color .15s,box-shadow .15s,transform .15s;}
html.ui-v2 button[onclick^="showProductDetail("]::after{content:"\2192";margin-left:5px;display:inline-block;transition:transform .15s;}
html.ui-v2 button[onclick^="showProductDetail("]:hover{background:var(--grad)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 8px 18px -10px var(--red);}
html.ui-v2 button[onclick^="showProductDetail("]:hover::after{transform:translateX(3px);}
html.ui-v2 .pay-period.sel{border-color:var(--red);background:var(--red-dim);}
html.ui-v2 .settings-tabs{border-bottom-color:var(--border);}
html.ui-v2 .toggle-row{border-bottom-color:var(--border);}
html.ui-v2 #analytics-settings-panel{border-radius:26px 0 0 26px;box-shadow:-20px 0 60px -20px rgba(8,14,30,.5)!important;}
html.ui-v2 .analytics-settings-row{border:1px solid var(--s2);border-radius:16px;transition:transform .2s,border-color .2s;}
html.ui-v2 .analytics-settings-row:hover{border-color:var(--red);transform:translateY(-1px);}
/* Окно настроек на десктопе — карточка по центру, а не лист снизу на всю ширину */
@media(min-width:768px){
  html.ui-v2 .settings-panel{align-items:center;justify-content:center;padding:24px;}
  html.ui-v2 .settings-sheet{max-width:720px;max-height:88vh;border-radius:26px;box-shadow:0 40px 90px -30px rgba(8,14,30,.6);border:1px solid var(--border);animation:none;}
}
html.ui-v2 .toast{border-radius:14px;background:var(--text);color:var(--white);}

/* Чаты / сообщения */
html.ui-v2 .msg-wrap.me .msg-bubble{background:var(--grad);}
html.ui-v2 body.wb-mode .msg-wrap.me .msg-bubble{background:var(--grad);}
html.ui-v2 .msg-bubble{border-radius:18px;}
html.ui-v2 .chat-avatar-letter{border-radius:14px;background:var(--grad);}
html.ui-v2 .chat-unread,html.ui-v2 .badge-new{background:var(--red);}
html.ui-v2 .chat-win-head,html.ui-v2 .chat-input-bar,html.ui-v2 .chat-ai-area{border-color:var(--border);}

/* База знаний */
html.ui-v2 .gd-card{border:1px solid var(--border);border-radius:20px;box-shadow:var(--v2-shadow);}
html.ui-v2 .gd-card:hover{border-color:var(--red);box-shadow:0 18px 36px -18px rgba(14,23,38,.3);}
html.ui-v2 .gd-search-wrap input{border-radius:14px;}

/* ───────── 5. «Аналитика»: герой + график + карточки ───────── */
/* Содержимое раздела — 12-колонная сетка; карточки итогов (#analytics-summary-cards) «растворяем»
   через display:contents, чтобы они сами стали ячейками этой сетки. Порядок задаёт order. */
html.ui-v2 #analytics-content{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;align-items:stretch;}
html.ui-v2 #analytics-content>*{grid-column:1/-1;min-width:0;}
html.ui-v2 #analytics-content>*{order:1;}
html.ui-v2 #analytics-content>.analytics-viewbar{order:2;margin:2px 0 -4px;}
html.ui-v2 .analytics-viewbar-title{font-size:15px;font-weight:800;letter-spacing:-.2px;}
html.ui-v2 .analytics-view-toggle{display:none;}
html.ui-v2 #analytics-summary-cards{display:contents!important;}
html.ui-v2 #analytics-summary-cards>.q-card{order:5;grid-column:span 3;text-align:left!important;padding:16px 18px!important;display:flex;flex-direction:column;gap:3px;position:relative;min-height:112px;transition:transform .25s,box-shadow .25s,border-color .25s;}
html.ui-v2 #analytics-summary-cards>.q-card:hover{transform:translateY(-3px);}
html.ui-v2 #analytics-summary-cards>.q-card>div:first-child{display:flex!important;align-items:center;gap:9px;font-size:11px!important;font-weight:700;letter-spacing:.7px!important;overflow:visible!important;text-overflow:clip!important;}
html.ui-v2 #analytics-summary-cards>.q-card>div:first-child::before{content:"";flex:none;width:30px;height:30px;border-radius:10px;background:var(--ico,none) center/16px no-repeat,linear-gradient(var(--red-dim),var(--red-dim));}
html.ui-v2 #analytics-summary-cards>.q-card .card-big-val{font-size:26px!important;font-weight:800!important;letter-spacing:-.8px;margin-top:6px;line-height:1.15;}
html.ui-v2 #analytics-summary-cards>.q-card>div[style*="font-size:11px"]{font-weight:600;}
/* Герой: «Чистая прибыль» — всегда последняя карточка */
html.ui-v2 #analytics-summary-cards>.q-card:last-child{
  order:3;grid-column:span 5;color:#fff;border:0!important;padding:26px 28px!important;justify-content:flex-start;gap:6px;
  background:linear-gradient(145deg,#15275A,#0C1634 74%)!important;overflow:hidden;
  box-shadow:0 24px 50px -22px rgba(20,36,80,.8);
}
/* Фактура героя: мелкая точечная сетка, проявляющаяся к правому верхнему углу, и тонкая светлая кромка — вместо размытого «засвета» */
html.ui-v2 #analytics-summary-cards>.q-card:last-child::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;
  background:radial-gradient(circle at 1px 1px,rgba(157,176,230,.30) 1px,transparent 1.5px) 0 0/20px 20px;
  -webkit-mask-image:radial-gradient(ellipse 70% 90% at 100% 0%,#000,transparent 72%);mask-image:radial-gradient(ellipse 70% 90% at 100% 0%,#000,transparent 72%);}
html.ui-v2 #analytics-summary-cards>.q-card:last-child::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),inset 0 0 0 1px rgba(255,255,255,.05);}
html.ui-v2 #analytics-summary-cards>.q-card:last-child>*{position:relative;z-index:1;}
html.ui-v2 #analytics-summary-cards>.q-card:last-child>div:first-child{color:#9DB0E6!important;font-size:12px!important;letter-spacing:1px!important;}
html.ui-v2 #analytics-summary-cards>.q-card:last-child>div:first-child::before{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239DB0E6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 17l6-6 4 4 8-8M15 7h6v6'/%3E%3C/svg%3E");background:var(--ico) center/16px no-repeat,rgba(255,255,255,.08);}
html.ui-v2 #analytics-summary-cards>.q-card:last-child .card-big-val{font-size:clamp(34px,3.4vw,50px)!important;letter-spacing:-1.8px;margin:12px 0 8px;line-height:1.05;}
html.ui-v2 #analytics-summary-cards>.q-card:last-child[style*="background:#E5484D"] .card-big-val{color:#FF8A9C!important;}
html.ui-v2 #analytics-summary-cards>.q-card:last-child[style*="var(--green"] .card-big-val{color:#5CF0B0!important;}
html.ui-v2 #analytics-summary-cards>.q-card:last-child>div[style*="font-size:11px"]{font-size:13px!important;color:#B6C4F0!important;font-weight:600;margin-top:2px!important;}
/* График «Динамика» — рядом с героем, всегда виден */
html.ui-v2 #analytics-content>#analytics-summary-chart{display:none!important;}   /* прежний график — в новом дизайне его заменяет #ui2-dyn (public/js/ui-v2.js) */
html.ui-v2 #analytics-content>#ui2-dyn{order:3;grid-column:span 7;margin:0!important;padding:20px 22px 14px!important;display:flex;flex-direction:column;}
/* нет данных для графика — «герой» занимает всю ширину */
html.ui-v2 #analytics-content:not(:has(#ui2-dyn)) #analytics-summary-cards>.q-card:last-child{grid-column:1/-1;}
html.ui-v2 .analytics-chart-canvas{overflow-x:visible;}
html.ui-v2 .analytics-chart-canvas svg{min-width:0;height:auto;max-height:340px;}
html.ui-v2 .analytics-chart-toggle,html.ui-v2 .analytics-chart-scale{border-radius:11px;border:1px solid var(--s2);background:var(--s1);}
html.ui-v2 .analytics-chart-scale button.active{background:var(--white);color:var(--red);box-shadow:0 2px 8px -2px rgba(14,23,38,.25);}
/* Таблица «Разбивка по дням» */
html.ui-v2 #analytics-content>.q-card:last-child{order:6;padding:0!important;overflow:hidden;}
html.ui-v2 #analytics-content>.q-card:last-child:hover{transform:none;}
html.ui-v2 #analytics-content>#plan-progress-row:empty{display:none;}
html.ui-v2 .analytics-daily-table{border-collapse:separate!important;border-spacing:0;}
html.ui-v2 .analytics-daily-table thead tr{background:transparent!important;}
html.ui-v2 .analytics-daily-table th{padding:13px 10px!important;font-size:10.5px!important;font-weight:700!important;letter-spacing:.7px;text-transform:uppercase;color:var(--muted)!important;background:var(--white);border-bottom:1px solid var(--s2);}
html.ui-v2 .analytics-daily-table td{padding:14px 10px!important;border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums;}
html.ui-v2 .analytics-daily-table tbody tr{border-top:0!important;transition:background .15s;}
html.ui-v2 .analytics-daily-table tbody tr:nth-child(odd){background:var(--white)!important;}
html.ui-v2 .analytics-daily-table tbody tr:nth-child(even){background:linear-gradient(90deg,color-mix(in srgb,var(--red) 5%,var(--white)),color-mix(in srgb,#7A4DFF 4%,var(--white)) 55%,color-mix(in srgb,var(--ok) 3%,var(--white)))!important;}
html.ui-v2 .analytics-daily-table tbody tr:hover{background:var(--s1)!important;}
html.ui-v2 .analytics-daily-table td:first-child{font-weight:800;color:var(--text)!important;padding-left:18px!important;}
html.ui-v2 .analytics-daily-table th:first-child{padding-left:18px!important;}
@media(max-width:1280px){
  html.ui-v2 #analytics-summary-cards>.q-card:last-child,html.ui-v2 #analytics-content>#ui2-dyn{grid-column:1/-1;}
  html.ui-v2 #analytics-summary-cards>.q-card{grid-column:span 4;}
}
@media(max-width:900px){html.ui-v2 #analytics-summary-cards>.q-card{grid-column:span 6;}}
@media(max-width:560px){html.ui-v2 #analytics-summary-cards>.q-card{grid-column:1/-1;}}
/* Иконки карточек (ставит ui-v2.js: data-k по подписи) */
html.ui-v2 [data-k="orders"]>div:first-child::before{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233B5BFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 11h10l2-8H6'/%3E%3Ccircle cx='9' cy='19' r='1.4'/%3E%3Ccircle cx='17' cy='19' r='1.4'/%3E%3C/svg%3E");}
html.ui-v2 [data-k="rev"]>div:first-child::before{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237A4DFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M9 9.5c.5-1 1.6-1.5 3-1.5 1.8 0 3 .9 3 2.2 0 3-6 1.6-6 4.6 0 1.3 1.2 2.2 3 2.2 1.4 0 2.5-.5 3-1.5'/%3E%3C/svg%3E");}
html.ui-v2 [data-k="income"]>div:first-child::before{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230FA968' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7a2 2 0 0 1 2-2h12v4M4 7v10a2 2 0 0 0 2 2h14V9H6a2 2 0 0 1-2-2z'/%3E%3Cpath d='M16 14h.01'/%3E%3C/svg%3E");}
html.ui-v2 [data-k="comm"]>div:first-child::before{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E39A0B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 5L5 19'/%3E%3Ccircle cx='7' cy='7' r='2.2'/%3E%3Ccircle cx='17' cy='17' r='2.2'/%3E%3C/svg%3E");}
html.ui-v2 [data-k="log"]>div:first-child::before{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233B5BFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7h11v9H3zM14 10h4l3 3v3h-7'/%3E%3Ccircle cx='7' cy='18' r='1.8'/%3E%3Ccircle cx='17' cy='18' r='1.8'/%3E%3C/svg%3E");}
html.ui-v2 [data-k="mkt"]>div:first-child::before{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F2455F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11v3a1 1 0 0 0 1 1h3l7 4V6L7 10H4a1 1 0 0 0-1 1zM18 9a4 4 0 0 1 0 6'/%3E%3C/svg%3E");background:var(--ico) center/16px no-repeat,rgba(242,69,95,.1);}
html.ui-v2 [data-k="cogs"]>div:first-child::before{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237A4DFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8l-9-5-9 5v8l9 5 9-5z'/%3E%3Cpath d='M3 8l9 5 9-5M12 13v8'/%3E%3C/svg%3E");}
html.ui-v2 [data-k="partner"]>div:first-child::before{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E39A0B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a4 4 0 0 0-5 5L3 18l3 3 6.7-6.7a4 4 0 0 0 5-5l-2.6 2.6-2.4-.6-.6-2.4z'/%3E%3C/svg%3E");}
html.ui-v2 [data-k="fbo"]>div:first-child::before{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233B5BFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21V9l9-6 9 6v12M7 21v-7h10v7'/%3E%3C/svg%3E");}
html.ui-v2 [data-k="comp"]>div:first-child::before{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230FA968' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='8' width='18' height='4' rx='1'/%3E%3Cpath d='M5 12v9h14v-9M12 8v13'/%3E%3Cpath d='M12 8c-2 0-4-.5-4-2.2S10 4 12 8c2-4 4-3.7 4-2.2S14 8 12 8z'/%3E%3C/svg%3E");background:var(--ico) center/16px no-repeat,rgba(15,169,104,.12);}
html.ui-v2 [data-k="turn"]>div:first-child::before{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237A4DFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12a8 8 0 1 1-2.4-5.7M20 4v5h-5'/%3E%3C/svg%3E");}
html.ui-v2 [data-k="fine"]>div:first-child::before{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F2455F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l10 18H2z'/%3E%3Cpath d='M12 10v4M12 17h.01'/%3E%3C/svg%3E");background:var(--ico) center/16px no-repeat,rgba(242,69,95,.1);}
html.ui-v2 [data-k="ext"]>div:first-child::before{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E39A0B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");}
html.ui-v2 [data-k="tax"]>div:first-child::before{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E39A0B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h12v18l-3-2-3 2-3-2-3 2z'/%3E%3Cpath d='M9 8h6M9 12h6'/%3E%3C/svg%3E");}

/* ── Достройка «Аналитики» (public/js/ui-v2.js): элементы помечены .ui2-only и в старом дизайне скрыты ── */
html:not(.ui-v2) .ui2-only{display:none!important;}
/* плашки «% от выручки / ROI» в «герое» */
html.ui-v2 .ui2-pills{display:flex;flex-wrap:wrap;gap:8px;}
html.ui-v2 .ui2-pills>div{display:inline-flex!important;align-items:center;margin:0!important;padding:5px 12px;border-radius:99px;font-size:12px!important;font-weight:700;white-space:nowrap;background:rgba(255,255,255,.10);color:#DDE6FF!important;border:1px solid rgba(255,255,255,.08);}
html.ui-v2 #analytics-summary-cards>.q-card:last-child[style*='background:#E5484D'] .ui2-pills>div:first-child{background:rgba(255,106,128,.18);color:#FFB0BC!important;border-color:rgba(255,106,128,.28);}
html.ui-v2 #analytics-summary-cards>.q-card:last-child[style*='var(--green'] .ui2-pills>div:first-child{background:rgba(47,211,142,.16);color:#9DF2CC!important;border-color:rgba(47,211,142,.3);}
/* столбики прибыли по дням */
html.ui-v2 .ui2-bars{margin-top:auto;padding-top:22px;display:flex;gap:clamp(2px,.6vw,9px);height:210px;align-items:stretch;}
html.ui-v2 .ui2-bars .hb{flex:1;display:flex;flex-direction:column;align-items:center;min-width:0;}
html.ui-v2 .ui2-bars .pl{flex:1;width:100%;position:relative;}
html.ui-v2 .ui2-bars .pl::after{content:'';position:absolute;left:-4px;right:-4px;top:var(--mid);border-top:1px dashed rgba(255,255,255,.18);}
html.ui-v2 .ui2-bars .bar{position:absolute;left:10%;right:10%;border-radius:8px;min-height:3px;animation:ui2grow .8s cubic-bezier(.2,.8,.2,1) both;}
html.ui-v2 .ui2-bars .bar.p{background:linear-gradient(0deg,#1FBF7F,#5CF0B0);transform-origin:bottom;}
html.ui-v2 .ui2-bars .bar.n{background:linear-gradient(180deg,#FF5F78,#FF93A4);transform-origin:top;}
html.ui-v2 .ui2-bars .td .bar{opacity:.5;}
html.ui-v2 .ui2-bars .hb>span{font-size:11px;font-weight:700;color:#8FA2D6;margin-top:8px;height:14px;line-height:14px;white-space:nowrap;}
html.ui-v2 .ui2-bars .td>span{color:var(--warn);}
@keyframes ui2grow{from{transform:scaleY(0);}}
html.ui-v2 .ui2-note{display:flex;justify-content:space-between;gap:10px;margin-top:14px;font-size:12px;font-weight:500;color:#9DB0E6;flex-wrap:wrap;}
html.ui-v2 .ui2-note b{color:#fff;font-weight:700;}
/* график «Динамика по дням» */
html.ui-v2 .ui2-dynh{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap;}
html.ui-v2 .ui2-dynh h3{font-size:15px;font-weight:800;letter-spacing:-.2px;}
html.ui-v2 .ui2-dynh p{color:var(--muted);font-size:12px;font-weight:500;margin-top:1px;}
html.ui-v2 .ui2-tabs{margin-left:auto;display:flex;gap:4px;padding:3px;border-radius:12px;background:var(--s1);}
html.ui-v2 .ui2-tabs button{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border:0;border-radius:9px;background:transparent;font:700 12.5px var(--font-body);color:var(--muted);cursor:pointer;transition:background .18s,color .18s;}
html.ui-v2 .ui2-tabs button i{width:8px;height:8px;border-radius:50%;opacity:.45;transition:opacity .18s;}
html.ui-v2 .ui2-tabs button.on{background:var(--white);color:var(--red);box-shadow:0 2px 8px -2px rgba(14,23,38,.22);}
html.ui-v2 .ui2-tabs button.on i{opacity:1;}
html.ui-v2 .ui2-chartwrap{position:relative;flex:1;min-height:250px;}
html.ui-v2 .ui2-chartwrap svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;}
html.ui-v2 .ui2-dot{transition:r .15s;}
html.ui-v2 .ui2-tip{position:absolute;pointer-events:none;background:var(--text);color:var(--white);padding:10px 13px;border-radius:12px;font-size:12px;font-weight:600;transform:translate(-50%,-110%);opacity:0;transition:opacity .15s;white-space:nowrap;box-shadow:0 12px 24px -8px rgba(0,0,0,.45);z-index:5;}
html.ui-v2 .ui2-tip.show{opacity:1;}
html.ui-v2 .ui2-tip .t{font-weight:800;margin-bottom:3px;}
html.ui-v2 .ui2-tip .r{display:flex;align-items:center;gap:7px;margin-top:3px;}
html.ui-v2 .ui2-tip .r i{width:8px;height:8px;border-radius:50%;flex:none;}
html.ui-v2 .ui2-tip .r span{opacity:.75;}
html.ui-v2 .ui2-tip .r b{margin-left:auto;padding-left:14px;font-weight:800;}
html.ui-v2 .ui2-tip .c{opacity:.6;margin-top:5px;}
/* режимы графика: «Выкуп заказов», «Прибыль» по схемам FBO/FBS */
html.ui-v2 .ui2-tabs{flex-wrap:wrap;}
html.ui-v2 .ui2-seg{align-self:flex-start;margin:-2px 0 10px;padding:3px;gap:2px;border-radius:11px;background:var(--s1);}
html.ui-v2 .ui2-seg button{border:0;background:transparent;padding:6px 12px;border-radius:8px;font:700 12px var(--font-body);color:var(--muted);cursor:pointer;transition:background .18s,color .18s;}
html.ui-v2 .ui2-seg button.on{background:var(--white);color:var(--red);box-shadow:0 2px 8px -2px rgba(14,23,38,.22);}
html.ui-v2 .ui2-msg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 24px;color:var(--muted);font-size:13px;font-weight:600;line-height:1.5;}
html.ui-v2 .ui2-sum{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
html.ui-v2 .ui2-sumcell{flex:1 1 118px;min-width:0;padding:9px 12px;border-radius:14px;background:var(--s1);display:flex;flex-direction:column;gap:2px;}
html.ui-v2 .ui2-sumcell .n{display:flex;align-items:center;gap:7px;font-size:11.5px;font-weight:700;color:var(--muted);}
html.ui-v2 .ui2-sumcell .n i{width:9px;height:9px;border-radius:3px;flex:none;}
html.ui-v2 .ui2-sumcell b{font-size:14.5px;font-weight:800;letter-spacing:-.4px;}
html.ui-v2 .ui2-sumcell b.pos,html.ui-v2 .ui2-sumcell u.pos{color:var(--ok);}
html.ui-v2 .ui2-sumcell b.neg,html.ui-v2 .ui2-sumcell u.neg{color:var(--danger);}
html.ui-v2 .ui2-sumcell em{font-style:normal;font-size:11.5px;font-weight:600;color:var(--muted);}
html.ui-v2 .ui2-sumcell u{text-decoration:none;font-weight:800;}
html.ui-v2 .ui2-note2{flex:1 1 100%;font-size:11.5px;font-weight:500;line-height:1.5;color:var(--muted);}
/* «Разбивка по дням»: плашка прибыли, точка «сегодня», оформление колонок */
html.ui-v2 .ui2-pill{display:inline-block;min-width:92px;padding:5px 11px;border-radius:10px;font-weight:800;text-align:center;}
html.ui-v2 .ui2-pill.p{background:color-mix(in srgb,var(--ok) 13%,transparent);color:var(--ok);}
html.ui-v2 .ui2-pill.n{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger);}
html.ui-v2 .ui2-live{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--ok);margin-left:9px;vertical-align:middle;box-shadow:0 0 0 4px color-mix(in srgb,var(--ok) 20%,transparent);animation:ui2pulse 2s infinite;}
@keyframes ui2pulse{50%{box-shadow:0 0 0 7px transparent;}}
/* Плашка «Поставить план» — как в демо: значок, пояснение, справа «Задать план →» */
html.ui-v2 #plan-progress-row>div[onclick="openPlanPanel()"][style*="dashed"]{display:flex!important;align-items:center;gap:14px;padding:12px 18px!important;border-radius:16px!important;border:1px dashed var(--s3)!important;background:linear-gradient(100deg,var(--red-dim),transparent 70%)!important;color:var(--muted2)!important;font-size:13px!important;text-align:left!important;margin-bottom:0!important;transition:border-color .2s,transform .2s;}
html.ui-v2 #plan-progress-row>div[onclick="openPlanPanel()"][style*="dashed"]:hover{border-color:var(--red)!important;}
html.ui-v2 #plan-progress-row .ui2-new{display:contents;}
html.ui-v2 #plan-progress-row .ui2-new .ic{width:18px;height:18px;flex:none;color:var(--red);}
html.ui-v2 #plan-progress-row .ui2-new .t b{color:var(--red);font-weight:800;}
html.ui-v2 #plan-progress-row .ui2-new .go{margin-left:auto;color:var(--red);font-weight:800;white-space:nowrap;}
/* Вид «как в макете»: короткие заголовки, проценты строкой под суммой, без стрелок, шрифт 13px */
html:not(.ui-v2) .ui2-new,html:not(.ui-v2) .ui2-sub,html:not(.ui-v2) .ui2-sub2{display:none!important;}
html.ui-v2 .ui2-old{display:none;}
html.ui-v2 .ui2-hide{display:none!important;}
html.ui-v2 .ui2-sub{display:block;font-size:11px;font-weight:600;color:var(--muted);margin-top:2px;letter-spacing:0;}
html.ui-v2 .ui2-sub2{display:block;font-size:12px;font-weight:500;color:var(--muted);margin-top:2px;}
html.ui-v2 .analytics-daily-table{font-size:13px!important;}
html.ui-v2 .analytics-daily-table td svg{display:none;}
html.ui-v2 .analytics-daily-table td{vertical-align:middle;}
html.ui-v2 #analytics-content>.q-card:last-child>div:first-child{padding:18px 22px 14px!important;font-size:15px!important;font-weight:800!important;border-bottom:0!important;align-items:flex-start!important;}
html.ui-v2 #analytics-content>.q-card:last-child>div:first-child>span{letter-spacing:-.2px;}

/* ───────── 6. Таблицы: «Аналитика товаров» и общие ───────── */
html.ui-v2 .prod-th{padding:0 9px;height:46px;font-size:10.5px;letter-spacing:.6px;text-transform:uppercase;}
html.ui-v2 .prod-table thead th{background:var(--white);box-shadow:inset 0 -1px 0 var(--s2);}
html.ui-v2 .prod-td{padding:9px 9px;}
html.ui-v2 .prod-table tbody tr:not(.prod-total) td{border-bottom:1px solid var(--border);}
html.ui-v2 .prod-table:not(.pd-table) tbody tr:nth-child(even):not(.prod-total){background:var(--zebra)!important;}
html.ui-v2 .prod-table:not(.pd-table) tbody tr:nth-child(even):not(.prod-total) td{background:var(--zebra)!important;}
html.ui-v2 .prod-table:not(.pd-table) tbody tr:nth-child(odd):not(.prod-total){background:var(--white)!important;}
html.ui-v2 .prod-table:not(.pd-table) tbody tr:nth-child(odd):not(.prod-total) td{background:var(--white)!important;}
html.ui-v2 .prod-table:not(.pd-table) tbody tr:not(.prod-total):hover td{background:var(--s1)!important;}
html.ui-v2 .prod-table tbody tr.prod-total td{background:var(--total-row-bg);box-shadow:inset 0 -1px 0 var(--border2);}
html.ui-v2 .prod-table tbody tr.prod-total td.left{color:var(--red);}
html.ui-v2 .pd-table tbody tr:not(.prod-total):hover td{background:var(--red-dim)!important;}
/* «Подробнее»: строки плотнее (были ~43px — слишком высокие для таблицы на десятки дней); липкая строка «Итого» стоит ровно под шапкой */
html.ui-v2 .pd-table .prod-th{height:38px;}
html.ui-v2 .pd-table tbody td.prod-td{padding-top:5px;padding-bottom:5px;}
html.ui-v2 .pd-table tbody tr.prod-total td{top:38px;}
/* Заголовок колонки с включённой тепловой картой был полупрозрачным (--accent-light = rgba .12) — строки, уходящие вверх под липкую шапку, просвечивали сквозь него. Тот же цвет, но непрозрачный. */
html.ui-v2 .pd-table .prod-th.heat-on{background:color-mix(in srgb,var(--accent) 14%,var(--white));}
html.ui-v2 .col-pin-btn.active,html.ui-v2 .prod-th.sort-asc::after,html.ui-v2 .prod-th.sort-desc::after{color:var(--red);}
html.ui-v2 .q-card:has(>.prod-scroll){padding:0;overflow:hidden;}
html.ui-v2 .sp-table th,html.ui-v2 .supplies-table th,html.ui-v2 .supplies-items-table th{background:var(--white);letter-spacing:.7px;}
html.ui-v2 .sp-cluster,html.ui-v2 .sw-chart,html.ui-v2 .supplies-table-wrap,html.ui-v2 .supplies-items-wrap{border:1px solid var(--border);border-radius:18px;box-shadow:var(--v2-shadow);}
html.ui-v2 .supplies-toolbar{border:1px solid var(--border);border-radius:20px;box-shadow:var(--v2-shadow);}
html.ui-v2 .supplies-table tbody tr:hover{background:var(--red-dim);}
html.ui-v2 .sw-chart-header,html.ui-v2 .sp-cluster-head{background:var(--s1);}
html.ui-v2 .supply-badge{border-radius:99px;}
html.ui-v2 .sc-folder{border-radius:18px;border:1px solid var(--s2);}
html.ui-v2 .sc-folder:hover{border-color:var(--red);}

/* Таблицы, которые JS рисует с inline-фоном (РНП, юнитка, FBS, поставки…): чередование строк в цвет темы.
   Строка/ячейка с фоном var(--s1) — «чётная»; закреплённые (sticky) ячейки красим так же, чтобы не было разрыва. */
html.ui-v2 #screen-dashboard tbody>tr[style*='background:var(--s1)'],
html.ui-v2 #screen-dashboard tbody>tr[style*='background:var(--s1)']>td[style*='background:var(--s1)']{background:var(--zebra)!important;}
html.ui-v2 #screen-dashboard thead th[style*='background:var(--s1)']{background:var(--white)!important;}
html.ui-v2 #screen-dashboard tbody>tr:not(.prod-total):hover>td{transition:background .15s;}

/* «Подробнее» по товару: и вертикальная, и горизонтальная прокрутка — у самой таблицы (.prod-scroll на всю высоту окна).
   Иначе горизонтальная полоса стоит под последней строкой — на длинном периоде до неё приходится спускаться в самый низ;
   заодно липкие шапка и «Итого» начинают работать (раньше прокручивалось тело окна, а не таблица). */
html.ui-v2 #pd-detail-body{display:flex!important;flex-direction:column;overflow:hidden!important;}
html.ui-v2 #pd-detail-body>.prod-scroll{flex:1;min-height:0;}

/* Попапы-разбивки (.comm-pop: «Чистая прибыль», «Маркетинг», комиссии…): вырастают из ячейки/плашки, по которой кликнули
   (transform-origin ставит positionPopover), строки — с разделителями, итог — выделенной плашкой, у прибыли сверху полоска долей. */
html.ui-v2 .comm-pop{padding:16px 18px 14px!important;min-width:260px;font-size:13px!important;border-radius:20px!important;
  background:var(--white);border:1px solid var(--border)!important;box-shadow:0 30px 60px -20px rgba(8,14,30,.5),0 0 0 1px rgba(122,77,255,.06)!important;
  animation:ui2PopIn .26s cubic-bezier(.2,.9,.3,1.12) both;}
@keyframes ui2PopIn{from{opacity:0;transform:scale(.82) translateY(-6px);}}
html.ui-v2 .comm-pop-row{align-items:center;padding:8px 0!important;border-bottom:1px dashed var(--s2);gap:22px!important;}
html.ui-v2 .comm-pop-row:last-child{border-bottom:0;}
html.ui-v2 .comm-pop-row>span{font-size:12.5px!important;font-weight:600;color:var(--muted2);display:inline-flex;align-items:center;gap:8px;}
html.ui-v2 .comm-pop-row>strong{font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.2px;}
html.ui-v2 .comm-dot{width:9px;height:9px;border-radius:3px;flex:none;display:inline-block;}
html.ui-v2 .comm-bar{display:flex;height:10px;border-radius:99px;overflow:hidden;gap:2px;margin:0 0 8px;background:var(--s1);}
html.ui-v2 .comm-bar>span{display:block;min-width:3px;height:100%;border-radius:3px;transition:filter .15s;}
html.ui-v2 .comm-bar>span:hover{filter:brightness(1.15);}
html.ui-v2 .comm-pop-row.comm-pop-total{border:0!important;margin:8px -8px 0!important;padding:11px 12px!important;border-radius:14px;background:var(--s1);}
html.ui-v2 .comm-pop-row.comm-pop-total>span{font-size:13.5px!important;font-weight:800;color:var(--text);}
html.ui-v2 .comm-pop-row.comm-pop-total>strong{font-size:16px;}

/* «Обновить данные» — в панели фильтров (переносит ui-v2.js:placeRefresh): кнопка слева, справа две строки — когда обновлено и отсчёт */
html.ui-v2 .ui2-refresh{display:grid!important;grid-template-columns:auto auto;grid-template-rows:auto auto;align-content:center;gap:0 12px!important;align-items:center;align-self:center;margin:0!important;padding-left:4px;font-size:12px!important;}   /* две строки по 21px = высота кнопки 42px */
html.ui-v2 .ui2-refresh>button{grid-column:1;grid-row:1/3;height:42px!important;padding:0 14px!important;border-radius:14px!important;font-size:13px!important;}   /* тот же размер, что у соседних .pf-btn (у кнопки класс pf-btn--sm) */
html.ui-v2 .ui2-refresh>span:first-child{grid-column:2;grid-row:1;line-height:21px;white-space:nowrap;font-weight:600;}
html.ui-v2 .ui2-refresh>#analytics-refresh-countdown{grid-column:2;grid-row:2;line-height:21px;white-space:nowrap;font-weight:700;color:var(--red);}
@media(max-width:700px){html.ui-v2 .ui2-refresh{width:100%;}}
/* Переключатель «ДРР от выручки / от заказов» в шапке «Разбивки по дням» */
html.ui-v2 .ui2-drr{display:inline-flex;align-items:center;gap:8px;}
html.ui-v2 .ui2-drr small{font-size:10.5px;font-weight:800;letter-spacing:.7px;color:var(--muted);}
html.ui-v2 .ui2-drr>span{border-radius:12px!important;border:1px solid var(--s2)!important;background:var(--s1);padding:3px;gap:2px;}
html.ui-v2 .ui2-drr button{border-radius:9px!important;padding:6px 13px!important;font-size:12px!important;font-weight:700!important;color:var(--muted)!important;transition:background .15s,color .15s;}
html.ui-v2 .ui2-drr button[style*="color:#fff"]{background:var(--red)!important;color:#fff!important;box-shadow:0 6px 14px -8px var(--red);}

/* Админ */
html.ui-v2 .adm-stat{border-radius:16px;border:1px solid var(--border);}
html.ui-v2 .adm-log-wrap{border-radius:16px;border:1px solid var(--border);}

/* Переключатель «Внешний вид» в настройках */
html.ui-v2 .ui2-beta{background:var(--grad);color:#fff;}
.ui2-beta{display:inline-block;margin-left:7px;padding:2px 8px;border-radius:99px;background:var(--s2);color:var(--muted2);font-size:10px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;vertical-align:middle;}

/* Движение: без анимаций для тех, кто их отключил */
@media (prefers-reduced-motion:reduce){
  html.ui-v2 *{transition:none!important;animation:none!important;}
}
