/*
 * Portal theme 2026 (2.45.118).
 * One visual layer loaded after every page stylesheet: typeface, colours,
 * surfaces, navigation, buttons, tabs and tables. Page CSS keeps layout;
 * this file only restyles shared components, so removing it from
 * Layout::begin() returns the previous look.
 *
 * Golos Text — SIL Open Font License 1.1, see fonts/GolosText-OFL.txt.
 */
@font-face{
  font-family:"Golos Text";
  src:url("fonts/golos-text-var.woff") format("woff");
  /* The face is declared up to 640: older page rules ask for 750–850, and the
     variable axis is clamped to this range, so headings stay semibold. */
  font-weight:400 640;font-style:normal;font-display:swap;
}

body.portal-v2,body.portal-login-body{
  --t-canvas:#f2f4f6;
  --t-surface:#ffffff;
  --t-surface-2:#f7f8fa;
  --t-line:#e2e6eb;
  --t-line-strong:#cdd4dc;
  --t-ink:#172130;
  --t-ink-2:#3c4857;
  --t-muted:#5f6e82;
  --t-sidebar:#121d31;
  --t-sidebar-2:#1b2840;
  --t-sidebar-ink:#c3cddb;
  --t-sidebar-muted:#7f8ca0;
  --t-primary:#2754c5;
  --t-primary-hover:#1f46aa;
  --t-primary-soft:#eaf0fd;
  --t-stitch:#c23a2f;
  --t-ok:#1d7a4b;--t-ok-soft:#e6f4ec;
  --t-warn:#9a5b00;--t-warn-soft:#fdf3e1;
  --t-bad:#b3261e;--t-bad-soft:#fdecea;
  --t-radius-card:12px;--t-radius-control:8px;--t-radius-chip:6px;
  --t-font:"Golos Text",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --portal-sidebar-width:264px;
  --bg:var(--t-canvas);--panel:var(--t-surface);--line:var(--t-line);--text:var(--t-ink);--muted:var(--t-muted);--blue:var(--t-primary);
  --nav:var(--t-sidebar);--nav2:var(--t-sidebar-2);--danger:var(--t-bad);--warn:var(--t-warn);--ok:var(--t-ok);--radius:var(--t-radius-card);
}

/* ---------- Base ---------- */
body.portal-v2{background:var(--t-canvas)!important;color:var(--t-ink);font-family:var(--t-font)!important;font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 0}
body.portal-v2 :where(button,input,select,textarea){font-family:inherit}
body.portal-v2 :where(td,th,.num,.portal-money,.portal-metric strong,strong){font-variant-numeric:tabular-nums}
body.portal-v2 a{color:var(--t-primary)}
body.portal-v2 a:hover{color:var(--t-primary-hover)}
body.portal-v2 :focus-visible{outline:2px solid var(--t-primary)!important;outline-offset:2px}
body.portal-v2 .portal-app,body.portal-v2 .portal-content,body.portal-v2 .portal-page{background:transparent}

