/* ============================================================
   РЕДИЗАЙН 2026 — слой поверх app.css. Только визуал: разметка,
   маршруты и формы не менялись. Отключить — убрать <link> в base.html.
   ============================================================ */
:root,[data-theme="light"]{
  --ink:#0F172A; --graphite:#475569; --mute:#64748B;
  --line:#E5E7EB; --line-strong:#D1D5DB;
  --paper:#F6F7FB; --white:#FFFFFF;
  --brass:#4F46E5; --brass-dark:#4338CA; --brass-tint:rgba(79,70,229,.08);
  --rust:#DC2626; --rust-tint:rgba(220,38,38,.08);
  --green:#16A34A; --green-tint:rgba(22,163,74,.10);
  --warning:#F59E0B; --warning-tint:rgba(245,158,11,.12);
  --brand-accent:#4F46E5;
  --chart-1:#6366F1; --chart-2:#0EA5E9; --chart-3:#F59E0B; --chart-4:#EC4899; --chart-5:#94A3B8;
  --r:10px; --r-lg:16px; --r-chip:999px;
  --shadow-card:0 1px 2px rgba(15,23,42,.04),0 4px 16px -4px rgba(15,23,42,.08);
  --shadow-pop:0 12px 32px -8px rgba(15,23,42,.18);
  --fs-display:44px; --fs-h1:32px; --fs-h2:24px; --fs-h3:18px; --fs-base:15px; --fs-xs:13px;
  --card-gap:24px; --card-pad:24px;
  --side-w:232px; --top-h:64px;
}
body{background:var(--paper);-webkit-font-smoothing:antialiased}
::selection{background:rgba(79,70,229,.18)}
a{color:var(--brass)}

/* Цифры — обычный шрифт с моноширинными цифрами вместо Plex Mono */
.num,td.num,td.r,.ms-num,.summary-card-value,.oz-card-num,.led-row .num{
  font-family:var(--font-body)!important;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}

/* ---------- Шапка ---------- */
.top{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.86);
  backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--line)}
.top-link{border-radius:8px;padding:6px 10px;transition:background .15s,color .15s}
.top-link:hover{background:var(--brass-tint);color:var(--brass)}

/* ---------- Кнопки ---------- */
.btn{border-radius:var(--r);font-weight:600;transition:transform .08s,box-shadow .15s,background .15s}
.btn:active{transform:translateY(1px)}
.btn-main,.btn.btn-main{background:linear-gradient(180deg,#5B54F0,#4F46E5);color:#fff;border-color:transparent;
  box-shadow:0 1px 2px rgba(79,70,229,.3),0 6px 16px -6px rgba(79,70,229,.55)}
.btn-main:hover{background:var(--brass-dark)}
.btn-outline{background:#fff;border:1px solid var(--line-strong);color:var(--ink)}
.btn-outline:hover{border-color:var(--brass);color:var(--brass)}
.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid rgba(79,70,229,.35);outline-offset:2px}
input[type=text],input[type=email],input[type=password],input[type=number],select,textarea{
  border-radius:var(--r);border:1px solid var(--line-strong);transition:border-color .15s,box-shadow .15s}
input:focus{border-color:var(--brass);box-shadow:0 0 0 4px rgba(79,70,229,.12)}

/* ---------- Карточки ---------- */
.card,.oz-block,.oz-card,.home-band .card{background:var(--white);border:1px solid var(--line);
  border-radius:var(--r-lg);box-shadow:var(--shadow-card)}
.card-h{border-bottom:1px solid var(--line)}
.sec-no,.oz-sec-no{display:none!important}
.sec-h,.card-h h2{font-size:20px}
.eyebrow{text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:600;color:var(--mute)}

/* ---------- Уведомления ---------- */
.notice{border:1px solid var(--line);border-left:4px solid var(--warning);background:#FFFBEB;
  border-radius:12px;padding:14px 16px;box-shadow:none}
.notice.info{border-left-color:var(--brass);background:#EEF2FF}
.verify-banner{background:#FEF3C7;border-bottom:1px solid #FDE68A}
.verify-banner-btn{color:#92400E}

/* ---------- Cookie: компактная плашка в углу, не перекрывает контент ---------- */
.cookie-banner{left:20px!important;right:auto;bottom:20px!important;max-width:420px;border-radius:14px;
  border:1px solid var(--line);box-shadow:var(--shadow-pop);background:#fff;padding:14px 16px}
.cookie-banner-in{max-width:none;gap:12px}
@media (max-width:640px){.cookie-banner{left:12px!important;right:12px;bottom:76px!important;max-width:none}}
/* Две кнопки (Отказаться / Принять, 20.10.2026): везде текст — во всю
   ширину, кнопки — рядом под ним, поровну и одного вида. */
.cookie-banner-in{flex-wrap:wrap!important}
.cookie-banner-text{flex:1 1 100%!important}
.cookie-banner-btn{flex:1 1 0!important;min-width:0;justify-content:center;text-align:center}
@media (max-width:640px){
  .cookie-banner-btn{padding:8px 10px!important;font-size:13px!important}
}

/* ---------- Боковое меню рабочей зоны ---------- */
.app-side{position:fixed;left:0;top:var(--top-h);bottom:0;width:var(--side-w);padding:20px 14px;
  background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:4px;z-index:20}
.side-link{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;color:var(--graphite);
  text-decoration:none;font-weight:500;font-size:14.5px;transition:background .15s,color .15s}
.side-link svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.side-link:hover{background:#F1F5F9;color:var(--ink)}
.side-link.is-active{background:var(--brass-tint);color:var(--brass);font-weight:600}
@media (min-width:1101px){
  body:has(.app-side) .wrap,body:has(.app-side) > .notice,body:has(.app-side) .verify-banner,
  body:has(.app-side) .site-footer{margin-left:var(--side-w)!important}
  body:has(.app-side) .wrap{max-width:1200px;padding-left:32px;padding-right:32px}
  body:has(.app-side) > .notice{max-width:1136px!important;margin-right:auto;margin-left:calc(var(--side-w) + 32px)!important}
}
@media (max-width:1100px){
  .app-side{top:auto;left:0;right:0;width:auto;height:64px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));
    flex-direction:row;justify-content:space-around;border-right:0;border-top:1px solid var(--line);
    box-shadow:0 -4px 16px -8px rgba(15,23,42,.12)}
  .side-link{flex-direction:column;gap:2px;padding:6px 8px;font-size:11px}
  body:has(.app-side){padding-bottom:72px}
  body:has(.app-side) .support{bottom:84px}
}

/* ---------- KPI-карточки отчёта ---------- */
.money-strip{display:grid!important;grid-template-columns:repeat(3,1fr);gap:16px;background:none!important;
  border:0!important;box-shadow:none!important;padding:0!important}
.money-strip .ms-arrow{display:none!important}
.ms-col{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:20px 22px;box-shadow:var(--shadow-card);position:relative;overflow:hidden}
.ms-col::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--chart-1)}
#ms-withheld::before{background:var(--rust)}
#ms-payout::before{background:var(--green)}
#ms-payout{background:linear-gradient(135deg,#EEF2FF,#fff 60%)}
.ms-label{font-size:12.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--mute);font-weight:600}
.ms-num{font-family:var(--font-heading)!important;font-weight:800;font-size:30px;letter-spacing:-.02em;margin:6px 0 4px;color:var(--ink)}
.ms-num.minus,.minus,.oz-neg{color:var(--rust)!important}
.ms-sub{font-size:13px;color:var(--mute)}
.summary-cards .card{padding:4px}
.summary-card-value{font-family:var(--font-heading)!important;font-weight:800;font-size:28px}
@media (max-width:760px){.money-strip{grid-template-columns:1fr}}

/* ---------- Вкладки отчёта (собираются в redesign.js) ---------- */
.rd-tabs{position:sticky;top:calc(var(--top-h) + 8px);z-index:15;display:flex;gap:4px;margin:24px 0 20px;padding:5px;
  background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:14px;
  box-shadow:var(--shadow-card);overflow-x:auto;scrollbar-width:none}
.rd-tab{flex:1 0 auto;border:0;background:none;padding:9px 16px;border-radius:10px;font:600 14px var(--font-body);
  color:var(--graphite);cursor:pointer;white-space:nowrap}
.rd-tab:hover{background:#F1F5F9;color:var(--ink)}
.rd-tab.is-active{background:var(--brass);color:#fff;box-shadow:0 4px 12px -4px rgba(79,70,229,.6)}
.rd-tab .rd-count{margin-left:6px;font-size:12px;opacity:.75}
.rd-hidden{display:none!important}

/* ---------- Графики ---------- */
.rd-charts{display:grid;grid-template-columns:1fr 1fr;gap:var(--card-gap);margin-bottom:var(--card-gap)}
.rd-chart-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-card);padding:20px 22px}
.rd-chart-card h3{font-size:16px;margin-bottom:2px}
.rd-chart-card p{font-size:13px;color:var(--mute);margin-bottom:14px}
.rd-chart-box{position:relative;height:300px}
@media (max-width:900px){.rd-charts{grid-template-columns:1fr}}
.donut{max-width:240px}

/* ---------- Таблицы ---------- */
table{border-collapse:separate;border-spacing:0}
th{background:#F8FAFC!important;color:var(--mute);
  font:600 12px var(--font-body)!important;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--line)}