/* ---------- Sidebar ---------- */
body.portal-v2 .portal-sidebar{background:var(--t-sidebar)!important;background-image:none!important;border-right:1px solid #0b1424;box-shadow:none}
body.portal-v2 .portal-brand{padding-bottom:6px}
body.portal-v2 .portal-brand strong,body.portal-v2 .portal-brand-link strong{font-weight:650;letter-spacing:-.01em;color:#fff}
body.portal-v2 .portal-sidebar-search input{background:var(--t-sidebar-2)!important;border:1px solid #2a3a56!important;color:#e8eef7!important;border-radius:var(--t-radius-control)!important;font-size:13px}
body.portal-v2 .portal-sidebar-search input::placeholder{color:var(--t-sidebar-muted)}
body.portal-v2 .portal-sidebar-search button{background:var(--t-primary)!important;border-radius:0 var(--t-radius-control) var(--t-radius-control) 0!important}

body.portal-v2 .portal-nav-label{
  text-transform:uppercase!important;letter-spacing:.07em!important;font-size:13px!important;font-weight:600!important;
  color:#9aa8bc!important;padding-top:8px;padding-bottom:8px
}
body.portal-v2 .portal-nav-label:hover{color:#dfe6f0!important}
body.portal-v2 .portal-nav-group.has-active>.portal-nav-label{color:#e6ecf5!important}
body.portal-v2 .portal-nav-subgroup-label{text-transform:none!important;letter-spacing:0!important;font-size:11.5px!important;color:var(--t-sidebar-muted)!important}

body.portal-v2 .portal-nav a{
  position:relative;min-height:38px!important;padding-top:7px!important;padding-bottom:7px!important;
  font-size:14.5px!important;font-weight:500!important;color:var(--t-sidebar-ink)!important;
  border-radius:var(--t-radius-control)!important;background:transparent!important;box-shadow:none!important;border:0!important
}
body.portal-v2 .portal-nav a:hover{background:rgba(255,255,255,.05)!important;color:#fff!important}
body.portal-v2 .portal-nav a.active,body.portal-v2 .portal-nav a.active-sub{background:rgba(255,255,255,.08)!important;color:#fff!important}
/* The one decorative detail: a cross-stitch run marks the current page, after Polesie embroidery. */
body.portal-v2 .portal-nav a.active::before,body.portal-v2 .portal-nav a.active-sub::before{
  content:"";position:absolute;left:0;top:7px;bottom:7px;width:3px;border-radius:2px;
  background:repeating-linear-gradient(180deg,var(--t-stitch) 0 4px,transparent 4px 7px)
}
body.portal-v2 .portal-nav-icon{background:transparent!important;box-shadow:none!important;border:0!important;opacity:.82}
body.portal-v2 .portal-nav a.active .portal-nav-icon{opacity:1}
body.portal-v2 .portal-sidebar-user{border-top:1px solid #22314b!important;background:transparent!important}

/* ---------- Topbar ---------- */
body.portal-v2 .portal-topbar{background:rgba(255,255,255,.92)!important;backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--t-line)!important;box-shadow:none!important}
body.portal-v2 .portal-topbar-title h1{font-size:24px!important;font-weight:650!important;letter-spacing:-.015em;color:var(--t-ink)!important}
body.portal-v2 .portal-topbar-title p{font-size:13px!important;color:var(--t-muted)!important;margin-top:2px}
body.portal-v2 .portal-page-help-button,body.portal-v2 .portal-topbar .portal-chat-toggle{border-color:var(--t-line)!important;border-radius:var(--t-radius-control)!important;color:var(--t-ink-2)!important;font-size:12px!important;font-weight:550!important}
body.portal-v2 .portal-local-clock span{color:var(--t-muted)}
body.portal-v2 .portal-local-clock strong{font-weight:650;color:var(--t-ink)}

/* ---------- Surfaces ---------- */
body.portal-v2 :where(.portal-card,.card,.portal-metric,.portal-table-toolbar){
  background:var(--t-surface);border:1px solid var(--t-line);border-radius:var(--t-radius-card)
}
body.portal-v2 .portal-card,body.portal-v2 .card{box-shadow:none!important;border-color:var(--t-line)!important;border-radius:var(--t-radius-card)!important}
body.portal-v2 .portal-section-head h2,body.portal-v2 .card h2,body.portal-v2 .portal-card h2{font-size:18px!important;font-weight:650!important;letter-spacing:-.01em;color:var(--t-ink)!important}
body.portal-v2 .portal-section-head p,body.portal-v2 .portal-muted,body.portal-v2 .muted{color:var(--t-muted)!important}
body.portal-v2 h3{font-weight:620;letter-spacing:-.005em}
body.portal-v2 .product-sales-grid h3,body.portal-v2 .product-section-head h3{font-size:15px!important}
body.portal-v2 .portal-brand strong,body.portal-v2 .portal-brand-link strong{font-size:21px!important}

/* Metrics: label above, figure below, no tinted boxes. */
body.portal-v2 .portal-metric,body.portal-v2 .warehouse-summary-item,body.portal-v2 .product-sales-metrics>div{box-shadow:none!important;border-radius:var(--t-radius-card)!important}
body.portal-v2 .portal-metric span,body.portal-v2 .warehouse-summary-item span,body.portal-v2 .product-sales-metrics span{color:var(--t-muted)!important;font-size:12.5px!important;font-weight:500!important;text-transform:none!important;letter-spacing:0!important}
body.portal-v2 .portal-metric strong,body.portal-v2 .warehouse-summary-item strong,body.portal-v2 .product-sales-metrics strong{font-weight:650!important;letter-spacing:-.02em;color:var(--t-ink)}

/* ---------- Buttons ----------
   The base look uses :where() so it never outranks a variant: primary stays
   blue with white text in every state, secondary stays white with dark text. */
body.portal-v2 :where(.portal-button,.btn,.portal-btn){
  border-radius:var(--t-radius-control)!important;font-weight:550!important;box-shadow:none!important;
  border:1px solid var(--t-line-strong)!important;background:var(--t-surface)!important;color:var(--t-ink)!important;
  transition:background-color .12s ease,border-color .12s ease,color .12s ease
}
body.portal-v2 :where(.portal-button,.btn,.portal-btn):where(:hover,:focus-visible){background:#eef2f8!important;border-color:#aeb9c7!important;color:var(--t-ink)!important}
body.portal-v2 :where(.portal-button,.btn,.portal-btn):active{background:#e3e9f2!important}

body.portal-v2 .portal-button.primary,body.portal-v2 .btn.primary,body.portal-v2 .btn-primary,body.portal-v2 .portal-btn.primary,body.portal-v2 button.primary{
  background:var(--t-primary)!important;border-color:var(--t-primary)!important;color:#fff!important
}
body.portal-v2 .portal-button.primary:is(:hover,:focus-visible),body.portal-v2 .btn.primary:is(:hover,:focus-visible),body.portal-v2 .btn-primary:is(:hover,:focus-visible),body.portal-v2 .portal-btn.primary:is(:hover,:focus-visible),body.portal-v2 button.primary:is(:hover,:focus-visible){
  background:var(--t-primary-hover)!important;border-color:var(--t-primary-hover)!important;color:#fff!important
}
body.portal-v2 .portal-button.primary:active,body.portal-v2 .btn.primary:active,body.portal-v2 button.primary:active{background:#193a8f!important;color:#fff!important}

body.portal-v2 .portal-button.danger,body.portal-v2 .btn.danger{background:var(--t-surface)!important;color:var(--t-bad)!important;border-color:#e8b4b0!important}
body.portal-v2 .portal-button.danger:is(:hover,:focus-visible),body.portal-v2 .btn.danger:is(:hover,:focus-visible){background:var(--t-bad-soft)!important;border-color:#d98c86!important;color:var(--t-bad)!important}

body.portal-v2 :is(.portal-button,.btn,.portal-btn):disabled,body.portal-v2 :is(.portal-button,.btn,.portal-btn)[aria-disabled=true]{opacity:.5;cursor:not-allowed}
body.portal-v2 .portal-button.primary:disabled{background:var(--t-primary)!important;color:#fff!important}

/* ---------- Inputs ---------- */
body.portal-v2 main :is(input[type=text],input[type=search],input[type=number],input[type=email],input[type=password],input[type=date],input:not([type]),select,textarea){
  border:1px solid var(--t-line-strong)!important;border-radius:var(--t-radius-control)!important;background-color:var(--t-surface)!important;color:var(--t-ink);box-shadow:none!important
}
body.portal-v2 main :is(input,select,textarea):focus{border-color:var(--t-primary)!important;box-shadow:0 0 0 3px rgba(39,84,197,.14)!important;outline:none}

/* ---------- Tabs: a segmented switch, so it reads as "pick one of these" ---------- */
body.portal-v2 :is(.portal-context-nav,.portal-tabs,.portal-filter-tabs,.product-tabs,.card-tabs,[role=tablist]){
  display:flex!important;flex-wrap:nowrap;width:fit-content;max-width:100%;overflow-x:auto;gap:2px!important;
  padding:4px!important;margin-bottom:16px;background:#e6e9ee!important;border:0!important;border-radius:11px!important;box-shadow:inset 0 0 0 1px #dde1e7!important;scrollbar-width:none
}
body.portal-v2 :is(.portal-context-nav,.portal-tabs,.portal-filter-tabs,.product-tabs,.card-tabs,[role=tablist]) :is(a,button){
  display:inline-flex;align-items:center;gap:7px;white-space:nowrap;cursor:pointer;
  background:transparent!important;border:0!important;border-radius:8px!important;box-shadow:none!important;
  color:var(--t-ink-2)!important;font-weight:550!important;font-size:14px!important;line-height:1.2!important;padding:8px 16px!important;margin:0!important;text-decoration:none!important;
  transition:background-color .12s ease,color .12s ease
}
body.portal-v2 :is(.portal-context-nav,.portal-tabs,.portal-filter-tabs,.product-tabs,.card-tabs,[role=tablist]) :is(a,button):hover{background:rgba(255,255,255,.65)!important;color:var(--t-ink)!important}
body.portal-v2 :is(.portal-context-nav,.portal-tabs,.portal-filter-tabs,.product-tabs,.card-tabs,[role=tablist]) :is(a.active,a.is-active,a[aria-current=page],button[aria-selected=true],button.active,button.is-active,a[aria-selected=true]){
  background:var(--t-surface)!important;color:var(--t-primary)!important;font-weight:620!important;
  box-shadow:0 1px 2px rgba(16,33,62,.10),0 0 0 1px rgba(16,33,62,.06)!important
}

/* ---------- Tables ---------- */
body.portal-v2 :is(.table-wrap,.portal-table-wrap,.scroll){border-radius:var(--t-radius-card)}
body.portal-v2 main table{border-collapse:separate;border-spacing:0}
body.portal-v2 main table thead th{
  background:var(--t-surface-2)!important;color:var(--t-muted)!important;font-size:12px!important;font-weight:600!important;
  text-transform:none!important;letter-spacing:0!important;border-bottom:1px solid var(--t-line)!important;border-right:0!important;border-left:0!important
}
body.portal-v2 main table tbody td{border-bottom:1px solid #edf0f3!important;border-right:0!important;border-left:0!important;color:var(--t-ink)}
body.portal-v2 main table :is(th,td)+:is(th,td){border-left:0!important}
body.portal-v2 main table tbody tr:last-child td{border-bottom:0!important}
body.portal-v2 main table tbody tr:hover>td{background:#f7f9fc}
body.portal-v2 .portal-table-toolbar{box-shadow:none!important;border-color:var(--t-line)!important;border-radius:var(--t-radius-card)!important}
body.portal-v2 .portal-table-toolbar :is(button,select,.portal-button){border-radius:var(--t-radius-control)!important}

/* ---------- Status chips ---------- */
body.portal-v2 :is(.portal-chip,.portal-badge,.wb-state,.badge,.status-chip){border-radius:var(--t-radius-chip)!important;font-weight:550!important;letter-spacing:0!important;text-transform:none!important}

/* ---------- Pagination ---------- */
body.portal-v2 .portal-pagination-button{border-radius:var(--t-radius-control)!important;border-color:var(--t-line)!important}
body.portal-v2 .portal-pagination-button.is-current{background:var(--t-primary)!important;border-color:var(--t-primary)!important;color:#fff!important}

/* ---------- Drawers, popovers, chat ---------- */
body.portal-v2 .portal-page-help-drawer,body.portal-v2 .portal-chat-panel{border-radius:var(--t-radius-card)}
body.portal-v2 .portal-chat-form button{background:var(--t-primary)}

/* ---------- Login ---------- */
body.portal-login-body{font-family:var(--t-font);background:var(--t-sidebar)}
body.portal-login-body .portal-login-card{border-radius:16px;box-shadow:0 24px 60px rgba(4,10,22,.35)}
body.portal-login-body .portal-login-card h1{font-weight:650;letter-spacing:-.015em}
body.portal-login-body button{background:var(--t-primary);border-radius:var(--t-radius-control)}

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

/* Login fields */
body.portal-login-body .portal-login-card input{border:1px solid var(--t-line-strong);border-radius:var(--t-radius-control);font-family:inherit}
body.portal-login-body .portal-login-card input:focus{outline:none;border-color:var(--t-primary);box-shadow:0 0 0 3px rgba(39,84,197,.16)}

/* Phone and tablet: the menu button sits over the logo when the sidebar opens. */
@media (max-width:960px){
  body.portal-v2 .portal-brand{padding-left:64px}
  body.portal-v2 .portal-sidebar{width:min(300px,88vw)}
}

/* Elements hidden with the hidden attribute stay hidden even if a component sets display (fixes WB rows showing under the Amazon filter). */
body.portal-v2 [hidden]{display:none!important}

/* ---------- 2.45.124: display face for headings and the menu ----------
   Bebas Neue (Fontfabric 2014, Cyrillic, SIL OFL 1.1) in four weights; the
   menu uses Book, headings Regular — lighter than the Bold of 2.45.123.
   Belarusian і and ў come from a tiny Oswald subset (also OFL). */
@font-face{font-family:"Bebas Neue Cyr";src:url("fonts/bebas-neue-cyr-light.woff") format("woff");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Bebas Neue Cyr";src:url("fonts/bebas-neue-cyr-book.woff") format("woff");font-weight:350;font-style:normal;font-display:swap}
@font-face{font-family:"Bebas Neue Cyr";src:url("fonts/bebas-neue-cyr-regular.woff") format("woff");font-weight:400 500;font-style:normal;font-display:swap}
@font-face{font-family:"Bebas Neue Cyr";src:url("fonts/bebas-neue-cyr-bold.woff") format("woff");font-weight:600 900;font-style:normal;font-display:swap}
@font-face{font-family:"Oswald BY";src:url("fonts/oswald-by-letters.woff") format("woff");font-weight:300 700;unicode-range:U+0406,U+0456,U+040E,U+045E;font-display:swap}
body.portal-v2,body.portal-login-body{--t-display:"Bebas Neue Cyr","Oswald BY","Golos Text",ui-sans-serif,system-ui,sans-serif}

body.portal-v2 .portal-topbar-title h1{font-family:var(--t-display)!important;font-size:32px!important;font-weight:400!important;letter-spacing:.02em!important;line-height:1!important}
body.portal-v2 :is(.portal-section-head h2,.card h2,.portal-card h2,.pc-card-head h2,.product-section-head h2,.article-market-sales-head h2,.portal-page > h2,.portal-page section > h2,.pc-title,.article-product-title){
  font-family:var(--t-display)!important;font-weight:400!important;letter-spacing:.03em!important;line-height:1.05!important;text-transform:none
}
body.portal-v2 :is(.portal-section-head h2,.card h2,.portal-card h2,.pc-card-head h2,.product-section-head h2,.article-market-sales-head h2){font-size:22px!important}
body.portal-v2 .pc-title{font-size:30px!important}
body.portal-v2 .portal-brand strong,body.portal-v2 .portal-brand-link strong{font-family:var(--t-display)!important;font-weight:400!important;font-size:28px!important;letter-spacing:.03em}

/* Menu: Book weight, compact rhythm (one group ≈ 36px instead of ≈ 56px). */
body.portal-v2 .portal-nav{padding-top:2px!important}
body.portal-v2 .portal-nav-group,body.portal-v2 .portal-nav-group-single{margin:0!important;padding:0!important}
body.portal-v2 .portal-nav-label{
  font-family:var(--t-display)!important;font-weight:400!important;font-size:21px!important;letter-spacing:.07em!important;
  color:#a7b4c6!important;margin:0!important;padding:8px 10px 6px!important;min-height:0!important;line-height:1.1!important
}
body.portal-v2 .portal-nav-group.has-active>.portal-nav-label{color:#e9eef6!important}
body.portal-v2 .portal-nav-group-items{padding:0 0 4px!important;margin:0!important}
body.portal-v2 .portal-nav a{min-height:32px!important;padding-top:4px!important;padding-bottom:4px!important;margin:1px 0!important}
body.portal-v2 .portal-nav a .portal-nav-text{font-family:var(--t-display)!important;font-weight:350!important;font-size:17px!important;letter-spacing:.05em;line-height:1}
body.portal-v2 .portal-nav-subgroup-label{font-family:var(--t-display)!important;font-weight:350!important;font-size:13px!important;letter-spacing:.09em!important;margin:6px 10px 2px!important}
body.portal-v2 .portal-nav-icon{width:24px!important;height:24px!important}
body.portal-login-body .portal-login-card h1{font-family:var(--t-display);font-weight:400;font-size:40px;letter-spacing:.03em}

/* 2.45.125: top-level groups and «Обзор» larger than the items inside a group. */
body.portal-v2 .portal-nav-group-single a .portal-nav-text{font-size:21px!important;font-weight:400!important;letter-spacing:.07em}
body.portal-v2 .portal-nav-group-items .portal-nav-icon{opacity:.75}

/* ==========================================================================
   2.45.127 — readability and consistency layer (design audit)
   ========================================================================== */

/* 1. Text floor: no readable text under 11px inside the content area. */
body.portal-v2 .portal-content :is(small,time,em,summary small,figcaption),
body.portal-v2 .portal-content :is(.wb-state,.wb-gd-action-kind,.wb-gd-action-period,.wb-gd-action-key,.wb-gd-action-more,.wb-gd-action-main,.wb-gd-diagnosis,.wb-gd-mini-link,.ozon-state,.ozon-reconcile,.wp-qbadge,.wp-ai-more,.wp-site-external,.mp-kind,.mp-replenish-action,.portal-badge,.wb-help-tip,.security-check-state,.wb-ad-state,.ao-source-link,.sales-country,.integration-state,.amazon-error-head time,.amazon-error-reference>summary span),
body.portal-v2 .portal-content :is(.wb-gd-product,.fbp-identifiers,.wp-score,.portal-table-pager,.article-sale-stat) :is(small,span,b,em),
body.portal-v2 .portal-content :is(.ozon-stock-chips,.wp-tags) span,
body.portal-v2 .portal-content [class^="marketplace-pulse-"] :is(small,span){
  font-size:max(11px,.88em)!important
}
/* Currency sign next to amounts: still subordinate, but legible. */
body.portal-v2 .portal-money-currency{font-size:max(9.5px,.72em)!important;color:#5d6b7e!important}

/* 2. Table header tools (sort / copy): 7px glyphs in 13px boxes → 10px glyphs in 18px boxes. */
body.portal-v2 table thead th{padding-top:24px!important}
body.portal-v2 table thead th>:is(.column-copy-button,.copy-column-button,.portal-sort-button,.sort-column-button),
body.portal-v2 table thead th .th-actions button{
  width:18px!important;min-width:18px!important;height:18px!important;font-size:10px!important;line-height:16px!important;
  border-radius:4px!important;color:#5f7188!important;border-color:#cfd8e4!important
}
body.portal-v2 table thead th>:is(.portal-sort-button,.sort-column-button),
body.portal-v2 table thead th .th-actions .sort-column-button{right:24px!important}

/* 3. Buttons: three sizes for the whole portal (default 34, small 28, icon 28×28). */
body.portal-v2 .portal-content :where(.portal-button,.btn,button.button,a.button){
  min-height:34px;padding:0 13px;font-size:12.5px;line-height:1.2;border-radius:9px;gap:6px
}
body.portal-v2 .portal-content :where(.portal-button.small,.portal-button.compact,.btn.small,.btn-sm,.button.small){
  min-height:28px;padding:0 10px;font-size:12px;border-radius:8px
}
body.portal-v2 .portal-content :is(.portal-table-pager,.pagination) :is(a,button,span.current){min-height:30px;min-width:30px;font-size:12px}
body.portal-v2 .portal-content .wb-gd-action-more{min-height:26px;padding:0 9px}

/* 4. One heading style for content blocks, including the attention centre. */
body.portal-v2 .portal-content :is(.portal-attention-title h2,.portal-panel>h2,.portal-panel-head h2,section>header>h2){
  font-family:var(--t-display)!important;font-weight:400!important;font-size:22px!important;letter-spacing:.03em!important;line-height:1.05!important;color:#101828
}

/* 5. KPI rows fill the line: 5 cards no longer leave one orphan on a second row. */
body.portal-v2 .portal-page .portal-metrics{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important}
@media(max-width:620px){body.portal-v2 .portal-page .portal-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* 6. Chat badge: AA contrast. */
body.portal-v2 :is(.portal-chat-badge,.portal-topbar-chat .badge,[data-chat-unread]){background:#c62f3a!important;color:#fff!important;font-size:11px!important}

/* 7. Muted text: one grey that passes AA on white (#5f6e82 ≈ 4.7:1). */
body.portal-v2 .portal-content :is(.muted,.portal-muted,.help,.hint,.wp-contact-sep,.portal-metric small,.portal-integration-mini small){color:#5f6e82!important}

/* 8. Amazon → errors on phones: the list card no longer pushes the page sideways. */
body.portal-v2 .amazon-errors-grid>*{min-width:0}
body.portal-v2 .amazon-errors-list-card .portal-section-head{flex-wrap:wrap}
body.portal-v2 .amazon-errors-list-card .portal-section-head>*{min-width:0;max-width:100%}
body.portal-v2 :is(.amazon-error-item,.amazon-error-head strong,.amazon-error-meta){overflow-wrap:anywhere}
@media(max-width:620px){body.portal-v2 .amazon-error-head{flex-wrap:wrap}}

/* 9. Product card, sales tab on phones: the chart scrolls inside its card. */
@media(max-width:620px){
  body.portal-v2 .product-card-workspace :is(.sales-chart,.article-market-sales,.pc-sales)>*{min-width:0}
  body.portal-v2 .product-card-workspace :is(.sales-chart-scroll,.sales-chart){max-width:100%;overflow-x:auto}
}

/* 1b. Text floor, second pass: remaining 8–10px labels found by the audit. */
body.portal-v2 .portal-content :is(.ozon-details,.ozon-details p,.ozon-details summary,.wb-gd-action-main p,.wb-gd-action-key span,.fbp-identifiers a,.wp-title-row span,.wp-lead-status,.amazon-control-head>div>span,.amazon-control-state,.amazon-control-mini-grid span,.amazon-sales-meta span,.badge a,.wb-history-eval,.wb-history-status,.portal-attention-source,.integration-access-item span,.portal-table-sort-status,.portal-quick-filters a,.diag-performance-table .head,.marketplace-pulse-channels i,.mp-replenish-metric span,.wb-gd-home-state span,.wb-metric span,.freshness-badge,.freshness-badge b,.mp-actions-group span,.wb-gd-summary-meta span,.wb-gd-priority-heading span,.wb-gd-priority-total,.wb-gd-view-toggle a,.portal-list-count,.wb-gd-action-row .good,.wb-gd-action-row .bad,.warehouse-market-problem){
  font-size:11px!important
}
body.portal-v2 .portal-content :is(.portal-attention-source,.portal-pagination-ellipsis,.portal-pagination-button:not(.active):not([aria-current])){color:#5f6e82!important}

/* 10. Contrast fixes found by the audit. */
body.portal-v2 .wb-gd-action-more{background:var(--t-primary,#2754c5)!important;border-color:var(--t-primary,#2754c5)!important}
body.portal-v2 .wb-gd-action-more:hover{background:var(--t-primary-hover,#1f46aa)!important;border-color:var(--t-primary-hover,#1f46aa)!important}
body.portal-v2 :is(.ali-original,.ale-original)>summary{color:#4a5f80!important}

/* ==========================================================================
   2.45.136 — calmer, more modern surfaces (no layout changes)
   Cards get one radius and a soft shadow, clickable cards lift on hover,
   table header tools fade until the header is hovered, inputs get a focus ring.
   ========================================================================== */
body.portal-v2{--t-canvas:#f3f5f8;--t-line:#e3e8ee;--t-radius-card:14px;
  --t-shadow-1:0 1px 2px rgba(16,24,40,.04),0 1px 3px rgba(16,24,40,.05);
  --t-shadow-2:0 6px 18px rgba(16,24,40,.08),0 1px 3px rgba(16,24,40,.06)}
body.portal-v2 .portal-content :is(.portal-attention,.portal-metric,.portal-table-toolbar,.portal-table-wrap,.card,.portal-card,.portal-admin-card,.mp-price-metrics,.wb-gd-home-summary,.wb-gd-home-priority-list,.warehouse-summary-strip,.portal-section.wbj,.st-card,.settings-card){
  border-radius:var(--t-radius-card)!important;border-color:var(--t-line)!important;box-shadow:var(--t-shadow-1)!important
}
body.portal-v2 .portal-content .warehouse-summary-strip .warehouse-summary-item{box-shadow:none!important}
body.portal-v2 .portal-content :is(a.portal-metric,a.portal-admin-card,a.warehouse-summary-item,.portal-attention-item,a.wb-gd-home-row){
  transition:box-shadow .15s ease,transform .15s ease,border-color .15s ease,background-color .15s ease
}
body.portal-v2 .portal-content :is(a.portal-metric,a.portal-admin-card):hover{transform:translateY(-1px);box-shadow:var(--t-shadow-2)!important;border-color:#cbd5e1!important}

/* Tables: quieter header, soft row hover. */
body.portal-v2 .portal-content table thead th{background:#f8fafc!important;color:#526175!important;font-weight:600!important;border-bottom:1px solid var(--t-line)!important}
body.portal-v2 .portal-content table tbody td{border-color:#edf0f4!important}
body.portal-v2 .portal-content table tbody tr{transition:background-color .1s ease}
body.portal-v2 .portal-content table tbody tr:hover>td{background-color:#f7f9fc}
/* 2.45.143: sort and copy buttons in table headers are always visible again (the 2.45.136 hover-only fade hid them). */


/* Inputs: one height, soft focus ring. */
body.portal-v2 .portal-content :is(input[type=text],input[type=search],input[type=number],input[type=email],input[type=password],input:not([type]),select,textarea){
  border-color:#d5dce5;border-radius:10px;transition:border-color .12s ease,box-shadow .12s ease
}
body.portal-v2 .portal-content :is(input,select,textarea):focus{border-color:var(--t-primary)!important;box-shadow:0 0 0 3px rgba(39,84,197,.14)!important;outline:none}
body.portal-v2 .portal-content :is(input,select,textarea):focus-visible{outline:none!important}

/* Buttons: smooth state changes; primary gets a slight depth. */
body.portal-v2 :where(.portal-button,.btn,.portal-btn){transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease,color .12s ease}
body.portal-v2 :where(.portal-button.primary,.btn-primary,.portal-button-primary){box-shadow:0 1px 2px rgba(31,70,170,.25)!important}

/* Sidebar: soft hover and active rows. */
body.portal-v2 .portal-nav a{transition:background-color .12s ease,color .12s ease}
body.portal-v2 .portal-nav a:hover{background:rgba(255,255,255,.06)!important}

/* Thin scrollbars in wide tables and panels. */
body.portal-v2 .portal-content :is(.table-wrap,.portal-table-wrap){scrollbar-width:thin;scrollbar-color:#c3ccd8 transparent}
body.portal-v2 .portal-content :is(.table-wrap,.portal-table-wrap)::-webkit-scrollbar{height:8px;width:8px}
body.portal-v2 .portal-content :is(.table-wrap,.portal-table-wrap)::-webkit-scrollbar-thumb{background:#c3ccd8;border-radius:8px}

@media (prefers-reduced-motion:reduce){
  body.portal-v2 *{transition:none!important}
  body.portal-v2 .portal-content :is(a.portal-metric,a.portal-admin-card):hover{transform:none}
}

/* One tab bar for the whole portal: the segmented style of Amazon / Товары
   now also used by WB advertising, settings, wholesale settings and reports. */
body.portal-v2 .portal-content :is(.wb-gd-ad-tabs,.portal-system-admin-nav,.wp-settings-nav,.reports-tabs,.wb-gd-analytics-tabs,.attention-views,.portal-seg-tabs){
  display:inline-flex!important;flex-wrap:wrap;gap:2px!important;padding:4px!important;margin:0 0 16px!important;
  background:#e6e9ee!important;border:0!important;border-radius:11px!important;box-shadow:none!important;max-width:100%
}
body.portal-v2 .portal-content :is(.wb-gd-ad-tabs,.portal-system-admin-nav,.wp-settings-nav,.reports-tabs,.wb-gd-analytics-tabs,.attention-views,.portal-seg-tabs)>a{
  display:inline-flex!important;align-items:center;min-height:33px!important;padding:0 14px!important;margin:0!important;
  border:0!important;border-radius:8px!important;background:transparent!important;box-shadow:none!important;
  color:#3c4857!important;font-size:13.5px!important;font-weight:550!important;text-decoration:none!important;white-space:nowrap
}
body.portal-v2 .portal-content :is(.wb-gd-ad-tabs,.portal-system-admin-nav,.wp-settings-nav,.reports-tabs,.wb-gd-analytics-tabs,.attention-views,.portal-seg-tabs)>a:hover{background:rgba(255,255,255,.55)!important;color:#172130!important}
body.portal-v2 .portal-content :is(.wb-gd-ad-tabs,.portal-system-admin-nav,.wp-settings-nav,.reports-tabs,.wb-gd-analytics-tabs,.attention-views,.portal-seg-tabs)>a:is(.active,.is-active,[aria-current="page"]){
  background:#fff!important;color:var(--t-primary)!important;box-shadow:0 1px 2px rgba(16,33,62,.1),0 0 0 1px rgba(16,33,62,.06)!important
}
@media (max-width:760px){
  body.portal-v2 .portal-content :is(.wb-gd-ad-tabs,.portal-system-admin-nav,.wp-settings-nav,.reports-tabs,.wb-gd-analytics-tabs,.attention-views,.portal-seg-tabs){
    display:flex!important;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch
  }
  body.portal-v2 .portal-content :is(.wb-gd-ad-tabs,.portal-system-admin-nav,.wp-settings-nav,.reports-tabs,.wb-gd-analytics-tabs,.attention-views,.portal-seg-tabs)::-webkit-scrollbar{display:none}
}

/* Status line inside a settings card hugs its text. */
body.portal-v2 .portal-admin-card .st-pill{justify-self:start;width:fit-content;max-width:100%}
body.portal-v2 .portal-attention-who{padding:1px 7px;border-radius:999px;background:#eaf0fd;color:#2754c5!important;font-weight:600}
.cp-kpis,.wp-plan-metrics{margin-bottom:14px!important}