td{font-size:14px;border-bottom:1px solid #F1F5F9}
tbody tr:nth-child(even) td{background:#FAFBFD}
tbody tr:hover td{background:#EEF2FF}
tfoot td,tr.total td,.led-total{font-weight:700;background:#F8FAFC}
th.rd-sortable{cursor:pointer;user-select:none}
th.rd-sortable::after{content:" ↕";opacity:.35}
th.rd-sort-asc::after{content:" ↑";opacity:1;color:var(--brass)}
th.rd-sort-desc::after{content:" ↓";opacity:1;color:var(--brass)}
.rd-tools{display:flex;gap:10px;align-items:center;padding:12px var(--card-pad);border-bottom:1px solid var(--line)}
.rd-search{flex:1;max-width:320px;padding:9px 12px 9px 36px;font-size:14px;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2364748B' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 12px center}
.rd-tools small{color:var(--mute)}
@media (max-width:640px){
  table.rd-cards thead{display:none}
  table.rd-cards,table.rd-cards tbody,table.rd-cards tr,table.rd-cards td{display:block;width:100%}
  table.rd-cards tr{border:1px solid var(--line);border-radius:12px;margin:10px 12px;width:auto;overflow:hidden;background:#fff}
  table.rd-cards td{display:flex;justify-content:space-between;gap:12px;text-align:right;border-bottom:1px solid #F1F5F9;background:none!important}
  table.rd-cards td::before{content:attr(data-label);color:var(--mute);font-size:12px;text-align:left;font-weight:600}
  table.rd-cards td:first-child{display:block;text-align:left;background:#F8FAFC!important;font-weight:600}
  table.rd-cards td:first-child::before{display:none}
}

/* ---------- Загрузка файлов ---------- */
.drop{border:1.5px dashed var(--line-strong)!important;border-radius:14px!important;background:#FBFCFE;transition:border-color .15s,background .15s}
.drop:hover,.drop.rd-dragover{border-color:var(--brass)!important;background:#EEF2FF}
.drop.filled{border-style:solid!important;border-color:var(--green)!important;background:#F0FDF4}

/* ---------- Главная ---------- */
.hero-text h1{font-size:clamp(34px,4.6vw,52px);letter-spacing:-.03em;line-height:1.08}
.hero-text h1 em,.hero-text h1 b{color:var(--brass)}
.page-home{background:radial-gradient(1200px 500px at 85% -10%,rgba(99,102,241,.12),transparent 60%),var(--paper)}
.home-step{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;box-shadow:var(--shadow-card)}
.home-band{padding-top:72px;padding-bottom:72px}
.hero-preview-card{box-shadow:var(--shadow-pop);border-radius:16px;opacity:1}
.hero-preview-badge{border-radius:999px}

/* ---------- Тарифы ---------- */
.plan,.plan-card{border-radius:var(--r-lg);transition:transform .15s,box-shadow .15s}
.plan:hover,.plan-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-pop)}
.plan-badge{background:var(--brass)!important;color:#fff;border-radius:999px}

/* ---------- Ozon ---------- */
.oz-card-dark{background:linear-gradient(135deg,#4F46E5,#6366F1)!important;color:#fff;border:0}
.oz-card-dark *{color:#fff!important}
.oz-card-num{font-family:var(--font-heading)!important;font-weight:800}

/* ---------- Подвал ---------- */
.site-footer{background:#fff;border-top:1px solid var(--line)}
.support-toggle{background:var(--brass)!important;box-shadow:0 8px 24px -6px rgba(79,70,229,.6)}
/* Кнопка поддержки (20.10.2026): иконка была цвета фона (--brass на
   --brass) — получался пустой фиолетовый круг. Теперь белая иконка и
   подпись «Поддержка» видны всегда на десктопе; на телефоне — круг 48px
   с иконкой (подпись — в aria-label). */
.support-toggle,.support-toggle:hover{color:#fff!important;padding:11px 18px 11px 15px!important}
.support-toggle:hover{filter:brightness(1.08)}
.support-toggle .support-ico{color:#fff!important}
.support-label{max-width:200px!important;opacity:1!important;font-weight:600}
@media (max-width:640px){
  .support{right:14px;bottom:14px}
  .support-toggle,.support-toggle:hover{padding:0!important;width:48px;height:48px;justify-content:center}
  .support-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .support[open] .support-label{position:static;width:auto;height:auto;clip:auto}
  .support[open] .support-toggle{width:auto;padding:0 16px!important}
}

@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ============================================================
   ОТЧЁТЫ WB / Ozon — «газетный» стиль (.wb, .oz) переводим в панель
   ============================================================ */
.page-wb,.page-ozon,.page-wb .wrap,.page-ozon .wrap{background:var(--paper)!important}
.page-wb,.page-ozon,.oz,.wb{
  --oz-paper:#F6F7FB; --oz-paper-2:#F1F5F9; --oz-paper-3:#E2E8F0;
  --oz-ink:#0F172A; --oz-ink-2:#475569; --oz-ink-3:#94A3B8;
  --oz-line:#E5E7EB; --oz-rule:#E5E7EB;
  --oz-accent:#4F46E5; --oz-accent-soft:rgba(79,70,229,.10); --oz-accent-ink:#fff; --oz-red:#DC2626;
}
.wb::before,.wb::after{display:none!important}
.wb{max-width:none}
.wb .card,.wb details.card{background:#fff!important;border:1px solid var(--line)!important;border-radius:var(--r-lg)!important;
  box-shadow:var(--shadow-card)!important;padding:24px!important;margin:0 0 var(--card-gap)!important}
.wb .card .card{border:0!important;box-shadow:none!important;padding:0!important}
.wb .sec-h{font-size:20px!important;letter-spacing:-.01em!important;text-transform:none!important}
.wb .sub,.wb .eyebrow,.wb .ms-label,.wb .split .lbl,.wb .led-legend,.wb .donut-center-label,.wb-check,.wb .show-more-btn{
  font-family:var(--font-body)!important;letter-spacing:.04em!important}
.wb .led-formula{font-family:var(--font-body)!important;background:#F8FAFC;border-radius:10px;padding:10px 12px}
.wb .files-bar{border:1px solid var(--line)!important;border-radius:var(--r-lg)!important;background:#fff!important;padding:14px 20px!important;margin-bottom:16px;box-shadow:var(--shadow-card)}
.wb-check{color:var(--green)!important;margin:4px 0 12px!important}
.wb .notice{background:#EEF2FF!important;border-left:4px solid var(--brass)!important;border-radius:12px!important}
.wb .money-strip{margin:0 0 8px!important}
.wb .ms-col{padding:20px 22px!important;border:1px solid var(--line)!important}
.wb .ms-col+.ms-col{border-left:1px solid var(--line)!important}
.wb .summary-cards{gap:16px!important;border:0!important;margin:16px 0!important}
.wb .summary-cards .card{padding:20px 22px!important;margin:0!important;border:1px solid var(--line)!important}
.wb .led-total{background:#EEF2FF!important;border-radius:12px;padding:16px 18px!important;border:0!important}
.wb .led-total .val{color:var(--brass)!important}
.wb .led-row{border-color:#F1F5F9!important}
.wb .split{border:0!important;gap:12px!important}
.wb .split>div{background:#F8FAFC;border:0!important;border-radius:12px;padding:14px 16px!important}
table.rd-sticky th{position:sticky;top:calc(var(--top-h) + 64px);z-index:2}
.rd-charts:has(> :only-child){grid-template-columns:1fr}
.wb .card-b{overflow-x:auto}
.wb .card-b:has(table){overflow:visible}
.oz-block,.oz-soon,.oz-head{background:#fff;border:1px solid var(--line)!important;border-radius:var(--r-lg);box-shadow:var(--shadow-card);padding:24px!important;margin-bottom:var(--card-gap)!important}
.oz-cards{gap:16px!important;border:0!important}
.oz-card{padding:20px 22px!important;border:1px solid var(--line)!important}
.oz-h-row h2,.oz-head h1{text-transform:none!important;letter-spacing:-.01em!important}
.oz-c-logistics{--oz-c:#0EA5E9;--oz-ct:#fff}.oz-c-ads{--oz-c:#F59E0B;--oz-ct:#0F172A}
.oz-c-returns{--oz-c:#EC4899;--oz-ct:#fff}.oz-c-fbo_services{--oz-c:#8B5CF6;--oz-ct:#fff}.oz-c-acquiring{--oz-c:#94A3B8;--oz-ct:#0F172A}

/* Шапка в рабочей зоне: дублирующие ссылки уходят в боковое меню */
@media (min-width:0px){
  body:has(.app-side) .top-meta > a.top-link[href="/pricing"],
  body:has(.app-side) .top-meta > a.top-link[href="/"],
  body:has(.app-side) .top-meta > a.top-link[href="/account"]:not(:last-of-type){display:none}
}
.top-meta{flex-wrap:nowrap}
.top-link{white-space:nowrap;border:0!important}
.top-in{max-width:1280px;padding:12px 24px}
body:has(.app-side) .top-in{max-width:none}
.top-meta{font-size:14.5px;gap:10px}
.page-ozon .top,.page-wb .top{background:rgba(255,255,255,.9)!important}

@media (max-width:760px){
  .top-meta{flex-wrap:wrap;row-gap:4px;font-size:13.5px}
  body:has(.app-side) .top-meta > a.top-link[href="/account"]{display:none}
  .top-in{padding:10px 14px}
}

/* ============================================================
   ГЛАВНАЯ v2: макет панели в hero, шаги, тарифы
   ============================================================ */
.hero-in{max-width:1200px!important}
.hero-preview{position:relative}
.hero-dash{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-pop);padding:0 0 18px;overflow:hidden;margin-bottom:-36px;position:relative;z-index:1}
.hd-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;background:#F8FAFC;border-bottom:1px solid var(--line);font-size:12px;color:var(--mute)}
.hd-bar i{width:9px;height:9px;border-radius:50%;background:#E2E8F0}
.hd-bar i:nth-child(1){background:#F87171}.hd-bar i:nth-child(2){background:#FBBF24}.hd-bar i:nth-child(3){background:#34D399}
.hd-bar span{margin-left:8px}
.hd-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:16px 16px 6px}
.hd-kpi{border:1px solid var(--line);border-left:3px solid var(--chart-1);border-radius:10px;padding:10px 12px}
.hd-kpi span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--mute);font-weight:600}
.hd-kpi b{font:800 17px var(--font-heading);font-variant-numeric:tabular-nums;white-space:nowrap}
.hd-red{border-left-color:var(--rust)}.hd-green{border-left-color:var(--green);background:#F5F7FF}
.hd-chart{padding:8px 16px 0}
.hd-chart-h{font:700 13px var(--font-heading);margin:6px 0 8px}
.hd-row{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:10px;font-size:12px;color:var(--graphite);margin:6px 0}
.hd-row em{display:block;height:10px;width:var(--w);border-radius:6px;background:linear-gradient(90deg,#6366F1,#818CF8)}
.hero-preview .hero-preview-card{margin-left:40px;position:relative;z-index:2;transform:scale(.92);transform-origin:top right}

/* «Как это работает» — карточки-шаги с номером в кружке */
.home-steps{gap:20px!important}
.home-step{position:relative;padding:26px 22px 22px!important}
.home-step::before{font-size:18px!important;width:40px;height:40px;border-radius:12px;display:flex!important;align-items:center;justify-content:center;
  background:var(--brass-tint);color:var(--brass)!important;margin-bottom:14px;line-height:1!important}
.home-step:hover{box-shadow:var(--shadow-pop);transform:translateY(-2px);transition:transform .15s,box-shadow .15s}

/* Тарифы на главной */
#home-pricing .home-sec-sub{color:var(--mute);margin-top:6px}
.hp-plans{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:24px}
.hp-plan{position:relative;display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  padding:22px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow-card);transition:transform .15s,box-shadow .15s,border-color .15s}
.hp-plan:hover{transform:translateY(-3px);box-shadow:var(--shadow-pop);border-color:#C7D2FE}
.hp-plan-rec{border:2px solid var(--brass);background:linear-gradient(180deg,#F5F7FF,#fff 50%)}
.hp-badge{position:absolute;top:-11px;left:20px;background:var(--brass);color:#fff;font-size:11.5px;font-weight:600;border-radius:999px;padding:3px 10px}
.hp-name{font:700 16px var(--font-heading)}
.hp-price{font:800 28px var(--font-heading);letter-spacing:-.02em}
.hp-price small{font:500 14px var(--font-body);color:var(--mute);margin-left:2px}
.hp-desc{font-size:13.5px;color:var(--graphite);flex:1;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.hp-cta{font-weight:600;color:var(--brass);font-size:14px}
@media (max-width:1000px){.hp-plans{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.hp-plans{grid-template-columns:1fr}}

/* ============================================================
   Таблица артикулов WB — компактно, имя с многоточием и подсказкой
   ============================================================ */
.wb table td,.wb table th{padding:9px 10px!important}
.wb table th .th-hint{display:block;font-size:10.5px;font-weight:400;text-transform:none;letter-spacing:0;opacity:.8;white-space:normal;max-width:140px;margin-left:auto}
.rd-articles td:first-child{max-width:240px!important;width:240px;white-space:nowrap}
.rd-articles td:first-child .rd-art{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis}
.rd-articles td:first-child .sku{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--mute);margin-top:1px}
.rd-articles td .pct{display:block;font-size:11px;color:var(--mute)}
@media (max-width:640px){.rd-articles td:first-child{width:auto;max-width:none!important;white-space:normal}}
.hd-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
.hd-kpi{min-width:0}
.hd-kpi span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px}
.hd-kpi b{font-size:15px}
.rd-search{border:1px solid var(--line-strong)!important;border-radius:var(--r)!important}
@media (max-width:640px){
  .wb .card,.wb details.card,.oz-block,.oz-soon,.oz-head{padding:16px!important}
  .wb .card-h{padding-left:0!important;padding-right:0!important}
  .rd-tools{padding:10px 0}
  .rd-search{max-width:none}
  table.rd-cards tr{margin:10px 0}
}
/* На узких экранах широкие таблицы прокручиваются внутри карточки,
   а не раздвигают страницу (липкая шапка там не нужна). */
@media (max-width:900px){.wb .card-b,.wb .card-b:has(table),.wb .card{overflow-x:auto!important}}
.wb-autosort-hint{margin:12px var(--card-pad) 0;padding:10px 14px;border-radius:10px;background:#EEF2FF;color:#3730A3;font-size:13.5px}
.wb-autosort-hint::before{content:"💡 "}

/* ============================================================
   v3: таблицы по ширине экрана, KPI-чипы, денежный поток
   ============================================================ */
@media (min-width:1101px){ body:has(.app-side) .wrap{max-width:1640px} }
@media (min-width:1101px) and (max-width:1439px){ :root{--side-w:200px} .side-link{font-size:14px} }
.wb table,.oz-table{width:100%}
.wb table th,.oz-table th{white-space:normal!important;line-height:1.25;vertical-align:bottom}
.wb table td,.oz-table td{font-size:13px}
.wb table td,.wb table th,.oz-table td,.oz-table th{padding:8px 7px!important}
.oz-th-hint,.wb table th .th-hint{font-size:10px!important}
.oz-table td:first-child{max-width:210px}
.oz-table td:first-child .oz-art-sub{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}
body.rd-lite .rd-sec-col{display:none!important}
.rd-coltoggle{margin-left:auto;font-size:13px;color:var(--brass);background:none;border:1px solid #C7D2FE;border-radius:999px;padding:6px 12px;cursor:pointer;font-weight:600;white-space:nowrap}
.rd-coltoggle:hover{background:#EEF2FF}
/* Режим «расходы по статьям» у Ozon — широкий по смыслу: прокрутка внутри
   карточки, первая колонка закреплена. */
.rd-xscroll{overflow-x:auto;max-width:100%}
.oz-table[data-mode="items"] td:first-child,.oz-table[data-mode="items"] th:first-child{position:sticky;left:0;background:#fff;z-index:1;box-shadow:1px 0 0 var(--line)}
/* KPI-чипы */
.rd-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.rd-chip{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;background:#F1F5F9;color:var(--graphite);white-space:nowrap}
.rd-chip.good{background:#DCFCE7;color:#166534}.rd-chip.bad{background:#FEE2E2;color:#991B1B}.rd-chip.info{background:#EEF2FF;color:#3730A3}
.rd-chart-card.rd-wide{grid-column:1/-1}
.rd-chart-card.rd-wide .rd-chart-box{height:320px}
.oz-card-dark .rd-chip{background:rgba(255,255,255,.2)!important}
.rd-error{max-width:560px;margin:72px auto 96px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-card);padding:48px 32px}
.rd-error-code{font:800 64px/1 var(--font-heading);letter-spacing:-.04em;background:linear-gradient(135deg,#4F46E5,#818CF8);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:12px}
.rd-error h1{font-size:24px;margin-bottom:10px}
.rd-error p{color:var(--graphite);margin-bottom:24px}
.rd-error-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
/* Ozon (сводная строка Kimi): три колонки денег + карточка прибыли справа */
#oz-cards{display:grid!important;grid-template-columns:minmax(0,3fr) minmax(220px,1fr);gap:16px!important;align-items:stretch}
#oz-strip{margin:0!important}
#oz-strip .ms-col{min-width:0}
#oz-card-total{background:linear-gradient(135deg,#EEF2FF,#fff 60%)}
#oz-card-total::before{background:var(--green)}#oz-card-withheld::before{background:var(--rust)}
.oz-net-check{color:var(--green)!important;font-weight:600}
.oz-returns-line{color:var(--rust)!important;font-weight:600}
@media (max-width:900px){#oz-cards{grid-template-columns:1fr}}
#oz-strip{grid-template-columns:repeat(3,minmax(0,1fr))!important}
#oz-strip .oz-card-num{font-size:clamp(22px,2.2vw,30px);white-space:nowrap}
#oz-strip .oz-card-sub{overflow-wrap:anywhere}
#oz-card-profit{width:auto!important;margin-left:0!important;align-self:stretch!important;border-radius:var(--r-lg)!important;border:1px dashed #C7D2FE!important;background:#fff}
#oz-card-profit::before{display:none}
#oz-cards{padding-bottom:0!important;border-bottom:0!important;margin-bottom:8px!important}
.oz .ms-col{padding:20px 22px!important}
.oz .ms-col+.ms-col{border-left:1px solid var(--line)!important}
