    :root{
      --teal:        #00657a;
      --teal-dark:   #00556a;
      --ink:         #14181f;
      --text:        #3f4854;
      --tagline:     #5b6573;
      --paper:       #ffffff;
      --strip:       #f6f8f9;
      --line:        #e7eaee;
      --line-strong: #d4d9df;
      --muted:       #586374;

      --gutter: clamp(16px, 3vw, 32px);
      --pill: 999px;
      --r: 12px;       /* sm */
      --radius: 16px;  /* md — переопределяет ниже */
      --r-lg: 20px;    /* lg */
      --tap: 54px;

      /* Motion tokens */
      --dur-fast: 150ms;
      --dur-base: 200ms;
      --dur-slow: 300ms;
      --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
      --ease-in: cubic-bezier(0.4, 0, 1, 1);

      /* Landing tokens (mapped to brand) */
      --accent: var(--teal);
      --accent-2: #0a7d93;
      --accent-dark: var(--teal-dark);
      --stihl:       #ec6608;  /* фирменный оранжевый STIHL — дозированный акцент */
      --stihl-dark:  #cf5806;
      --bg: var(--paper);
      --soft: var(--strip);
      --radius: 16px;    /* md */
      --radius-sm: 12px; /* sm */
      --shadow: 0 20px 50px rgba(15, 23, 42, .09);
      --shadow-soft: 0 10px 24px rgba(15, 23, 42, .07);
      --container: 1480px;
      --section-gap: clamp(56px, 7vw, 88px);   /* ритм между секциями */
      /* Типографическая шкала (заголовки) */
      --fs-h1: clamp(29px, 3.3vw, 52px);
      --fs-h2: clamp(25px, 2.5vw, 34px);
      --fs-h3: clamp(20px, 2vw, 24px);
      /* Шкала отступов (4px-база) */
      --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px;
      --s-5:20px; --s-6:24px; --s-8:32px; --s-10:40px;
    }

    *{ box-sizing:border-box; }
    [hidden]{ display:none !important; }
    button, a, [role="button"]{ touch-action:manipulation; }
    html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
    body{
      margin:0; min-width:320px;
      font-family:"Onest", system-ui, sans-serif;
      color:var(--ink); background:var(--paper); line-height:1.5;
      -webkit-font-smoothing:antialiased;
      text-rendering:optimizeLegibility;
      font-feature-settings:"kern" 1, "liga" 1;
      font-optical-sizing:auto;
      overflow-x:hidden;
    }
    a{ color:inherit; text-decoration:none; }
    button{ font:inherit; color:inherit; cursor:pointer; background:none; border:0; padding:0; margin:0; }
    svg{ display:block; }
    img{ display:block; max-width:100%; height:auto; }

    .mono{ font-family:"JetBrains Mono", ui-monospace, monospace; font-variant-numeric:tabular-nums; }
    .wrap{ width:100%; max-width:var(--container); margin:0 auto; padding-inline:var(--gutter); }

    /* ═══════════ HEADER ═══════════ */
    /* Row 1 · Main */
    .main-head{ border-bottom:1px solid var(--line); background:#fff; position:relative; z-index:60; /* выпадашки шапки поверх sticky-меню (z:50) */ }
/* PM_HEADER_STICKY_V3 (09.08): липнет вся шапка одним блоком (header).
   Строкам внутри НЕЛЬЗЯ ставить position:static — это молча отключает их z-index
   (.main-head z:60 над .nav z:50 — выпадашки шапки поверх меню; .nav z:50 над
   .mega-scrim z:45 — иначе подложка меню перекрывает кнопку каталога и hover
   зацикливается open/close). relative снимает sticky, но сохраняет z-index. */
@media(min-width:861px){
  header{ position:sticky; top:0; z-index:62; }
  .main-head{ position:relative; }
  .nav{ position:relative; }
}
    .main-row{ display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:clamp(16px,2.5vw,36px); padding-block:14px; }
    .brands{ display:inline-flex; align-items:center; gap:12px; flex:0 0 auto; }
    .brands-name{ font-family:"Onest",sans-serif; font-size:28px; font-weight:900; letter-spacing:-.02em; color:var(--ink); white-space:nowrap; }
    .brands .logo{ height:34px; width:auto; display:block; }
    .brands-divider{ width:1px; height:24px; background:var(--line-strong); flex:0 0 auto; }

    .search{ position:relative; width:100%; max-width:790px; justify-self:center; }
    .search .ico{ position:absolute; left:16px; top:50%; transform:translateY(-50%); width:18px; height:18px; color:var(--muted); pointer-events:none; }
    .search input{ height:46px; width:100%; border:1.5px solid var(--line-strong); border-radius:12px; background:#fff; padding:0 118px 0 46px; font-family:"Onest", sans-serif; font-size:14px; color:var(--ink); outline:none; box-shadow:0 1px 4px rgba(20,24,31,.06); transition:border-color var(--dur-base), box-shadow var(--dur-base); }
    .search input::placeholder{ color:var(--muted); letter-spacing:.01em; }
    .search input:focus{ border-color:var(--teal); box-shadow:0 0 0 3px rgba(0,101,122,.1); }
    .search:focus-within .ico{ color:var(--teal); }
    .search-btn{ position:absolute; right:5px; top:5px; bottom:5px; display:inline-flex; align-items:center; gap:8px; padding:0 20px; border-radius:8px; background:var(--teal); color:#fff; font-size:14px; font-weight:700; letter-spacing:-.01em; transition:background var(--dur-base) ease, transform var(--dur-fast) var(--ease-out); }
    .search-btn svg{ width:16px; height:16px; }
    .search-btn:hover{ background:var(--teal-dark); }
    .search-btn:active{ transform:scale(.97); }

    .actions{ display:flex; align-items:center; gap:12px; }

    /* Контакты в шапке: телефон + почта столбиком, часы справа — компактно, поиск шире */
    .head-contacts{ display:inline-flex; align-items:center; gap:12px; padding:0 2px; }
    .hc-col{ display:flex; flex-direction:column; gap:7px; }
    .hc-line{ display:inline-flex; align-items:center; gap:7px; line-height:1.2; }
    .hc-line svg{ width:14px; height:14px; color:var(--teal); flex:0 0 auto; }
    .hc-num{ font-family:"JetBrains Mono",monospace; font-size:13px; font-weight:600; color:var(--ink); letter-spacing:-.01em; font-variant-numeric:tabular-nums; transition:color var(--dur-fast) ease; }
    .hc-mail .hc-num{ font-size:12px; letter-spacing:0; color:var(--text); }
    .hc-line:hover .hc-num{ color:var(--teal); }
    .hc-hrs{ font-size:11px; line-height:1.35; color:var(--muted); font-weight:500; text-align:left; }
    .head-sep{ width:1px; height:32px; background:var(--line); flex:0 0 auto; margin:0 6px; }
    @media (max-width:1120px){ .hc-hrs{ display:none; } }
    @media (max-width:980px){ .hc-mail{ display:none; } }

    .auth-guest{ display:flex; align-items:center; gap:12px; }
    .auth-dealer{ display:none; }
    html[data-auth="dealer"] .auth-guest{ display:none; }
    html[data-auth="dealer"] .auth-dealer{ display:flex; }
    /* Дилер: убираем телефон и e-mail из шапки, расширяем поиск */
    html[data-auth="dealer"] .actions .head-contacts,
    html[data-auth="dealer"] .actions .head-sep{ display:none; }
    html[data-auth="dealer"] .search{ max-width:880px; justify-self:stretch; }

    .account{ position:relative; }
    .account-btn{ display:inline-flex; align-items:center; gap:12px; height:var(--tap); padding:0 14px 0 8px; border:1.5px solid var(--line-strong); border-radius:12px; transition:border-color var(--dur-base) ease, background var(--dur-base) ease, transform var(--dur-fast) var(--ease-out); }
    .account-btn:hover{ border-color:var(--teal); background:var(--strip); }
    .account-btn:active{ transform:scale(.97); }
    .avatar{ display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:8px; flex:0 0 auto; background:var(--teal); color:#fff; font-size:14px; font-weight:700; letter-spacing:.02em; }
    .account-info{ display:flex; flex-direction:column; align-items:flex-start; line-height:1.2; min-width:0; }
    .account-name{ font-size:14px; font-weight:600; color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .account-sub{ font-size:12px; color:var(--text); }
    .account-btn .chev{ width:13px; height:13px; color:var(--muted); margin-left:2px; transition:transform var(--dur-base) var(--ease-out); }
    .account-btn[aria-expanded="true"] .chev{ transform:rotate(180deg); }
    .account-menu{ position:absolute; top:calc(100% + 8px); right:0; z-index:80; min-width:240px; padding:8px; border:1px solid var(--line); border-radius:12px; background:var(--paper); box-shadow:0 16px 40px -12px rgba(20,24,31,.28); transform-origin:top right; transform:scale(.97); opacity:0; visibility:hidden; transition:opacity var(--dur-fast) ease, transform var(--dur-fast) var(--ease-out), visibility var(--dur-fast); }
    .account-menu.open{ opacity:1; visibility:visible; transform:scale(1); }
    .account-menu a{ display:flex; align-items:center; justify-content:space-between; padding:11px 12px; border-radius:8px; font-size:15px; font-weight:500; color:var(--ink); transition:background var(--dur-fast) ease, color var(--dur-fast) ease; }
    .account-menu a:hover{ background:var(--strip); color:var(--teal); }
    .account-menu a.danger{ color:#c0392b; }
    .account-menu a.danger:hover{ background:#fdecea; color:#c0392b; }
    .account-menu hr{ border:0; border-top:1px solid var(--line); margin:6px 8px; }
    .account-menu .badge{ min-width:20px; height:20px; padding:0 6px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; background:var(--teal); color:#fff; font-size:11px; font-weight:700; font-family:"JetBrains Mono", monospace; }

    /* demo-toggle — плавающая кнопка для разработки (убрать перед публикацией) */
    .demo-toggle{
      position:fixed; bottom:24px; right:24px; z-index:90;
      display:inline-flex; align-items:center; gap:10px;
      height:46px; padding:0 18px 0 14px;
      border-radius:999px;
      background:#1e293b; color:#fff;
      border:0; cursor:pointer;
      font-family:"JetBrains Mono",monospace; font-size:13px; font-weight:600;
      box-shadow:0 4px 20px rgba(0,0,0,.35);
      transition:background var(--dur-fast) ease, transform var(--dur-fast) var(--ease-out);
      user-select:none;
    }
    .demo-toggle:hover{ background:#0f172a; transform:translateY(-2px); }
    .demo-toggle:active{ transform:scale(.97); }
    .demo-toggle .dot{
      width:10px; height:10px; border-radius:50%; flex:0 0 auto;
      background:#3ec07a; box-shadow:0 0 0 3px rgba(62,192,122,.25);
      transition:background var(--dur-base) ease, box-shadow var(--dur-base) ease;
    }
    html[data-auth="dealer"] .demo-toggle .dot{
      background:#f59e0b; box-shadow:0 0 0 3px rgba(245,158,11,.25);
    }

    .btn{ display:inline-flex; align-items:center; justify-content:center; gap:10px; height:var(--tap); padding:0 26px; border-radius:12px; font-size:16px; font-weight:600; letter-spacing:-.01em; white-space:nowrap; transition:background var(--dur-base) ease, color var(--dur-base) ease, border-color var(--dur-base) ease, transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-base) ease; }
    .btn:active{ transform:scale(.97); }
    .btn svg{ width:20px; height:20px; }
    .btn-ghost{ border:1.5px solid var(--line-strong); color:var(--ink); }
    .btn-ghost svg{ color:var(--teal); }
    .btn-ghost:hover{ border-color:var(--teal); }
    .btn-solid{ background:var(--teal); color:#fff; box-shadow:0 2px 10px rgba(0,101,122,.22); }
    .btn-solid:hover{ background:var(--teal-dark); box-shadow:0 6px 18px rgba(0,101,122,.30); }
    @media (hover:hover) and (pointer:fine){ .btn-solid:hover{ transform:translateY(-1px); } }
    .btn-solid:active{ transform:scale(.97); }

    /* Row 3 · Nav (sticky) — тёмный тил */
    .nav{ border:0; background:#004a5c; position:sticky; top:0; z-index:50; transition:box-shadow var(--dur-base) ease; }
@media(min-width:861px){ .nav{ position:relative !important; } }  /* PM_HEADER_STICKY_V3: relative, НЕ static — static убивает z-index:50 (см. выше) */
    .nav.stuck{ box-shadow:0 4px 20px rgba(0,0,0,.22); }
    .nav-inner{ display:flex; align-items:center; min-height:56px; }
    .catalog{ flex:0 0 auto; display:inline-flex; align-items:center; gap:12px; height:42px; padding:0 20px; margin-right:24px; border-radius:8px; background:rgba(255,255,255,.15); color:#fff; border:1.5px solid rgba(255,255,255,.22); transition:background var(--dur-base) ease, border-color var(--dur-base) ease, transform var(--dur-fast) var(--ease-out); }
    @media (hover:hover) and (pointer:fine){ .catalog:hover{ background:rgba(255,255,255,.22); border-color:rgba(255,255,255,.35); } }
    .catalog:active{ transform:scale(.97); }
    .catalog .burger{ width:19px; height:19px; color:#fff; }
    .catalog .ttl{ font-size:15px; font-weight:700; letter-spacing:-.01em; }
    .catalog .chev{ width:12px; height:12px; color:rgba(255,255,255,.6); transition:transform var(--dur-base) ease; }
    .catalog:hover .chev{ transform:translateY(2px); }

    .nav-links{ display:flex; align-items:center; gap:4px; }
    .nav-link{ position:relative; display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:500; color:rgba(255,255,255,.78); padding:6px 12px; border-radius:8px; transition:color var(--dur-base) ease, background var(--dur-fast) ease; }
/* «Акции» — оранжевая, но прозрачная кнопка (в отличие от залитой «Мои заказы») */
.nav-link.years{ border:1.5px solid #ffd8a8; color:#b45309; font-weight:700; border-radius:8px; padding:5px 14px; background:#fff4e6; }
.nav-link.years .dl{ width:15px; height:15px; color:#b45309; }
.nav-link.years:hover{ background:#ffe8cc; color:#9a3f0a; }
.nav-link.years:hover .dl{ color:#9a3f0a; }

    .nav-link .chev{ width:11px; height:11px; color:rgba(255,255,255,.4); transition:transform .2s, color .18s; }
    .nav-link .dl{ width:14px; height:14px; color:rgba(255,255,255,.5); transition:color .18s; }
    .nav-link:hover .dl{ color:rgba(255,255,255,.9); }
    .nav-link:hover{ color:#fff; background:rgba(255,255,255,.1); }
    .nav-link:hover .chev{ color:rgba(255,255,255,.7); transform:translateY(1px); }
    .nav-link::after{ content:""; position:absolute; left:12px; right:12px; bottom:2px; height:2px; background:rgba(255,255,255,.6); border-radius:999px; transform:scaleX(0); transform-origin:left; transition:transform var(--dur-base) cubic-bezier(.2,.7,.2,1); }
    .nav-link:hover::after{ transform:scaleX(1); }

    .nav-actions{ display:flex; align-items:center; gap:6px; margin-left:auto; }
    .na-link{ display:inline-flex; align-items:center; gap:8px; height:38px; padding:0 14px; border-radius:8px; font-size:14px; font-weight:600; color:rgba(255,255,255,.82); background:rgba(255,255,255,.1); border:1.5px solid rgba(255,255,255,.14); transition:color var(--dur-base) ease, background var(--dur-base) ease, border-color var(--dur-base) ease, transform var(--dur-fast) var(--ease-out); }
    .na-link:active{ transform:scale(.97); }
    .na-link svg{ width:18px; height:18px; color:rgba(255,255,255,.55); transition:color .18s; }
    .na-link.key svg{ color:rgba(255,255,255,.85); }
    .na-ico{ position:relative; display:inline-flex; }
    .na-ico svg{ width:20px; height:20px; }
    .cart-count{ position:absolute; top:-6px; right:-8px; min-width:17px; height:17px; padding:0 4px; display:inline-flex; align-items:center; justify-content:center; background:#f59e0b; color:#fff; border-radius:999px; font-family:"JetBrains Mono", monospace; font-size:11px; font-weight:700; line-height:1; border:2px solid #004a5c; font-variant-numeric:tabular-nums; }
    @media (hover:hover) and (pointer:fine){ .na-link:hover{ color:#fff; background:rgba(255,255,255,.18); border-color:rgba(255,255,255,.28); } }
    @media (hover:hover) and (pointer:fine){ .na-link:hover svg{ color:#fff; } }

    /* Mega menu */
    .catalog[aria-expanded="true"]{ background:rgba(255,255,255,.25); border-color:rgba(255,255,255,.4); }
    .catalog[aria-expanded="true"] .chev{ transform:rotate(180deg); }
    .mega{ position:absolute; top:100%; left:0; right:0; z-index:55; background:var(--paper); border-top:2px solid var(--teal); box-shadow:0 26px 44px -18px rgba(20,24,31,.30); opacity:0; visibility:hidden; transform:translateY(-8px); transition:opacity var(--dur-base) ease, transform var(--dur-base) var(--ease-out), visibility .18s; will-change:opacity, transform; }
    .mega.open{ opacity:1; visibility:visible; transform:translateY(0); }
    .mega-grid{ display:grid; padding-block:30px 34px; }  /* колонки и gap задаются ниже (!important) */
    .mega-col h3{ margin:0 0 10px; }  /* шрифт/размер/цвет/капс задаются ниже (PM_MEGA_V2.1) */
    .mega-col a{ display:block; color:var(--ink); transition:color var(--dur-fast) ease; }  /* размер/отступы задаются ниже */
    .mega-col a:hover{ color:var(--teal); }
    /* PM_MEGA_JITTER_FIX_V1 (09.08): сдвиг transform:translateX на плотном списке ссылок — курсор у края ссылки то теряет, то снова ловит hover, визуально дёргается */
    .mega-scrim{ position:fixed; inset:0; z-index:45; background:rgba(20,24,31,.32); opacity:0; visibility:hidden; transition:opacity var(--dur-base) ease, visibility .2s; }
    .mega-scrim.open{ opacity:1; visibility:visible; }

    /* Mobile tools + drawer */
    .m-tools{ display:none; align-items:center; gap:6px; }
    .m-icon{ position:relative; display:inline-flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:12px; color:var(--ink); transition:background var(--dur-base) ease, transform var(--dur-fast) var(--ease-out); }
    .m-icon svg{ width:23px; height:23px; color:var(--teal); }
    .m-icon:hover{ background:var(--strip); }
    .m-icon:active{ transform:scale(.97); }
    .m-overlay{ position:fixed; inset:0; z-index:90; background:rgba(20,24,31,.45); opacity:0; visibility:hidden; transition:opacity var(--dur-slow) ease, visibility var(--dur-slow); }
    .m-overlay.open{ opacity:1; visibility:visible; }
    .m-drawer{ position:fixed; top:0; right:0; bottom:0; z-index:100; width:min(380px, 86vw); background:var(--paper); display:flex; flex-direction:column; transform:translateX(100%); transition:transform var(--dur-slow) var(--ease-drawer); box-shadow:-12px 0 40px -12px rgba(20,24,31,.35); overscroll-behavior:contain; overflow-y:auto; visibility:hidden; }
    .m-drawer.open{ transform:translateX(0); visibility:visible; }
    .m-drawer-head{ display:flex; align-items:center; justify-content:space-between; padding:18px 20px; border-bottom:1px solid var(--line); }
    .m-drawer-head .logo{ height:34px; width:auto; }
    .m-close{ display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:12px; color:var(--ink); transition:background var(--dur-base) ease, transform var(--dur-fast) var(--ease-out); }
    .m-close svg{ width:22px; height:22px; }
    .m-close:hover{ background:var(--strip); }
    .m-close:active{ transform:scale(.97); }
    .m-nav{ display:flex; flex-direction:column; padding:10px 8px; }
    .m-nav a{ display:flex; align-items:center; gap:12px; padding:14px 16px; border-radius:12px; font-size:18px; font-weight:500; color:var(--ink); transition:background var(--dur-fast) ease, color var(--dur-fast) ease; }
    .m-nav a svg{ width:21px; height:21px; color:var(--teal); flex:0 0 auto; }
    .m-nav a:hover{ background:var(--strip); color:var(--teal); }
    .m-nav hr{ border:0; border-top:1px solid var(--line); margin:10px 16px; }
    .m-contacts{ padding:14px 24px; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:12px; }
    .m-contacts a, .m-contacts span{ display:inline-flex; align-items:center; gap:12px; font-size:15px; color:var(--text); }
    .m-contacts svg{ width:19px; height:19px; color:var(--teal); }
    .m-contacts .num{ font-family:"JetBrains Mono", monospace; font-weight:600; color:var(--teal); }
    .m-actions{ padding:16px 20px 24px; display:flex; flex-direction:column; gap:10px; }
    .m-actions .btn{ width:100%; }

    /* Header responsive */
    @media (max-width:1280px){ .nav-links{ gap:24px; } .na-link span{ display:none; } .na-link{ padding:0 16px; } }
    @media (max-width:1000px){ .nav-link.mat{ display:none; } .btn-ghost span{ display:none; } .btn-ghost{ padding:0 18px; } }
    @media (max-width:860px){
      .nav{ display:none; } .actions{ display:none; }
      .main-row{ grid-template-columns:auto 1fr auto; gap:14px 16px; grid-template-areas:"logo . tools" "search search search"; padding-block:16px; }
      .brands{ grid-area:logo; } .m-tools{ grid-area:tools; display:flex; } .search-group{ grid-area:search; } .search{ max-width:none; justify-self:stretch; }
    }
    @media (max-width:620px){ .brands .logo{ height:28px; } .brands{ gap:9px; } .brands-name{ font-size:19px; } .brands-divider{ height:18px; } .search-btn svg{ display:none; } }
    @media (max-width:400px){ .brands .logo{ height:24px; } .brands-name{ font-size:17px; } }

    /* Stagger-in on load */
    /* PM_HDRIN_NO_TRANSFORM_V1 (09.08): transform на .main-row/.nav-inner временно создавал новый containing block для абсолютных потомков (.mega, .pm-suggest-drop) на время анимации — панель дёргалась, пока анимация не заканчивалась. Оставлена только прозрачность. */
    @keyframes hdrIn{ from{ opacity:0; } to{ opacity:1; } }
    .main-row{ animation:hdrIn .5s var(--ease-out) backwards; }
    .nav-inner{ animation:hdrIn .5s var(--ease-out) .08s backwards; }

    /* Skip link */
    .skip-link{ position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }
    .skip-link:focus{ position:fixed; left:16px; top:16px; z-index:9999; width:auto; height:auto; padding:10px 20px; border-radius:12px; background:var(--teal); color:#fff; font-size:15px; font-weight:700; outline:3px solid #fff; outline-offset:2px; }

    :focus{ outline:none; }
    :focus-visible{ outline:2px solid var(--teal); outline-offset:3px; border-radius:8px; }
    .button-primary:focus-visible,
    .button:focus-visible,
    .catalog:focus-visible,
    .search-btn:focus-visible,
    .btn-solid:focus-visible{ outline-color:#fff; outline-offset:-3px; }
    .catalog:focus-visible{ outline-offset:-3px; }

    /* ═══════════ PAGE (landing) ═══════════ */
    .page{ width:min(100%, var(--container)); margin:0 auto; padding:32px var(--gutter) 0; }
    .main{ min-width:0; }

    /* Auth-aware content (mirrors header data-auth) */
    .for-dealer{ display:none; }
    html[data-auth="dealer"] .for-guest{ display:none; }
    html[data-auth="dealer"] .for-dealer{ display:revert; }

    .certificate-card{ border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:#fff; box-shadow:var(--shadow-soft); }

    .certificate-card{ position:relative; padding:28px 24px 24px; color:#fff; background:linear-gradient(180deg, rgba(10,16,24,.40), rgba(10,16,24,.86)), url("assets/cert-bg.jpg") center / cover no-repeat, #14222a; min-height:340px; }
    .certificate-card::after{ content:""; position:absolute; inset:auto -40px -70px auto; width:210px; height:210px; border-radius:999px; background:rgba(8,145,178,.18); filter:blur(16px); pointer-events:none; }
    .brand-row{ position:relative; z-index:1; display:flex; align-items:center; gap:12px; margin-bottom:24px; }
    .brand-logo{ height:30px; width:auto; object-fit:contain; border-radius:8px; }
    .certificate-title{ position:relative; z-index:1; max-width:260px; margin:0 0 18px; font-size:22px; line-height:1.2; font-weight:900; letter-spacing:.02em; text-transform:uppercase; }
    .certificate-button{ position:relative; z-index:1; display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:0 22px; margin-bottom:20px; border-radius:12px; background:var(--accent); color:#fff; font-weight:800; transition:transform var(--dur-base) ease, background-color var(--dur-base) ease, box-shadow var(--dur-base) ease; }
    @media (hover:hover) and (pointer:fine){ .certificate-button:hover{ background:var(--accent-2); transform:translateY(-1px); box-shadow:0 12px 24px rgba(8,145,178,.26); } }
    .certificate-details{ position:relative; z-index:1; display:grid; gap:4px; margin:0; color:rgba(255,255,255,.90); font-size:15px; }

    /* Certificate + company band (full-width, replaces sidebar) */
    .cert-band{ display:grid; gap:18px; margin-top:26px; }
    .cert-band .certificate-card{ min-height:280px; }
    .company-card{ display:flex; flex-direction:column; gap:16px; padding:26px; border:1px solid var(--line); border-radius:var(--radius); background:var(--soft); }
    .company-card .company-text{ font-size:16px; line-height:1.5; }
    .company-meta{ display:grid; gap:10px; margin:0; padding-top:14px; border-top:1px solid var(--line); }
    .company-meta div{ display:flex; justify-content:space-between; gap:16px; font-size:14px; }
    .company-meta dt{ color:var(--muted); }
    .company-meta dd{ margin:0; font-weight:700; color:var(--ink); }

    /* ═══════════ GUEST · SECOND SCREEN ═══════════ */
    html[data-auth="dealer"] .guest-only{ display:none; }

    .section-head{ display:flex; align-items:baseline; justify-content:space-between; gap:20px; margin:0 0 clamp(22px,2.6vw,34px); }
    .section-head h2{ margin:0; font-size:var(--fs-h2); font-weight:800; letter-spacing:-.03em; line-height:1.1; color:var(--ink); text-wrap:balance; }
    .section-head .more{ flex:0 0 auto; display:inline-flex; align-items:center; gap:8px; font-family:"JetBrains Mono",monospace; font-size:13px; font-weight:600; letter-spacing:.02em; color:var(--muted); transition:color var(--dur-base) ease; }
    .section-head .more svg{ width:15px; height:15px; transition:transform var(--dur-base) var(--ease-out); }
    .section-head .more:hover{ color:var(--teal); }
    .section-head .more:hover svg{ transform:translateX(4px); }

    /* Trust stats — асимметричная типографическая полоса: одна цифра-герой, без карточки */
    .trust-stats{ margin-top:var(--section-gap); display:grid; grid-template-columns:1fr; gap:0; border:0; border-top:2px solid var(--ink); border-radius:0; overflow:visible; background:none; box-shadow:none; }
    @media(min-width:760px){ .trust-stats{ grid-template-columns:1.7fr 1fr 1fr 1fr; } }
    .stat{ padding:20px 0 18px; border:0; border-bottom:1px solid var(--line); }
    .stat:last-child{ border-bottom:0; }
    @media(min-width:760px){
      .stat{ padding:26px 26px; border-bottom:0; border-left:1px solid var(--line); }
      .stat:first-child{ padding-left:0; border-left:0; }
    }
    .stat-num{ font-family:"JetBrains Mono",monospace; font-size:clamp(26px,2.6vw,38px); font-weight:600; letter-spacing:-.03em; color:var(--teal); line-height:1; font-variant-numeric:tabular-nums; }
    .stat.featured .stat-num{ font-size:clamp(46px,6vw,76px); letter-spacing:-.04em; }
    .stat-label{ margin-top:10px; font-size:14px; line-height:1.4; color:var(--muted); font-weight:500; }
    .stat.featured .stat-label{ margin-top:14px; font-size:15px; color:var(--text); max-width:230px; }

    /* Dealer pitch · benefits + steps */
    .pitch{ margin-top:var(--section-gap); display:grid; gap:24px; }
    @media(min-width:980px){ .pitch{ grid-template-columns:1.1fr .9fr; align-items:start; } }

    /* ── Левая колонка · карточки преимуществ ── */
    .pitch-benefits{ display:flex; flex-direction:column; }
    .pitch-benefits .section-head{ margin-bottom:10px; }
    .pitch-lead{ margin:0 0 26px; max-width:56ch; font-size:16px; line-height:1.6; color:var(--text); text-wrap:pretty; }
    .benefit-grid{ display:flex; flex-direction:column; gap:12px; flex:1; border:0; background:none; box-shadow:none; }
    .benefit{ position:relative; display:flex; gap:16px; align-items:center; padding:18px 20px; background:#fff; border:1px solid #E5EAF0; border-radius:20px; box-shadow:0 6px 18px -10px rgba(15,23,42,.16); transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) ease, border-color var(--dur-base) ease; }
    .benefit .ic{ flex:0 0 auto; display:grid; place-items:center; width:56px; height:56px; border-radius:16px; background:rgba(0,101,122,.08); color:var(--teal); transition:background var(--dur-base) ease, color var(--dur-base) ease; }
    .benefit .ic svg{ width:27px; height:27px; }
    .benefit h3{ margin:0 0 3px; font-size:16px; font-weight:800; letter-spacing:-.01em; color:var(--ink); }
    .benefit p{ margin:0; font-size:14px; line-height:1.5; color:var(--muted); }
    @media (hover:hover) and (pointer:fine){
      .benefit:hover{ transform:translateY(-3px); box-shadow:0 16px 30px -14px rgba(15,23,42,.24); border-color:var(--line-strong); }
      .benefit:hover .ic{ background:rgba(0,101,122,.14); }
    }
    /* Первая карточка · акцент */
    .benefit.featured{ border-color:var(--teal); box-shadow:0 8px 22px -10px rgba(0,101,122,.30); }
    .benefit.featured .ic{ background:var(--teal); color:#fff; }
    @media (hover:hover) and (pointer:fine){ .benefit.featured:hover .ic{ background:var(--teal-dark); } }
    .benefit-badge{ position:absolute; top:14px; right:16px; display:inline-flex; align-items:center; gap:6px; height:24px; padding:0 10px; border-radius:999px; background:rgba(0,101,122,.10); color:var(--teal); font-size:12px; font-weight:700; }
    .benefit-badge svg{ width:13px; height:13px; }

    /* ── Правая колонка · тёмная premium-card ── */
    .steps-card{ position:relative; isolation:isolate; overflow:hidden; display:flex; flex-direction:column; gap:24px; padding:34px 32px; border-radius:20px; color:#fff; background:linear-gradient(155deg,#0a7d93 0%,var(--teal) 42%,var(--teal-dark) 100%); box-shadow:0 34px 70px -22px rgba(0,72,90,.62), inset 0 1px 0 rgba(255,255,255,.15); }
    /* radial glow · правый верхний угол */
    .steps-card::before{ content:""; position:absolute; top:-32%; right:-22%; width:64%; height:74%; background:radial-gradient(circle, rgba(94,234,255,.24), transparent 70%); pointer-events:none; z-index:0; }
    /* мягкое свечение снизу-слева для объёма */
    .steps-card::after{ content:""; position:absolute; bottom:-28%; left:-18%; width:58%; height:62%; background:radial-gradient(circle, rgba(255,255,255,.08), transparent 70%); pointer-events:none; z-index:0; }
    .steps-card > *{ position:relative; z-index:1; }
    /* Декоративный слой: контур-волны + watermark-щит */
    .steps-deco{ position:absolute; inset:0; z-index:0; pointer-events:none; overflow:hidden; border-radius:inherit; }
    .steps-waves{ position:absolute; inset:0; width:100%; height:100%; opacity:.05; }
    .steps-watermark{ position:absolute; right:-22px; bottom:-30px; width:228px; height:228px; color:#fff; opacity:.05; }
    .steps-head h3{ margin:0; font-size:22px; font-weight:900; letter-spacing:-.02em; }
    .steps-sub{ margin:7px 0 0; font-size:14px; line-height:1.5; color:rgba(255,255,255,.85); }
    .steps{ display:flex; flex-direction:column; gap:0; margin:0; padding:0; list-style:none; }
    .steps li{ position:relative; display:flex; gap:16px; align-items:flex-start; padding-bottom:22px; }
    .steps li:last-child{ padding-bottom:0; }
    .steps li:not(:last-child)::before{ content:""; position:absolute; left:18px; top:38px; bottom:2px; width:2px; background:linear-gradient(rgba(255,255,255,.34), rgba(255,255,255,.06)); }
    .steps li .n{ position:relative; flex:0 0 auto; display:grid; place-items:center; width:36px; height:36px; border-radius:999px; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.28); box-shadow:0 0 0 5px rgba(94,234,255,.10); font-family:"JetBrains Mono",monospace; font-weight:700; font-size:15px; color:#fff; }
    .steps li .t{ font-size:14px; line-height:1.5; color:rgba(255,255,255,.9); padding-top:7px; text-wrap:pretty; }
    .steps-cta{ margin-top:auto; display:flex; flex-direction:column; gap:10px; }
    .steps-cta .button{ width:100%; height:68px; border-radius:16px; background:#fff; color:var(--teal-dark); border-color:#fff; font-size:16px; box-shadow:0 14px 30px -10px rgba(0,0,0,.35); }
    .steps-cta .button svg{ width:20px; height:20px; transition:transform var(--dur-base) var(--ease-out); }
    @media (hover:hover) and (pointer:fine){
      .steps-cta .button:hover{ transform:translateY(-2px); background:#fff; box-shadow:0 20px 38px -12px rgba(0,0,0,.42); }
      .steps-cta .button:hover svg{ transform:translateX(4px); }
    }
    .steps-cta .button:focus-visible{ outline:3px solid rgba(94,234,255,.75); outline-offset:3px; }
    .steps-note{ text-align:center; font-size:13px; color:rgba(255,255,255,.85); }

    /* Materials · bento */
    .materials{ margin-top:var(--section-gap); }
    .materials-bento{ display:grid; gap:18px; grid-template-columns:1fr; }
    @media(min-width:980px){ .materials-bento{ grid-template-columns:0.92fr 1.08fr; align-items:stretch; } }
    .mat-right{ display:grid; gap:18px; grid-template-columns:repeat(2,1fr); }
    @media(max-width:560px){ .mat-right{ grid-template-columns:1fr; } }

    /* image placeholder — replace .ph with <img> */
    .ph{ display:grid; place-items:center; border-radius:12px; background:#e9eff3; border:1px dashed var(--line-strong); color:var(--muted); }
    .ph svg{ width:30px; height:30px; opacity:.55; }
    .ph img{ width:100%; height:100%; object-fit:cover; border-radius:inherit; }

    .mat-feature{ position:relative; display:flex; flex-direction:column; min-height:392px; padding:34px 32px; border-radius:var(--radius); overflow:hidden; background:#1a2330; box-shadow:var(--shadow); transition:transform .2s var(--ease-out), box-shadow var(--dur-base) ease; }
    @media (hover:hover) and (pointer:fine){
      .mat-feature:hover{ transform:translateY(-3px); box-shadow:0 28px 56px rgba(15,23,42,.22); }
    }
    .mat-feature .ph-feature{ position:absolute; inset:0; width:100%; height:100%; background:transparent; border:0; border-radius:0; overflow:hidden; z-index:0; }
    .mat-feature .ph-feature img{ width:100%; height:100%; object-fit:cover; object-position:center; }
    .mat-feature::after{ content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(100deg, rgba(10,18,32,.88) 0%, rgba(10,18,32,.72) 38%, rgba(10,18,32,.3) 65%, rgba(10,18,32,.05) 100%); }
    .mat-feature h3{ position:relative; z-index:2; margin:0; max-width:64%; font-size:clamp(22px,2.2vw,30px); font-weight:900; letter-spacing:-.03em; line-height:1.1; color:#fff; }
    .mat-feature p{ position:relative; z-index:2; margin:14px 0 0; max-width:56%; font-size:15px; line-height:1.5; color:rgba(255,255,255,.75); }
    .mat-feature .button{ position:relative; z-index:2; align-self:flex-start; margin-top:24px; background:#fff; color:var(--teal-dark); box-shadow:none; }
    .mat-feature .button:hover{ background:var(--strip); }
    @media (hover:hover) and (pointer:fine){ .mat-feature .button:hover{ transform:translateY(-2px); } }
    .mat-feature .meta{ position:relative; z-index:2; margin-top:auto; padding-top:24px; font-family:"JetBrains Mono",monospace; font-size:13px; font-weight:600; letter-spacing:.04em; color:rgba(255,255,255,.5); }
    @media(max-width:760px){ .mat-feature h3, .mat-feature p{ max-width:none; } }

    .mat-tile{ position:relative; display:flex; flex-direction:column; min-height:178px; padding:22px 22px 20px; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:#fff; box-shadow:var(--shadow-soft); transition:transform .2s var(--ease-out), box-shadow var(--dur-base) ease, border-color var(--dur-base) ease; }
    @media (hover:hover) and (pointer:fine){
      .mat-tile:hover{ transform:translateY(-3px); border-color:var(--line-strong); box-shadow:var(--shadow); }
    }
    .mat-tile .ph{ position:absolute; top:0; right:0; bottom:0; width:44%; border-radius:0; border:0; background:var(--strip); overflow:hidden; }
    .mat-tile .ph img{ width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .4s var(--ease-out); }
    .mat-tile:hover .ph img{ transform:scale(1.04); }
    .mat-tile::after{ content:""; position:absolute; top:0; right:43%; bottom:0; width:18%; background:linear-gradient(90deg, #fff 0%, rgba(255,255,255,0) 100%); pointer-events:none; z-index:1; }
    .mat-tile h3{ position:relative; z-index:2; margin:0; font-size:16px; font-weight:800; letter-spacing:-.02em; color:var(--ink); max-width:56%; }
    .mat-tile p{ position:relative; z-index:2; margin:7px 0 0; font-size:13px; line-height:1.5; color:var(--muted); max-width:56%; }
    .mat-tile .go{ position:relative; z-index:2; display:inline-flex; align-items:center; gap:8px; margin-top:auto; padding-top:14px; color:var(--accent-dark); font-weight:700; font-size:14px; transition:gap .18s var(--ease-out), color var(--dur-base) ease; }
    .mat-tile .go svg{ width:15px; height:15px; }
    .mat-tile:hover .go{ gap:12px; color:var(--accent); }
    /* STIHL-категория · дозированный фирменный оранжевый (вторая марка получает свой цвет) */
    .mat-tile.stihl{ border-color:rgba(236,102,8,.45); }
    .mat-tile.stihl:hover{ border-color:var(--stihl); }
    .mat-tile.stihl .go{ color:var(--stihl); }
    .mat-tile.stihl:hover .go{ color:var(--stihl-dark); }

    /* ═══ Recently viewed ═══ */
    .recent{ margin-top:var(--section-gap); }
    .recent-track-wrap{ position:relative; }
    .recent-track{ display:flex; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scrollbar-width:none; padding-bottom:4px; }
    .recent-track::-webkit-scrollbar{ display:none; }
    .recent-card{ flex:0 0 calc((100% - 4*14px)/5); scroll-snap-align:start; display:flex; align-items:center; gap:14px; padding:16px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:var(--shadow-soft); transition:transform .18s var(--ease-out), box-shadow var(--dur-base) ease, border-color var(--dur-base) ease; }
    @media (hover:hover) and (pointer:fine){
      .recent-card:hover{ transform:translateY(-2px); border-color:var(--line-strong); box-shadow:var(--shadow); }
    }
    .recent-thumb{ flex:0 0 auto; width:80px; height:80px; border-radius:12px; background:var(--strip); display:flex; align-items:center; justify-content:center; overflow:hidden; }
    .recent-thumb img{ width:100%; height:100%; object-fit:contain; }
    .recent-thumb svg{ width:36px; height:36px; color:var(--muted); opacity:.5; }
    .recent-info{ min-width:0; width:100%; }
    .recent-brand{ font-family:"JetBrains Mono",monospace; font-size:12px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); }
    .recent-name{ margin-top:3px; font-size:14px; font-weight:700; color:var(--ink); line-height:1.3; letter-spacing:-.01em; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
    .recent-art{ margin-top:4px; font-family:"JetBrains Mono",monospace; font-size:12px; color:var(--muted); }
    .recent-spec{ margin-top:2px; font-size:12px; color:var(--muted); }
    .scroll-btn{ position:absolute; top:50%; transform:translateY(-50%); z-index:2; display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:999px; background:#fff; border:1px solid var(--line-strong); box-shadow:0 4px 14px rgba(20,24,31,.14); color:var(--ink); cursor:pointer; transition:background var(--dur-fast) ease, box-shadow var(--dur-fast) ease, transform var(--dur-fast) var(--ease-out); }
    .scroll-btn svg{ width:18px; height:18px; }
    .scroll-btn:hover{ background:var(--teal); color:#fff; border-color:var(--teal); box-shadow:0 6px 18px rgba(0,101,122,.28); }
    .scroll-btn:active{ transform:translateY(-50%) scale(.94); }
    .scroll-btn.prev{ left:-18px; }
    .scroll-btn.next{ right:-18px; }

    /* ═══ Стать дилером + реквизиты перед футером ═══ */
    .prefooter{ margin-top:var(--section-gap); }
    .pf-grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start; }
    @media(max-width:860px){ .pf-grid{ grid-template-columns:1fr; } }
    /* Форма */
    .pf-form-card{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:32px; box-shadow:var(--shadow-soft); }
    .pf-form-head h2{ margin:0 0 8px; font-size:var(--fs-h3); font-weight:900; letter-spacing:-.02em; color:var(--ink); }
    .pf-form-head p{ margin:0 0 24px; font-size:14px; color:var(--muted); line-height:1.5; }
    .pf-form{ display:flex; flex-direction:column; gap:14px; }
    .pf-field{ display:flex; flex-direction:column; gap:6px; }
    .pf-field label{ font-size:13px; font-weight:600; color:var(--text); }
    .pf-field label span{ color:var(--teal); }
    .pf-field input{ height:46px; border:1.5px solid var(--line-strong); border-radius:var(--r); padding:0 14px; font-family:"Onest",sans-serif; font-size:14px; color:var(--ink); background:var(--strip); outline:none; transition:border-color var(--dur-base) ease, box-shadow var(--dur-base) ease, background var(--dur-base) ease; }
    .pf-field input:focus{ border-color:var(--teal); background:#fff; box-shadow:0 0 0 3px rgba(0,101,122,.1); }
    .pf-field input::placeholder{ color:var(--muted); }
    .pf-submit{ height:50px; border:0; border-radius:var(--r); background:var(--teal); color:#fff; font-family:"Onest",sans-serif; font-size:16px; font-weight:700; cursor:pointer; transition:background var(--dur-base) ease, transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-base) ease; margin-top:4px; box-shadow:0 2px 10px rgba(0,101,122,.22); }
    .pf-submit:hover{ background:var(--teal-dark); box-shadow:0 6px 18px rgba(0,101,122,.30); }
    .pf-submit:active{ transform:scale(.98); }
    .pf-note{ margin:8px 0 0; font-size:12px; color:var(--muted); line-height:1.4; }
    .pf-note a{ color:var(--teal); text-decoration:underline; text-underline-offset:2px; }
    /* Реквизиты */
    .req-card{ padding:32px; background:linear-gradient(135deg, var(--teal) 0%, var(--teal-dark) 100%); border-radius:var(--radius); color:#fff; display:flex; flex-direction:column; gap:20px; box-shadow:0 8px 28px rgba(0,101,122,.22); }
    .req-card-name{ font-size:22px; font-weight:900; letter-spacing:-.02em; line-height:1.2; }
    .req-card-grid{ display:grid; gap:10px; }
    .req-card-row{ display:flex; gap:12px; font-size:14px; line-height:1.4; }
    .req-card-lbl{ opacity:.65; flex:0 0 80px; font-size:13px; }
    .req-card-val{ font-weight:600; min-width:0; }
    .req-card-val.mono{ font-family:"JetBrains Mono",monospace; font-size:13px; letter-spacing:.02em; }
    .req-card-cta{ display:inline-flex; align-items:center; gap:8px; height:44px; padding:0 22px; border-radius:12px; background:rgba(255,255,255,.2); color:#fff; font-size:15px; font-weight:700; align-self:flex-start; transition:background var(--dur-fast) ease; }
    .req-card-cta:hover{ background:rgba(255,255,255,.3); }

    .recent-grid{ display:grid; gap:16px; grid-template-columns:repeat(2,1fr); }
    @media(min-width:640px){ .recent-grid{ grid-template-columns:repeat(3,1fr); } }
    @media(min-width:1024px){ .recent-grid{ grid-template-columns:repeat(4,1fr); } }
    .product-card{ display:flex; flex-direction:column; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:#fff; box-shadow:var(--shadow-soft); transition:transform .18s var(--ease-out), box-shadow var(--dur-base) ease, border-color var(--dur-base) ease; }
    @media (hover:hover) and (pointer:fine){
      .product-card:hover{ transform:translateY(-3px); border-color:var(--line-strong); box-shadow:var(--shadow); }
    }
    .product-img{ position:relative; aspect-ratio:1; background:var(--strip); display:flex; align-items:center; justify-content:center; padding:18px; }
    .product-img .ph{ width:100%; height:100%; border-radius:0; border:0; background:transparent; }
    .product-img .ph svg{ width:40px; height:40px; }
    .product-badge{ position:absolute; top:10px; left:10px; display:inline-flex; align-items:center; height:22px; padding:0 8px; border-radius:999px; font-family:"JetBrains Mono",monospace; font-size:11px; font-weight:700; letter-spacing:.02em; }
    .product-badge.new{ background:#d1fae5; color:#065f46; }
    .product-badge.hit{ background:#fee2e2; color:#991b1b; }
    .product-body{ display:flex; flex-direction:column; gap:6px; padding:14px 14px 16px; flex:1; }
    .product-brand{ font-family:"JetBrains Mono",monospace; font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
    .product-name{ font-size:14px; font-weight:700; color:var(--ink); line-height:1.4; letter-spacing:-.01em; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
    .product-art{ font-family:"JetBrains Mono",monospace; font-size:12px; color:var(--muted); margin-top:2px; }
    .product-footer{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:auto; padding-top:12px; border-top:1px solid var(--line); }
    .product-price{ font-family:"JetBrains Mono",monospace; font-size:15px; font-weight:700; color:var(--ink); letter-spacing:-.01em; font-variant-numeric:tabular-nums; }
    .product-price .login-hint{ font-size:12px; font-weight:500; color:var(--muted); font-family:"Onest",sans-serif; letter-spacing:0; }
    .product-cart{ display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:12px; background:var(--teal); color:#fff; flex:0 0 auto; transition:background var(--dur-fast) ease, transform var(--dur-fast) var(--ease-out); transform-origin:center; }
    .product-cart svg{ width:18px; height:18px; }
    @media (hover:hover) and (pointer:fine){ .product-cart:hover{ background:var(--teal-dark); transform:scale(1.06); } }

    /* Hero · company card */
    .hero-company-card{ display:inline-flex; align-items:stretch; gap:0; margin:0; }
    .hero-company-left{ display:flex; align-items:center; gap:10px; padding:10px 16px; }
    .hero-company-divider{ width:1px; background:var(--line-strong); flex:0 0 auto; }
    .hero-company-right{ display:flex; flex-direction:column; justify-content:center; gap:6px; padding:0 0 0 16px; }
    .hero-company-link{ display:inline-flex; align-items:center; gap:8px; padding:0; font-size:13px; font-weight:700; color:var(--accent-dark); background:none; border:0; cursor:pointer; text-align:left; transition:color var(--dur-fast) ease; white-space:nowrap; }
    .hero-company-link svg{ width:15px; height:15px; color:var(--teal); flex:0 0 auto; }
    .hero-company-link:hover{ color:var(--teal); }
    @media (max-width:560px){
      .hero-company-card{ flex-direction:column; align-items:flex-start; gap:12px; }
      .hero-company-divider{ display:none; }
      .hero-company-left{ padding:0; }
      .hero-company-right{ padding:0; gap:8px; }
      .hero-company-link{ white-space:normal; }
    }

    /* Legal modal · certificate + full requisites */
    .modal-overlay{ position:fixed; inset:0; z-index:150; background:rgba(20,24,31,.5); opacity:0; visibility:hidden; transition:opacity var(--dur-slow) ease, visibility var(--dur-slow); }
    .modal-overlay.open{ opacity:1; visibility:visible; }
    .modal{ position:fixed; z-index:160; left:50%; top:50%; transform:translate(-50%,-46%); width:min(880px,calc(100vw - 32px)); max-height:calc(100vh - 48px); overflow-y:auto; background:var(--paper); border-radius:var(--radius); box-shadow:0 40px 90px -24px rgba(20,24,31,.5); opacity:0; visibility:hidden; transition:opacity var(--dur-base) ease, transform var(--dur-base) var(--ease-out), visibility var(--dur-base); overscroll-behavior:contain; }
    .modal.open{ opacity:1; visibility:visible; transform:translate(-50%,-50%); transition:opacity var(--dur-slow) ease, transform var(--dur-slow) var(--ease-out), visibility var(--dur-slow); }
    .modal-head{ position:sticky; top:0; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:22px 26px; background:var(--paper); border-bottom:1px solid var(--line); }
    .modal-head h2{ margin:0; font-size:20px; font-weight:900; letter-spacing:-.02em; }
    .modal-close{ display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:12px; color:var(--ink); flex:0 0 auto; transition:background var(--dur-fast) ease, transform var(--dur-fast) var(--ease-out); }
    .modal-close svg{ width:22px; height:22px; }
    .modal-close:hover{ background:var(--strip); }
    .modal-close:active{ transform:scale(.97); }
    .modal-body{ display:grid; gap:24px; padding:26px; }
    @media(min-width:720px){ .modal-body{ grid-template-columns:0.82fr 1.18fr; align-items:start; } }

    .legal-cert{ display:flex; flex-direction:column; gap:14px; }
    .cert-preview{ aspect-ratio:3/4; border-radius:12px; overflow:hidden; }
    .cert-preview .ph{ width:100%; height:100%; }
    .legal-cert h3{ margin:0; font-size:16px; font-weight:800; letter-spacing:-.01em; }
    .legal-cert p{ margin:0; font-size:13px; color:var(--muted); line-height:1.5; }
    .legal-cert .button{ width:100%; margin-top:2px; }

    .legal-req h3{ margin:0 0 6px; font-size:16px; font-weight:800; letter-spacing:-.01em; }
    .req-list{ display:grid; margin:0; }
    .req-list > div{ display:grid; grid-template-columns:minmax(120px,158px) 1fr; gap:12px 16px; padding:11px 0; border-bottom:1px solid var(--line); font-size:14px; }
    .req-list > div:last-child{ border-bottom:0; }
    .req-list dt{ color:var(--muted); }
    .req-list dd{ margin:0; font-weight:600; color:var(--ink); }
    .req-list dd.mono{ font-family:"JetBrains Mono",monospace; }
    .req-list dd.todo{ color:var(--muted); font-weight:500; font-style:italic; }
    @media(max-width:440px){ .req-list > div{ grid-template-columns:1fr; gap:2px; } }

    /* ── «Нет профиля компании» — модалка при попытке добавить товар ── */
    .modal.modal-noprofile{ width:min(480px, calc(100vw - 32px)); }
    .modal-noprofile .modal-body{ display:block; padding:8px 26px 26px; }
    .modal-noprofile .modal-body > p{ margin:0 0 16px; font-size:14px; line-height:1.5; color:var(--text); }
    .pm-noprofile-steps{ margin:0 0 22px; padding:0; list-style:none; display:grid; gap:10px; counter-reset:pmstep; }
    .pm-noprofile-steps li{ position:relative; padding-left:34px; font-size:13.5px; line-height:1.45; color:var(--text); counter-increment:pmstep; }
    .pm-noprofile-steps li::before{ content:counter(pmstep); position:absolute; left:0; top:-1px; width:22px; height:22px; border-radius:50%; background:var(--strip); color:var(--teal-dark); font-size:11.5px; font-weight:700; display:flex; align-items:center; justify-content:center; }
    .pm-noprofile-actions{ display:flex; flex-wrap:wrap; gap:10px; }
    .pm-noprofile-actions .button{ flex:1 1 auto; }
    .pm-noprofile-actions .btn-ghost{ flex:0 0 auto; }

    /* ── Модальные формы заявок (дилер / корпоративный клиент) ── */
    .modal.modal-request{ width:min(560px, calc(100vw - 32px)); }
    .request-body{ padding:22px 26px 26px; }
    .request-intro{ margin:0 0 20px; font-size:14px; line-height:1.5; color:var(--text); }
    .req-form{ display:grid; gap:16px; }
    .req-row{ display:grid; gap:16px; }
    @media(min-width:480px){ .req-row.cols-2{ grid-template-columns:1fr 1fr; } }
    .field{ display:flex; flex-direction:column; gap:6px; min-width:0; }
    .field > label{ font-size:13px; font-weight:600; color:var(--ink); letter-spacing:-.01em; }
    .field .opt{ color:var(--muted); font-weight:500; }
    .field .req{ color:#c0392b; margin-left:1px; }
    .field input, .field textarea{ width:100%; height:48px; border:1.5px solid var(--line-strong); border-radius:var(--r); padding:0 14px; font-family:"Onest", sans-serif; font-size:15px; color:var(--ink); background:var(--strip); outline:none; transition:border-color var(--dur-base) ease, box-shadow var(--dur-base) ease, background var(--dur-base) ease; }
    .field textarea{ height:auto; min-height:88px; padding:11px 14px; line-height:1.5; resize:vertical; }
    .field input::placeholder, .field textarea::placeholder{ color:var(--muted); }
    .field input:focus, .field textarea:focus{ border-color:var(--teal); background:#fff; box-shadow:0 0 0 3px rgba(0,101,122,.12); }
    .field input:user-invalid, .field textarea:user-invalid{ border-color:#c0392b; background:#fdf3f2; }
    .field.has-error input, .field.has-error textarea, .field.has-error select{ border-color:#c0392b; background:#fdf3f2; }
    .co-consent.has-error{ outline:1.5px solid #c0392b; outline-offset:4px; border-radius:6px; }
    .field-error-msg{ font-size:12px; font-weight:600; color:#c0392b; margin-top:4px; }
    .field .hint{ font-size:12px; color:var(--muted); }
    .req-consent{ display:flex; align-items:flex-start; gap:10px; margin-top:2px; font-size:13px; line-height:1.5; color:var(--text); cursor:pointer; }
    .req-consent input{ width:18px; height:18px; margin:1px 0 0; flex:0 0 auto; accent-color:var(--teal); cursor:pointer; }
    .req-consent a{ color:var(--accent-dark); font-weight:600; border-bottom:1px solid currentColor; }
    .req-consent a:hover{ color:var(--accent); }
    .req-actions{ margin-top:6px; }
    .req-actions .button{ width:100%; }
    .req-foot{ margin:12px 0 0; font-size:13px; color:var(--muted); text-align:center; }
    .req-foot a{ color:var(--accent-dark); font-weight:600; }
    .request-success{ display:none; flex-direction:column; align-items:center; text-align:center; gap:6px; padding:14px 8px 6px; }
    .request-success .ok{ display:grid; place-items:center; width:58px; height:58px; border-radius:50%; background:#d1fae5; color:#065f46; margin-bottom:6px; }
    .request-success .ok svg{ width:30px; height:30px; }
    .request-success h3{ margin:0; font-size:20px; font-weight:900; letter-spacing:-.02em; color:var(--ink); }
    .request-success p{ margin:0; font-size:14px; line-height:1.5; color:var(--text); max-width:360px; }
    .request-success .button{ margin-top:14px; min-width:160px; }
    .modal-request.is-done .req-form, .modal-request.is-done .request-intro{ display:none; }
    .modal-request.is-done .request-success{ display:flex; }

    /* ── Dealer workspace ("рабочий стол") ── */
    html[data-auth="dealer"] .hero{ min-height:0; background:var(--strip); box-shadow:none; border-radius:0; }
    html[data-auth="dealer"] .hero-media,
    html[data-auth="dealer"] .hero-fade,
    html[data-auth="dealer"] .hero-badges{ display:none; }
    html[data-auth="dealer"] .hero-inner{ width:100%; max-width:none; padding:0 !important; }
    html[data-auth="dealer"] .page{ padding-top:24px; }

    /* Рабочий стол — общий лейаут */
    .desk{ display:flex; flex-direction:column; gap:20px; }

    /* Шапка профиля */
    .desk-header{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 24px; background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow-soft); }
    .desk-profile{ display:flex; align-items:center; gap:14px; min-width:0; }
    .desk-avatar{ flex:0 0 auto; width:48px; height:48px; border-radius:12px; background:linear-gradient(135deg, var(--teal), var(--teal-dark)); display:grid; place-items:center; color:#fff; font-size:16px; font-weight:700; letter-spacing:.02em; }
    .desk-info{ min-width:0; }
    .desk-info .name{ margin:0; font-size:20px; font-weight:900; letter-spacing:-.02em; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .desk-info .meta{ margin:3px 0 0; font-size:13px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .desk-hd-actions{ display:flex; align-items:center; gap:8px; flex:0 0 auto; }
    .desk-hd-btn{ display:inline-flex; align-items:center; gap:8px; height:42px; padding:0 16px; border-radius:12px; font-size:14px; font-weight:600; color:var(--ink); background:var(--strip); border:1px solid var(--line); transition:background var(--dur-fast) ease, border-color var(--dur-fast) ease, color var(--dur-fast) ease; white-space:nowrap; }
    .desk-hd-btn:hover{ background:#fff; border-color:var(--teal); color:var(--teal); }
    .desk-hd-btn:active{ transform:scale(.97); }
    .desk-hd-btn svg{ width:17px; height:17px; }

    /* Алерт — тихий информационный */
    .desk-alert{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 16px; background:#fafafa; border:1px solid var(--line); border-radius:var(--r); }
    .desk-alert.hidden{ display:none; }
    .desk-alert-left{ display:flex; align-items:center; gap:10px; }
    .desk-alert-ic{ flex:0 0 auto; display:grid; place-items:center; width:30px; height:30px; border-radius:8px; background:rgba(217,119,6,.08); color:#c47f16; }
    .desk-alert-ic svg{ width:15px; height:15px; }
    .desk-alert-body h3{ margin:0; font-size:14px; font-weight:600; color:var(--ink); letter-spacing:-.01em; text-wrap:balance; }
    .desk-alert-body p{ margin:3px 0 0; font-size:13px; color:var(--muted); line-height:1.4; }
    [id]{ scroll-margin-top:80px; }
    .desk-alert-actions{ display:flex; gap:6px; flex:0 0 auto; }
    .desk-alert-btn{ display:inline-flex; align-items:center; gap:6px; height:30px; padding:0 14px; border-radius:8px; font-size:13px; font-weight:600; white-space:nowrap; transition:background var(--dur-fast) ease, transform var(--dur-fast) var(--ease-out); }
    .desk-alert-btn:active{ transform:scale(.97); }
    .desk-alert-btn.primary{ background:var(--teal); color:#fff; border:0; }
    .desk-alert-btn.primary:hover{ background:var(--teal-dark); }
    .desk-alert-btn.ghost{ background:transparent; color:var(--muted); border:1px solid var(--line); }
    .desk-alert-btn.ghost:hover{ background:var(--strip); color:var(--ink); }

    /* Основная сетка */
    .desk-main{ display:grid; grid-template-columns:1fr; gap:16px; align-items:stretch; }
    @media(min-width:1280px){ .desk-main{ grid-template-columns:1fr 300px; } }
    .desk-left{ display:flex; flex-direction:column; gap:16px; }
    .desk-body{ display:grid; grid-template-columns:1fr; gap:16px; align-items:stretch; flex:1; min-height:0; }
    @media(min-width:900px){ .desk-body{ grid-template-columns:260px 1fr; } }
    .desk-section{ display:flex; flex-direction:column; }
    .desk-section > div[style]{ flex:1; min-height:0; overflow-x:auto; }
    .desk-panel{ display:grid; gap:12px; align-content:start; height:100%; }

    /* Боковая панель — быстрые действия */
    .desk-sidebar{ display:grid; gap:8px; }
    .desk-action{ display:flex; align-items:center; gap:12px; padding:13px 16px; border-radius:12px; background:#fff; border:1px solid var(--line); font-size:14px; font-weight:600; color:var(--ink); text-decoration:none; transition:background var(--dur-fast) ease, border-color var(--dur-fast) ease, color var(--dur-fast) ease, transform var(--dur-fast) var(--ease-out); }
    .desk-action:active{ transform:scale(.98); }
    @media (hover:hover) and (pointer:fine){ .desk-action:hover{ border-color:var(--teal); color:var(--teal); background:#f0f9fb; transform:translateX(2px); } }
    .desk-action.primary{ background:var(--teal); color:#fff; border-color:var(--teal); box-shadow:0 4px 14px rgba(0,101,122,.25); }
    .desk-action.primary:hover{ background:var(--teal-dark); }
    @media (hover:hover) and (pointer:fine){ .desk-action.primary:hover{ transform:translateX(2px); } }
    .desk-action .ic{ flex:0 0 auto; display:grid; place-items:center; width:36px; height:36px; border-radius:8px; background:rgba(0,101,122,.1); }
    .desk-action.primary .ic{ background:rgba(255,255,255,.2); }
    .desk-action .ic svg{ width:20px; height:20px; color:var(--teal); }
    .desk-action.primary .ic svg{ color:#fff; }
    .desk-action-sep{ height:1px; background:var(--line); margin:4px 0; }

    /* Метрики */
    .desk-metrics{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-bottom:16px; }
    @media(min-width:640px){ .desk-metrics{ grid-template-columns:repeat(3,1fr); } }
    @media(min-width:1100px){ .desk-metrics{ grid-template-columns:repeat(5,1fr); } }
    /* Прайс-плитки в строке метрик */
    .metric-price{ flex-direction:row; align-items:center; gap:12px; }
    .metric-price-ic{ flex:0 0 auto; display:grid; place-items:center; width:40px; height:40px; border-radius:12px; }
    .metric-price-ic svg{ width:21px; height:21px; }
    .metric-price-txt{ display:flex; flex-direction:column; min-width:0; }
    .metric-price-name{ font-size:14px; font-weight:800; letter-spacing:-.01em; color:var(--ink); white-space:nowrap; }
    .metric-price-sub{ font-size:12px; color:var(--muted); margin-top:2px; }
    .metric-price.stihl .metric-price-ic{ background:rgba(236,102,8,.12); color:var(--stihl); }
    .metric-price.stihl:hover{ border-color:var(--stihl); }
    .metric-price.makita .metric-price-ic{ background:rgba(0,101,122,.1); color:var(--teal); }
    .metric-tile{ display:flex; flex-direction:column; padding:18px; border-radius:var(--r); background:#fff; border:1px solid var(--line); box-shadow:var(--shadow-soft); text-decoration:none; transition:border-color var(--dur-fast) ease, transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) ease; }
    @media (hover:hover) and (pointer:fine){ .metric-tile:hover{ border-color:var(--teal); transform:translateY(-2px); box-shadow:var(--shadow); } }
    .metric-tile .num{ font-family:"JetBrains Mono",monospace; font-size:clamp(20px,2.5vw,28px); font-weight:700; letter-spacing:-.03em; color:var(--teal); line-height:1; font-variant-numeric:tabular-nums; }
    .metric-tile .num.warn{ color:#d97706; }
    .metric-tile .lbl{ margin-top:8px; font-size:13px; color:var(--muted); font-weight:500; line-height:1.3; }

    /* Таблица заказов */
    .desk-section{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow-soft); overflow:hidden; }
    .desk-sec-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 22px; border-bottom:1px solid var(--line); }
    .desk-sec-head h2{ margin:0; font-size:16px; font-weight:800; letter-spacing:-.01em; color:var(--ink); }
    .desk-sec-head a{ font-size:13px; font-weight:600; color:var(--muted); transition:color var(--dur-fast) ease; }
    .desk-sec-head a:hover{ color:var(--teal); }
    .orders-table{ width:100%; border-collapse:collapse; }
    .orders-table th{ padding:10px 14px; font-size:12px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--muted); text-align:left; background:var(--strip); border-bottom:1px solid var(--line); }
    .orders-table th:first-child{ padding-left:22px; }
    .orders-table th:last-child{ padding-right:22px; }
    .orders-table td{ padding:14px 14px; font-size:14px; color:var(--ink); border-bottom:1px solid var(--line); vertical-align:middle; }
    .orders-table td:first-child{ padding-left:22px; }
    .orders-table td:last-child{ padding-right:22px; }
    .orders-table tr:last-child td{ border-bottom:0; }
    @media (hover:hover) and (pointer:fine){ .orders-table tbody tr:hover td{ background:var(--strip); } }
    .order-num{ font-family:"JetBrains Mono",monospace; font-weight:700; font-size:14px; color:var(--teal); }
    .order-date{ color:var(--muted); font-size:13px; }
    .order-sum{ font-family:"JetBrains Mono",monospace; font-weight:600; font-variant-numeric:tabular-nums; }
    .status-badge{ display:inline-flex; align-items:center; gap:6px; padding:3px 10px; border-radius:999px; font-size:12px; font-weight:600; white-space:nowrap; }
    .status-badge::before{ content:""; width:6px; height:6px; border-radius:50%; flex:0 0 auto; }
    .status-badge.pending{ background:#fef3e2; color:#d97706; }
    .status-badge.pending::before{ background:#f59e0b; }
    .status-badge.confirmed{ background:#e0f2fe; color:#0369a1; }
    .status-badge.confirmed::before{ background:var(--accent-2); }
    .status-badge.shipping{ background:#f0fdf4; color:#166534; }
    .status-badge.shipping::before{ background:#22c55e; }
    .status-badge.done{ background:var(--strip); color:var(--muted); }
    .status-badge.done::before{ background:var(--muted); }
    .order-confirm-btn{ display:inline-flex; align-items:center; gap:6px; height:34px; padding:0 14px; border-radius:8px; font-size:13px; font-weight:700; background:#d97706; color:#fff; border:0; cursor:pointer; transition:background var(--dur-fast) ease; white-space:nowrap; }
    .order-confirm-btn:hover{ background:#b45309; }
    .order-confirm-btn:active{ transform:scale(.97); }
    .order-doc-btn{ display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:8px; color:var(--muted); transition:background var(--dur-fast) ease, color var(--dur-fast) ease; }
    .order-doc-btn:active{ transform:scale(.95); }
    .order-doc-btn svg{ width:16px; height:16px; }
    .order-doc-btn:hover{ background:var(--strip); color:var(--teal); }

    /* Правая панель: менеджер + баланс */
    .desk-panel{ display:grid; gap:12px; }
    .desk-manager{ padding:20px; background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow-soft); }
    .desk-manager h3{ margin:0 0 14px; font-size:14px; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; }
    .manager-card{ display:flex; align-items:center; gap:12px; }
    .manager-ava{ flex:0 0 auto; width:44px; height:44px; border-radius:50%; background:linear-gradient(135deg,#e0f2fe,#bae6fd); display:grid; place-items:center; font-size:16px; font-weight:700; color:#0369a1; }
    .manager-info .mn{ font-size:15px; font-weight:700; color:var(--ink); }
    .manager-info .mt{ font-size:13px; color:var(--muted); margin-top:2px; }
    .manager-contacts{ display:grid; gap:6px; margin-top:14px; padding-top:14px; border-top:1px solid var(--line); }
    .manager-contact{ display:inline-flex; align-items:center; gap:8px; font-size:14px; color:var(--text); transition:color var(--dur-fast) ease; }
    .manager-contact svg{ width:16px; height:16px; color:var(--teal); flex:0 0 auto; }
    .manager-contact:hover{ color:var(--teal); }
    .manager-contact .mn-num{ font-family:"JetBrains Mono",monospace; font-size:13px; font-weight:600; }

    .desk-balance{ padding:20px; background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow-soft); }
    .desk-balance h3{ margin:0 0 14px; font-size:14px; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; }
    .balance-rows{ display:grid; gap:10px; }
    .balance-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
    .balance-row .bl{ font-size:13px; color:var(--muted); }
    .balance-row .bv{ font-family:"JetBrains Mono",monospace; font-size:15px; font-weight:700; color:var(--ink); font-variant-numeric:tabular-nums; }
    .balance-row .bv.ok{ color:#166534; }
    .balance-row .bv.warn{ color:#d97706; }
    .balance-divider{ height:1px; background:var(--line); margin:4px 0; }

    /* ── Рекомендательные блоки дилера ── */

    /* Секция-заголовок с кнопкой «Все» */
    .desk-block{ margin-top:28px; }
    .desk-block-head{ display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:16px; }
    .desk-block-head h2{ margin:0; font-size:18px; font-weight:900; letter-spacing:-.02em; color:var(--ink); }
    .desk-block-head .see-all{ font-size:13px; font-weight:600; color:var(--muted); white-space:nowrap; transition:color var(--dur-fast) ease; }
    .desk-block-head .see-all:hover{ color:var(--teal); }
    .desk-block-head .badge-new{ display:inline-flex; align-items:center; height:22px; padding:0 9px; border-radius:999px; font-size:12px; font-weight:700; letter-spacing:.02em; background:#d1fae5; color:#065f46; margin-left:8px; }
    .desk-block-head .badge-hot{ background:#fee2e2; color:#991b1b; }
    .desk-block-head .badge-fire{ background:#fef3c7; color:#92400e; }

    /* Акции: горизонтальная полоса карточек */
    .promo-track{ display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:14px; }
    @media(min-width:900px){ .promo-track{ grid-template-columns:repeat(3,1fr); } }
    .promo-card{ position:relative; display:flex; flex-direction:column; padding:22px; border-radius:var(--radius); overflow:hidden; min-height:140px; text-decoration:none; transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) ease; }
    @media (hover:hover) and (pointer:fine){ .promo-card:hover{ transform:translateY(-2px); box-shadow:var(--shadow); } }
    .promo-card.teal{ background:linear-gradient(135deg, var(--teal) 0%, var(--teal-dark) 100%); color:#fff; }
    .promo-card.orange{ background:linear-gradient(135deg, #f59e0b 0%, #d97706 100%); color:#fff; }
    .promo-card.dark{ background:linear-gradient(135deg, #1e293b 0%, #0f172a 100%); color:#fff; }
    .promo-tag{ display:inline-flex; align-items:center; height:22px; padding:0 10px; border-radius:999px; font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; background:rgba(255,255,255,.22); margin-bottom:10px; align-self:flex-start; }
    .promo-title{ font-size:18px; font-weight:900; letter-spacing:-.02em; line-height:1.2; margin-bottom:6px; }
    .promo-desc{ font-size:13px; line-height:1.5; color:rgba(255,255,255,.82); flex:1; }
    .promo-cta{ display:inline-flex; align-items:center; gap:6px; margin-top:14px; font-size:14px; font-weight:700; color:#fff; align-self:flex-start; }
    .promo-cta svg{ width:15px; height:15px; transition:transform var(--dur-fast) var(--ease-out); }
    .promo-card:hover .promo-cta svg{ transform:translateX(3px); }
    .promo-deadline{ position:absolute; top:16px; right:16px; font-family:"JetBrains Mono",monospace; font-size:12px; font-weight:600; color:rgba(255,255,255,.7); }

    /* Компактная карточка товара (для рекомендаций) */
    .rec-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:12px; }
    @media(min-width:900px){ .rec-grid{ grid-template-columns:repeat(4,1fr); } }
    @media(min-width:1280px){ .rec-grid{ grid-template-columns:repeat(5,1fr); } }
    .rec-card{ display:flex; flex-direction:column; border:1px solid var(--line); border-radius:var(--r); background:#fff; overflow:hidden; text-decoration:none; transition:border-color var(--dur-fast) ease, transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) ease; }
    @media (hover:hover) and (pointer:fine){ .rec-card:hover{ border-color:var(--teal); transform:translateY(-2px); box-shadow:var(--shadow-soft); } }
    .rec-card-img{ aspect-ratio:1; background:var(--strip); display:flex; align-items:center; justify-content:center; padding:16px; position:relative; }
    .rec-card-img svg{ width:44px; height:44px; color:var(--line-strong); }
    .rec-card-badge{ position:absolute; top:8px; left:8px; height:20px; padding:0 7px; border-radius:999px; font-size:11px; font-weight:700; display:inline-flex; align-items:center; }
    .rec-card-badge.top{ background:#fef3c7; color:#92400e; }
    .rec-card-badge.new-badge{ background:#d1fae5; color:#065f46; }
    .rec-card-badge.margin{ background:#ede9fe; color:#5b21b6; }
    .rec-card-badge.low{ background:#fee2e2; color:#991b1b; }
    .rec-card-body{ padding:12px; display:flex; flex-direction:column; gap:4px; flex:1; }
    .rec-card-brand{ font-family:"JetBrains Mono",monospace; font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
    .rec-card-name{ font-size:14px; font-weight:700; color:var(--ink); line-height:1.3; letter-spacing:-.01em; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
    .rec-card-art{ font-family:"JetBrains Mono",monospace; font-size:11px; color:var(--muted); }
    .rec-card-footer{ padding:10px 12px; border-top:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:auto; }
    .rec-card-price{ font-family:"JetBrains Mono",monospace; font-size:14px; font-weight:700; color:var(--ink); font-variant-numeric:tabular-nums; letter-spacing:-.01em; }
    .rec-card-margin{ font-size:12px; font-weight:700; color:#7c3aed; }
    .rec-card-btn{ display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:8px; background:var(--teal); color:#fff; flex:0 0 auto; transition:background var(--dur-fast) ease, transform var(--dur-fast) var(--ease-out); transform-origin:center; }
    .rec-card-btn svg{ width:16px; height:16px; }
    @media (hover:hover) and (pointer:fine){ .rec-card-btn:hover{ background:var(--teal-dark); transform:scale(1.08); } }

    /* Полоска «Заканчивается на складе» */
    .stock-strip{ display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scrollbar-width:none; padding-bottom:2px; }
    .stock-strip::-webkit-scrollbar{ display:none; }
    .stock-item{ flex:0 0 auto; width:240px; scroll-snap-align:start; display:flex; align-items:center; gap:12px; padding:12px 14px; border:1.5px solid #fca5a5; border-radius:var(--r); background:#fff; text-decoration:none; transition:border-color var(--dur-fast) ease, background var(--dur-fast) ease; }
    .stock-item:hover{ border-color:#ef4444; background:#fff5f5; }
    .stock-item-img{ flex:0 0 auto; width:52px; height:52px; border-radius:8px; background:var(--strip); display:flex; align-items:center; justify-content:center; }
    .stock-item-img svg{ width:28px; height:28px; color:var(--line-strong); }
    .stock-item-info{ min-width:0; }
    .stock-item-name{ font-size:13px; font-weight:700; color:var(--ink); line-height:1.3; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
    .stock-item-left{ font-size:12px; color:#dc2626; font-weight:700; margin-top:3px; }
    .stock-item-price{ font-family:"JetBrains Mono",monospace; font-size:13px; font-weight:700; color:var(--ink); white-space:nowrap; font-variant-numeric:tabular-nums; }

    /* ── Два алерта рядом 2:1 ── */
    .desk-alerts{ display:grid; grid-template-columns:2fr 1fr; gap:12px; align-items:stretch; }
    @media(max-width:900px){ .desk-alerts{ grid-template-columns:1fr; } }
    /* Заказ — вертикально 2 строки */
    .desk-alerts .desk-alert{ flex-direction:column; align-items:flex-start; gap:10px; padding:16px 20px; }
    .desk-alerts .desk-alert-left{ align-items:center; gap:10px; }
    .desk-alerts .desk-alert-ic{ width:34px; height:34px; border-radius:8px; flex:0 0 auto; }
    .desk-alerts .desk-alert-ic svg{ width:17px; height:17px; }
    .desk-alerts .desk-alert-body h3{ font-size:14px; margin:0; }
    .desk-alerts .desk-alert-body p{ font-size:13px; }
    .desk-alerts .desk-alert-actions{ flex:0 0 auto; }
    .desk-alerts .desk-alert-btn{ height:30px; padding:0 14px; font-size:13px; }
    /* Кнопка заказа — оранжевая */
    .desk-alerts .desk-alert:not(.desk-alert-promo) .desk-alert-btn.primary{ background:#d97706; }
    .desk-alerts .desk-alert:not(.desk-alert-promo) .desk-alert-btn.primary:hover{ background:#b45309; }
    /* Акция — горизонтально 1 строка */
    .desk-alerts .desk-alert-promo{ flex-direction:row; align-items:center; justify-content:space-between; gap:14px; }
    .desk-alerts .desk-alert-promo .desk-alert-left{ flex:1; min-width:0; }
    .desk-alerts .desk-alert-promo .desk-alert-actions{ flex:0 0 auto; }
    /* Вариант «акция» — бирюзовый */
    .desk-alerts .desk-alert.desk-alert-promo{ background:linear-gradient(90deg,#f0fafa,#e2f4f6); border-color:var(--teal); }
    .desk-alert-promo .desk-alert-ic{ background:#d0eff3; color:var(--teal-dark); }
    .desk-alert-promo .desk-alert-body h3{ color:#004f5f; }
    .desk-alert-promo .desk-alert-body p{ color:#0a6070; }
    .desk-alert-promo .desk-alert-btn.primary{ background:var(--teal); }
    .desk-alert-promo .desk-alert-btn.primary:hover{ background:var(--teal-dark); }
    .desk-alert-promo .desk-alert-btn.ghost{ color:#004f5f; border-color:rgba(0,101,122,.35); }
    .desk-alert-promo .desk-alert-btn.ghost:hover{ background:rgba(0,101,122,.08); }

    /* ── Прайс-ссылки в сайдбаре ── */
    .desk-action-price{ gap:10px; }
    .desk-action-price .ic{ border-radius:8px; }
    .desk-action-price.stihl .ic{ background:rgba(236,102,8,.12); color:var(--stihl); }
    .desk-action-price.stihl:hover{ border-color:var(--stihl); color:var(--stihl); background:#fff7f2; }
    .desk-action-price.makita .ic{ background:rgba(0,101,122,.1); color:var(--teal); }
    .desk-action-label{ display:flex; flex-direction:column; gap:1px; }
    .desk-action-sub{ font-size:11px; font-weight:500; color:var(--muted); letter-spacing:0; }

    /* ── Новости в сайдбаре ── */
    .sidebar-news{ border:1px solid var(--line); border-radius:var(--r); overflow:hidden; background:#fff; }
    .sn-head{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding:9px 12px; border-bottom:1px solid var(--line); background:var(--strip); }
    .sn-head span{ font-size:12px; font-weight:800; color:var(--ink); letter-spacing:-.01em; }
    .sn-head a{ font-size:11px; font-weight:600; color:var(--muted); transition:color var(--dur-fast) ease; text-decoration:none; }
    .sn-head a:hover{ color:var(--teal); }
    .sn-item{ display:block; padding:10px 12px; text-decoration:none; transition:background var(--dur-fast) ease; }
    .sn-item:not(:last-child){ border-bottom:1px solid var(--line); }
    .sn-item:hover{ background:var(--strip); }
    .sn-date{ font-family:"JetBrains Mono",monospace; font-size:12px; color:var(--muted); font-weight:600; display:block; margin-bottom:3px; }
    .sn-title{ font-size:13px; font-weight:700; color:var(--ink); line-height:1.4; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }

    /* ── Карточка менеджера в сайдбаре ── */
    .sidebar-manager{ padding:14px; background:var(--strip); border:1px solid var(--line); border-radius:var(--r); display:flex; flex-direction:column; gap:10px; }
    .sm-head{ display:flex; align-items:center; gap:10px; }
    .sm-ava{ flex:0 0 auto; width:38px; height:38px; border-radius:50%; background:linear-gradient(135deg,#e0f2fe,#bae6fd); display:grid; place-items:center; font-size:13px; font-weight:700; color:#0369a1; }
    .sm-name{ font-size:14px; font-weight:700; color:var(--ink); }
    .sm-role{ font-size:12px; color:var(--muted); margin-top:1px; }
    .sm-contact{ display:inline-flex; align-items:center; gap:8px; font-size:13px; color:var(--text); transition:color var(--dur-fast) ease; text-decoration:none; }
    .sm-contact:hover{ color:var(--teal); }
    .sm-contact svg{ width:14px; height:14px; flex:0 0 auto; color:var(--muted); }
    .sm-contact:hover svg{ color:var(--teal); }
    .sm-divider{ height:1px; background:var(--line); margin:8px 0; }
    .sm-support-label{ font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); margin-bottom:6px; }
    .sm-support-note{ font-size:12px; color:var(--muted); line-height:1.4; margin:5px 0 0; }

    /* ── Продуктовый панель в правой колонке ── */
    .panel-products{ background:#fff; border:1px solid var(--line); border-radius:var(--r); overflow:hidden; box-shadow:var(--shadow-soft); }
    .pp-head{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding:11px 14px; border-bottom:1px solid var(--line); }
    .pp-head span{ font-size:13px; font-weight:800; letter-spacing:-.01em; color:var(--ink); }
    .pp-head a{ font-size:12px; font-weight:600; color:var(--muted); transition:color var(--dur-fast) ease; }
    .pp-head a:hover{ color:var(--teal); }
    .pp-item{ display:flex; align-items:center; gap:10px; padding:9px 14px; border-bottom:1px solid var(--line); text-decoration:none; transition:background var(--dur-fast) ease; }
    .pp-item:last-child{ border-bottom:0; }
    @media (hover:hover) and (pointer:fine){ .pp-item:hover{ background:var(--strip); } }
    .pp-thumb{ flex:0 0 auto; width:38px; height:38px; border-radius:8px; overflow:hidden; background:var(--strip); }
    .pp-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
    .pp-info{ flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
    .pp-brand{ font-family:"JetBrains Mono",monospace; font-size:10px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); }
    .pp-name{ font-size:13px; font-weight:700; color:var(--ink); line-height:1.3; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
    .pp-badge{ display:inline-flex; align-items:center; height:15px; padding:0 5px; border-radius:999px; font-size:10px; font-weight:700; align-self:flex-start; }
    .pp-badge.top{ background:#fef3c7; color:#92400e; }
    .pp-badge.margin{ background:#ede9fe; color:#5b21b6; }
    .pp-badge.new-b{ background:#d1fae5; color:#065f46; }
    .pp-right{ display:flex; flex-direction:column; align-items:flex-end; gap:6px; flex:0 0 auto; }
    .pp-price{ font-family:"JetBrains Mono",monospace; font-size:12px; font-weight:700; color:var(--ink); white-space:nowrap; }
    .pp-cart{ display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:8px; background:var(--teal); color:#fff; transition:background var(--dur-fast) ease; border:0; cursor:pointer; }
    .pp-cart svg{ width:13px; height:13px; }
    .pp-cart:hover{ background:var(--teal-dark); }

    /* ── Горизонтальная полоса менеджера ── */
    .manager-strip{ display:flex; align-items:center; gap:20px; padding:18px 22px; background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow-soft); flex-wrap:wrap; }
    .manager-strip-left{ display:flex; align-items:center; gap:12px; flex:0 0 auto; }
    .manager-strip-ava{ width:44px; height:44px; border-radius:50%; background:linear-gradient(135deg,#e0f2fe,#bae6fd); display:grid; place-items:center; font-size:15px; font-weight:700; color:#0369a1; flex:0 0 auto; }
    .manager-strip-info .msn{ font-size:15px; font-weight:700; color:var(--ink); }
    .manager-strip-info .mst{ font-size:12px; color:var(--muted); margin-top:2px; }
    .manager-strip-contacts{ display:flex; gap:20px; flex:1; flex-wrap:wrap; padding-left:20px; border-left:1px solid var(--line); }
    .msc{ display:inline-flex; align-items:center; gap:8px; font-size:14px; color:var(--text); transition:color var(--dur-fast) ease; text-decoration:none; }
    .msc:hover{ color:var(--teal); }
    .msc svg{ width:16px; height:16px; flex:0 0 auto; color:var(--muted); }
    .msc:hover svg{ color:var(--teal); }
    .msc .msc-num{ font-family:"JetBrains Mono",monospace; font-size:13px; font-weight:600; }
    .manager-strip-chat{ flex:0 0 auto; display:inline-flex; align-items:center; gap:8px; height:40px; padding:0 20px; border-radius:12px; background:var(--teal); color:#fff; font-size:14px; font-weight:700; transition:background var(--dur-fast) ease; text-decoration:none; }
    .manager-strip-chat:hover{ background:var(--teal-dark); }
    @media(max-width:900px){ .manager-strip-contacts{ border-left:0; padding-left:0; border-top:1px solid var(--line); padding-top:14px; width:100%; } .manager-strip-chat{ width:100%; justify-content:center; } }

    /* ── CTA-пара баннеров (выгодно продавать / новинки) ── */
    .cta-pair{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
    @media(max-width:600px){ .cta-pair{ grid-template-columns:1fr; } }
    .cta-tile{ display:flex; flex-direction:column; padding:26px 24px 22px; border-radius:var(--radius); text-decoration:none; transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) ease; min-height:160px; }
    @media (hover:hover) and (pointer:fine){ .cta-tile:hover{ transform:translateY(-3px); box-shadow:0 16px 40px rgba(0,0,0,.18); } }
    .cta-tile-tag{ display:inline-flex; align-items:center; height:22px; padding:0 10px; border-radius:999px; font-size:12px; font-weight:700; margin-bottom:10px; align-self:flex-start; background:rgba(255,255,255,.2); color:#fff; letter-spacing:.02em; }
    .cta-tile-title{ font-size:22px; font-weight:900; letter-spacing:-.03em; color:#fff; margin-bottom:6px; }
    .cta-tile-desc{ font-size:13px; color:rgba(255,255,255,.82); line-height:1.5; flex:1; }
    .cta-tile-link{ margin-top:18px; font-size:14px; font-weight:700; color:#fff; display:inline-flex; align-items:center; gap:6px; }
    .cta-tile-link svg{ width:16px; height:16px; }
    .cta-margin{ background:linear-gradient(135deg,#4c1d95,#6d28d9); }
    .cta-new{ background:linear-gradient(135deg,#064e3b,#065f46); }

    .desk-hi{ margin:0; color:var(--muted); font-size:15px; font-weight:600; }
    .desk-name{ margin:3px 0 0; font-size:var(--fs-h2); line-height:1.1; font-weight:900; letter-spacing:-.03em; color:#0f172a; text-wrap:balance; }

    .desk-links{ display:flex; flex-wrap:wrap; gap:10px; }
    .desk-chip{ display:inline-flex; align-items:center; gap:8px; height:46px; padding:0 18px; border-radius:999px; border:1px solid var(--line); background:#fff; font-size:14px; font-weight:600; color:var(--ink); transition:border-color var(--dur-base) ease, color var(--dur-base) ease, background var(--dur-base) ease, transform var(--dur-fast) var(--ease-out); }
    .desk-chip svg{ width:18px; height:18px; color:var(--teal); transition:color .18s; }
    .desk-chip:hover{ border-color:var(--teal); color:var(--teal); background:var(--soft); }
    .desk-chip:active{ transform:scale(.97); }
    .desk-chip.primary{ background:var(--teal); border-color:var(--teal); color:#fff; }
    .desk-chip.primary svg{ color:#fff; }
    .desk-chip.primary:hover{ background:var(--teal-dark); }

    /* Dealer summary tiles */
    .hero-quick{ display:grid; gap:12px; grid-template-columns:repeat(2,minmax(0,1fr)); max-width:780px; }
    .quick-tile{ display:flex; flex-direction:column; gap:2px; padding:16px 18px; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--soft); transition:border-color var(--dur-base) ease, transform var(--dur-base) ease, box-shadow var(--dur-base) ease; }
    .quick-tile:hover{ border-color:var(--accent); background:#fff; box-shadow:var(--shadow-soft); }
    @media (hover:hover) and (pointer:fine){ .quick-tile:hover{ transform:translateY(-2px); } }
    .quick-num{ font-family:"JetBrains Mono", monospace; font-size:22px; font-weight:600; color:var(--accent-dark); letter-spacing:-.01em; font-variant-numeric:tabular-nums; }
    .quick-label{ font-size:14px; color:var(--muted); font-weight:500; }
    @media (min-width:760px){ .hero-quick{ grid-template-columns:repeat(4,minmax(0,1fr)); } }

    .hero{ position:relative; overflow:hidden; min-height:396px; border-radius:var(--r-lg); background:#f8fafc; box-shadow:inset 0 0 0 1.5px var(--line-strong), 0 8px 32px rgba(20,24,31,.07); isolation:isolate; display:flex; flex-direction:column; }
    .hero-media{ position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none; }
    .hero-media img{ position:absolute; top:0; right:0; bottom:0; left:auto; width:70%; height:100%; object-fit:cover; object-position:75% center; filter:brightness(1.11) saturate(1.26) contrast(1.08); }
    .hero-media::after{ content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:radial-gradient(58% 68% at 72% 40%, rgba(255,226,158,.5) 0%, rgba(255,206,132,.22) 34%, rgba(255,200,120,0) 62%); mix-blend-mode:screen; }
    .hero-fade{ position:absolute; inset:0; z-index:2; pointer-events:none; background:linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.97) 28%, rgba(255,255,255,.94) 34%, rgba(255,255,255,.88) 39%, rgba(255,255,255,.78) 44%, rgba(255,255,255,.64) 49%, rgba(255,255,255,.48) 53%, rgba(255,255,255,.32) 57%, rgba(255,255,255,.18) 61%, rgba(255,255,255,.08) 65%, rgba(255,255,255,.02) 69%, rgba(255,255,255,0) 72%); }
    .hero-inner{ position:relative; z-index:3; flex:1 1 auto; display:flex; flex-direction:column; justify-content:center; width:min(100%, 880px); padding:36px 28px; }
    /* Гость · асимметричный ритм: кикер у верха, заголовок чуть ниже, карточка внизу */
    .for-guest{ flex:1 1 auto; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:clamp(16px, 2.2vh, 28px); }
    .for-guest .hero-title{ margin-top:clamp(20px, 4.5vh, 60px); }
    .for-guest .hero-company-card{ margin-top:auto; }
    .hero-kicker{ display:inline-flex; align-items:center; gap:8px; margin:0; padding:5px 12px; border:1.5px solid var(--teal); border-radius:var(--pill); color:var(--teal-dark); font-family:"JetBrains Mono", monospace; font-size:12px; font-weight:600; letter-spacing:.02em; background:rgba(0,101,122,.06); }
    .hero-title{ max-width:700px; margin:0; color:#0f172a; font-size:var(--fs-h1); line-height:1.05; font-weight:900; letter-spacing:-.03em; text-wrap:balance; }
    .hero-title span{ display:block; }
    .hero-sub{ max-width:520px; margin:0; color:var(--text); font-size:clamp(15px, 1.3vw, 17px); line-height:1.55; text-wrap:balance; }
    .hero-subtitle{ max-width:560px; margin:18px 0 0; color:#334155; font-size:clamp(16px, 1.25vw, 19px); line-height:1.5; text-wrap:pretty; }
    .hero-actions{ display:flex; flex-direction:column; gap:16px; margin:clamp(18px, 3.5vh, 48px) 0 0; }
    .hero-note{ display:inline-flex; align-items:center; gap:8px; margin:0; color:var(--muted); font-size:14px; }
    .hero-note a{ color:var(--accent-dark); font-weight:700; border-bottom:1px solid currentColor; transition:color var(--dur-base) ease; }
    .hero-note a:hover{ color:var(--accent); }
    .hero-note .lock{ width:15px; height:15px; color:var(--muted); flex:0 0 auto; }

    .hero-badges{ display:flex; flex-wrap:wrap; gap:16px 26px; margin-top:22px; margin-left:0; padding-left:0; }
    .hero-badge{ display:flex; align-items:center; gap:10px; }
    .hero-badge .ic{ display:grid; place-items:center; width:46px; height:46px; border-radius:50%; border:1.5px solid var(--line-strong); color:var(--accent); flex:0 0 auto; }
    .hero-badge .ic svg{ width:23px; height:23px; }
    .hb-title{ font-size:16px; font-weight:700; color:var(--ink); line-height:1.2; letter-spacing:-.01em; white-space:nowrap; }
    .hb-sub{ margin-top:2px; font-size:14px; color:var(--muted); line-height:1.2; white-space:nowrap; }

    /* .button — алиас системы .btn для обратной совместимости */
    .button{ display:inline-flex; align-items:center; justify-content:center; gap:10px; height:var(--tap); padding:0 26px; border-radius:12px; border:1.5px solid transparent; font-size:16px; font-weight:700; letter-spacing:-.01em; cursor:pointer; white-space:nowrap; transition:background var(--dur-base) ease, color var(--dur-base) ease, border-color var(--dur-base) ease, transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-base) ease; }
    .button:active{ transform:scale(.97); }
    .button-primary{ color:#fff; background:var(--teal); box-shadow:0 2px 10px rgba(0,101,122,.22); border-color:var(--teal); }
    @media (hover:hover) and (pointer:fine){
      .button-primary:hover{ background:var(--teal-dark); box-shadow:0 6px 18px rgba(0,101,122,.30); transform:translateY(-1px); }
      .button-outline:hover{ color:#fff; background:var(--teal); transform:translateY(-1px); box-shadow:0 6px 18px rgba(0,101,122,.22); }
    }
    .button-primary:hover{ background:var(--teal-dark); box-shadow:0 6px 18px rgba(0,101,122,.30); }
    .button-outline{ color:var(--teal-dark); background:rgba(255,255,255,.9); border-color:var(--teal); }
    .button-outline:hover{ color:#fff; background:var(--teal); box-shadow:0 6px 18px rgba(0,101,122,.22); }

    .company-title{ margin:0 0 8px; font-size:18px; font-weight:900; letter-spacing:-.02em; }
    .company-text{ margin:0; color:var(--muted); font-size:15px; }

    /* ═══════════ FOOTER ═══════════ */
    .site-footer{ margin-top:0; background:var(--ink); color:rgba(255,255,255,.65); font-size:14px; border-radius:var(--r-lg) var(--r-lg) 0 0; }
    .page{ padding-bottom:72px; }
    .footer-top{ display:grid; gap:40px 32px; padding:52px 0 44px; grid-template-columns:1fr; border-bottom:1px solid rgba(255,255,255,.1); }
    @media(min-width:720px){ .footer-top{ grid-template-columns:1.6fr 1fr 1fr; } }
    @media(min-width:1100px){ .footer-top{ grid-template-columns:1.8fr 1fr 1fr 1fr; } }

    .footer-brand{ display:flex; flex-direction:column; gap:18px; }
    .footer-logos{ display:flex; align-items:center; gap:14px; }
    .footer-logo{ height:32px; width:auto; object-fit:contain; border-radius:8px; }
    .footer-desc{ font-size:14px; line-height:1.6; color:rgba(255,255,255,.55); max-width:320px; }
    .footer-contacts{ display:flex; flex-direction:column; gap:10px; margin-top:4px; }
    .footer-contact{ display:inline-flex; align-items:center; gap:10px; color:rgba(255,255,255,.75); font-size:14px; transition:color var(--dur-fast) ease; }
    .footer-contact svg{ width:16px; height:16px; color:var(--teal); flex:0 0 auto; }
    .footer-contact:hover{ color:#fff; }
    .footer-contact .num{ font-family:"JetBrains Mono",monospace; font-weight:600; letter-spacing:.01em; color:rgba(255,255,255,.85); }

    .footer-col h4{ margin:0 0 16px; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.35); }
    .footer-col nav{ display:flex; flex-direction:column; gap:8px; }
    .footer-col a{ color:rgba(255,255,255,.65); font-size:14px; transition:color var(--dur-fast) ease; }
    .footer-col a:hover{ color:#fff; }

    .footer-bottom{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 24px; padding:20px 0 24px; font-size:13px; color:rgba(255,255,255,.65); }
    .footer-bottom-links{ display:flex; flex-wrap:wrap; gap:8px 20px; }
    .footer-bottom-links a{ color:rgba(255,255,255,.35); transition:color var(--dur-fast) ease; }
    .footer-bottom-links a:hover{ color:rgba(255,255,255,.7); }
    .footer-cert-btn{ display:inline-flex; align-items:center; gap:8px; color:rgba(255,255,255,.45); font-size:13px; font-weight:600; background:none; border:0; cursor:pointer; transition:color var(--dur-fast) ease; padding:0; }
    .footer-cert-btn svg{ width:14px; height:14px; color:var(--teal); }
    .footer-cert-btn:hover{ color:rgba(255,255,255,.8); }

    @media (min-width:560px){
      .hero-actions{ flex-direction:row; align-items:center; }
      .hero-badges{ flex-wrap:nowrap; gap:16px 20px; }
    }
    @media (min-width:900px){
      .hero{ min-height:486px; }
      .hero-inner{ padding-left:48px; }
      .hero-badges{ padding-left:0; }
      .cert-band{ grid-template-columns:1.25fr 1fr; align-items:stretch; }
      .footer-inner{ flex-direction:row; align-items:center; justify-content:space-between; }
    }
    @media (min-width:1180px){
      .hero{ min-height:558px; }
    }
    @media (max-width:900px){
      .hero-media img{ width:100%; opacity:.72; }
      .hero-fade{ background:linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.90) 54%, rgba(255,255,255,.62) 100%); }
      .hero-inner{ padding:10px 22px 26px; }
    }

    /* ═══ Scroll-reveal ═══ */
    .reveal{ opacity:0; transform:translateY(18px); transition:opacity .35s var(--ease-out), transform .35s var(--ease-out); }
    .reveal.in{ opacity:1; transform:translateY(0); }
    .reveal-up{ opacity:0; transform:translateY(26px); transition:opacity .4s var(--ease-out), transform .4s var(--ease-out); }
    .reveal-up.in{ opacity:1; transform:translateY(0); }

    /* ═══ СТРАНИЦА «СТАТЬ ДИЛЕРОМ» — PREMИUM B2B ═══ */

    /* Обёртка секции */
    .dealer-section{ background:#F6F8FA; padding:clamp(48px, 6vw, 72px) 0 0; }

    /* Сетка 2 колонки */
    .dealer-grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start; }
    @media(max-width:960px){ .dealer-grid{ grid-template-columns:1fr; } }

    /* ─── КАРТОЧКА ФОРМЫ ─── */
    .form-card{ background:#fff; border:1px solid #E2E8F0; border-radius:20px; padding:40px; box-shadow:0 4px 24px rgba(0,60,80,.07), 0 1px 4px rgba(0,0,0,.04); }

    /* Badge над формой */
    .form-badge{ display:inline-flex; align-items:center; gap:8px; background:#EEF9F7; color:#0D7C6E; font-size:13px; font-weight:600; padding:5px 14px; border-radius:999px; border:1px solid #B2E4DC; margin-bottom:22px; }
    .form-badge svg{ width:14px; height:14px; flex:0 0 auto; }

    /* Заголовок */
    .form-title{ font-size:28px; font-weight:800; color:#0D1B2A; margin:0 0 8px; letter-spacing:-.02em; line-height:1.2; }
    .form-sub{ font-size:15px; color:#5A7184; margin:0 0 24px; line-height:1.5; }

    /* Пилюли-преимущества */
    .form-perks{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:28px; }
    .perk-pill{ display:inline-flex; align-items:center; gap:6px; background:#F0FAF8; color:#0D7C6E; border:1px solid #C6EDE7; border-radius:999px; padding:6px 14px 6px 10px; font-size:13px; font-weight:600; }
    .perk-pill svg{ width:14px; height:14px; flex:0 0 auto; }

    /* Поля формы */
    .pf-fields{ display:flex; flex-direction:column; gap:16px; }
    .pf-field2{ display:flex; flex-direction:column; gap:6px; }
    .pf-field2 label{ font-size:14px; font-weight:600; color:var(--text); }
    .pf-field2 label .req{ color:var(--teal); margin-left:2px; }
    .pf-input-wrap{ position:relative; }
    .pf-input-wrap svg{ position:absolute; left:16px; top:50%; transform:translateY(-50%); width:18px; height:18px; color:var(--muted); pointer-events:none; transition:color 200ms ease; }
    .pf-input-wrap:focus-within svg{ color:var(--teal); }
    .pf-input2{ width:100%; height:56px; border:1.5px solid #D7DEE8; border-radius:12px; padding:0 16px 0 46px; font-size:15px; color:#0D1B2A; background:#FAFCFE; outline:none; font-family:"Onest",sans-serif; transition:border-color 200ms ease, box-shadow 200ms ease, background 200ms ease; }
    .pf-input2::placeholder{ color:#A8B5C2; }
    .pf-input2:hover{ border-color:#B0BFD0; }
    .pf-input2:focus{ border-color:var(--teal); background:#fff; box-shadow:0 0 0 3px rgba(0,101,122,.12); }

    /* Кнопка отправки */
    .pf-submit2{ display:flex; align-items:center; justify-content:center; gap:10px; width:100%; height:56px; border:0; border-radius:12px; background:linear-gradient(135deg,var(--teal-dark) 0%,var(--teal) 55%,var(--accent-2) 100%); color:#fff; font-size:16px; font-weight:700; cursor:pointer; margin-top:6px; font-family:"Onest",sans-serif; transition:transform 200ms var(--ease-out), box-shadow 200ms ease, filter 200ms ease; box-shadow:0 4px 18px rgba(0,101,122,.35); }
    .pf-submit2 svg{ width:18px; height:18px; flex:0 0 auto; transition:transform 200ms var(--ease-out); }
    .pf-submit2:hover{ box-shadow:0 8px 28px rgba(0,101,122,.45); filter:brightness(1.06); }
    @media (hover:hover) and (pointer:fine){ .pf-submit2:hover{ transform:translateY(-2px); } }
    .pf-submit2:hover svg{ transform:translateX(3px); }
    .pf-submit2:active{ transform:scale(.98); }

    /* Строка согласия */
    .db-empty{ display:flex; align-items:center; gap:12px; padding:26px 18px; color:var(--muted); font-size:14px; }
    .db-empty svg{ width:26px; height:26px; flex:0 0 auto; color:var(--line-strong); }
    .db-empty p{ margin:0; }
    .db-empty-reset{ color:var(--teal); font-weight:600; text-decoration:underline; text-underline-offset:2px; }
    .pf-field2.invalid .pf-input2{ border-color:#c0392b; background:#fff; }
    .pf-field2.invalid .pf-input2:focus{ box-shadow:0 0 0 3px rgba(192,57,43,.12); }
    .pf-err{ display:none; font-size:13px; color:#c0392b; }
    .pf-field2.invalid .pf-err{ display:block; animation:pf-err-in 150ms var(--ease-out); }
    @keyframes pf-err-in{ from{ opacity:0; transform:translateY(-2px); } }
    .pf-privacy{ display:flex; align-items:flex-start; gap:8px; margin-top:14px; font-size:13px; color:#8A9BAD; line-height:1.5; }
    .pf-privacy svg{ width:15px; height:15px; flex:0 0 auto; margin-top:1px; color:var(--teal); }
    .pf-privacy a{ color:var(--teal); text-decoration:underline; text-underline-offset:2px; }
    .pf-privacy a:hover{ color:#0F766E; }

    /* ─── КАРТОЧКА РЕКВИЗИТОВ ─── */
    .req-premium{ position:relative; background:linear-gradient(145deg,#003847 0%,#005566 45%,#006B73 100%); border-radius:20px; padding:36px; color:#fff; overflow:hidden; box-shadow:0 8px 40px rgba(0,56,71,.35); }

    /* Декоративный фон */
    .req-premium::before{ content:""; position:absolute; inset:0; background:radial-gradient(ellipse 80% 60% at 110% -10%, rgba(14,165,233,.18) 0%, transparent 60%), radial-gradient(ellipse 50% 70% at -20% 110%, rgba(0,101,122,.35) 0%, transparent 55%); pointer-events:none; }
    .req-premium::after{ content:""; position:absolute; top:-60px; right:-60px; width:220px; height:220px; border-radius:50%; border:40px solid rgba(255,255,255,.04); pointer-events:none; }

    /* Декоративный щит */
    .req-deco-shield{ position:absolute; right:24px; bottom:24px; width:110px; height:110px; opacity:.07; }
    .req-deco-shield svg{ width:100%; height:100%; }

    /* Хедер карточки */
    .req-header{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:28px; position:relative; z-index:1; }
    .req-company-name{ font-size:22px; font-weight:800; color:#fff; letter-spacing:-.02em; line-height:1.2; }
    .req-trust-badge{ display:inline-flex; align-items:center; gap:6px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2); border-radius:999px; padding:6px 12px; font-size:12px; font-weight:600; color:rgba(255,255,255,.85); white-space:nowrap; }
    .req-trust-badge svg{ width:13px; height:13px; flex:0 0 auto; color:#5EEAD4; }

    /* Таблица реквизитов */
    .req-table{ display:flex; flex-direction:column; gap:0; position:relative; z-index:1; }
    .req-row{ display:grid; grid-template-columns:120px 1fr; gap:12px; padding:10px 0; border-bottom:1px solid rgba(255,255,255,.1); align-items:baseline; }
    .req-row:last-child{ border-bottom:0; }
    .req-lbl{ font-size:13px; color:rgba(255,255,255,.5); font-weight:500; line-height:1.4; }
    .req-val{ font-size:14px; color:rgba(255,255,255,.92); font-weight:600; line-height:1.4; word-break:break-all; }
    .req-val.mono{ font-family:"JetBrains Mono",monospace; font-size:13px; letter-spacing:.02em; }
    .req-val a{ color:#5EEAD4; text-decoration:none; }
    .req-val a:hover{ text-decoration:underline; }
    @media(max-width:480px){ .req-row{ grid-template-columns:1fr; gap:4px; } .req-lbl{ font-size:12px; } }

    /* ═══ FOOTER PREMIUM ═══ */
    .site-footer-new{ background:#07151A; color:rgba(255,255,255,.6); font-size:14px; border-radius:28px 28px 0 0; margin-top:0; position:relative; overflow:hidden; }

    /* Radial glow */
    .site-footer-new::before{ content:""; position:absolute; top:-120px; right:-80px; width:480px; height:480px; background:radial-gradient(circle, rgba(14,165,233,.08) 0%, transparent 65%); pointer-events:none; }

    .footer-inner2{ position:relative; z-index:1; }

    /* Верхняя часть футера */
    .footer-top2{ display:grid; gap:40px 36px; padding:56px 0 48px; border-bottom:1px solid rgba(255,255,255,.08); grid-template-columns:1.9fr 1fr 1fr 1fr; }
    @media(max-width:1100px){ .footer-top2{ grid-template-columns:1.5fr 1fr 1fr; } }
    @media(max-width:720px){ .footer-top2{ grid-template-columns:1fr 1fr; } }
    @media(max-width:480px){ .footer-top2{ grid-template-columns:1fr; } }
    @media(max-width:600px){
      .footer-col2{ display:none; }
      .footer-desc2{ display:none; }
      .footer-top2{ padding:32px 0 24px; gap:0; }
      .footer-brand2{ gap:14px; }
      .footer-bottom2{ padding:16px 0 20px; gap:8px 16px; }
    }

    /* Бренд-блок */
    .footer-brand2{ display:flex; flex-direction:column; gap:20px; }
    .footer-company-name{ font-size:clamp(28px, 3.4vw, 40px); font-weight:900; letter-spacing:-.02em; color:#fff; margin-bottom:16px; line-height:1; }
    .footer-logos2{ display:flex; align-items:center; gap:12px; }
    .footer-logo2{ height:36px; width:auto; object-fit:contain; }
    .footer-desc2{ font-size:14px; line-height:1.6; color:rgba(255,255,255,.5); max-width:300px; }
    .footer-contacts2{ display:flex; flex-direction:column; gap:10px; }
    .footer-contact2{ display:inline-flex; align-items:center; gap:10px; color:rgba(255,255,255,.65); font-size:14px; text-decoration:none; transition:color 200ms ease; }
    .footer-contact2 svg{ width:15px; height:15px; color:var(--accent-2); flex:0 0 auto; }
    .footer-contact2:hover{ color:#fff; }
    .footer-contact2 .mono{ font-family:"JetBrains Mono",monospace; font-weight:600; color:rgba(255,255,255,.8); }

    /* Колонки навигации */
    .footer-col2 h4{ margin:0 0 18px; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.3); }
    .footer-col2 nav{ display:flex; flex-direction:column; gap:10px; }
    .footer-col2 a,
    .footer-col2 button{ display:inline-flex; align-items:center; gap:0; color:rgba(255,255,255,.55); font-size:14px; text-decoration:none; background:none; border:0; padding:0; cursor:pointer; font-family:inherit; font-size:inherit; transition:color 200ms ease; }
    .footer-col2 a::after{ content:"→"; opacity:0; font-size:11px; margin-left:5px; transform:translateX(-5px); transition:opacity 150ms ease, transform 150ms var(--ease-out); }
    .footer-col2 a:hover{ color:#fff; }
    .footer-col2 a:hover::after{ opacity:.6; transform:translateX(0); }
    .footer-col2 button:hover{ color:#fff; }

    /* Нижняя строка */
    .footer-bottom2{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 24px; padding:22px 0 28px; }
    .footer-copy{ font-size:13px; color:rgba(255,255,255,.35); }
    .footer-links2{ display:flex; flex-wrap:wrap; gap:8px 20px; }
    .footer-links2 a{ font-size:13px; color:rgba(255,255,255,.3); text-decoration:none; transition:color 200ms ease; }
    .footer-links2 a:hover{ color:rgba(255,255,255,.6); }

    /* Demo toggle улучшенный */
    .demo-toggle-new{ position:fixed; bottom:24px; right:24px; z-index:90; display:inline-flex; align-items:center; gap:8px; height:40px; padding:0 16px 0 12px; border-radius:999px; background:rgba(7,21,26,.9); color:rgba(255,255,255,.75); border:1px solid rgba(255,255,255,.12); cursor:pointer; font-family:"JetBrains Mono",monospace; font-size:13px; font-weight:600; box-shadow:0 4px 16px rgba(0,0,0,.4); transition:background 150ms ease, transform 150ms ease, border-color 150ms ease; user-select:none; backdrop-filter:blur(8px); }
    .demo-toggle-new:hover{ background:rgba(7,21,26,.98); transform:translateY(-2px); border-color:rgba(255,255,255,.22); }
    .demo-toggle-new:active{ transform:scale(.97); }
    .demo-dot-new{ width:8px; height:8px; border-radius:50%; flex:0 0 auto; transition:background 300ms ease; }
    .demo-dot-new.guest{ background:#22D3A8; box-shadow:0 0 0 3px rgba(34,211,168,.2); }
    .demo-dot-new.dealer{ background:#F59E0B; box-shadow:0 0 0 3px rgba(245,158,11,.2); }

    @media (prefers-reduced-motion: reduce){
      *, *::before, *::after{ scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; }
      .main-row, .nav-inner{ animation:none !important; }
      .reveal, .reveal-up{ opacity:1; transform:none; transition:none; }
    }

    /* ═══════════ DEALER DASHBOARD (db-*) ═══════════ */
    .db{ display:flex; flex-direction:column; gap:20px; padding:0 0 32px; }
    /* Таб-навигация кабинета */
    .db-tabs{ position:sticky; top:0; z-index:30; display:flex; justify-content:flex-end; overflow-x:auto; scrollbar-width:none; background:rgba(255,255,255,.88); backdrop-filter:saturate(140%) blur(8px); -webkit-backdrop-filter:saturate(140%) blur(8px); border-bottom:1px solid var(--line); box-shadow:0 1px 0 rgba(15,23,42,.02); }
    .db-tabs::-webkit-scrollbar{ display:none; }
    .db-tabs-inner{ position:relative; display:flex; gap:4px; min-width:max-content; padding:0 2px; margin-left:auto; }
    .db-tab{ position:relative; display:flex; align-items:center; gap:10px; padding:20px 28px; font-size:16px; font-weight:500; color:var(--muted); white-space:nowrap; cursor:pointer; border:none; background:none; font-family:inherit; border-radius:11px 11px 0 0; transition:color .18s var(--ease-out), background .18s var(--ease-out); text-decoration:none; }
    .db-tab svg{ width:21px; height:21px; flex:0 0 auto; transition:transform .2s var(--ease-out); }
    .db-tab:hover{ color:var(--ink); background:var(--soft); }
    .db-tab:hover svg{ transform:translateY(-1px); }
    .db-tab:focus-visible{ outline:2px solid var(--accent); outline-offset:-3px; border-radius:9px; }
    .db-tab.active{ color:var(--accent); font-weight:600; }
    .db-tab.active svg{ color:var(--accent); }
    .db-tabs-ind{ position:absolute; bottom:-1px; left:0; width:0; height:2.5px; background:var(--accent); border-radius:3px 3px 0 0; box-shadow:0 0 8px -2px var(--accent); transition:left .3s cubic-bezier(.4,0,.2,1), width .3s cubic-bezier(.4,0,.2,1); pointer-events:none; }
    @media(max-width:600px){ .db-tab{ padding:11px 13px; font-size:12px; gap:5px; } .db-tab svg{ width:14px; height:14px; } }
    /* Заглушка раздела (empty state) */
    .db-stub{ display:flex; flex-direction:column; align-items:center; text-align:center; padding:64px 24px 56px; }
    .db-stub-ic{ display:grid; place-items:center; width:72px; height:72px; border-radius:20px; background:linear-gradient(135deg,#e0f2fe,#f0fdfa); color:var(--accent); margin-bottom:20px; box-shadow:0 8px 24px -12px rgba(0,101,122,.4); }
    .db-stub-ic svg{ width:32px; height:32px; }
    .db-stub-tag{ display:inline-flex; align-items:center; gap:6px; padding:4px 11px; border-radius:var(--pill); background:rgba(0,101,122,.08); color:var(--teal-dark); font-family:"JetBrains Mono",monospace; font-size:11px; font-weight:600; letter-spacing:.02em; margin-bottom:14px; }
    .db-stub h3{ color:var(--ink); margin-bottom:8px; }
    .db-stub p{ max-width:420px; margin:0 auto; font-size:14px; color:var(--muted); line-height:1.6; }
    .db-stub-back{ display:inline-flex; align-items:center; gap:7px; margin-top:22px; height:40px; padding:0 18px; border-radius:10px; border:1.5px solid var(--line-strong); background:#fff; color:var(--ink); font-size:14px; font-weight:600; cursor:pointer; transition:border-color 150ms, background 150ms, transform var(--dur-fast) var(--ease-out); }
    .db-stub-back:hover{ border-color:var(--teal); background:var(--strip); color:var(--teal); }
    .db-stub-back:active{ transform:scale(.97); }
    .db-stub-back:focus-visible{ outline:2px solid var(--teal); outline-offset:2px; }
    .db-stub-back svg{ width:15px; height:15px; }
    @keyframes dbStubIn{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:none; } }
    .db-stub{ animation:dbStubIn .32s var(--ease-out) both; }
    @media(prefers-reduced-motion:reduce){ .db-tabs-ind{ transition:none; } .db-stub{ animation:none; } }

    /* Пустые состояния разделов кабинета */
    .db-stub{ max-width:460px; margin:0 auto; padding:60px 24px 64px; text-align:center; animation:dbStubIn .32s var(--ease-out) both; }
    .db-stub-ic{ width:66px; height:66px; margin:0 auto 18px; border-radius:19px; display:grid; place-items:center; background:linear-gradient(135deg,#e0f2fe,#f0fdfa); color:var(--teal); box-shadow:0 8px 22px -12px rgba(0,101,122,.5); }
    .db-stub-ic svg{ width:30px; height:30px; }
    .db-stub-badge{ display:inline-block; font-size:11px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--teal); background:rgba(0,101,122,.07); border:1px solid #cdeef0; padding:4px 12px; border-radius:999px; margin-bottom:14px; }
    .db-stub-title{ font-size:20px; font-weight:800; color:var(--ink); margin:0 0 9px; letter-spacing:-.015em; }
    .db-stub-text{ font-size:14px; line-height:1.6; color:var(--muted); margin:0 auto; max-width:380px; }
    @keyframes dbStubIn{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:none; } }
    @media(prefers-reduced-motion:reduce){
      .db-tabs-ind{ transition:none; }
      .db-tab, .db-tab svg{ transition:none; }
      .db-stub{ animation:none; }
    }

    /* Top zone */
    .db-top{ display:grid; grid-template-columns:minmax(0,1.6fr) minmax(290px,1fr); gap:20px; align-items:start; }
    .db-top--solo{ grid-template-columns:1fr; }
    @media(max-width:980px){ .db-top{ grid-template-columns:1fr; } }

    /* Alert — главный визуальный центр */
    .db-alert{ background:linear-gradient(180deg,#fffaf5,#fff); border:1.5px solid #fdba74; border-radius:16px; padding:clamp(18px, 2.5vw, 24px) clamp(18px, 2.7vw, 26px); box-shadow:0 8px 26px -12px rgba(234,88,12,.28); }
    .db-alert-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-bottom:28px; }
    .db-alert-main{ min-width:0; flex:1 1 260px; }
    .db-alert-badge{ display:inline-flex; align-items:center; gap:6px; background:#fff7ed; color:#ea580c; font-size:12px; font-weight:700; padding:4px 10px; border-radius:999px; margin-bottom:12px; }
    .db-alert-badge svg{ width:14px; height:14px; flex:0 0 auto; }
    .db-alert-title{ font-size:clamp(19px, 4.2vw, 22px); font-weight:800; color:var(--ink); margin:0; letter-spacing:-.02em; line-height:1.2; text-wrap:balance; }
    /* Чип «Перейти в заказ» в заголовке плашки последнего заказа */
    .db-alert-goto{ display:inline-flex; align-items:center; gap:3px; vertical-align:middle; margin-left:10px; height:26px; padding:0 12px 0 13px; border-radius:999px; background:var(--teal,#0d9488); color:#fff; font-size:12.5px; font-weight:700; letter-spacing:-.01em; text-decoration:none; white-space:nowrap; transition:background 150ms ease; }
.db-alert-titlerow{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.db-alert-titlecol{ min-width:0; }
.db-alert-titlecol .db-alert-title{ margin:0; }
.db-alert-titlecol .db-alert-date{ display:block; margin-top:3px; }
.db-alert-titlerow .db-alert-goto{ margin-left:0; flex:0 0 auto; }
@media(max-width:680px){
  .db-alert{ padding:16px; }
  .db-alert-head{ flex-direction:column; align-items:stretch; gap:12px; margin-bottom:14px; }
  .db-alert-main{ flex:0 0 auto; }
  .db-alert-title{ font-size:17px; }
  .db-alert-goto{ height:30px; padding:0 10px 0 11px; font-size:11.5px; }
  .db-alert-sum{ text-align:left; display:flex; align-items:baseline; gap:8px; padding:10px 14px; }
  .db-alert-sum-lbl{ display:inline; }
  .db-alert-sum-val{ font-size:20px; }
  .db-alert-sum-meta{ display:inline; margin-top:0; }
  .db-alert-actions{ margin-top:2px; }
  .db-alert-actions .db-btn-primary, .db-alert-actions .db-btn-secondary{ height:44px; font-size:14px; flex:1 1 auto; justify-content:center; }
}
    .db-alert-goto svg{ width:13px; height:13px; flex:0 0 auto; }
    .db-alert-goto:hover{ background:var(--teal-dark,#0f766e); }
    .db-alert-text{ font-size:14px; color:var(--muted); margin:0; line-height:1.5; }
    /* Сумма заказа — крупная цифра справа */
    .db-alert-sum{ flex:0 0 auto; text-align:right; padding:6px 16px 10px; border:1px solid #fde3c8; border-radius:12px; background:#fff; }
    .db-alert-sum-lbl{ display:block; font-size:11px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--muted); }
    .db-alert-sum-val{ display:block; font-family:"JetBrains Mono",monospace; font-size:clamp(22px, 5vw, 26px); font-weight:700; color:var(--ink); letter-spacing:-.02em; line-height:1.15; font-variant-numeric:tabular-nums; }
    .db-alert-sum-meta{ display:block; font-size:11px; color:var(--muted); margin-top:1px; }
    @media(max-width:520px){ .db-alert-sum{ text-align:left; } }
    .db-alert-actions{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
    .db-btn-primary{ display:inline-flex; align-items:center; gap:9px; height:48px; padding:0 24px; border-radius:11px; background:#ea580c; color:#fff; font-size:15px; font-weight:700; border:0; cursor:pointer; box-shadow:0 6px 18px -6px rgba(234,88,12,.55); transition:background 150ms ease, box-shadow 150ms ease, transform 150ms var(--ease-out); white-space:nowrap; }
    .db-btn-primary svg{ width:19px; height:19px; }
    .db-btn-primary:hover{ background:#c2410c; box-shadow:0 10px 24px -6px rgba(234,88,12,.6); }
    .db-btn-primary:active{ transform:scale(.97); }
    .db-btn-secondary{ display:inline-flex; align-items:center; gap:8px; height:48px; padding:0 16px; border-radius:11px; background:transparent; color:var(--text); border:1.5px solid #e5e7eb; font-size:14px; font-weight:600; cursor:pointer; transition:border-color 150ms, background 150ms, transform 150ms; white-space:nowrap; }
    .db-btn-secondary:hover{ border-color:#d1d5db; background:#f9fafb; }
    .db-btn-secondary:active{ transform:scale(.97); }
    .db-btn-secondary svg{ width:15px; height:15px; color:var(--muted); }
    .db-btn-later{ background:none; border:0; color:var(--muted); font-size:14px; font-weight:500; cursor:pointer; padding:0 6px; height:48px; margin-left:auto; transition:color 150ms; }
    .db-btn-later:hover{ color:var(--ink); }

    /* Promo */
    .db-promo{ background:linear-gradient(135deg,#e0f2fe,#f0fdfa); border:1.5px solid #bae6fd; border-radius:16px; padding:20px 24px; box-shadow:0 2px 10px rgba(0,0,0,.04); }
    .db-promo-tag{ font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#0284c7; margin-bottom:7px; }
    .db-promo-title{ font-size:16px; font-weight:800; color:#0c4a6e; margin:0 0 5px; }
    .db-promo-text{ font-size:13px; color:#0369a1; margin:0 0 14px; line-height:1.4; }
    .db-promo-link{ display:inline-flex; align-items:center; gap:6px; height:34px; padding:0 14px; border-radius:8px; background:var(--accent-2); color:#fff; font-size:13px; font-weight:700; text-decoration:none; transition:background 150ms ease; }
    .db-promo-link:hover{ background:#0284c7; }
    .db-promo-link svg{ width:14px; height:14px; }

    /* Body grid */
    .db-body{ display:grid; grid-template-columns:304px 1fr; column-gap:20px; align-items:start; }
.db-main-col{ display:flex; flex-direction:column; gap:40px; min-width:0; }
    .db-body > .db-recs{ grid-column:1 / -1; }
    @media(max-width:900px){ .db-body{ grid-template-columns:1fr; } }

    /* Sidebar */
    .db-sidebar{ display:flex; flex-direction:column; gap:12px; }

    /* Prices card */
    .db-prices{ background:#fff; border:1.5px solid #e5e7eb; border-radius:16px; overflow:hidden; box-shadow:0 1px 6px rgba(0,0,0,.04); }
    .db-card-head{ padding:12px 16px; border-bottom:1px solid #f3f4f6; display:flex; align-items:center; justify-content:space-between; }
    .db-card-head h3{ margin:0; font-size:12px; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.05em; }
    .db-price-item{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding:10px 16px; border-bottom:1px solid #f9fafb; }
    .db-price-item:last-child{ border-bottom:0; }
    .db-price-left{ display:flex; align-items:center; gap:10px; }
    .db-price-ic{ width:30px; height:30px; border-radius:8px; display:grid; place-items:center; flex:0 0 auto; }
    .db-price-ic.stihl{ background:#fff7ed; color:#ea580c; }
    .db-price-ic.makita{ background:#f0fdfa; color:var(--teal); }
    .db-price-ic svg{ width:15px; height:15px; }
    .db-price-name{ font-size:14px; font-weight:700; color:var(--ink); }
    .db-price-date{ font-size:11px; color:var(--muted); margin-top:1px; }
    .db-price-dl{ display:inline-flex; align-items:center; gap:4px; height:28px; padding:0 10px; border-radius:8px; background:#f0fdfa; color:var(--teal); border:1px solid #99f6e4; font-size:12px; font-weight:600; text-decoration:none; transition:background 150ms ease, border-color 150ms ease, transform var(--dur-fast) var(--ease-out); white-space:nowrap; cursor:pointer; appearance:none; font-family:inherit; }
    .db-price-dl:hover{ background:#ccfbf1; border-color:#2dd4bf; }
    .db-price-dl:active{ transform:scale(.96); }
    .db-price-dl svg{ width:12px; height:12px; }

    /* Быстрый подбор — рабочий инструмент дилера */
    .db-promo-strip{ display:flex; align-items:center; gap:14px; padding:11px 18px; background:linear-gradient(90deg,#f0fdfa 0%,#fff 100%); border:1.5px solid #99f6e4; border-radius:12px; flex-wrap:wrap; }
    .db-promo-strip-tag{ flex:0 0 auto; display:inline-flex; align-items:center; gap:5px; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#fff; background:var(--teal); padding:4px 11px; border-radius:999px; }
    .db-promo-strip-tag::before{ content:"★"; font-size:10px; }
    .db-promo-strip-body{ flex:1; min-width:0; display:flex; flex-direction:column; gap:1px; }
    .db-promo-strip-title{ font-size:14px; font-weight:800; color:var(--ink); letter-spacing:-.01em; }
    .db-promo-strip-text{ font-size:12px; color:var(--muted); }
    .db-promo-strip-link{ flex:0 0 auto; font-size:13px; font-weight:700; color:var(--teal); text-decoration:none; white-space:nowrap; border:1.5px solid #99f6e4; border-radius:8px; padding:5px 12px; transition:background 150ms ease, color 150ms ease, border-color 150ms ease, transform var(--dur-fast) var(--ease-out); }
    .db-promo-strip-link:hover{ background:var(--teal); color:#fff; border-color:var(--teal); }
    .db-promo-strip-link:active{ transform:scale(.97); }
    @media(max-width:600px){
      .db-promo-strip{ gap:10px 12px; }
      .db-promo-strip-link{ order:2; margin-left:auto; }
      .db-promo-strip-body{ order:3; flex:1 1 100%; }
    }

    .db-pick{ border-color:#cdeef0; box-shadow:0 3px 14px -8px rgba(0,101,122,.28); }
    .db-pick-head{ align-items:flex-start; background:#f5fbfc; }
    .db-pick-head h3{ font-size:15px; font-weight:800; color:var(--ink); text-transform:none; letter-spacing:-.01em; }
    .db-pick-hint{ margin:2px 0 0; font-size:12px; color:var(--muted); }
    .db-pick-ic{ width:32px; height:32px; border-radius:9px; background:#fff; border:1px solid #cdeef0; color:var(--teal); display:grid; place-items:center; flex:0 0 auto; }
    .db-pick-ic svg{ width:17px; height:17px; }
    .db-pick .db-price-dl{ height:32px; padding:0 14px; background:var(--teal); color:#fff; border-color:var(--teal); font-size:13px; }
    .db-pick .db-price-dl:hover{ background:var(--teal-dark); border-color:var(--teal-dark); }

    /* Manager + support card */
    .db-manager{ background:#fff; border:1.5px solid #e5e7eb; border-radius:16px; padding:16px 20px; box-shadow:0 1px 6px rgba(0,0,0,.04); display:flex; flex-direction:column; gap:0; }
    .db-manager-row{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
    .db-manager-head{ display:flex; align-items:center; gap:10px; }
    .db-manager-ava{ width:40px; height:40px; border-radius:50%; background:linear-gradient(135deg,#d7f0f2,#a9e0e6); display:grid; place-items:center; font-size:13px; font-weight:700; color:var(--teal-dark); flex:0 0 auto; }
    .db-manager-name{ font-size:14.5px; font-weight:700; color:var(--ink); }
    .db-manager-role{ font-size:12px; color:var(--muted); margin-top:1px; }
    .db-manager-contacts{ display:flex; flex-direction:column; gap:2px; align-items:flex-end; }
    .db-manager-link{ display:flex; align-items:center; gap:8px; min-height:32px; margin-inline:-8px; padding:0 8px; border-radius:8px; font-size:13px; color:var(--text); text-decoration:none; transition:background 150ms, color 150ms; }
    .db-manager-link:hover{ background:var(--strip); color:var(--teal); }
    .db-manager-link:focus-visible{ outline:2px solid var(--teal); outline-offset:-2px; }
    .db-manager-link svg{ width:16px; height:16px; flex:0 0 auto; color:var(--muted); transition:color 150ms; }
    .db-manager-link:hover svg{ color:var(--teal); }
    .db-manager-link .mono{ font-family:"JetBrains Mono", ui-monospace, monospace; font-variant-numeric:tabular-nums; font-size:13px; letter-spacing:.01em; }
    .db-manager-link svg{ width:13px; height:13px; color:var(--muted); flex:0 0 auto; }
    .db-manager-ava{ position:relative; }
    .db-manager-status{ position:absolute; right:-1px; bottom:-1px; width:11px; height:11px; border-radius:50%; background:#16a34a; border:2px solid #fff; }
    .db-manager-avail{ display:inline-flex; align-items:center; gap:5px; font-size:11px; font-weight:600; color:#16a34a; margin-top:3px; }
    .db-manager-avail::before{ content:""; width:6px; height:6px; border-radius:50%; background:#16a34a; flex:0 0 auto; }
    .db-manager-call{ display:inline-flex; align-items:center; justify-content:center; gap:8px; height:42px; border-radius:10px; background:var(--teal); color:#fff; font-size:14px; font-weight:700; text-decoration:none; transition:background 150ms, transform 150ms; }
    .db-manager-call svg{ width:16px; height:16px; }
    .db-manager-call:hover{ background:var(--teal-dark); }
    .db-manager-call:active{ transform:scale(.98); }
    .db-manager-note{ font-size:11px; color:var(--muted); line-height:1.4; }
    .db-support{ display:flex; align-items:center; gap:10px 14px; flex-wrap:wrap; padding-top:10px; margin-top:12px; border-top:1px solid #f3f4f6; }
    .db-support-lbl{ font-size:11px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--muted); }
    .db-support-email{ display:flex; align-items:center; gap:8px; min-height:32px; margin-left:-8px; padding:0 8px; border-radius:8px; font-size:13px; font-weight:600; color:var(--teal); text-decoration:none; transition:background 150ms; }
    .db-support-email:hover{ background:var(--strip); }
    .db-support-email:focus-visible{ outline:2px solid var(--teal); outline-offset:-2px; }
    .db-support-email svg{ width:16px; height:16px; flex:0 0 auto; }
    .db-support-note{ flex-basis:100%; margin:0; }
    .db-support-note{ font-size:12px; color:var(--muted); line-height:1.4; margin-top:4px; }

    /* Orders */
    .db-orders{ background:#fff; border:1.5px solid #e5e7eb; border-radius:16px; overflow:hidden; box-shadow:0 1px 6px rgba(0,0,0,.04); }
    .db-orders-top{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 20px 11px; border-bottom:1px solid #f3f4f6; }
    .db-orders-top h2{ margin:0; font-size:16px; font-weight:800; color:var(--ink); }
    .db-orders-top a{ font-size:13px; font-weight:600; color:var(--teal); text-decoration:none; }
    .db-orders-top a:hover{ text-decoration:underline; text-underline-offset:2px; }
    .db-orders-filters{ display:flex; gap:10px; padding:10px 24px; border-bottom:1px solid #f3f4f6; }
    .db-orders-srch{ flex:1; position:relative; }
    .db-orders-srch svg{ position:absolute; left:11px; top:50%; transform:translateY(-50%); width:14px; height:14px; color:var(--muted); pointer-events:none; }
    .db-orders-srch input{ width:100%; height:34px; border:1.5px solid #e5e7eb; border-radius:8px; padding:0 10px 0 32px; font-size:13px; color:var(--ink); background:#f9fafb; outline:none; transition:border-color 150ms, box-shadow 150ms; }
    .db-orders-srch input:focus{ border-color:var(--teal); background:#fff; box-shadow:0 0 0 3px rgba(0,101,122,.1); }
    .db-orders-srch input::placeholder{ color:var(--muted); }
    .db-orders-sel{ height:34px; padding:0 28px 0 10px; border:1.5px solid #e5e7eb; border-radius:8px; font-size:13px; color:var(--text); background:#f9fafb; outline:none; cursor:pointer; appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='m6 9 6 6 6-6' stroke='%239CA3AF' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 8px center; transition:border-color 150ms; }
    .db-orders-sel:focus{ border-color:var(--teal); }
    .db-tbl{ width:100%; border-collapse:collapse; }
    .db-tbl th{ padding:9px 16px; font-size:11px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--muted); text-align:left; background:#f9fafb; border-bottom:1px solid #eef0f3; }
    .db-tbl td{ padding:12px 16px; font-size:14px; color:var(--text); border-bottom:1px solid #eef0f3; vertical-align:middle; }
    .db-tbl tr:last-child td{ border-bottom:0; }
    @media(hover:hover) and (pointer:fine){ .db-tbl tbody tr:hover td{ background:#fafffe; } }
    /* строка ждущего подтверждения — связь с алертом */
    .db-tbl tr.is-pending td{ background:#fffaf5; }
    @media(hover:hover) and (pointer:fine){ .db-tbl tbody tr.is-pending:hover td{ background:#fff6ee; } }
    .db-ord-num{ font-family:"JetBrains Mono",monospace; font-weight:700; font-size:14px; color:var(--teal); text-decoration:none; }
    .db-ord-num:hover{ text-decoration:underline; text-underline-offset:2px; }
    .db-ord-date{ color:var(--muted); font-size:13px; }
    .db-ord-sum{ font-family:"JetBrains Mono",monospace; font-weight:700; color:var(--ink); font-size:14px; font-variant-numeric:tabular-nums; }
    .db-badge{ display:inline-flex; align-items:center; gap:6px; height:22px; padding:0 9px; border-radius:999px; font-size:12px; font-weight:600; white-space:nowrap; }
    .db-badge::before{ content:""; width:5px; height:5px; border-radius:50%; flex:0 0 auto; }
    .db-badge.pending{ background:#fff7ed; color:#ea580c; } .db-badge.pending::before{ background:#ea580c; }
    .db-badge.shipping{ background:#f0fdf4; color:#16a34a; } .db-badge.shipping::before{ background:#16a34a; }
    .db-badge.confirmed{ background:#eff6ff; color:#2563eb; } .db-badge.confirmed::before{ background:#2563eb; }
    .db-badge.done{ background:#f3f4f6; color:var(--muted); } .db-badge.done::before{ background:#9ca3af; }
    .db-acts{ display:flex; gap:6px; flex-wrap:wrap; }
    .db-act{ display:inline-flex; align-items:center; height:28px; padding:0 11px; border-radius:8px; font-size:12px; font-weight:600; border:0; cursor:pointer; white-space:nowrap; transition:background 150ms, transform 150ms; text-decoration:none; }
    .db-act:active{ transform:scale(.97); }
    .db-act-confirm{ background:#ea580c; color:#fff; }
    .db-act-confirm:hover{ background:#c2410c; }
    .db-act-invoice{ background:#fff7ed; color:#ea580c; border:1.5px solid #fed7aa; }
    .db-act-invoice:hover{ background:#ffedd5; }
    .db-act-open{ background:#f3f4f6; color:var(--text); }
    .db-act-open:hover{ background:#e5e7eb; }
    .db-act-repeat{ background:#f0fdfa; color:var(--teal); border:1px solid #99f6e4; }
    .db-act-repeat:hover{ background:#ccfbf1; }

    /* Right recs */
    .db-recs{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
    .db-rec-box{ background:#fff; border:1.5px solid #e5e7eb; border-radius:16px; overflow:hidden; box-shadow:0 1px 6px rgba(0,0,0,.04); }
    .db-rec-hd{ display:flex; align-items:center; justify-content:space-between; padding:12px 16px 8px; border-bottom:1px solid #f3f4f6; }
    .db-rec-hd h3{ margin:0; font-size:13px; font-weight:800; color:var(--ink); }
    .db-rec-hd a{ font-size:12px; font-weight:600; color:var(--teal); text-decoration:none; }
    .db-rec-hd a:hover{ text-decoration:underline; }
    .db-rec-item{ display:flex; align-items:center; gap:10px; padding:10px 16px; border-bottom:1px solid #f9fafb; }
    .db-rec-item:last-child{ border-bottom:0; }
    .db-rec-thumb{ flex:0 0 44px; width:44px; height:44px; border-radius:8px; background:#f3f4f6; overflow:hidden; }
    .db-rec-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
    .db-rec-info{ flex:1; min-width:0; }
    .db-rec-brand{ font-family:"JetBrains Mono",monospace; font-size:9px; font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); }
    .db-rec-name{ font-size:13px; font-weight:700; color:var(--ink); line-height:1.3; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin-top:1px; }
    .db-rec-foot{ display:flex; align-items:center; justify-content:space-between; gap:6px; margin-top:5px; }
    .db-rec-price{ font-family:"JetBrains Mono",monospace; font-size:13px; font-weight:700; color:var(--ink); }
    .db-rec-bdg{ display:inline-flex; align-items:center; height:17px; padding:0 7px; border-radius:6px; font-size:10px; font-weight:700; background:#f3f4f6; color:var(--muted); }
    .db-rec-bdg.top{ background:#fdf6e3; color:#92710e; }
    .db-rec-bdg.margin{ background:#f4f0fa; color:#6d579e; }
    .db-rec-bdg.new{ background:#eef7f0; color:#3d7a52; }
    /* «+» контурная — не спорит с оранжевым CTA заказа */
    .db-rec-add{ width:30px; height:30px; border-radius:8px; background:#fff; color:var(--teal); border:1.5px solid #cdeef0; cursor:pointer; display:grid; place-items:center; flex:0 0 auto; transition:background 150ms, border-color 150ms, color 150ms, transform 150ms; }
    .db-rec-add:hover{ background:var(--teal); border-color:var(--teal); color:#fff; }
    .db-rec-add:active{ transform:scale(.95); }
    .db-rec-add svg{ width:14px; height:14px; }

    /* Recently viewed inside dealer */
    .db-recent{ background:transparent; border:none; border-radius:0; padding:0 26px; box-shadow:none; }
    .db-recent-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
    .db-recent-head h2{ margin:0; font-size:16px; font-weight:800; color:var(--ink); }

    /* ── Левый блок кабинета: акция + прайсы + разделы ── */
    .db-cab{ display:flex; flex-direction:column; gap:10px; }

    /* Промо акции: контейнерная карточка, читаемый текст, один тёплый акцент */
    .db-cab-promo{ position:relative; background:#fff6ee; border:1.5px solid #f6d9c2; border-radius:14px; padding:13px 14px; display:flex; flex-direction:column; gap:6px; }
    .db-cab-promo-close{ position:absolute; top:9px; right:9px; width:22px; height:22px; border-radius:50%; background:#f6e3d3; border:0; cursor:pointer; display:grid; place-items:center; color:#b45309; transition:background 150ms; }
    .db-cab-promo-close:hover{ background:#f0d3bb; }
    .db-cab-promo-close svg{ width:11px; height:11px; }
    .db-cab-promo-row{ display:flex; align-items:center; gap:9px; }
    .db-cab-promo-tag{ display:inline-flex; align-items:center; gap:4px; padding:2px 9px; border-radius:999px; background:#ffe3cf; color:#c2410c; font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
    .db-cab-promo-tag::before{ content:"★"; font-size:9px; }
    .db-cab-promo-discount{ font-size:22px; font-weight:900; color:#c2410c; line-height:1; letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
    .db-cab-promo-title{ font-size:12.5px; font-weight:700; color:var(--ink); line-height:1.3; letter-spacing:-.01em; }
    .db-cab-promo-sub{ font-size:11.5px; color:var(--muted); line-height:1.35; }
    .db-cab-promo-link{ display:inline-flex; align-items:center; gap:4px; align-self:flex-start; height:28px; padding:0 13px; border-radius:8px; background:#d24e00; border:0; color:#fff; font-size:12px; font-weight:700; text-decoration:none; transition:background 150ms, transform 150ms var(--ease-out); width:fit-content; margin-top:3px; }
    .db-cab-promo-link:hover{ background:#b84600; transform:translateY(-1px); }
    .db-cab-promo-link:active{ transform:scale(.97); }
    .db-cab-promo-link svg{ width:12px; height:12px; }

    /* Навигационная карточка */
    .db-cab-card{ background:#fff; border:1.5px solid var(--line); border-radius:16px; overflow:hidden; box-shadow:0 1px 6px rgba(0,0,0,.04); }
    .db-cab-card-title{ padding:14px 16px 12px; font-size:15px; font-weight:800; color:var(--teal); border-bottom:1px solid #f3f4f6; }
    .db-cab-lbl{ padding:11px 16px 5px; font-size:11px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--muted); }
    .db-cab-item{ display:flex; align-items:center; gap:10px; padding:10px 16px; color:var(--ink); font-size:14px; font-weight:500; text-decoration:none; transition:background 150ms, color 150ms; cursor:pointer; border:0; background:none; font-family:inherit; width:100%; text-align:left; }
    .db-cab-item:hover{ background:var(--strip); color:var(--teal); }
    .db-cab-item > svg:first-child{ width:16px; height:16px; flex:0 0 auto; color:var(--muted); transition:color 150ms; }
    .db-cab-item:hover > svg:first-child{ color:var(--teal); }
    .db-cab-item-arrow{ margin-left:auto; width:14px; height:14px; color:var(--line-strong); flex:0 0 auto; }
    .db-cab-divider{ height:1px; background:#f3f4f6; margin:0; border:0; }

    /* Responsive: right recs on tablet go to grid */
    @media(max-width:900px){ .db-recs{ grid-template-columns:1fr; } }

    /* Mobile order cards (скрыты на desktop, показаны на mobile) */
    .db-ord-cards{ display:none; }
    @media(max-width:640px){
      .db-tbl-wrap{ display:none; }
      .db-ord-cards{ display:flex; flex-direction:column; gap:0; }
      .db-ord-card{ padding:12px 24px; border-bottom:1px solid #f3f4f6; }
      .db-ord-card:last-child{ border-bottom:0; }
      .db-ord-card-top{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:8px; }
      .db-ord-card-num{ font-family:"JetBrains Mono",monospace; font-size:14px; font-weight:700; color:var(--teal); text-decoration:none; }
      .db-ord-card-sum{ font-family:"JetBrains Mono",monospace; font-size:14px; font-weight:700; color:var(--ink); font-variant-numeric:tabular-nums; }
      .db-ord-card-meta{ display:flex; align-items:center; gap:10px; margin-bottom:10px; font-size:13px; color:var(--muted); }
      .db-ord-card-actions{ display:flex; gap:6px; flex-wrap:wrap; }
      /* Compact filters on mobile */
      .db-orders-filters{ flex-wrap:wrap; }
      .db-orders-srch{ min-width:0; }
      .db-orders-sel{ width:100%; }
    }

    /* ── A11y/UX: запрет авто-зума iOS (инпуты ≥16px на мобильном) ── */
    @media (max-width:640px){
      .search input, .field input, .field textarea, .pf-input2, .db-orders-srch input, .db-orders-sel{ font-size:16px; }
    }
    /* ── Тач-цели ≥44px на сенсорных устройствах ── */
    @media (pointer:coarse){
      .rec-card-btn{ width:44px; height:44px; }
      .db-orders-sel{ height:44px; }
      .db-rec-add{ width:40px; height:40px; }
      .db-price-dl{ height:36px; padding:0 14px; }
    }

    /* ── Производительность: пропуск рендера секций за пределами экрана ── */
    .materials, .recent, .prefooter, .site-footer-new{
      content-visibility:auto;
      contain-intrinsic-size:auto 600px;
    }

/* ===== pm.suggest dropdown (перенесено, без стилей инпута intec) ===== */
.search.pm-suggest{ position:relative; }
.pm-suggest-drop {
    position: absolute; top: calc(100% + 6px); left: 0; right: 0; min-width: 280px;
    background: #fff; border: 1px solid #e3e7ec; border-radius: 8px;
    box-shadow: 0 10px 30px rgba(20, 30, 50, .14); z-index: 3000;
    max-height: 70vh; overflow: auto; padding: 8px; box-sizing: border-box;
}
.pm-suggest-note {
    padding: 8px 10px; font-size: 12px; color: #8a6d3b; background: #fff7e6;
    border-radius: 6px; margin-bottom: 6px;
}
.pm-suggest-item {
    display: flex; gap: 10px; align-items: center; padding: 7px 8px;
    border-radius: 6px; text-decoration: none; color: #1d1d1d;
}
.pm-suggest-item:hover, .pm-suggest-item.active { background: #f2f6fc; }
.pm-suggest-row { position: relative; border-radius: 6px; }
.pm-suggest-row .pm-suggest-item { padding-right: 96px; }
.pm-suggest-add {
    position: absolute; right: 10px; top: 50%; transform: translateY(-50%);
    padding: 6px 12px; border-radius: 8px; background: var(--teal, #117d98); color: #fff;
    font-size: 12px; font-weight: 700; border: 0; white-space: nowrap; cursor: pointer;
    transition: background .15s;
}
.pm-suggest-add:hover { background: #0d6580; }
/* PM_SUGGEST_ADD_FIX_V1 (10.08): .rel-add (30x30 иконка-кружок) идёт ниже в файле и
   перебивает размер/фон/рамку — кнопка сжималась в квадрат и текст обрезался.
   Перекрываем через более специфичный селектор, оставляя обычную заливную кнопку. */
.pm-suggest-row .pm-suggest-add {
    width: auto; height: auto; min-width: 0;
    padding: 6px 12px; border-radius: 8px; background: var(--teal, #117d98);
    border: 0; color: #fff;
}
.pm-suggest-row .pm-suggest-add:hover { background: #0d6580; border-color: transparent; color: #fff; }
.pm-suggest-item img { width: 44px; height: 44px; object-fit: contain; flex: none; background: #fff; }
.pm-suggest-item-exact { background: #f0f9f0; border: 1px solid #cdeacd; }
.pm-suggest-item-exact:hover { background: #e6f5e6; }
.pm-suggest-badge {
    display: inline-block; font-size: 10px; font-weight: 600; line-height: 1.4;
    padding: 1px 7px; border-radius: 10px; margin-bottom: 3px;
}
.pm-suggest-badge-exact { background: #2e7d32; color: #fff; }
.pm-suggest-badge-config { background: #eef1f5; color: #667; }
.pm-suggest-name { font-size: 13px; line-height: 1.35; display: block; }
.pm-suggest-article { font-size: 11px; color: #8894a0; display: block; margin-top: 2px; }
.pm-suggest-all {
    display: block; text-align: center; padding: 9px; margin-top: 6px;
    border-top: 1px solid #eef1f5; font-size: 13px; color: #0065ff; text-decoration: none;
}
.pm-suggest-all:hover { text-decoration: underline; }
.pm-suggest-empty { padding: 12px 10px; font-size: 13px; color: #667; }
.pm-suggest-queries { border-bottom: 1px solid #eef1f5; padding-bottom: 4px; margin-bottom: 4px; }
.pm-suggest-query {
    display: flex; align-items: center; gap: 8px; padding: 6px 8px;
    border-radius: 6px; text-decoration: none; color: #1d1d1d; font-size: 13px;
}
.pm-suggest-query:hover, .pm-suggest-query.active { background: #f2f6fc; }
.pm-suggest-query b { font-weight: 600; }
.pm-suggest-loupe { color: #8894a0; font-size: 14px; flex: none; }
.pm-suggest-hist-head { padding: 8px 10px 4px; font-size: 11.5px; font-weight: 700; color: #8894a0; text-transform: uppercase; letter-spacing: .02em; }
.pm-suggest-history { border-bottom: 1px solid #eef1f5; padding-bottom: 4px; margin-bottom: 4px; }
.pm-suggest-hist-row { display: flex; align-items: center; gap: 2px; }
.pm-suggest-hist-row .pm-suggest-query { flex: 1 1 auto; min-width: 0; }
.pm-suggest-hist-ico { font-size: 13px; }
.pm-suggest-hist-del {
    flex: 0 0 auto; width: 26px; height: 26px; display: flex; align-items: center; justify-content: center;
    border: 0; background: none; color: #b7bec8; font-size: 18px; line-height: 1; border-radius: 6px; cursor: pointer;
}
.pm-suggest-hist-del:hover { background: #f2f6fc; color: #667; }
@media (max-width: 640px) {
    .pm-suggest-drop { max-height: 60vh; }
}

/* ===== PM: мега — 6 разделов, промо-акции закреплены справа-сверху ===== */
.mega-all{ margin-top:auto; border-top:1px solid #eef1f5; font-weight:600; }  /* остальное перебивается .mega-col a — не дублируем */
.mega-all::after{ content:"→"; }
.mega-all:hover{ color:var(--teal-dark); }
/* PM_MEGA_JITTER_FIX_V1 (09.08): убран сдвиг стрелки на hover — источник дрожания */

/* ===== PM: мега — 4 колонки + боковая колонка (акция/топ) в col5, строка запчастей в ряду 2 ===== */
.mega-grid{ grid-template-columns: repeat(4, minmax(0,1fr)) 250px !important; gap: 30px 34px !important; align-items: start !important; }
.mega-col{ display:flex; flex-direction:column; }

/* ===== PM: мега — выделенные заголовки колонок (капс отменён ниже, см. PM_MEGA_V2.1) ===== */
.mega-col h3{ color: var(--teal) !important; font-family:"Onest", sans-serif !important; font-weight:800 !important; padding-bottom:9px; margin-bottom:13px !important; border-bottom:2px solid var(--teal); }
.mega-col a:not(.mega-all){ color:var(--ink); line-height:1.35; padding:6px 0 !important; }
.mega-col a:not(.mega-all):hover{ color:var(--teal); }

/* ===== PM: карточка товара .p-card (каталог) ===== */

    /* Сетка карточек */
    .p-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(228px, 1fr)); gap:14px; }

    .p-card{ display:flex; flex-direction:column; background:#fff; border:1.5px solid #e5e7eb; border-radius:16px; overflow:hidden; box-shadow:0 1px 6px rgba(0,0,0,.04); transition:border-color var(--dur-base) ease, box-shadow var(--dur-base) ease, transform var(--dur-base) var(--ease-out); }
    @media (hover:hover) and (pointer:fine){
      .p-card:hover{ border-color:#cdeef0; box-shadow:var(--shadow-soft); transform:translateY(-2px); }
    }
    .p-img{ position:relative; aspect-ratio:1/1; padding:18px; display:grid; place-items:center; background:#fff; border-bottom:1px solid #f3f4f6; overflow:hidden; }
    .p-img img{ width:100%; height:100%; object-fit:cover; object-position:center; border-radius:8px; }
    .p-body{ display:flex; flex-direction:column; gap:7px; flex:1; padding:12px 16px 16px; }
    .p-art{ font-family:"JetBrains Mono",monospace; font-size:11px; font-weight:600; letter-spacing:.02em; color:var(--muted); }
    .p-name{ font-size:14px; font-weight:600; line-height:1.35; color:var(--ink); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:38px; }
    .p-name a{ transition:color var(--dur-fast); }
    .p-name a:hover{ color:var(--teal); }

    /* Наличие по трём складам */
    .p-stock{ display:flex; flex-direction:column; gap:3px; padding:8px 10px; background:var(--strip); border-radius:10px; }
    .p-stk{ display:flex; align-items:center; gap:8px; font-size:12px; font-weight:500; color:var(--text); line-height:1.4; }
    .p-stk .d{ width:5px; height:5px; border-radius:50%; background:#16a34a; flex:0 0 auto; }
    .p-stk.no{ color:var(--muted); }
    .p-stk.no .d{ background:#d1d5db; }
    .p-stk b{ display:none; margin-left:auto; font-family:"JetBrains Mono",monospace; font-size:11.5px; font-weight:600; color:var(--ink); font-variant-numeric:tabular-nums; }
    .p-stk.no b{ color:var(--muted); }
    html[data-auth="dealer"] .p-stk b{ display:inline; }

    .p-foot{ margin-top:auto; display:flex; flex-direction:column; gap:10px; padding-top:4px; }
    .p-price{ font-family:"JetBrains Mono",monospace; font-size:21px; font-weight:800; color:var(--ink); letter-spacing:-.01em; font-variant-numeric:tabular-nums; line-height:1.1; }
    .p-rrc{ font-size:12px; color:var(--muted); }
    .p-rrc .mono{ font-size:12px; }
    .p-promo-pct{ display:inline-block; margin-top:4px; background:#e8f5e9; color:#2e7d32; border:1px solid #a5d6a7; border-radius:6px; padding:2px 7px; font-size:11px; font-weight:700; }
    .p-hint{ font-size:11.5px; color:var(--muted); line-height:1.35; }

    .p-actions{ display:flex; gap:8px; }
    .p-add{ flex:1; display:inline-flex; align-items:center; justify-content:center; gap:7px; height:38px; border-radius:10px; background:var(--teal); color:#fff; font-size:13.5px; font-weight:700; transition:background var(--dur-fast) ease, transform var(--dur-fast) var(--ease-out); }
    .p-add:hover{ background:var(--teal-dark); }
    .p-add:active{ transform:scale(.97); }
    .p-add svg{ width:15px; height:15px; }
    .p-add[disabled]{ background:#e5e7eb; color:#9ca3af; cursor:not-allowed; }
    .p-more{ flex:1; display:inline-flex; align-items:center; justify-content:center; height:38px; border-radius:10px; border:1.5px solid var(--line-strong); color:var(--ink); font-size:13.5px; font-weight:600; transition:border-color var(--dur-fast), color var(--dur-fast); }
    .p-more:hover{ border-color:var(--teal); color:var(--teal); }

    .p-qty{ display:inline-flex; align-items:center; border:1.5px solid var(--line-strong); border-radius:9px; overflow:hidden; flex:0 0 auto; }
    .p-qty button{ width:24px; height:31px; display:grid; place-items:center; color:var(--muted); transition:background var(--dur-fast), color var(--dur-fast); }
    .p-qty button:hover{ background:var(--strip); color:var(--teal); }
    .p-qty button svg{ width:13px; height:13px; }
    .p-qty input{ width:27px; height:31px; border:0; text-align:center; font-family:"JetBrains Mono",monospace; font-size:12px; font-weight:600; color:var(--ink); outline:none; -moz-appearance:textfield; font-variant-numeric:tabular-nums; }
    .p-qty input::-webkit-inner-spin-button, .p-qty input::-webkit-outer-spin-button{ appearance:none; }

    /* Гость/дилер внутри карточки */
    .for-dealer{ display:none; }
    html[data-auth="dealer"] .for-guest{ display:none; }
    html[data-auth="dealer"] .for-dealer{ display:revert; }
    html[data-auth="dealer"] .p-foot .for-dealer{ display:flex; flex-direction:column; gap:10px; }

/* ===== PM: пагинация + меню разделов каталога ===== */
.p-pager{ display:flex; align-items:center; justify-content:center; gap:6px; margin-top:26px; flex-wrap:wrap; }
.p-pg-btn,.p-pg-num{ display:inline-flex; align-items:center; justify-content:center; min-width:36px; height:36px; padding:0 10px; border-radius:9px; border:1.5px solid #e5e7eb; color:var(--ink); font-size:13.5px; font-weight:600; text-decoration:none; transition:border-color .15s,color .15s,background .15s; }
.p-pg-btn:hover,.p-pg-num:hover{ border-color:var(--teal); color:var(--teal); }
.p-pg-num.active{ background:var(--teal); border-color:var(--teal); color:#fff; }
.p-pg-dots{ color:var(--muted); padding:0 4px; }

.cat-layout{ display:grid; grid-template-columns:250px 1fr; gap:28px; align-items:start; max-width:1360px; margin:0 auto; padding:24px; }
.cat-side{ position:sticky; top:16px; background:#fff; border:1.5px solid #e5e7eb; border-radius:14px; padding:10px; }
.cat-side a{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding:9px 12px; border-radius:9px; font-size:13.5px; font-weight:600; color:var(--ink); text-decoration:none; }
.cat-side a:hover{ background:var(--strip); color:var(--teal); }
.cat-side a.active{ background:var(--teal); color:#fff; }
.cat-side .cat-side-sub{ margin:2px 0 6px 10px; padding-left:10px; border-left:1.5px solid #eef1f5; display:flex; flex-direction:column; gap:1px; }
.cat-side .cat-side-sub a{ font-size:12.5px; font-weight:500; padding:6px 10px; }
.cat-side .cat-side-sub a.active{ background:var(--strip); color:var(--teal); font-weight:700; }

.cat-toolbar{ display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:16px; flex-wrap:wrap; }
.cat-tier-head{ font-size:16px; font-weight:800; color:var(--ink,#14120E); margin:26px 0 12px; padding-top:14px; border-top:1px solid #ece9e2; }
.cat-tier-head:first-of-type{ margin-top:0; padding-top:0; border-top:0; }
.cat-count{ font-size:13.5px; color:var(--muted); }
.cat-sort{ height:38px; padding:0 12px; border-radius:9px; border:1.5px solid #e5e7eb; font-size:13px; font-weight:600; color:var(--ink); background:#fff; }

@media (max-width:860px){
  .cat-layout{ grid-template-columns:1fr; }
  .cat-side{ position:static; }
}
    .view-toggle{ display:inline-flex; gap:4px; margin-left:auto; background:var(--strip); border:1px solid var(--line); border-radius:10px; padding:3px; }
    .view-btn{ display:grid; place-items:center; width:34px; height:30px; border-radius:7px; color:var(--muted); transition:background var(--dur-fast), color var(--dur-fast); }
    .view-btn svg{ width:16px; height:16px; }
    .view-btn:hover{ color:var(--ink); }
    .view-btn.active{ background:#fff; color:var(--teal); box-shadow:0 1px 4px rgba(20,24,31,.1); }
    @media (max-width:760px){ .view-toggle{ display:none; } }
.view-btn{ text-decoration:none; }

    /* Списочный вид — фиксированная высота строки, не зависит от длины названия */
    .p-grid.list{ grid-template-columns:1fr; gap:10px; }
    .p-grid.list .p-card{ display:grid; grid-template-columns:96px minmax(0,1fr); gap:16px; align-items:center; padding:12px 16px; min-height:120px; }
    .p-grid.list .p-img{ aspect-ratio:1/1; width:96px; height:96px; flex:0 0 auto; padding:6px; border-bottom:0; border-right:0; }
    .p-grid.list .p-body{ display:grid; grid-template-columns:minmax(0,1fr) 230px; gap:3px 24px; align-items:start; padding:0; }
    .p-grid.list .p-art, .p-grid.list .p-name, .p-grid.list .p-stock{ grid-column:1; }
    .p-grid.list .p-stock{ flex-direction:row; gap:14px; align-self:flex-start; }
    .p-grid.list .p-stk b{ margin-left:0; }
    .p-grid.list .p-name{ font-size:15.5px; min-height:0; -webkit-line-clamp:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; display:block; }
    .p-grid.list .p-foot{ grid-column:2; grid-row:1 / span 3; align-self:center; margin-top:0; padding-top:0; }
    @media (max-width:760px){
      .p-grid.list{ grid-template-columns:repeat(auto-fill, minmax(228px,1fr)); gap:14px; }
      .p-grid.list .p-card{ display:flex; flex-direction:column; padding:0; gap:0; min-width:0; }
      .p-grid.list .p-img{ width:auto; padding:18px; border-bottom:1px solid #f3f4f6; }
      .p-grid.list .p-body{ display:flex; flex-direction:column; padding:12px 16px 16px; gap:7px; min-width:0; }
      .p-grid.list .p-name{ white-space:normal; text-overflow:clip; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; min-height:38px; }
      .p-grid.list .p-foot{ margin-top:auto; padding-top:4px; align-self:stretch; }
    }

/* ===== PM: страница товара (p-layout/gallery/buy/tabs/spec/kit/doc/rel) ===== */
    .p-top{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-bottom:18px; }
    .crumbs{ display:flex; align-items:center; flex-wrap:wrap; gap:7px; font-size:13px; color:var(--muted); }
    .crumbs a{ transition:color var(--dur-fast); }
    .crumbs a:hover{ color:var(--teal); }
    .crumbs .sep{ color:var(--line-strong); }
    .crumbs .cur{ color:var(--ink); font-weight:600; }
    .p-tools{ display:flex; align-items:center; gap:4px; flex-wrap:wrap; }
    .p-tool{ display:inline-flex; align-items:center; gap:7px; height:34px; padding:0 12px; border-radius:8px; font-size:13px; font-weight:600; color:var(--text); transition:background var(--dur-fast), color var(--dur-fast); }
    .p-tool svg{ width:15px; height:15px; color:var(--muted); transition:color var(--dur-fast); }
    .p-tool:hover{ background:var(--strip); color:var(--teal); }
    .p-tool:hover svg{ color:var(--teal); }
    .p-tool.active{ color:#dc2626; }
    .p-tool.active svg{ color:#dc2626; }
    @media (max-width:640px){ .p-tool span{ display:none; } .p-tool{ padding:0 9px; } }

    /* Layout: gallery | info | buybox */
    /* Один ряд: миниатюры | фото (фикс. ширина) | инфо (тянется) | покупка */
    .p-layout{ display:grid; grid-template-columns:96px 380px minmax(0,1fr) 380px; gap:24px; align-items:start; }
    .p-thumbs{ grid-column:1; grid-row:1; display:flex; flex-direction:column; gap:8px; max-height:560px; overflow-y:auto; }
    .p-gallery-main{ grid-column:2; grid-row:1; aspect-ratio:1/1; width:100%; }
    .p-info{ grid-column:3; grid-row:1; }
    .p-buy{ grid-column:4; grid-row:1; }

    @media (max-width:1320px){ .p-layout{ grid-template-columns:88px 320px minmax(0,1fr) 340px; } }
    @media (max-width:1180px){
      .p-layout{ grid-template-columns:80px minmax(0,1fr); grid-template-rows:auto auto; }
      .p-thumbs{ grid-column:1; grid-row:1; }
      .p-gallery-main{ grid-column:2; grid-row:1; max-width:420px; }
      .p-info{ grid-column:1 / -1; grid-row:2; }
      .p-buy{ grid-column:1 / -1; grid-row:3; max-width:420px; }
    }
    @media (max-width:620px){
      .p-layout{ grid-template-columns:1fr; }
      .p-gallery-main{ grid-column:1; grid-row:1; max-width:none; }
      .p-thumbs{ grid-column:1; grid-row:2; display:flex; flex-direction:row; overflow-x:auto; }
      .p-info{ grid-column:1; grid-row:3; }
      .p-buy{ grid-column:1; grid-row:4; max-width:none; }
    }

    /* Thumbnails */
    .p-thumb{ position:relative; width:100%; aspect-ratio:1/1; border-radius:12px; border:1.5px solid var(--line); background:#fff; overflow:hidden; padding:6px; transition:border-color var(--dur-fast); }
    .p-thumb img{ width:100%; height:100%; object-fit:contain; }
    .p-thumb:hover{ border-color:var(--line-strong); }
    .p-thumb.active{ border-color:var(--teal); box-shadow:0 0 0 1px var(--teal); }
    .p-thumb-more{ display:grid; place-items:center; font-size:13px; font-weight:700; color:var(--muted); background:var(--strip); }
    @media (max-width:620px){ .p-thumb{ width:64px; flex:0 0 auto; } }

    /* Main image */
    .p-gallery-main{ border:1.5px solid var(--line); border-radius:16px; padding:24px; display:grid; place-items:center; aspect-ratio:1/1; background:#fff; }
    .p-gallery-main img{ max-width:100%; max-height:100%; object-fit:contain; }

    /* Info column */
    .p-info h1{ margin:0 0 4px; font-size:28px; font-weight:800; letter-spacing:-.015em; color:var(--ink); }
    .p-subtitle{ font-size:15px; color:var(--muted); margin-bottom:14px; }
    .p-specs{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
    .p-spec{ display:inline-flex; align-items:center; height:30px; padding:0 12px; border-radius:8px; background:var(--strip); font-size:12.5px; font-weight:600; color:var(--text); }

    .p-art-row{ display:flex; align-items:center; gap:8px; margin-bottom:16px; font-size:13.5px; color:var(--text); }
    .p-art-row b{ font-family:"JetBrains Mono",monospace; color:var(--ink); font-weight:700; letter-spacing:.01em; }
    .p-copy{ display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:7px; color:var(--muted); transition:background var(--dur-fast), color var(--dur-fast); }
    .p-copy svg{ width:14px; height:14px; }
    .p-copy:hover{ background:var(--strip); color:var(--teal); }

    /* Stock rows — тот же язык, что каталог/кабинет: точное число ≤10, иначе диапазон */
    .p-stock-list{ display:flex; flex-direction:column; gap:9px; margin-bottom:18px; }
    .p-stock-row{ display:flex; align-items:center; gap:10px; font-size:14px; color:var(--text); }
    .p-stock-row svg{ width:17px; height:17px; flex:0 0 auto; color:#16a34a; }
    .p-stock-row.muted svg{ color:var(--muted); }
    .p-stock-row b{ font-family:"JetBrains Mono",monospace; font-weight:700; color:var(--ink); font-variant-numeric:tabular-nums; }
    .p-stock-row .lbl{ color:var(--muted); }
    /* Точные остатки — только дилеру (как в каталоге); гость видит общий статус без цифр */
    .p-stock-row .for-dealer{ display:none; }
    html[data-auth="dealer"] .p-stock-row .for-dealer{ display:inline; }
    html[data-auth="dealer"] .p-stock-row .for-guest{ display:none; }
    .p-help{ display:inline-flex; width:16px; height:16px; border-radius:50%; border:1.3px solid var(--line-strong); color:var(--muted); align-items:center; justify-content:center; font-size:10px; font-weight:700; cursor:help; flex:0 0 auto; }

    .p-desc{ font-size:14.5px; color:var(--text); line-height:1.65; max-width:62ch; }
    .p-more-toggle{ display:inline-flex; align-items:center; gap:6px; margin-top:10px; font-size:13.5px; font-weight:600; color:var(--teal); }
    .p-more-toggle svg{ width:14px; height:14px; transition:transform var(--dur-base) var(--ease-out); }
    .p-more-toggle[aria-expanded="true"] svg{ transform:rotate(180deg); }

    /* Buybox */
    .p-buy{ background:#fff; border:1.5px solid #e5e7eb; border-radius:16px; padding:22px; box-shadow:0 1px 6px rgba(0,0,0,.04); position:sticky; top:76px; }
    .p-buy-lbl{ font-size:13px; font-weight:600; color:var(--muted); margin-bottom:8px; }
    .p-buy-price-row{ display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; margin-bottom:14px; }
    .p-buy-price{ font-family:"JetBrains Mono",monospace; font-size:32px; font-weight:800; color:var(--ink); letter-spacing:-.01em; font-variant-numeric:tabular-nums; }
    .p-margin-chip{ display:inline-flex; align-items:center; height:26px; padding:0 11px; border-radius:999px; background:#fef3c7; color:#92400e; font-size:12px; font-weight:700; }

    .p-buy-rrc{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0; margin-bottom:16px; border-top:1px solid #f3f4f6; border-bottom:1px solid #f3f4f6; font-size:13.5px; }
    .p-buy-rrc .l{ color:var(--muted); }
    .p-buy-rrc .v{ display:flex; align-items:center; gap:8px; }
    .p-buy-rrc .strike{ font-family:"JetBrains Mono",monospace; color:var(--muted); text-decoration:line-through; text-decoration-color:var(--line-strong); font-variant-numeric:tabular-nums; }
    .p-buy-rrc .diff{ font-family:"JetBrains Mono",monospace; color:#16a34a; font-weight:700; font-variant-numeric:tabular-nums; }
    .p-buy-rrc .pct{ font-family:"JetBrains Mono",monospace; color:#16a34a; font-weight:700; font-size:12.5px; }

    .p-buy-qty-row{ display:flex; align-items:center; gap:14px; margin-bottom:14px; }
    .p-qty{ display:inline-flex; align-items:center; border:1.5px solid var(--line-strong); border-radius:10px; overflow:hidden; flex:0 0 auto; }
    .p-qty button{ width:40px; height:48px; display:grid; place-items:center; color:var(--muted); transition:background var(--dur-fast), color var(--dur-fast); }
    .p-qty button:hover{ background:var(--strip); color:var(--teal); }
    .p-qty button svg{ width:14px; height:14px; }
    .p-qty input{ width:52px; height:48px; border:0; border-left:1.5px solid var(--line-strong); border-right:1.5px solid var(--line-strong); text-align:center; font-family:"JetBrains Mono",monospace; font-size:15px; font-weight:700; color:var(--ink); outline:none; -moz-appearance:textfield; font-variant-numeric:tabular-nums; }
    .p-qty input::-webkit-inner-spin-button, .p-qty input::-webkit-outer-spin-button{ appearance:none; }
    .p-qty-unit{ font-size:13.5px; color:var(--muted); }

    .p-buy-cta{ display:flex; align-items:center; justify-content:center; gap:10px; width:100%; height:56px; border-radius:12px; background:var(--teal); color:#fff; font-size:16px; font-weight:700; transition:background var(--dur-fast) ease, transform var(--dur-fast) var(--ease-out); }
    .p-buy-cta svg{ width:20px; height:20px; }
    .p-buy-cta:hover{ background:var(--teal-dark); }
    .p-buy-cta:active{ transform:scale(.98); }

    /* Гостевой buybox */
    .p-buy-guest-hint{ display:flex; align-items:flex-start; gap:10px; padding:12px 14px; margin-bottom:14px; background:var(--strip); border-radius:10px; font-size:13px; color:var(--text); line-height:1.5; }
    .p-buy-guest-hint svg{ width:17px; height:17px; color:var(--teal); flex:0 0 auto; margin-top:1px; }

    .for-dealer{ display:none; }
    html[data-auth="dealer"] .for-guest{ display:none; }
    html[data-auth="dealer"] .for-dealer{ display:revert; }

    /* Tabs */
    .p-tabs{ margin-top:40px; }
    .p-tabs-nav{ display:flex; align-items:center; gap:6px; overflow-x:auto; scrollbar-width:none; border-bottom:1px solid var(--line); }
    .p-tabs-nav::-webkit-scrollbar{ display:none; }
    .p-tab-btn{ position:relative; display:inline-flex; align-items:center; height:48px; padding:0 4px; margin-right:24px; font-size:15px; font-weight:600; color:var(--muted); white-space:nowrap; transition:color var(--dur-fast); }
    .p-tab-btn:hover{ color:var(--ink); }
    .p-tab-btn.active{ color:var(--teal); }
    .p-tab-btn.active::after{ content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:var(--teal); border-radius:2px; }
    .p-tab-panel{ display:none; padding-top:24px; }
    .p-tab-panel.active{ display:block; animation:tabIn .25s var(--ease-out) both; }
    @keyframes tabIn{ from{ opacity:0; transform:translateY(4px); } to{ opacity:1; transform:translateY(0); } }
    @media (prefers-reduced-motion:reduce){ .p-tab-panel.active{ animation:none; } }

    /* Related products rail */
    .p-rail{ display:flex; gap:14px; overflow-x:auto; padding-bottom:6px; scroll-snap-type:x proximity; }
    .p-rail::-webkit-scrollbar{ height:6px; }
    .p-rail::-webkit-scrollbar-thumb{ background:var(--line-strong); border-radius:99px; }
    .rel-card{ flex:0 0 auto; width:200px; scroll-snap-align:start; background:#fff; border:1.5px solid #e5e7eb; border-radius:14px; padding:14px; display:flex; flex-direction:column; gap:8px; transition:border-color var(--dur-fast), transform var(--dur-fast) var(--ease-out); }
    .rel-card:hover{ border-color:#cdeef0; transform:translateY(-2px); }
    .rel-img{ aspect-ratio:1/1; display:grid; place-items:center; }
    .rel-img img{ max-width:100%; max-height:100%; object-fit:contain; }
    .rel-name{ font-size:13px; font-weight:600; color:var(--ink); line-height:1.35; min-height:36px; }
    .rel-art{ font-family:"JetBrains Mono",monospace; font-size:11px; color:var(--muted); }
    .rel-foot{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:auto; }
    .rel-price{ font-family:"JetBrains Mono",monospace; font-size:14px; font-weight:700; color:var(--ink); }
    .rel-add{ display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:8px; background:#fff; color:var(--teal); border:1.5px solid #cdeef0; transition:background var(--dur-fast), color var(--dur-fast), transform .12s cubic-bezier(.22,1,.36,1); }
    .rel-add:hover{ background:var(--teal); border-color:var(--teal); color:#fff; }
    .rel-add svg{ width:14px; height:14px; }
    .rel-add.is-loading{ opacity:.55; pointer-events:none; }
    .rel-add.added{ background:rgba(0,101,122,.12); border-color:transparent; color:var(--teal); }
    .rel-add.added.pulse{ transform:scale(1.15); }

    /* Спецификации: таблица характеристик */
    .spec-table{ width:100%; max-width:640px; border-collapse:collapse; }
    .spec-table tr{ border-bottom:1px solid #f3f4f6; }
    .spec-table tr:last-child{ border-bottom:0; }
    .spec-table td{ padding:11px 0; font-size:14px; vertical-align:top; }
    .spec-table td:first-child{ color:var(--muted); width:44%; padding-right:16px; }
    .spec-table td:last-child{ color:var(--ink); font-weight:600; }

    /* Комплектация */
    .kit-list{ display:flex; flex-direction:column; gap:0; max-width:520px; }
    .kit-item{ display:flex; align-items:center; gap:10px; padding:11px 0; border-bottom:1px solid #f3f4f6; font-size:14px; color:var(--text); }
    .kit-item:last-child{ border-bottom:0; }
    .kit-item svg{ width:16px; height:16px; color:#16a34a; flex:0 0 auto; }

    /* Документация */
    .doc-list{ display:flex; flex-direction:column; gap:8px; max-width:520px; }
    .doc-item{ display:flex; align-items:center; gap:12px; padding:12px 14px; border:1.5px solid var(--line); border-radius:10px; transition:border-color var(--dur-fast), background var(--dur-fast); }
    .doc-item:hover{ border-color:var(--teal); background:var(--strip); }
    .doc-item svg{ width:18px; height:18px; color:var(--teal); flex:0 0 auto; }
    .doc-name{ flex:1; font-size:13.5px; font-weight:600; color:var(--ink); }
    .doc-size{ font-family:"JetBrains Mono",monospace; font-size:11.5px; color:var(--muted); }
    .cart-head{ display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; margin-bottom:22px; }
    .cart-head h1{ margin:0; font-size:26px; font-weight:800; letter-spacing:-.015em; color:var(--ink); }
    .cart-count-lbl{ font-family:"JetBrains Mono",monospace; font-size:13px; color:var(--muted); font-variant-numeric:tabular-nums; }

    /* ── Корзина / Избранное — раздельные вкладки, не общий список (единый язык с вкладками карточки товара) ── */
    .cart-tabs{ display:flex; gap:26px; border-bottom:1px solid var(--line); margin-bottom:24px; }
    .cart-tab-btn{ position:relative; font:600 14.5px var(--font-sans,inherit); color:#8b95a1; background:none; border:none; padding:10px 2px 12px; cursor:pointer; }
    .cart-tab-btn.active{ color:var(--teal); font-weight:700; }
    .cart-tab-btn.active::after{ content:""; position:absolute; left:0; right:0; bottom:-1px; height:2.5px; background:var(--teal); border-radius:2px; }
    .cart-tab-btn .tab-cnt{ font-size:11px; font-weight:600; color:#98a2ad; font-family:"JetBrains Mono",monospace; margin-left:5px; }
    .cart-tab-btn.active .tab-cnt{ color:var(--teal); }

    /* ── Тулбар: поиск в корзине + счётчик + печать/очистить ── */
    .cart-toolbar{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; padding-bottom:14px; margin-bottom:16px; border-bottom:1px solid var(--line); }
    .cart-search{ position:relative; flex:1 1 260px; max-width:360px; }
    .cart-search svg{ position:absolute; left:13px; top:50%; transform:translateY(-50%); width:15px; height:15px; color:var(--muted); pointer-events:none; }
    .cart-search input{ width:100%; height:40px; border:1.5px solid var(--line-strong); border-radius:10px; padding:0 34px; font-family:"Onest",sans-serif; font-size:13.5px; color:var(--ink); background:var(--strip); outline:none; transition:border-color var(--dur-fast), background var(--dur-fast); }
    .cart-search input:focus{ border-color:var(--teal); background:#fff; box-shadow:0 0 0 3px rgba(0,101,122,.1); }
    .cart-search-clear{ position:absolute; right:9px; top:50%; transform:translateY(-50%); width:22px; height:22px; display:grid; place-items:center; color:var(--muted); border-radius:50%; transition:background var(--dur-fast); }
    .cart-search-clear:hover{ background:var(--line); }
    .cart-search-clear svg{ position:static; width:12px; height:12px; }

    .cart-toolbar-right{ display:flex; align-items:center; gap:10px; margin-left:auto; flex-wrap:wrap; }
    .cart-tab-count{ font-size:13.5px; font-weight:600; color:var(--teal); padding-bottom:2px; border-bottom:2px solid var(--teal); }
    .cart-tool-btn{ display:inline-flex; align-items:center; gap:7px; height:36px; padding:0 13px; border:1.5px solid var(--line-strong); border-radius:9px; font-size:13px; font-weight:600; color:var(--text); transition:border-color var(--dur-fast), color var(--dur-fast), background var(--dur-fast); }
    .cart-tool-btn:hover{ border-color:var(--teal); color:var(--teal); background:var(--strip); }
    .cart-tool-btn svg{ width:15px; height:15px; }
    .cart-tool-btn.danger:hover{ border-color:#c0392b; color:#c0392b; background:#fdecea; }

    /* ── Добавить по артикулу + прайсы + импорт заказа ── */
    .cart-tools{ display:flex; flex-direction:column; gap:14px; margin-bottom:20px; padding:18px 20px; background:var(--strip); border-radius:14px; }
    .cart-tools-row{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
    .cart-tools-title{ font-size:14px; font-weight:700; color:var(--ink); }
    .price-dl{ display:inline-flex; align-items:center; gap:8px; height:38px; padding:0 16px; border-radius:9px; color:#fff; font-size:13px; font-weight:700; transition:filter var(--dur-fast), transform var(--dur-fast) var(--ease-out); }
    .price-dl:hover{ filter:brightness(.92); }
    .price-dl:active{ transform:scale(.97); }
    .price-dl svg{ width:14px; height:14px; }
    .price-dl.makita{ background:var(--teal); }
    .price-dl.stihl{ background:#ea580c; }

    .sku-add{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
    .sku-add input{ flex:1 1 220px; height:40px; border:1.5px solid var(--line-strong); border-radius:9px; padding:0 14px; font-family:"JetBrains Mono",monospace; font-size:13px; color:var(--ink); background:#fff; outline:none; transition:border-color var(--dur-fast); }
    .sku-add input:focus{ border-color:var(--teal); box-shadow:0 0 0 3px rgba(0,101,122,.1); }
    .sku-add-btn{ height:40px; padding:0 18px; border-radius:9px; background:var(--teal); color:#fff; font-size:13px; font-weight:700; white-space:nowrap; transition:background var(--dur-fast); }
    .sku-add-btn:hover{ background:var(--teal-dark); }
    .sku-add-msg{ flex-basis:100%; font-size:12.5px; }
    .sku-add-msg.ok{ color:#16a34a; }
    .sku-add-msg.err{ color:#c0392b; }
    .sku-found{ display:flex; align-items:center; gap:12px; flex-basis:100%; margin-top:10px; padding:10px 12px; border:1.5px solid var(--line-strong); border-radius:10px; background:#fff; }
    .sku-found img{ width:44px; height:44px; object-fit:contain; flex:0 0 auto; border-radius:6px; }
    .sku-found-name{ flex:1 1 auto; min-width:0; font-size:13px; color:var(--ink); }
    .sku-found-price{ font-family:"JetBrains Mono",monospace; font-size:13px; font-weight:700; color:var(--ink); white-space:nowrap; }
    .sku-found input[type=number]{ width:56px; height:34px; border:1.5px solid var(--line-strong); border-radius:7px; text-align:center; font-size:13px; }
    @media(max-width:600px){ .sku-found{ flex-wrap:wrap; } }

    .cart-import{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; font-size:13px; }
    .cart-import a, .cart-import label{ display:inline-flex; align-items:center; gap:6px; font-weight:600; color:var(--teal); cursor:pointer; }
    .cart-import a:hover, .cart-import label:hover{ text-decoration:underline; }
    .cart-import svg{ width:15px; height:15px; }

    /* ── Скидка на строке товара ── */
    .ci-img{ position:relative; }
    .ci-badge{ position:absolute; left:-1px; top:-1px; background:#f59e0b; color:#fff; font-size:10.5px; font-weight:800; padding:2px 6px; border-radius:8px 0 8px 0; line-height:1.3; }
    .ci-discount-lbl{ font-size:11.5px; color:var(--muted); }
    .ci-discount-lbl b{ color:#b45309; font-weight:700; }
    .ci-unit .rrc-strike{ font-family:"JetBrains Mono",monospace; font-size:11.5px; color:var(--muted); text-decoration:line-through; text-decoration-color:var(--line-strong); font-variant-numeric:tabular-nums; }
    .ci-total .rrc-strike{ font-family:"JetBrains Mono",monospace; font-size:12px; color:var(--muted); text-decoration:line-through; text-decoration-color:var(--line-strong); font-variant-numeric:tabular-nums; margin-top:2px; }
    .ci-save{ display:inline-flex; margin-top:4px; font-size:11px; font-weight:700; color:#92400e; background:#fef3c7; padding:2px 7px; border-radius:6px; white-space:nowrap; }
    .ci-end{ display:flex; flex-direction:column; align-items:flex-end; gap:8px; }
    .ci-row-actions{ display:flex; align-items:center; gap:12px; }
    .ci-fav{ display:inline-flex; align-items:center; gap:5px; font-size:12px; color:var(--muted); transition:color var(--dur-fast); white-space:nowrap; }
    .ci-fav:hover{ color:var(--teal); }
    .ci-fav svg{ width:13px; height:13px; }
    .ci-del{ display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; flex:0 0 auto; border:1.5px solid var(--line); border-radius:8px; background:#fff; color:var(--muted); cursor:pointer; transition:border-color var(--dur-fast), color var(--dur-fast); }
    .ci-del:hover{ border-color:#c0392b; color:#c0392b; }
    .ci-del svg{ width:15px; height:15px; }

    .cart-layout{ display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:24px; align-items:start; }
    @media (max-width:980px){ .cart-layout{ grid-template-columns:1fr; } }

    /* ── Only-guest gate ── */
    .cart-gate{ display:none; flex-direction:column; align-items:center; text-align:center; gap:14px; max-width:440px; margin:60px auto; padding:40px 32px; background:#fff; border:1.5px solid var(--line); border-radius:16px; }
    html:not([data-auth="dealer"]) .cart-gate{ display:flex; }
    html:not([data-auth="dealer"]) .cart-main{ display:none; }
    .cart-gate-ic{ display:grid; place-items:center; width:64px; height:64px; border-radius:18px; background:linear-gradient(135deg,#e0f2fe,#f0fdfa); color:var(--teal); }
    .cart-gate-ic svg{ width:28px; height:28px; }
    .cart-gate h2{ margin:0; font-size:19px; font-weight:800; color:var(--ink); }
    .cart-gate p{ margin:0; font-size:14px; color:var(--muted); line-height:1.55; }

    /* ── Empty cart ── */
    .cart-empty{ display:none; flex-direction:column; align-items:center; text-align:center; gap:14px; padding:64px 32px; background:#fff; border:1.5px solid var(--line); border-radius:16px; }
    .cart-empty-ic{ display:grid; place-items:center; width:64px; height:64px; border-radius:18px; background:var(--strip); color:var(--line-strong); }
    .cart-empty-ic svg{ width:30px; height:30px; }
    .cart-empty h2{ margin:0; font-size:19px; font-weight:800; color:var(--ink); }
    .cart-empty p{ margin:0; font-size:14px; color:var(--muted); }

    /* ── Line items ── */
    .cart-items{ display:flex; flex-direction:column; gap:10px; }
    .cart-item{ display:grid; grid-template-columns:76px minmax(0,1fr) auto auto auto; gap:16px; align-items:center; padding:14px 16px; background:#fff; border:1.5px solid #e5e7eb; border-radius:14px; box-shadow:0 1px 6px rgba(0,0,0,.04); }
    .ci-img{ width:76px; height:76px; border-radius:10px; overflow:hidden; background:#fff; border:1px solid var(--line); }
    .ci-img img{ width:100%; height:100%; object-fit:cover; }
    .ci-body{ min-width:0; display:flex; flex-direction:column; gap:4px; }
    .ci-art{ font-family:"JetBrains Mono",monospace; font-size:11px; font-weight:600; color:var(--muted); }
    .ci-name{ font-size:14px; font-weight:600; color:var(--ink); line-height:1.35; }
    .ci-name a:hover{ color:var(--teal); }
    .ci-stock{ display:inline-flex; align-items:center; gap:5px; font-size:12px; color:#16a34a; width:fit-content; }
    .ci-stock::before{ content:""; width:5px; height:5px; border-radius:50%; background:#16a34a; }
    .ci-stock.low{ color:#ea580c; } .ci-stock.low::before{ background:#ea580c; }
    .ci-unit{ text-align:right; white-space:nowrap; }
    .ci-unit .price{ font-family:"JetBrains Mono",monospace; font-size:13.5px; font-weight:700; color:var(--ink); font-variant-numeric:tabular-nums; }
    .ci-unit .lbl{ font-size:11px; color:var(--muted); }
    .ci-qty{ display:inline-flex; align-items:center; border:1.5px solid var(--line-strong); border-radius:10px; overflow:hidden; flex:0 0 auto; }
    .ci-qty button{ width:32px; height:38px; display:grid; place-items:center; color:var(--muted); transition:background var(--dur-fast), color var(--dur-fast); }
    .ci-qty button:hover{ background:var(--strip); color:var(--teal); }
    .ci-qty button svg{ width:13px; height:13px; }
    .ci-qty input{ width:40px; height:38px; border:0; border-left:1.5px solid var(--line-strong); border-right:1.5px solid var(--line-strong); text-align:center; font-family:"JetBrains Mono",monospace; font-size:13px; font-weight:700; color:var(--ink); outline:none; -moz-appearance:textfield; font-variant-numeric:tabular-nums; }
    .ci-qty input::-webkit-inner-spin-button, .ci-qty input::-webkit-outer-spin-button{ appearance:none; }
    .ci-total{ text-align:right; white-space:nowrap; }
    .ci-total .price{ font-family:"JetBrains Mono",monospace; font-size:15px; font-weight:800; color:var(--ink); font-variant-numeric:tabular-nums; }
    .ci-remove{ display:grid; place-items:center; width:26px; height:26px; border-radius:7px; color:var(--muted); transition:background var(--dur-fast), color var(--dur-fast); }
    .ci-remove:hover{ background:#fdecea; color:#c0392b; }
    .ci-remove svg{ width:14px; height:14px; }
    @media (max-width:760px){
      .cart-item{ grid-template-columns:64px minmax(0,1fr) auto; grid-template-rows:auto auto; column-gap:12px; row-gap:10px; }
      .ci-img{ width:64px; height:64px; grid-row:1 / span 2; }
      .ci-unit{ display:none; }
      .ci-qty{ grid-column:2; grid-row:2; }
      .ci-end{ grid-column:3; grid-row:1 / span 2; align-items:flex-end; justify-content:space-between; height:100%; }
    }

    .cart-actions-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:6px; }
    .cart-back{ display:inline-flex; align-items:center; gap:6px; font-size:13.5px; font-weight:600; color:var(--teal); }
    .cart-back svg{ width:14px; height:14px; }
    .cart-clear{ font-size:13px; color:var(--muted); transition:color var(--dur-fast); }
    .cart-clear:hover{ color:#c0392b; }

    /* ── Summary sidebar ── */
    .cart-summary{ position:sticky; top:76px; background:#fff; border:1.5px solid #e5e7eb; border-radius:16px; padding:22px; box-shadow:0 1px 6px rgba(0,0,0,.04); }
    .cs-title{ font-size:15px; font-weight:800; color:var(--ink); margin-bottom:16px; }
    .cs-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:13.5px; color:var(--text); padding:8px 0; }
    .cs-row .v{ font-family:"JetBrains Mono",monospace; font-weight:700; color:var(--ink); font-variant-numeric:tabular-nums; }
    .cs-row.save .v{ color:#16a34a; }
    .cs-divider{ height:1px; background:#f3f4f6; margin:6px 0; }
    .cs-total{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding:10px 0 4px; }
    .cs-total .l{ font-size:14px; font-weight:700; color:var(--ink); }
    .cs-total .v{ font-family:"JetBrains Mono",monospace; font-size:24px; font-weight:800; color:var(--ink); letter-spacing:-.01em; font-variant-numeric:tabular-nums; }

    .cs-freeship{ margin:14px 0; padding:12px 14px; background:var(--strip); border-radius:10px; }
    .cs-freeship-txt{ font-size:12.5px; color:var(--text); margin-bottom:8px; line-height:1.4; }
    .cs-freeship-txt b{ color:var(--teal); }
    .cs-freeship-bar{ height:6px; border-radius:99px; background:#e5e7eb; overflow:hidden; }
    .cs-freeship-fill{ height:100%; background:var(--teal); border-radius:99px; transition:width .4s var(--ease-out); }
    .cs-freeship.done .cs-freeship-txt{ color:#16a34a; }
    .cs-freeship.done .cs-freeship-txt b{ color:#16a34a; }

    .cs-cta{ display:flex; align-items:center; justify-content:center; gap:10px; width:100%; height:54px; border-radius:12px; background:var(--teal); color:#fff; font-size:15.5px; font-weight:700; margin-top:6px; transition:background var(--dur-fast) ease, transform var(--dur-fast) var(--ease-out); }
    .cs-cta svg{ width:18px; height:18px; }
    .cs-cta:hover{ background:var(--teal-dark); }
    .cs-cta:active{ transform:scale(.98); }
    .cs-note{ margin-top:10px; font-size:11.5px; color:var(--muted); text-align:center; line-height:1.4; }

/* ===== checkout (checkout.html 196-347, 354-363) ===== */
    .co-head{ margin-bottom:22px; }
    .co-head h1{ margin:0; font-size:26px; font-weight:800; letter-spacing:-.015em; color:var(--ink); }

    /* ── Gate / empty states (переиспользуют язык cart.html) ── */
    .co-gate, .co-empty{ display:none; flex-direction:column; align-items:center; text-align:center; gap:14px; max-width:440px; margin:60px auto; padding:40px 32px; background:#fff; border:1.5px solid var(--line); border-radius:16px; }
    html:not([data-auth="dealer"]) .co-gate{ display:flex; }
    html:not([data-auth="dealer"]) .co-main{ display:none; }
    .co-gate-ic, .co-empty-ic{ display:grid; place-items:center; width:64px; height:64px; border-radius:18px; background:linear-gradient(135deg,#e0f2fe,#f0fdfa); color:var(--teal); }
    .co-gate-ic svg, .co-empty-ic svg{ width:28px; height:28px; }
    .co-gate h2, .co-empty h2{ margin:0; font-size:19px; font-weight:800; color:var(--ink); }
    .co-gate p, .co-empty p{ margin:0; font-size:14px; color:var(--muted); line-height:1.55; }

    /* одна колонка: путь сверху вниз (профиль → доставка → покупатель → состав → кнопка),
       блок шире и по центру экрана — справа не остаётся пустого поля */
    .co-layout{ display:block; max-width:860px; margin:0 auto; }
    .co-head{ max-width:860px; margin:0 auto 22px; }
    .co-summary-inline{ position:static; box-shadow:none; margin-top:16px; }

    /* ── Form sections ── */
    .co-section{ background:#fff; border:1.5px solid #e5e7eb; border-radius:16px; padding:22px 24px; box-shadow:0 1px 6px rgba(0,0,0,.04); margin-bottom:16px; }
    .co-section-head{ display:flex; align-items:center; gap:10px; margin-bottom:16px; }
    .co-section-num{ display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; border-radius:50%; background:var(--strip); color:var(--teal); font-size:12px; font-weight:800; flex:0 0 auto; }
    .co-section-head h2{ margin:0; font-size:15.5px; font-weight:800; color:var(--ink); }

    /* Способ получения — карточки-радио */
    .co-methods{ display:grid; grid-template-columns:repeat(auto-fit, minmax(200px,1fr)); gap:10px; }
    .co-methods-col{ grid-template-columns:1fr; }
    .co-method{ position:relative; display:flex; flex-direction:row; align-items:center; gap:10px; padding:14px 16px; border:1.5px solid var(--line-strong); border-radius:12px; cursor:pointer; transition:border-color var(--dur-fast), background var(--dur-fast); }
    .co-method:hover{ border-color:var(--teal); }
    .co-method input{ position:absolute; opacity:0; }
    .co-method-title{ display:flex; align-items:center; gap:8px; font-size:14px; font-weight:700; color:var(--ink); flex:0 0 auto; }
    .co-method-title svg{ width:17px; height:17px; color:var(--teal); flex:0 0 auto; }
    .co-method-sub{ font-size:12.5px; color:var(--muted); line-height:1.4; flex:1; min-width:0; text-align:right; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .co-method:has(input:checked), .co-method.selected{ border-color:var(--teal); background:#f0fdfa; box-shadow:0 0 0 1px var(--teal); }
    .co-method-price{ display:inline-flex; align-self:flex-start; margin-left:25px; margin-top:2px; height:22px; padding:0 9px; border-radius:7px; background:var(--strip); font-family:"JetBrains Mono",monospace; font-size:11.5px; font-weight:700; color:var(--text); }
    .co-method-price.free{ background:#f0fdf4; color:#16a34a; }
    .co-freeship-note{ margin:8px 0 0 25px; font-size:12px; color:var(--muted); }
    .co-freeship-note b{ color:var(--teal); }

    /* ── Аккордеон доставки: поля внутри выбранной карточки, невыбранные сжимаются ── */
    .co-methods-acc{ display:flex; flex-direction:column; gap:10px; }
    .co-methods-acc .co-method-wrap{ border:1.5px solid var(--line-strong); border-radius:12px; overflow:hidden; transition:border-color var(--dur-fast), box-shadow var(--dur-fast), opacity var(--dur-fast); }
    .co-methods-acc .co-method-wrap.selected{ border-color:var(--teal); box-shadow:0 0 0 1px var(--teal); }
    .co-methods-acc .co-method{ border:0; border-radius:0; box-shadow:none; }
    .co-methods-acc .co-method:hover{ border:0; }
    .co-methods-acc .co-method.selected{ box-shadow:none; }
    .co-method-body{ display:none; }
    .co-method-wrap.selected .co-method-body{ display:block; border-top:1px solid var(--line); background:#fff; }
    .co-method-body #co-address-section{ padding:14px 16px 16px 41px; }
    .co-method-wrap.collapsed{ opacity:.72; }
    .co-method-wrap.collapsed .co-method{ padding:8px 16px; flex-direction:row; align-items:center; gap:10px; }
    .co-method-wrap.collapsed .co-method-sub{ display:none; }
    .co-method-wrap.collapsed .co-method-price{ margin:0 0 0 auto; }
    .co-method-wrap.collapsed:hover{ opacity:1; border-color:var(--teal); }
    /* исходный контейнер полей вне тела карточки не показываем (стейджинг до первого syncDelivery) */
    .co-methods-acc > #co-address-section{ display:none; }
    @media (max-width:640px){ .co-method-body #co-address-section{ padding-left:16px; } }

    /* PM_CHECKOUT_DEST_TERMINAL_V1 (06.08): «До терминала ТК» — один опциональный чекбокс
       поверх адреса точки (был выбор из 3 радио — упростили, адрес всегда один) */
    /* PM_CHECKOUT_DEST_TERMINAL_V2 (06.08): верстка "поплыла" на V1 (текст сжало в узкую
       колонку) — похоже, конфликт с какими-то унаследованными правилами по .field/label/span.
       Переписано на ID-селектор с !important и div вместо вложенных span, чтобы гарантированно
       не зависеть от окружающих стилей. */
    /* PM_CHECKOUT_DEST_CHOICE_V3 (06.08): вернулись к радио (2 варианта, без дефолта) —
       только для «Деловые линии», для остальных ТК поле вообще не показываем. ID-скоуп
       + !important на layout-свойства — защита от того же конфликта, что ловили на V1/V2. */
    #co-dest-choice-field .co-dest-opts{ display:flex !important; flex-direction:row !important; flex-wrap:wrap !important; gap:8px !important; width:100% !important; }
    #co-dest-choice-field .co-dest-opt{ display:flex !important; flex-direction:row !important; align-items:center !important; gap:7px !important; width:auto !important; box-sizing:border-box !important; padding:9px 14px !important; margin:0 !important; border:1.5px solid var(--line-strong); border-radius:10px; cursor:pointer; font-size:13px; font-weight:600; color:var(--text); transition:border-color var(--dur-fast), background var(--dur-fast); }
    #co-dest-choice-field .co-dest-opt:hover{ border-color:var(--teal); }
    #co-dest-choice-field .co-dest-opt input{ width:16px !important; height:16px !important; flex:0 0 16px !important; margin:0 !important; accent-color:var(--teal); cursor:pointer; }
    #co-dest-choice-field .co-dest-opt span{ flex:0 1 auto !important; }
    #co-dest-choice-field .co-dest-opt:has(input:checked){ border-color:var(--teal); background:#f0fdfa; color:var(--ink); box-shadow:0 0 0 1px var(--teal); }

    /* Доставка: две колонки — способ + адрес */
    .co-delivery-grid{ display:grid; grid-template-columns:1fr; gap:20px; }
    @media(min-width:760px){ .co-delivery-grid{ grid-template-columns:1.1fr 1fr; } }

    .co-fields{ display:grid; gap:16px; }
    .co-row-2{ display:grid; gap:16px; grid-template-columns:1fr; }
    @media(min-width:560px){ .co-row-2{ grid-template-columns:1fr 1fr; } }

    /* ── Шаги создания профиля (/profile/add/) ── */
    .pa-step{ display:flex; gap:14px; padding:18px 0; border-top:1px solid var(--line); }
    .pa-step:first-of-type{ border-top:0; padding-top:0; }
    .pa-step-num{ flex:0 0 auto; width:26px; height:26px; border-radius:50%; background:var(--strip); color:var(--teal-dark); font-size:12.5px; font-weight:700; display:flex; align-items:center; justify-content:center; margin-top:2px; }
    .pa-step-body{ flex:1; min-width:0; display:grid; gap:16px; }
    .pa-section-title{ font-size:13.5px; font-weight:700; color:var(--ink); }
    .pa-section-title .opt{ font-weight:500; color:var(--muted); }
    .pa-warn{ margin:0 0 16px; padding:12px 14px; border-radius:10px; background:#fff7ed; border:1.5px solid #fdba74; color:#9a3412; font-size:13px; line-height:1.5; }

    /* ── Товары в заказе: таблица ── */
    .co-items-head{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:16px; }
    .co-items-head a{ font-size:13px; font-weight:600; color:var(--teal); }
    .co-items-head a:hover{ text-decoration:underline; }
    .co-items-table{ width:100%; border-collapse:collapse; }
    .co-items-table thead th{ text-align:left; font-size:11px; font-weight:700; letter-spacing:.03em; text-transform:uppercase; color:var(--muted); padding:0 10px 10px; border-bottom:1px solid var(--line); }
    .co-items-table thead th.num{ text-align:right; }
    .co-items-table td{ padding:12px 10px; border-bottom:1px solid #f3f4f6; font-size:13.5px; color:var(--text); vertical-align:middle; }
    .co-items-table tr:last-child td{ border-bottom:0; }
    .co-it-name{ display:flex; align-items:center; gap:12px; min-width:220px; }
    .co-it-name img{ width:40px; height:40px; border-radius:8px; object-fit:cover; border:1px solid var(--line); flex:0 0 auto; }
    .co-it-name span{ color:var(--ink); font-weight:500; line-height:1.35; }
    .co-items-table td.num{ text-align:right; font-family:"JetBrains Mono",monospace; font-variant-numeric:tabular-nums; white-space:nowrap; }
    .co-it-disc{ color:#b45309; font-weight:700; }
    .co-it-price .price{ font-weight:700; color:var(--ink); }
    .co-it-price .rrc-strike{ display:block; font-size:11px; color:var(--muted); text-decoration:line-through; text-decoration-color:var(--line-strong); margin-top:1px; }
    .co-it-sum .price{ font-weight:800; color:var(--ink); }
    .co-it-sum .rrc-strike{ display:block; font-size:11px; color:var(--muted); text-decoration:line-through; text-decoration-color:var(--line-strong); margin-top:1px; }
    @media(max-width:760px){ .co-items-table thead{ display:none; } .co-items-table, .co-items-table tbody, .co-items-table tr, .co-items-table td{ display:block; width:100%; } .co-items-table tr{ padding:12px 0; border-bottom:1px solid #f3f4f6; } .co-items-table td{ border-bottom:0; padding:2px 0; } .co-it-name{ margin-bottom:6px; } .co-items-table td.num{ text-align:left; } }

    .co-consent{ display:flex; align-items:flex-start; gap:10px; margin:18px 0 4px; font-size:13px; line-height:1.5; color:var(--text); cursor:pointer; }
    .co-consent input{ width:18px; height:18px; margin:1px 0 0; flex:0 0 auto; accent-color:var(--teal); cursor:pointer; }
    .co-consent a{ color:var(--teal); font-weight:600; border-bottom:1px solid currentColor; }
    .co-consent a:hover{ opacity:.8; }

    /* Оплата — информационная карточка (единственный вариант, без отсрочки) */
    .co-pay{ display:flex; align-items:flex-start; gap:12px; padding:14px 16px; background:var(--strip); border-radius:12px; }
    .co-pay svg{ width:20px; height:20px; color:var(--teal); flex:0 0 auto; margin-top:1px; }
    .co-pay-title{ font-size:14px; font-weight:700; color:var(--ink); margin-bottom:3px; }
    .co-pay-sub{ font-size:12.5px; color:var(--muted); line-height:1.5; }
    .co-pay-sub a{ color:var(--teal); font-weight:600; }
    .co-pay-sub a:hover{ text-decoration:underline; }

    .co-submit-row{ display:flex; align-items:center; justify-content:flex-end; gap:14px; margin-top:4px; }

    /* ── Summary sidebar (read-only) ── */
    .co-summary{ position:static; background:#fff; border:1.5px solid #e5e7eb; border-radius:16px; padding:22px; box-shadow:0 1px 6px rgba(0,0,0,.04); }
    .cs-title{ display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:15px; font-weight:800; color:var(--ink); margin-bottom:14px; }
    .cs-edit{ font-size:12.5px; font-weight:600; color:var(--teal); }
    .cs-edit:hover{ text-decoration:underline; }
    .co-summary-items{ display:flex; flex-direction:column; gap:10px; max-height:280px; overflow-y:auto; margin-bottom:14px; padding-right:2px; }
    .cs-item{ display:flex; align-items:center; gap:10px; }
    .cs-item-img{ width:44px; height:44px; border-radius:8px; overflow:hidden; border:1px solid var(--line); flex:0 0 auto; }
    .cs-item-img img{ width:100%; height:100%; object-fit:cover; }
    .cs-item-body{ min-width:0; flex:1; }
    .cs-item-name{ font-size:12.5px; font-weight:600; color:var(--ink); line-height:1.3; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .cs-item-qty{ font-size:11.5px; color:var(--muted); }
    .cs-item-sum{ font-family:"JetBrains Mono",monospace; font-size:12.5px; font-weight:700; color:var(--ink); white-space:nowrap; font-variant-numeric:tabular-nums; }

    .cs-row{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; font-size:13.5px; color:var(--text); padding:8px 0; }
    .cs-row .v{ font-family:"JetBrains Mono",monospace; font-weight:700; color:var(--ink); font-variant-numeric:tabular-nums; text-align:right; }
    .cs-row .v .rrc-strike{ display:block; font-size:11.5px; font-weight:500; color:var(--muted); text-decoration:line-through; text-decoration-color:var(--line-strong); margin-top:1px; }
    .cs-row.hl .v, .cs-row.hl .l{ background:#fef3c7; color:#92400e; padding:4px 9px; border-radius:7px; font-weight:800; }
    .cs-row.hl{ padding:6px 0; }
    .cs-divider{ height:1px; background:#f3f4f6; margin:6px 0; }
    .cs-total{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding:10px 0 4px; }
    .cs-total .l{ font-size:14px; font-weight:700; color:var(--ink); }
    .cs-total .v{ font-family:"JetBrains Mono",monospace; font-size:24px; font-weight:800; color:var(--ink); letter-spacing:-.01em; font-variant-numeric:tabular-nums; }

    .cs-cta{ display:flex; align-items:center; justify-content:center; gap:10px; width:100%; height:54px; border-radius:12px; background:var(--teal); color:#fff; font-size:15.5px; font-weight:700; margin-top:10px; transition:background var(--dur-fast) ease, transform var(--dur-fast) var(--ease-out); border:0; cursor:pointer; font-family:inherit; }
    .cs-cta svg{ width:18px; height:18px; }
    .cs-cta:hover{ background:var(--teal-dark); }
    .cs-cta:active{ transform:scale(.98); }
    .cs-note{ margin-top:10px; font-size:11.5px; color:var(--muted); text-align:center; line-height:1.4; }

    /* ── Success state ── */
    .co-success{ display:none; flex-direction:column; gap:0; max-width:720px; margin:24px auto 0; }
    .co-success.show{ display:flex; animation:coSuccessIn .4s var(--ease-out) both; }
    @keyframes coSuccessIn{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:translateY(0); } }
    @media(prefers-reduced-motion:reduce){ .co-success.show{ animation:none; } }

    /* Шапка успеха */
    .co-success-hero{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:14px; padding:44px 36px 36px; background:#fff; border:1.5px solid #bbf0d8; border-radius:20px 20px 0 0; box-shadow:0 20px 50px -24px rgba(22,163,74,.25); }
    .co-success-ic{ display:grid; place-items:center; width:68px; height:68px; border-radius:50%; background:#dcfce7; color:#16a34a; }
    .co-success-ic svg{ width:32px; height:32px; }
    .co-success-hero h2{ margin:0; font-size:23px; font-weight:800; color:var(--ink); }
    .co-success-meta{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:center; font-size:13px; color:var(--muted); }
    .co-success-num{ font-family:"JetBrains Mono",monospace; font-size:14.5px; font-weight:700; color:var(--teal); background:var(--strip); padding:6px 14px; border-radius:999px; }
    .co-success-hero > p{ margin:0; font-size:14px; color:var(--muted); line-height:1.6; max-width:440px; }

    /* Сводка заказа */
    .co-success-card{ background:#fff; border:1.5px solid #e5e7eb; border-left:1.5px solid #e5e7eb; border-right:1.5px solid #e5e7eb; padding:24px 32px; }
    .co-success-card + .co-success-card{ border-top:1px solid #f3f4f6; }
    .co-success-card h3{ margin:0 0 14px; font-size:13px; font-weight:800; letter-spacing:.02em; text-transform:uppercase; color:var(--muted); }
    .co-sum-items{ display:flex; flex-direction:column; gap:10px; margin-bottom:14px; }
    .co-sum-item{ display:flex; align-items:center; gap:12px; font-size:13.5px; }
    .co-sum-item img{ width:38px; height:38px; border-radius:8px; object-fit:cover; border:1px solid var(--line); flex:0 0 auto; }
    .co-sum-item-name{ flex:1; min-width:0; color:var(--ink); font-weight:500; line-height:1.35; }
    .co-sum-item-qty{ color:var(--muted); white-space:nowrap; }
    .co-sum-item-sum{ font-family:"JetBrains Mono",monospace; font-weight:700; color:var(--ink); white-space:nowrap; font-variant-numeric:tabular-nums; }
    .co-sum-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:7px 0; font-size:13.5px; color:var(--text); border-top:1px solid #f3f4f6; }
    .co-sum-row:first-of-type{ border-top:1px solid var(--line); margin-top:4px; padding-top:12px; }
    .co-sum-row .l{ color:var(--muted); }
    .co-sum-row .v{ font-weight:600; color:var(--ink); text-align:right; }
    .co-sum-total{ display:flex; align-items:baseline; justify-content:space-between; padding-top:10px; margin-top:6px; border-top:1px solid var(--line); }
    .co-sum-total .l{ font-size:14px; font-weight:700; color:var(--ink); }
    .co-sum-total .v{ font-family:"JetBrains Mono",monospace; font-size:19px; font-weight:800; color:var(--ink); }

    /* Что дальше */
    .co-steps{ display:flex; flex-direction:column; gap:16px; }
    .co-step{ display:flex; gap:14px; }
    .co-step-num{ display:flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:50%; background:var(--strip); color:var(--teal); font-size:12px; font-weight:800; flex:0 0 auto; }
    .co-step-body b{ display:block; font-size:13.5px; font-weight:700; color:var(--ink); margin-bottom:2px; }
    .co-step-body span{ font-size:13px; color:var(--muted); line-height:1.5; }
    .co-step-body a{ color:var(--teal); font-weight:600; }
    .co-step-body a:hover{ text-decoration:underline; }

    .co-success-actions{ display:flex; gap:10px; flex-wrap:wrap; justify-content:center; padding:24px 32px 32px; background:#fff; border:1.5px solid #e5e7eb; border-top:0; border-radius:0 0 20px 20px; }
    /* ── Field pattern (как в заявке на лендинге) ── */
    .field{ display:flex; flex-direction:column; gap:6px; min-width:0; }
    .field > label{ font-size:13px; font-weight:600; color:var(--ink); letter-spacing:-.01em; }
    .field .opt{ color:var(--muted); font-weight:500; }
    .field .req{ color:#c0392b; margin-left:1px; }
    .field input, .field textarea, .field select{ width:100%; height:48px; border:1.5px solid var(--line-strong); border-radius:var(--r); padding:0 14px; font-family:"Onest", sans-serif; font-size:15px; color:var(--ink); background:var(--strip); outline:none; transition:border-color var(--dur-base) ease, box-shadow var(--dur-base) ease, background var(--dur-base) ease; }
    .field textarea{ height:auto; min-height:88px; padding:11px 14px; line-height:1.5; resize:vertical; }
    .field input::placeholder, .field textarea::placeholder{ color:var(--muted); }
    .field input:focus, .field textarea:focus{ border-color:var(--teal); background:#fff; box-shadow:0 0 0 3px rgba(0,101,122,.12); }
    .field .hint{ font-size:12px; color:var(--muted); }

/* ===== orders list (orders.html 196-284) ===== */
    .ord-head h1{ margin:0; font-size:26px; font-weight:800; letter-spacing:-.015em; color:var(--ink); }
    .ord-count{ font-family:"JetBrains Mono",monospace; font-size:13px; color:var(--muted); font-variant-numeric:tabular-nums; }

    /* Гость: заказы недоступны */
    .ord-gate{ display:none; flex-direction:column; align-items:center; text-align:center; gap:14px; max-width:440px; margin:60px auto; padding:40px 32px; background:#fff; border:1.5px solid var(--line); border-radius:16px; }
    html:not([data-auth="dealer"]) .ord-gate{ display:flex; }
    html:not([data-auth="dealer"]) .ord-main{ display:none; }
    .ord-gate-ic{ display:grid; place-items:center; width:64px; height:64px; border-radius:18px; background:linear-gradient(135deg,#e0f2fe,#f0fdfa); color:var(--teal); }
    .ord-gate-ic svg{ width:28px; height:28px; }
    .ord-gate h2{ margin:0; font-size:19px; font-weight:800; color:var(--ink); }
    .ord-gate p{ margin:0; font-size:14px; color:var(--muted); line-height:1.55; }

    /* Свежий заказ — баннер (появляется сразу после оформления) */
    .ord-fresh{ display:none; align-items:center; gap:14px; padding:14px 18px; margin-bottom:18px; background:#f0fdf4; border:1.5px solid #bbf0d8; border-radius:14px; }
    .ord-fresh.show{ display:flex; }
    .ord-fresh-ic{ display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:#dcfce7; color:#16a34a; flex:0 0 auto; }
    .ord-fresh-ic svg{ width:18px; height:18px; }
    .ord-fresh-body{ flex:1; min-width:0; }
    .ord-fresh-title{ font-size:13.5px; font-weight:700; color:#166534; }
    .ord-fresh-sub{ font-size:12.5px; color:#166534; opacity:.85; }
    .ord-fresh-close{ display:grid; place-items:center; width:28px; height:28px; border-radius:8px; color:#166534; flex:0 0 auto; transition:background var(--dur-fast); }
    .ord-fresh-close:hover{ background:#dcfce7; }
    .ord-fresh-close svg{ width:14px; height:14px; }

    /* Тулбар: поиск + фильтр статуса + счётчики по статусам */
    .ord-toolbar{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:16px; }
    .ord-search{ position:relative; flex:1 1 240px; max-width:340px; }
    .ord-search svg{ position:absolute; left:13px; top:50%; transform:translateY(-50%); width:15px; height:15px; color:var(--muted); pointer-events:none; }
    .ord-search input{ width:100%; height:40px; border:1.5px solid var(--line-strong); border-radius:10px; padding:0 14px 0 34px; font-family:"Onest",sans-serif; font-size:13.5px; color:var(--ink); background:var(--strip); outline:none; transition:border-color var(--dur-fast), background var(--dur-fast); }
    .ord-search input:focus{ border-color:var(--teal); background:#fff; box-shadow:0 0 0 3px rgba(0,101,122,.1); }
    .ord-status-sel{ height:40px; padding:0 32px 0 14px; border:1.5px solid var(--line-strong); border-radius:10px; background:#fff; font-family:inherit; font-size:13.5px; color:var(--ink); outline:none; cursor:pointer; appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='m4 6 4 4 4-4' stroke='%23586374' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 10px center; background-size:13px; transition:border-color var(--dur-fast); }
    .ord-status-sel:focus{ border-color:var(--teal); }
    .ord-period-sel{ height:40px; padding:0 32px 0 14px; border:1.5px solid var(--line-strong); border-radius:10px; background:#fff; font-family:inherit; font-size:13.5px; color:var(--ink); outline:none; cursor:pointer; appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='m4 6 4 4 4-4' stroke='%23586374' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 10px center; background-size:13px; transition:border-color var(--dur-fast); margin-left:auto; }

    /* Таблица заказов — тот же язык, что и в кабинете (db-*) */
    .ord-table-wrap{ background:#fff; border:1.5px solid #e5e7eb; border-radius:16px; overflow:hidden; box-shadow:0 1px 6px rgba(0,0,0,.04); }
    .ord-tbl{ width:100%; border-collapse:collapse; }
    .ord-tbl th{ padding:11px 16px; font-size:11px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--muted); text-align:left; background:#f9fafb; border-bottom:1px solid #eef0f3; }
    .ord-tbl td{ padding:16px; font-size:14px; color:var(--text); border-bottom:1px solid #eef0f3; vertical-align:middle; }
    .ord-tbl tr:last-child td{ border-bottom:0; }
    @media(hover:hover) and (pointer:fine){ .ord-tbl tbody tr:hover td{ background:#fafffe; } }
    .ord-tbl tr.is-pending td{ background:#fffaf5; }
    @media(hover:hover) and (pointer:fine){ .ord-tbl tbody tr.is-pending:hover td{ background:#fff6ee; } }
    .ord-num{ font-family:"JetBrains Mono",monospace; font-weight:700; font-size:14px; color:var(--teal); text-decoration:none; }
    .ord-num:hover{ text-decoration:underline; text-underline-offset:2px; }
    .ord-date{ color:var(--muted); font-size:13px; }
    .ord-items-cnt{ color:var(--muted); font-size:13px; }
    .ord-sum{ font-family:"JetBrains Mono",monospace; font-weight:700; color:var(--ink); font-size:14px; font-variant-numeric:tabular-nums; }

    .ord-badge{ display:inline-flex; align-items:center; gap:6px; height:22px; padding:0 9px; border-radius:999px; font-size:12px; font-weight:600; white-space:nowrap; }
    .ord-badge::before{ content:""; width:5px; height:5px; border-radius:50%; flex:0 0 auto; }
    .ord-badge.pending{ background:#fff7ed; color:#ea580c; } .ord-badge.pending::before{ background:#ea580c; }
    .ord-badge.shipping{ background:#f0fdf4; color:#16a34a; } .ord-badge.shipping::before{ background:#16a34a; }
    .ord-badge.confirmed{ background:#eff6ff; color:#2563eb; } .ord-badge.confirmed::before{ background:#2563eb; }
    .ord-badge.done{ background:#f3f4f6; color:var(--muted); } .ord-badge.done::before{ background:#9ca3af; }
    .ord-badge.cancelled{ background:#fdecea; color:#c0392b; } .ord-badge.cancelled::before{ background:#c0392b; }

    .ord-acts{ display:flex; gap:6px; flex-wrap:wrap; }
    .ord-act{ display:inline-flex; align-items:center; height:28px; padding:0 11px; border-radius:8px; font-size:12px; font-weight:600; border:0; cursor:pointer; white-space:nowrap; transition:background 150ms, transform 150ms; text-decoration:none; }
    .ord-act:active{ transform:scale(.97); }
    .ord-act-confirm{ background:#ea580c; color:#fff; }
    .ord-act-confirm:hover{ background:#c2410c; }
    .ord-act-invoice{ background:#fff7ed; color:#ea580c; border:1.5px solid #fed7aa; }
    .ord-act-invoice:hover{ background:#ffedd5; }
    .ord-act-open{ background:#f3f4f6; color:var(--text); }
    .ord-act-open:hover{ background:#e5e7eb; }
    .ord-act-repeat{ background:#f0fdfa; color:var(--teal); border:1px solid #99f6e4; }
    .ord-act-repeat:hover{ background:#ccfbf1; }

    .ord-empty{ display:flex; align-items:center; gap:12px; padding:36px 20px; color:var(--muted); font-size:14px; }
    .ord-empty svg{ width:26px; height:26px; flex:0 0 auto; color:var(--line-strong); }
    .ord-empty p{ margin:0; }
    .ord-empty button{ color:var(--teal); font-weight:600; text-decoration:underline; text-underline-offset:2px; cursor:pointer; }

    /* Мобильные карточки заказов */
    .ord-cards{ display:none; }
    @media(max-width:760px){
      .ord-table-wrap table, .ord-table-wrap thead{ display:none; }
      .ord-cards{ display:flex; flex-direction:column; }
      .ord-card{ padding:14px 18px; border-bottom:1px solid #f3f4f6; }
      .ord-card:last-child{ border-bottom:0; }
      .ord-card.is-pending{ background:#fffaf5; }
      .ord-card-top{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:6px; }
      .ord-card-num{ font-family:"JetBrains Mono",monospace; font-size:14px; font-weight:700; color:var(--teal); }
      .ord-card-meta{ display:flex; align-items:center; gap:10px; margin-bottom:10px; font-size:13px; color:var(--muted); flex-wrap:wrap; }
      .ord-card-sum{ font-family:"JetBrains Mono",monospace; font-weight:700; color:var(--ink); }
      .ord-card-actions{ display:flex; gap:6px; flex-wrap:wrap; }
    }
    @media(min-width:761px){ .ord-cards{ display:none !important; } }

/* ===== order detail (order.html 196-293) ===== */
    .od-gate, .od-notfound{ display:none; flex-direction:column; align-items:center; text-align:center; gap:14px; max-width:440px; margin:60px auto; padding:40px 32px; background:#fff; border:1.5px solid var(--line); border-radius:16px; }
    html:not([data-auth="dealer"]) .od-gate{ display:flex; }
    html:not([data-auth="dealer"]) .od-main{ display:none; }
    .od-gate-ic, .od-notfound-ic{ display:grid; place-items:center; width:64px; height:64px; border-radius:18px; background:linear-gradient(135deg,#e0f2fe,#f0fdfa); color:var(--teal); }
    .od-gate-ic svg, .od-notfound-ic svg{ width:28px; height:28px; }
    .od-gate h2, .od-notfound h2{ margin:0; font-size:19px; font-weight:800; color:var(--ink); }
    .od-gate p, .od-notfound p{ margin:0; font-size:14px; color:var(--muted); line-height:1.55; }

    /* Шапка заказа */
    .od-head{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; background:#fff; border:1.5px solid #e5e7eb; border-radius:16px; padding:18px 24px; margin-bottom:16px; box-shadow:0 1px 6px rgba(0,0,0,.04); }
    .od-head-left{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
    .od-head h1{ margin:0; font-size:19px; font-weight:800; color:var(--ink); }
    .od-head-date{ font-size:13px; color:var(--muted); }
    .od-head-actions{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
    .od-btn{ display:inline-flex; align-items:center; gap:7px; height:38px; padding:0 16px; border-radius:9px; font-size:13px; font-weight:700; white-space:nowrap; cursor:pointer; transition:background var(--dur-fast), color var(--dur-fast), border-color var(--dur-fast), transform var(--dur-fast) var(--ease-out); border:1.5px solid var(--line-strong); background:#fff; color:var(--text); }
    .od-btn:hover{ border-color:var(--teal); color:var(--teal); }
    .od-btn:active{ transform:scale(.97); }
    .od-btn.primary{ background:var(--teal); color:#fff; border-color:var(--teal); }
    .od-btn.primary:hover{ background:var(--teal-dark); border-color:var(--teal-dark); color:#fff; }
    .od-btn.confirm{ background:#ea580c; color:#fff; border-color:#ea580c; }
    .od-btn.confirm:hover{ background:#c2410c; border-color:#c2410c; color:#fff; }
    .od-btn.danger{ color:#c0392b; border-color:#f3d4d0; }
    .od-btn.danger:hover{ background:#fdecea; border-color:#c0392b; color:#c0392b; }
    .od-btn svg{ width:14px; height:14px; }

    .od-badge{ display:inline-flex; align-items:center; gap:6px; height:24px; padding:0 10px; border-radius:999px; font-size:12.5px; font-weight:700; white-space:nowrap; }
    .od-badge::before{ content:""; width:5px; height:5px; border-radius:50%; flex:0 0 auto; }
    .od-badge.pending{ background:#fff7ed; color:#ea580c; } .od-badge.pending::before{ background:#ea580c; }
    .od-badge.shipping{ background:#f0fdf4; color:#16a34a; } .od-badge.shipping::before{ background:#16a34a; }
    .od-badge.confirmed{ background:#eff6ff; color:#2563eb; } .od-badge.confirmed::before{ background:#2563eb; }
    .od-badge.done{ background:#f3f4f6; color:var(--muted); } .od-badge.done::before{ background:#9ca3af; }
    .od-badge.cancelled{ background:#fdecea; color:#c0392b; } .od-badge.cancelled::before{ background:#c0392b; }

    /* Метаданные: контрагент / статус / отменён / сумма */
    .od-meta{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:20px; background:#fff; border:1.5px solid #e5e7eb; border-radius:16px; padding:18px 24px; margin-bottom:16px; box-shadow:0 1px 6px rgba(0,0,0,.04); }
    @media(max-width:860px){ .od-meta{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
    @media(max-width:480px){ .od-meta{ grid-template-columns:1fr; } }
    .od-meta-lbl{ font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--muted); margin-bottom:6px; }
    .od-meta-val{ font-size:14.5px; font-weight:600; color:var(--ink); }
    .od-meta-val.mono{ font-family:"JetBrains Mono",monospace; font-size:17px; font-weight:800; }

    /* Двухколоночная сетка карточек */
    .od-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; align-items:start; }
    @media(max-width:900px){ .od-grid{ grid-template-columns:1fr; } }

    .od-card{ background:#fff; border:1.5px solid #e5e7eb; border-radius:16px; box-shadow:0 1px 6px rgba(0,0,0,.04); overflow:hidden; }
    .od-card-head{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:16px 22px; border-bottom:1px solid #f3f4f6; cursor:pointer; }
    .od-card-head h2{ margin:0; font-size:14.5px; font-weight:800; color:var(--ink); }
    .od-card-chev{ width:26px; height:26px; border-radius:8px; border:1.5px solid var(--line-strong); color:var(--muted); display:grid; place-items:center; transition:transform var(--dur-base) var(--ease-out); flex:0 0 auto; }
    .od-card-chev svg{ width:12px; height:12px; }
    .od-card.collapsed .od-card-chev{ transform:rotate(-90deg); }
    .od-card-body{ padding:18px 22px; }
    .od-card.collapsed .od-card-body{ display:none; }

    /* Состав заказа */
    .od-items-table{ width:100%; border-collapse:collapse; table-layout:fixed; }
    .od-items-table th:first-child, .od-items-table td:first-child{ width:auto; }
    .od-items-table th.num, .od-items-table td.num{ width:96px; }
    .od-items-table th{ text-align:left; font-size:11px; font-weight:700; letter-spacing:.03em; text-transform:uppercase; color:var(--muted); padding:0 14px 10px 0; white-space:nowrap; }
    .od-items-table th.num{ text-align:right; }
    .od-items-table th:last-child, .od-items-table td:last-child{ padding-right:0; }
    .od-items-table td{ padding:10px 14px 10px 0; border-top:1px solid #f3f4f6; font-size:13.5px; color:var(--text); vertical-align:middle; }
    .od-items-table td.num{ text-align:right; font-family:"JetBrains Mono",monospace; font-variant-numeric:tabular-nums; white-space:nowrap; }
    .od-it-name{ display:flex; align-items:center; gap:10px; }
    .od-it-name img{ width:36px; height:36px; border-radius:8px; object-fit:cover; border:1px solid var(--line); flex:0 0 auto; }
    .od-it-name a{ color:var(--ink); font-weight:500; line-height:1.35; }
    .od-it-name a:hover{ color:var(--teal); }
    .od-it-sum{ font-weight:700; color:var(--ink); }
    @media(max-width:520px){ .od-items-table thead{ display:none; } .od-items-table td{ display:block; padding:2px 0; border-top:0; } .od-items-table tr{ display:block; padding:12px 0; border-top:1px solid #f3f4f6; } .od-items-table td.num{ text-align:left; } }

    /* Инфо-списки (пользователь / заказ) */
    .od-info-list{ display:flex; flex-direction:column; gap:14px; }
    .od-info-row{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; flex-wrap:wrap; }
    .od-info-lbl{ font-size:13px; color:var(--muted); }
    .od-info-val{ font-size:14px; font-weight:600; color:var(--ink); text-align:right; }
    .od-info-val.mono{ font-family:"JetBrains Mono",monospace; font-size:12.5px; font-weight:600; word-break:break-all; }
    .od-yn{ display:inline-flex; align-items:center; gap:5px; font-weight:700; }
    .od-yn.yes{ color:#16a34a; } .od-yn.no{ color:var(--muted); }

    /* Оплата */
    .od-pay-docs{ display:flex; flex-direction:column; gap:8px; margin-bottom:14px; }
    .od-doc-link{ display:inline-flex; align-items:center; gap:8px; font-size:13.5px; font-weight:600; color:var(--teal); }
    .od-doc-link:hover{ text-decoration:underline; }
    .od-doc-link svg{ width:15px; height:15px; flex:0 0 auto; }
    .od-pay-method{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 14px; background:var(--strip); border-radius:10px; margin-bottom:14px; }
    .od-pay-method-name{ font-size:13.5px; font-weight:700; color:var(--ink); }
    .od-pay-status{ display:inline-flex; align-items:center; height:24px; padding:0 10px; border-radius:999px; font-size:12px; font-weight:700; }
    .od-pay-status.unpaid{ background:#fdecea; color:#c0392b; }
    .od-pay-status.paid{ background:#f0fdf4; color:#16a34a; }
    .od-pay-sum{ font-size:13.5px; color:var(--text); margin-bottom:14px; }
    .od-pay-sum b{ font-family:"JetBrains Mono",monospace; color:var(--ink); }
    .od-dl-btn{ display:inline-flex; align-items:center; gap:8px; height:40px; padding:0 18px; border-radius:9px; border:1.5px solid var(--teal); color:var(--teal); background:#fff; font-size:13px; font-weight:700; transition:background var(--dur-fast), color var(--dur-fast); }
    .od-dl-btn:hover{ background:var(--teal); color:#fff; }
    .od-dl-btn svg{ width:14px; height:14px; }
    .od-pay-actions{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
    .od-pay-confirm{ display:inline-flex; align-items:center; gap:8px; height:40px; padding:0 18px; border-radius:9px; border:1.5px solid #ea580c; background:#ea580c; color:#fff; font-size:13px; font-weight:700; transition:background var(--dur-fast), border-color var(--dur-fast); }
    .od-pay-confirm:hover{ background:#c2410c; border-color:#c2410c; }
    .od-pay-confirm svg{ width:14px; height:14px; }
.ord-empty[hidden]{ display:none; }

/* ===== служебные страницы pm_clean: помощь / контакты / сотрудники / профиль ===== */
.pm-page-head{ margin-bottom:22px; }
.pm-page-head h1{ margin:0 0 6px; font-size:26px; font-weight:800; letter-spacing:-.015em; color:var(--ink); }
.pm-page-head p{ margin:0; font-size:14.5px; color:var(--muted); line-height:1.55; max-width:640px; }

/* контент-типографика (инструкции, статичные тексты) */
.pm-static{ background:#fff; border:1.5px solid #e5e7eb; border-radius:16px; padding:26px 30px; box-shadow:0 1px 6px rgba(0,0,0,.04); font-size:14.5px; line-height:1.65; color:var(--text); min-width:0; }
.pm-static h2{ margin:0 0 14px; font-size:19px; font-weight:800; color:var(--ink); }
.pm-static h3{ margin:22px 0 10px; font-size:15.5px; font-weight:800; color:var(--ink); }
.pm-static p{ margin:0 0 12px; }
.pm-static a{ color:var(--teal); font-weight:600; }
.pm-static a:hover{ text-decoration:underline; }
.pm-static img{ max-width:100%; height:auto; border-radius:12px; border:1px solid var(--line); margin:10px 0; }
.pm-static ul, .pm-static ol{ margin:0 0 12px; padding-left:22px; }
.pm-static li{ margin-bottom:6px; }
.pm-static table{ width:100%; border-collapse:collapse; margin:12px 0; }
.pm-static td, .pm-static th{ border:1px solid var(--line); padding:8px 12px; font-size:13.5px; }

/* помощь: карточки-хабы */
.hlp-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(280px,1fr)); gap:16px; }
.hlp-card{ background:#fff; border:1.5px solid #e5e7eb; border-radius:16px; padding:22px 24px; box-shadow:0 1px 6px rgba(0,0,0,.04); }
.hlp-card-ic{ display:grid; place-items:center; width:44px; height:44px; border-radius:12px; background:linear-gradient(135deg,#e0f2fe,#f0fdfa); color:var(--teal); margin-bottom:14px; }
.hlp-card-ic svg{ width:22px; height:22px; }
.hlp-card h2{ margin:0 0 6px; font-size:16px; font-weight:800; color:var(--ink); }
.hlp-card p{ margin:0 0 12px; font-size:13.5px; color:var(--muted); line-height:1.5; }
.hlp-links{ display:flex; flex-direction:column; gap:8px; }
.hlp-links a{ font-size:13.5px; font-weight:600; color:var(--teal); }
.hlp-links a:hover{ text-decoration:underline; }

/* инструкции: сайдбар + текст */
.hc-layout{ display:grid; grid-template-columns:260px minmax(0,1fr); gap:24px; align-items:start; }
@media(max-width:860px){ .hc-layout{ grid-template-columns:1fr; } }

/* контакты */
.ct-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(300px,1fr)); gap:16px; }
.ct-card{ background:#fff; border:1.5px solid #e5e7eb; border-radius:16px; padding:20px 22px; box-shadow:0 1px 6px rgba(0,0,0,.04); }
.ct-card.head{ border-color:var(--teal); box-shadow:0 0 0 1px var(--teal), 0 1px 6px rgba(0,0,0,.04); }
.ct-city{ font-size:16px; font-weight:800; color:var(--ink); margin-bottom:2px; }
.ct-name{ font-size:12.5px; color:var(--muted); margin-bottom:12px; }
.ct-row{ display:flex; align-items:flex-start; gap:9px; font-size:13.5px; color:var(--text); margin-bottom:8px; line-height:1.45; }
.ct-row svg{ width:15px; height:15px; color:var(--teal); flex:0 0 auto; margin-top:2px; }
.ct-row a{ color:var(--ink); font-weight:600; }
.ct-row a:hover{ color:var(--teal); }
.ct-zone{ margin-top:10px; padding-top:10px; border-top:1px solid #f3f4f6; font-size:12.5px; color:var(--muted); line-height:1.5; }
.ct-note{ margin-top:20px; padding:14px 18px; background:var(--strip); border-radius:12px; font-size:13.5px; color:var(--text); line-height:1.55; }
.ct-note a{ color:var(--teal); font-weight:600; }

/* сотрудники */
.st-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(240px,1fr)); gap:16px; }
.st-card{ background:#fff; border:1.5px solid #e5e7eb; border-radius:16px; overflow:hidden; box-shadow:0 1px 6px rgba(0,0,0,.04); }
.st-photo{ aspect-ratio:1/1; background:var(--strip); display:grid; place-items:center; overflow:hidden; }
.st-photo img{ width:100%; height:100%; object-fit:cover; }
.st-photo-ph{ font-size:52px; font-weight:800; color:var(--line-strong); }
.st-body{ padding:16px 18px 18px; }
.st-name{ font-size:15px; font-weight:800; color:var(--ink); }
.st-pos{ font-size:12.5px; color:var(--muted); margin:2px 0 10px; }
.st-contact{ display:flex; align-items:center; gap:8px; font-size:13px; font-weight:600; color:var(--text); margin-bottom:6px; }
.st-contact svg{ width:14px; height:14px; color:var(--teal); flex:0 0 auto; }
.st-contact:hover{ color:var(--teal); }

/* профиль */
.pf-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(340px,1fr)); gap:16px; align-items:start; }
.pf-actions{ display:flex; gap:10px; flex-wrap:wrap; margin-top:16px; }
.pf-mgr{ display:flex; align-items:flex-start; gap:16px; }
.pf-mgr-photo{ width:72px; height:72px; border-radius:16px; object-fit:cover; border:1px solid var(--line); flex:0 0 auto; }
.pf-mgr-ava{ display:grid; place-items:center; width:72px; height:72px; border-radius:16px; background:linear-gradient(135deg,#e0f2fe,#f0fdfa); color:var(--teal); font-size:22px; font-weight:800; flex:0 0 auto; }

/* ===== дилерские топ-виджеты (главная) ===== */
.tw-section{ margin:26px 0 6px; }
.tw-head{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:16px; }
.tw-head h2{ margin:0; font-size:21px; font-weight:800; letter-spacing:-.015em; color:var(--ink); }
.tw-tabs{ display:flex; gap:6px; flex-wrap:wrap; }
.tw-tab{ height:38px; padding:0 16px; border-radius:999px; border:1.5px solid var(--line-strong); background:#fff; font-family:inherit; font-size:13.5px; font-weight:700; color:var(--text); cursor:pointer; transition:background .15s, color .15s, border-color .15s; }
.tw-tab:hover{ border-color:var(--teal); color:var(--teal); }
.tw-tab.active{ background:var(--teal); border-color:var(--teal); color:#fff; }
.tw-panel{ display:none; }
.tw-panel.active{ display:block; }
.tw-grid{ grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); }
.tw-badge{ position:absolute; top:10px; left:10px; z-index:2; display:inline-flex; align-items:center; height:24px; padding:0 10px; border-radius:999px; background:#fff7ed; border:1px solid #fed7aa; color:#b45309; font-family:"JetBrains Mono",monospace; font-size:11px; font-weight:700; white-space:nowrap; }
.p-img{ position:relative; }
.db-empty[hidden]{ display:none; }

/* ===== финусловия ===== */
.fin-tbl{ width:100%; border-collapse:collapse; }
.fin-tbl th{ text-align:left; font-size:11px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--muted); padding:0 12px 10px 0; border-bottom:1px solid var(--line); }
.fin-tbl th.num, .fin-tbl td.num{ text-align:right; }
.fin-tbl td{ padding:9px 12px 9px 0; border-bottom:1px solid #f3f4f6; font-size:13.5px; color:var(--text); }
.fin-tbl tr:last-child td{ border-bottom:0; }
.fin-pct{ display:inline-flex; align-items:center; height:24px; padding:0 10px; border-radius:999px; background:#f0fdfa; color:var(--teal); font-family:"JetBrains Mono",monospace; font-size:12.5px; font-weight:700; }

/* ===== карточка: компактная галерея + характеристики 2 колонки ===== */
.p-gallery-main{ max-width:440px; max-height:440px; }
.p-gallery-main img{ max-height:392px; object-fit:contain; }
.p-thumbs{ max-height:440px; }
.spec-cols{ display:grid; grid-template-columns:1fr 1fr; gap:0 48px; align-items:start; }
@media(max-width:760px){ .spec-cols{ grid-template-columns:1fr; } }
.spec-cols .spec-table{ max-width:none; }

/* ===== ЛК-зона на главной ===== */
.pm-lk-zone{ min-width:0; }
.pm-lk-zone .crumbs{ display:none; }
.pm-lk-zone .pm-page-head h1, .pm-lk-zone .ord-head h1{ font-size:21px; }
.pm-lk-back{ display:inline-flex; align-items:center; gap:6px; height:34px; padding:0 14px; margin-bottom:14px; border-radius:9px; border:1.5px solid var(--line-strong); background:#fff; font-family:inherit; font-size:13px; font-weight:700; color:var(--text); cursor:pointer; transition:border-color .15s, color .15s; }
.pm-lk-back:hover{ border-color:var(--teal); color:var(--teal); }
.pm-lk-loading{ padding:40px; text-align:center; color:var(--muted); font-size:14px; }
.db-cab-item.active{ background:#f0fdfa; color:var(--teal); }

/* ===== сопутствующие: под-табы групп + «смотреть все»; документы: тип + имя файла ===== */
.rel-subtabs{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:14px; }
.rel-subtab{ display:inline-flex; align-items:center; gap:7px; height:34px; padding:0 14px; border-radius:9px; border:0; background:#f4f6f8; font-family:inherit; font-size:12.5px; font-weight:700; color:var(--text); cursor:pointer; transition:background .15s, color .15s; }
.rel-subtab .cnt{ font-family:"JetBrains Mono",monospace; font-size:11px; font-weight:600; color:var(--muted); }
.rel-subtab:hover{ background:#e8ebee; color:var(--teal); }
.rel-subtab.active{ background:var(--teal); color:#fff; }
.rel-subtab.active .cnt{ color:rgba(255,255,255,.75); }
.rel-all{ margin-left:auto; font-size:13px; font-weight:700; color:var(--teal); white-space:nowrap; }
.rel-all:hover{ text-decoration:underline; }
.rel-group{ display:flex; flex-direction:column; margin-bottom:18px; }
.rel-group:last-child{ margin-bottom:0; }
.rel-group.active{ display:flex; }
.rel-art{ font-family:"JetBrains Mono",monospace; font-size:11px; color:var(--muted); }
.rel-add{ display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:8px; background:#fff; color:var(--teal); border:1.5px solid #cdeef0; transition:background .15s, color .15s; flex:0 0 auto; }
.rel-add:hover{ background:var(--teal); border-color:var(--teal); color:#fff; }
.rel-add svg{ width:14px; height:14px; }
.doc-file{ display:block; font-size:11.5px; font-weight:400; color:var(--muted); margin-top:1px; }
.doc-file{ display:block; font-size:11.5px; font-weight:400; color:var(--muted); margin-top:1px; }
.rel-prices{ display:flex; flex-direction:column; gap:2px; }
.rel-rrc{ font-size:11px; color:var(--muted); text-decoration:line-through; text-decoration-color:var(--line-strong); }
.rel-disc{ display:inline-flex; align-self:flex-start; align-items:center; height:20px; padding:0 7px; border-radius:6px; background:#fef3c7; color:#92400e; font-family:"JetBrains Mono",monospace; font-size:10.5px; font-weight:700; }

/* ===== отложить (избранное) на карточке ===== */
.p-fav-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; width:100%; height:44px; margin-top:8px; border-radius:11px; border:1.5px solid var(--line-strong); background:#fff; font-family:inherit; font-size:13.5px; font-weight:700; color:var(--text); cursor:pointer; transition:border-color .15s, color .15s; }
.p-fav-btn:hover{ border-color:var(--teal); color:var(--teal); }
.p-fav-btn.is-fav{ border-color:#DE5A1F; background:#FFF3EC; color:#DE5A1F; }
.p-fav-btn.is-fav svg path{ fill:currentColor; }
.p-fav-btn svg{ width:16px; height:16px; }

/* ===== страница входа ===== */
.lg-wrap{ display:flex; justify-content:center; padding:40px 0 60px; }
.lg-card{ width:100%; max-width:440px; background:#fff; border:1.5px solid var(--line); border-radius:16px; padding:36px 32px; text-align:center; box-shadow:0 1px 6px rgba(0,0,0,.04); }
.lg-ic{ display:grid; place-items:center; width:64px; height:64px; margin:0 auto 14px; border-radius:18px; background:linear-gradient(135deg,#e0f2fe,#f0fdfa); color:var(--teal); }
.lg-ic svg{ width:28px; height:28px; }
.lg-card h1{ margin:0 0 6px; font-size:21px; font-weight:800; color:var(--ink); }
.lg-sub{ margin:0 0 20px; font-size:13.5px; color:var(--muted); line-height:1.55; }
.lg-error{ margin-bottom:14px; padding:10px 14px; border-radius:10px; background:#fdecea; color:#7f1d1d; font-size:13px; line-height:1.45; text-align:left; }
.lg-form{ display:flex; flex-direction:column; gap:14px; text-align:left; }
.lg-remember{ display:flex; align-items:center; gap:9px; font-size:13px; color:var(--text); cursor:pointer; }
.lg-remember input{ width:16px; height:16px; accent-color:var(--teal); }
.lg-submit{ height:48px; border:0; border-radius:11px; background:var(--teal); color:#fff; font-family:inherit; font-size:15px; font-weight:700; cursor:pointer; transition:background .15s; }
.lg-submit:hover{ background:var(--teal-dark); }
.lg-links{ margin-top:16px; font-size:13px; color:var(--muted); }
.lg-links a{ color:var(--teal); font-weight:600; }
.lg-links a:hover{ text-decoration:underline; }
.lg-links .sep{ margin:0 8px; }

/* ===== «Мои заказы» — акцентная кнопка шапки (основной сценарий дилера) ===== */
.na-link.na-orders{ background:#f97316; color:#fff !important; border-radius:11px; padding:0 16px; height:44px; font-weight:800; box-shadow:0 2px 10px rgba(249,115,22,.35); }
.na-link.na-orders svg{ color:#fff; }
.na-link.na-orders:hover{ background:#ea580c; color:#fff !important; }
.na-link.na-orders span{ display:inline !important; }

/* ===== менеджеры по продажам (страница контактов) ===== */
.mg-head-office{ background:#fff; border:1.5px solid var(--teal); border-radius:16px; padding:18px 22px; margin-bottom:18px; box-shadow:0 0 0 1px var(--teal), 0 1px 6px rgba(0,0,0,.04); }
.mg-ho-title{ font-size:15.5px; font-weight:800; color:var(--ink); margin-bottom:10px; }
.mg-ho-row{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; font-size:13.5px; color:var(--text); }
.mg-ho-row a, .mg-ho-row span{ display:inline-flex; align-items:center; gap:7px; color:var(--ink); font-weight:600; }
.mg-ho-row svg{ width:15px; height:15px; color:var(--teal); flex:0 0 auto; }
.mg-ho-row a:hover{ color:var(--teal); }
.mg-list{ display:flex; flex-direction:column; gap:10px; }
.mg-row{ display:grid; grid-template-columns:64px minmax(220px,0.8fr) minmax(0,1.4fr); gap:18px; align-items:center; background:#fff; border:1.5px solid #e5e7eb; border-radius:14px; padding:14px 18px; box-shadow:0 1px 6px rgba(0,0,0,.04); }
@media(max-width:760px){ .mg-row{ grid-template-columns:52px 1fr; } .mg-zones{ grid-column:1 / -1; } }
.mg-photo{ width:64px; height:64px; border-radius:14px; overflow:hidden; background:var(--strip); display:grid; place-items:center; }
.mg-photo img{ width:100%; height:100%; object-fit:cover; }
.mg-photo-ph{ font-size:24px; font-weight:800; color:var(--line-strong); }
.mg-name{ font-size:15px; font-weight:800; color:var(--ink); }
.mg-pos{ font-size:12.5px; color:var(--muted); margin:2px 0 8px; }
.mg-contacts{ display:flex; gap:16px; flex-wrap:wrap; }
.mg-contacts a{ display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:600; color:var(--text); }
.mg-contacts a:hover{ color:var(--teal); }
.mg-contacts svg{ width:14px; height:14px; color:var(--teal); }
.mg-zones-lbl{ font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--muted); margin-bottom:7px; }
.mg-zones-tags{ display:flex; gap:6px; flex-wrap:wrap; }
.mg-zone{ display:inline-flex; align-items:center; padding:3px 10px; border-radius:999px; background:var(--strip); font-size:12px; font-weight:600; color:var(--text); line-height:1.4; }
.p-buy-guest-join{ display:block; margin-top:10px; font-size:12.5px; font-weight:600; color:var(--teal); text-align:center; } .p-buy-guest-join:hover{ text-decoration:underline; } .pf-field2.error .pf-err{ display:block; } .pf-field2.error .pf-input2{ border-color:#c0392b; }

/* ===== блог «Полезные материалы» ===== */
.bl-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(300px,1fr)); gap:16px; }
.bl-card{ display:flex; flex-direction:column; background:#fff; border:1.5px solid #e5e7eb; border-radius:16px; overflow:hidden; box-shadow:0 1px 6px rgba(0,0,0,.04); transition:border-color .15s, transform .15s; }
.bl-card:hover{ border-color:#cdeef0; transform:translateY(-2px); }
.bl-card-img{ aspect-ratio:16/10; background:var(--strip); }
.bl-card-img img{ width:100%; height:100%; object-fit:cover; }
.bl-card-body{ padding:16px 18px 18px; }
.bl-card-date{ font-size:12px; color:var(--muted); margin-bottom:6px; }
.bl-card-title{ font-size:15px; font-weight:800; color:var(--ink); line-height:1.35; }
.bl-card-text{ margin-top:8px; font-size:13px; color:var(--muted); line-height:1.5; }
.bl-meta{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.bl-tag{ display:inline-flex; align-items:center; padding:2px 10px; border-radius:999px; background:var(--strip); font-size:12px; font-weight:600; color:var(--text); }
.bl-hero{ width:100%; max-height:420px; object-fit:cover; border-radius:16px; border:1px solid var(--line); margin-bottom:18px; }
.bl-content img{ border-radius:12px; }
.bl-content iframe{ max-width:100%; border-radius:12px; }
.bl-products h2, .bl-also h2{ margin:28px 0 14px; font-size:18px; font-weight:800; color:var(--ink); }
.cat-avail{ display:inline-flex; align-items:center; gap:8px; font-size:13.5px; font-weight:600; color:var(--text); cursor:pointer; white-space:nowrap; } .cat-avail input[type=checkbox]{ width:17px; height:17px; accent-color:var(--teal); cursor:pointer; }
.db-promo-top{ height:100%; }

/* PM_WELCOME_MODAL_V1 */
.pm-welcome{ position:fixed; inset:0; z-index:1000; display:flex; align-items:center; justify-content:center; padding:24px; background:rgba(15,23,42,.55); backdrop-filter:blur(0px); animation:pmWelcomeFade 420ms ease-out both; }
.pm-welcome[hidden]{ display:none; }
@keyframes pmWelcomeFade{ from{ opacity:0; backdrop-filter:blur(0px); } to{ opacity:1; backdrop-filter:blur(3px); } }
.pm-welcome-card{ position:relative; width:100%; max-width:1317px; max-height:92vh; overflow-y:auto; overflow-x:hidden; border-radius:20px; box-shadow:0 24px 60px -12px rgba(15,23,42,.35); animation:pmWelcomePop 480ms cubic-bezier(.16,1,.3,1) both; background-image: linear-gradient(100deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.97) 42%, rgba(255,255,255,.55) 58%, rgba(255,255,255,0) 72%), url('/upload/pm_welcome/hero.jpg'); background-size: cover; background-position: center; background-repeat: no-repeat; min-height: 598px; }
@keyframes pmWelcomePop{ from{ opacity:0; transform:scale(.9) translateY(18px); filter:blur(6px); } 60%{ filter:blur(0); } to{ opacity:1; transform:scale(1) translateY(0); filter:blur(0); } }
.pm-welcome-content > *{ opacity:0; animation:pmWelcomeItem 420ms cubic-bezier(.16,1,.3,1) both; }
.pm-welcome-content .pm-welcome-brands{ animation-delay:120ms; }
.pm-welcome-content h2{ animation-delay:170ms; }
.pm-welcome-content .pm-welcome-lead{ animation-delay:220ms; }
.pm-welcome-content .pm-welcome-list li:nth-child(1){ opacity:0; animation:pmWelcomeItem 420ms cubic-bezier(.16,1,.3,1) 270ms both; }
.pm-welcome-content .pm-welcome-list li:nth-child(2){ opacity:0; animation:pmWelcomeItem 420ms cubic-bezier(.16,1,.3,1) 320ms both; }
.pm-welcome-content .pm-welcome-list li:nth-child(3){ opacity:0; animation:pmWelcomeItem 420ms cubic-bezier(.16,1,.3,1) 370ms both; }
.pm-welcome-content .pm-welcome-list li:nth-child(4){ opacity:0; animation:pmWelcomeItem 420ms cubic-bezier(.16,1,.3,1) 420ms both; }
.pm-welcome-content .pm-welcome-cta{ animation-delay:480ms; }
@keyframes pmWelcomeItem{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:translateY(0); } }
.pm-welcome-close{ opacity:0; animation:pmWelcomeItem 400ms ease-out 260ms both; }

/* Сканирующий световой луч — технологичный акцент при открытии */
.pm-welcome-sweep{ position:absolute; inset:0; z-index:3; pointer-events:none; overflow:hidden; border-radius:20px; }
.pm-welcome-sweep::before{ content:''; position:absolute; top:-20%; left:-30%; width:36%; height:140%; background:linear-gradient(100deg, rgba(94,234,212,0) 0%, rgba(94,234,212,.55) 45%, rgba(255,255,255,.85) 50%, rgba(94,234,212,.55) 55%, rgba(94,234,212,0) 100%); transform:translateX(-120%) skewX(-14deg); animation:pmWelcomeSweep 2000ms cubic-bezier(.16,1,.3,1) 480ms both; mix-blend-mode:screen; }
@keyframes pmWelcomeSweep{ from{ transform:translateX(-120%) skewX(-14deg); } to{ transform:translateX(420%) skewX(-14deg); } }

/* Конфетти-разлёт из центра во все стороны при открытии — золото и серебро, с мерцанием */
.pm-welcome-confetti{ position:absolute; inset:0; z-index:3; pointer-events:none; overflow:hidden; border-radius:20px; }
.pm-welcome-confetti i{ position:absolute; top:50%; left:50%; width:3px; height:5px; border-radius:1px; opacity:0; box-shadow:0 0 3px .5px currentColor; color:inherit; animation:pmWelcomeConfettiBurst 2600ms cubic-bezier(.16,.84,.44,1) both; }
.pm-welcome-confetti i:nth-child(1){ --tx:250px; --ty:0px; --rot:200deg; background:#FFD700; color:#FFD700; animation-delay:460ms; }
.pm-welcome-confetti i:nth-child(2){ --tx:292px; --ty:16px; --rot:237deg; background:#F4C430; color:#F4C430; animation-delay:471ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(3){ --tx:332px; --ty:37px; --rot:274deg; background:#D4AF37; color:#D4AF37; animation-delay:482ms; }
.pm-welcome-confetti i:nth-child(4){ --tx:371px; --ty:62px; --rot:311deg; background:#FFE58A; color:#FFE58A; animation-delay:493ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(5){ --tx:408px; --ty:91px; --rot:348deg; background:#E8E8E8; color:#E8E8E8; animation-delay:504ms; }
.pm-welcome-confetti i:nth-child(6){ --tx:249px; --ty:19px; --rot:385deg; background:#C0C0C0; color:#C0C0C0; animation-delay:515ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(7){ --tx:290px; --ty:38px; --rot:422deg; background:#B8B8B8; color:#B8B8B8; animation-delay:526ms; }
.pm-welcome-confetti i:nth-child(8){ --tx:328px; --ty:61px; --rot:459deg; background:#F5F5F5; color:#F5F5F5; animation-delay:537ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(9){ --tx:365px; --ty:89px; --rot:496deg; background:#FFCF40; color:#FFCF40; animation-delay:548ms; }
.pm-welcome-confetti i:nth-child(10){ --tx:400px; --ty:122px; --rot:533deg; background:#DADADA; color:#DADADA; animation-delay:559ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(11){ --tx:247px; --ty:37px; --rot:570deg; background:#FFD700; color:#FFD700; animation-delay:570ms; }
.pm-welcome-confetti i:nth-child(12){ --tx:286px; --ty:59px; --rot:207deg; background:#F4C430; color:#F4C430; animation-delay:581ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(13){ --tx:323px; --ty:86px; --rot:244deg; background:#D4AF37; color:#D4AF37; animation-delay:592ms; }
.pm-welcome-confetti i:nth-child(14){ --tx:358px; --ty:116px; --rot:281deg; background:#FFE58A; color:#FFE58A; animation-delay:603ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(15){ --tx:390px; --ty:151px; --rot:318deg; background:#E8E8E8; color:#E8E8E8; animation-delay:614ms; }
.pm-welcome-confetti i:nth-child(16){ --tx:244px; --ty:56px; --rot:355deg; background:#C0C0C0; color:#C0C0C0; animation-delay:625ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(17){ --tx:281px; --ty:81px; --rot:392deg; background:#B8B8B8; color:#B8B8B8; animation-delay:636ms; }
.pm-welcome-confetti i:nth-child(18){ --tx:315px; --ty:110px; --rot:429deg; background:#F5F5F5; color:#F5F5F5; animation-delay:647ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(19){ --tx:348px; --ty:143px; --rot:466deg; background:#FFCF40; color:#FFCF40; animation-delay:658ms; }
.pm-welcome-confetti i:nth-child(20){ --tx:377px; --ty:180px; --rot:503deg; background:#DADADA; color:#DADADA; animation-delay:669ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(21){ --tx:239px; --ty:74px; --rot:540deg; background:#FFD700; color:#FFD700; animation-delay:680ms; }
.pm-welcome-confetti i:nth-child(22){ --tx:274px; --ty:101px; --rot:577deg; background:#F4C430; color:#F4C430; animation-delay:691ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(23){ --tx:306px; --ty:133px; --rot:214deg; background:#D4AF37; color:#D4AF37; animation-delay:702ms; }
.pm-welcome-confetti i:nth-child(24){ --tx:336px; --ty:168px; --rot:251deg; background:#FFE58A; color:#FFE58A; animation-delay:713ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(25){ --tx:363px; --ty:208px; --rot:288deg; background:#E8E8E8; color:#E8E8E8; animation-delay:724ms; }
.pm-welcome-confetti i:nth-child(26){ --tx:233px; --ty:91px; --rot:325deg; background:#C0C0C0; color:#C0C0C0; animation-delay:735ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(27){ --tx:266px; --ty:121px; --rot:362deg; background:#B8B8B8; color:#B8B8B8; animation-delay:746ms; }
.pm-welcome-confetti i:nth-child(28){ --tx:296px; --ty:155px; --rot:399deg; background:#F5F5F5; color:#F5F5F5; animation-delay:757ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(29){ --tx:323px; --ty:193px; --rot:436deg; background:#FFCF40; color:#FFCF40; animation-delay:768ms; }
.pm-welcome-confetti i:nth-child(30){ --tx:346px; --ty:234px; --rot:473deg; background:#DADADA; color:#DADADA; animation-delay:779ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(31){ --tx:225px; --ty:108px; --rot:510deg; background:#FFD700; color:#FFD700; animation-delay:790ms; }
.pm-welcome-confetti i:nth-child(32){ --tx:256px; --ty:141px; --rot:547deg; background:#F4C430; color:#F4C430; animation-delay:801ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(33){ --tx:283px; --ty:177px; --rot:584deg; background:#D4AF37; color:#D4AF37; animation-delay:812ms; }
.pm-welcome-confetti i:nth-child(34){ --tx:307px; --ty:217px; --rot:221deg; background:#FFE58A; color:#FFE58A; animation-delay:823ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(35){ --tx:328px; --ty:259px; --rot:258deg; background:#E8E8E8; color:#E8E8E8; animation-delay:834ms; }
.pm-welcome-confetti i:nth-child(36){ --tx:217px; --ty:125px; --rot:295deg; background:#C0C0C0; color:#C0C0C0; animation-delay:845ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(37){ --tx:244px; --ty:160px; --rot:332deg; background:#B8B8B8; color:#B8B8B8; animation-delay:856ms; }
.pm-welcome-confetti i:nth-child(38){ --tx:269px; --ty:198px; --rot:369deg; background:#F5F5F5; color:#F5F5F5; animation-delay:867ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(39){ --tx:290px; --ty:239px; --rot:406deg; background:#FFCF40; color:#FFCF40; animation-delay:878ms; }
.pm-welcome-confetti i:nth-child(40){ --tx:308px; --ty:283px; --rot:443deg; background:#DADADA; color:#DADADA; animation-delay:889ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(41){ --tx:207px; --ty:141px; --rot:480deg; background:#FFD700; color:#FFD700; animation-delay:900ms; }
.pm-welcome-confetti i:nth-child(42){ --tx:232px; --ty:178px; --rot:517deg; background:#F4C430; color:#F4C430; animation-delay:911ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(43){ --tx:254px; --ty:217px; --rot:554deg; background:#D4AF37; color:#D4AF37; animation-delay:922ms; }
.pm-welcome-confetti i:nth-child(44){ --tx:272px; --ty:260px; --rot:591deg; background:#FFE58A; color:#FFE58A; animation-delay:933ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(45){ --tx:286px; --ty:305px; --rot:228deg; background:#E8E8E8; color:#E8E8E8; animation-delay:944ms; }
.pm-welcome-confetti i:nth-child(46){ --tx:195px; --ty:156px; --rot:265deg; background:#C0C0C0; color:#C0C0C0; animation-delay:955ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(47){ --tx:218px; --ty:194px; --rot:302deg; background:#B8B8B8; color:#B8B8B8; animation-delay:966ms; }
.pm-welcome-confetti i:nth-child(48){ --tx:237px; --ty:236px; --rot:339deg; background:#F5F5F5; color:#F5F5F5; animation-delay:977ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(49){ --tx:251px; --ty:280px; --rot:376deg; background:#FFCF40; color:#FFCF40; animation-delay:988ms; }
.pm-welcome-confetti i:nth-child(50){ --tx:262px; --ty:326px; --rot:413deg; background:#DADADA; color:#DADADA; animation-delay:999ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(51){ --tx:183px; --ty:170px; --rot:450deg; background:#FFD700; color:#FFD700; animation-delay:1010ms; }
.pm-welcome-confetti i:nth-child(52){ --tx:203px; --ty:210px; --rot:487deg; background:#F4C430; color:#F4C430; animation-delay:1021ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(53){ --tx:218px; --ty:253px; --rot:524deg; background:#D4AF37; color:#D4AF37; animation-delay:1032ms; }
.pm-welcome-confetti i:nth-child(54){ --tx:230px; --ty:298px; --rot:561deg; background:#FFE58A; color:#FFE58A; animation-delay:1043ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(55){ --tx:237px; --ty:344px; --rot:598deg; background:#E8E8E8; color:#E8E8E8; animation-delay:1054ms; }
.pm-welcome-confetti i:nth-child(56){ --tx:170px; --ty:183px; --rot:235deg; background:#C0C0C0; color:#C0C0C0; animation-delay:1065ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(57){ --tx:187px; --ty:225px; --rot:272deg; background:#B8B8B8; color:#B8B8B8; animation-delay:1076ms; }
.pm-welcome-confetti i:nth-child(58){ --tx:199px; --ty:268px; --rot:309deg; background:#F5F5F5; color:#F5F5F5; animation-delay:1087ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(59){ --tx:207px; --ty:314px; --rot:346deg; background:#FFCF40; color:#FFCF40; animation-delay:1098ms; }
.pm-welcome-confetti i:nth-child(60){ --tx:210px; --ty:361px; --rot:383deg; background:#DADADA; color:#DADADA; animation-delay:1109ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(61){ --tx:156px; --ty:195px; --rot:420deg; background:#FFD700; color:#FFD700; animation-delay:1120ms; }
.pm-welcome-confetti i:nth-child(62){ --tx:169px; --ty:238px; --rot:457deg; background:#F4C430; color:#F4C430; animation-delay:1131ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(63){ --tx:178px; --ty:282px; --rot:494deg; background:#D4AF37; color:#D4AF37; animation-delay:1142ms; }
.pm-welcome-confetti i:nth-child(64){ --tx:183px; --ty:329px; --rot:531deg; background:#FFE58A; color:#FFE58A; animation-delay:1153ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(65){ --tx:183px; --ty:376px; --rot:568deg; background:#E8E8E8; color:#E8E8E8; animation-delay:464ms; }
.pm-welcome-confetti i:nth-child(66){ --tx:141px; --ty:207px; --rot:205deg; background:#C0C0C0; color:#C0C0C0; animation-delay:475ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(67){ --tx:151px; --ty:250px; --rot:242deg; background:#B8B8B8; color:#B8B8B8; animation-delay:486ms; }
.pm-welcome-confetti i:nth-child(68){ --tx:157px; --ty:295px; --rot:279deg; background:#F5F5F5; color:#F5F5F5; animation-delay:497ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(69){ --tx:158px; --ty:341px; --rot:316deg; background:#FFCF40; color:#FFCF40; animation-delay:508ms; }
.pm-welcome-confetti i:nth-child(70){ --tx:154px; --ty:388px; --rot:353deg; background:#DADADA; color:#DADADA; animation-delay:519ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(71){ --tx:125px; --ty:217px; --rot:390deg; background:#FFD700; color:#FFD700; animation-delay:530ms; }
.pm-welcome-confetti i:nth-child(72){ --tx:132px; --ty:261px; --rot:427deg; background:#F4C430; color:#F4C430; animation-delay:541ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(73){ --tx:134px; --ty:306px; --rot:464deg; background:#D4AF37; color:#D4AF37; animation-delay:552ms; }
.pm-welcome-confetti i:nth-child(74){ --tx:132px; --ty:352px; --rot:501deg; background:#FFE58A; color:#FFE58A; animation-delay:563ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(75){ --tx:125px; --ty:399px; --rot:538deg; background:#E8E8E8; color:#E8E8E8; animation-delay:574ms; }
.pm-welcome-confetti i:nth-child(76){ --tx:108px; --ty:225px; --rot:575deg; background:#C0C0C0; color:#C0C0C0; animation-delay:585ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(77){ --tx:112px; --ty:270px; --rot:212deg; background:#B8B8B8; color:#B8B8B8; animation-delay:596ms; }
.pm-welcome-confetti i:nth-child(78){ --tx:111px; --ty:315px; --rot:249deg; background:#F5F5F5; color:#F5F5F5; animation-delay:607ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(79){ --tx:105px; --ty:361px; --rot:286deg; background:#FFCF40; color:#FFCF40; animation-delay:618ms; }
.pm-welcome-confetti i:nth-child(80){ --tx:95px; --ty:407px; --rot:323deg; background:#DADADA; color:#DADADA; animation-delay:629ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(81){ --tx:91px; --ty:233px; --rot:360deg; background:#FFD700; color:#FFD700; animation-delay:640ms; }
.pm-welcome-confetti i:nth-child(82){ --tx:92px; --ty:277px; --rot:397deg; background:#F4C430; color:#F4C430; animation-delay:651ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(83){ --tx:87px; --ty:322px; --rot:434deg; background:#D4AF37; color:#D4AF37; animation-delay:662ms; }
.pm-welcome-confetti i:nth-child(84){ --tx:78px; --ty:368px; --rot:471deg; background:#FFE58A; color:#FFE58A; animation-delay:673ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(85){ --tx:64px; --ty:413px; --rot:508deg; background:#E8E8E8; color:#E8E8E8; animation-delay:684ms; }
.pm-welcome-confetti i:nth-child(86){ --tx:74px; --ty:239px; --rot:545deg; background:#C0C0C0; color:#C0C0C0; animation-delay:695ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(87){ --tx:71px; --ty:283px; --rot:582deg; background:#B8B8B8; color:#B8B8B8; animation-delay:706ms; }
.pm-welcome-confetti i:nth-child(88){ --tx:63px; --ty:328px; --rot:219deg; background:#F5F5F5; color:#F5F5F5; animation-delay:717ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(89){ --tx:50px; --ty:373px; --rot:256deg; background:#FFCF40; color:#FFCF40; animation-delay:728ms; }
.pm-welcome-confetti i:nth-child(90){ --tx:33px; --ty:417px; --rot:293deg; background:#DADADA; color:#DADADA; animation-delay:739ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(91){ --tx:56px; --ty:244px; --rot:330deg; background:#FFD700; color:#FFD700; animation-delay:750ms; }
.pm-welcome-confetti i:nth-child(92){ --tx:49px; --ty:288px; --rot:367deg; background:#F4C430; color:#F4C430; animation-delay:761ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(93){ --tx:38px; --ty:332px; --rot:404deg; background:#D4AF37; color:#D4AF37; animation-delay:772ms; }
.pm-welcome-confetti i:nth-child(94){ --tx:22px; --ty:375px; --rot:441deg; background:#FFE58A; color:#FFE58A; animation-delay:783ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(95){ --tx:2px; --ty:418px; --rot:478deg; background:#E8E8E8; color:#E8E8E8; animation-delay:794ms; }
.pm-welcome-confetti i:nth-child(96){ --tx:37px; --ty:247px; --rot:515deg; background:#C0C0C0; color:#C0C0C0; animation-delay:805ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(97){ --tx:28px; --ty:291px; --rot:552deg; background:#B8B8B8; color:#B8B8B8; animation-delay:816ms; }
.pm-welcome-confetti i:nth-child(98){ --tx:13px; --ty:334px; --rot:589deg; background:#F5F5F5; color:#F5F5F5; animation-delay:827ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(99){ --tx:-6px; --ty:376px; --rot:226deg; background:#FFCF40; color:#FFCF40; animation-delay:838ms; }
.pm-welcome-confetti i:nth-child(100){ --tx:-30px; --ty:417px; --rot:263deg; background:#DADADA; color:#DADADA; animation-delay:849ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(101){ --tx:19px; --ty:249px; --rot:300deg; background:#FFD700; color:#FFD700; animation-delay:860ms; }
.pm-welcome-confetti i:nth-child(102){ --tx:6px; --ty:292px; --rot:337deg; background:#F4C430; color:#F4C430; animation-delay:871ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(103){ --tx:-12px; --ty:334px; --rot:374deg; background:#D4AF37; color:#D4AF37; animation-delay:882ms; }
.pm-welcome-confetti i:nth-child(104){ --tx:-34px; --ty:374px; --rot:411deg; background:#FFE58A; color:#FFE58A; animation-delay:893ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(105){ --tx:-61px; --ty:414px; --rot:448deg; background:#E8E8E8; color:#E8E8E8; animation-delay:904ms; }
.pm-welcome-confetti i:nth-child(106){ --tx:0px; --ty:250px; --rot:485deg; background:#C0C0C0; color:#C0C0C0; animation-delay:915ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(107){ --tx:-16px; --ty:292px; --rot:522deg; background:#B8B8B8; color:#B8B8B8; animation-delay:926ms; }
.pm-welcome-confetti i:nth-child(108){ --tx:-37px; --ty:332px; --rot:559deg; background:#F5F5F5; color:#F5F5F5; animation-delay:937ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(109){ --tx:-62px; --ty:371px; --rot:596deg; background:#FFCF40; color:#FFCF40; animation-delay:948ms; }
.pm-welcome-confetti i:nth-child(110){ --tx:-91px; --ty:408px; --rot:233deg; background:#DADADA; color:#DADADA; animation-delay:959ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(111){ --tx:-19px; --ty:249px; --rot:270deg; background:#FFD700; color:#FFD700; animation-delay:970ms; }
.pm-welcome-confetti i:nth-child(112){ --tx:-38px; --ty:290px; --rot:307deg; background:#F4C430; color:#F4C430; animation-delay:981ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(113){ --tx:-61px; --ty:328px; --rot:344deg; background:#D4AF37; color:#D4AF37; animation-delay:992ms; }
.pm-welcome-confetti i:nth-child(114){ --tx:-89px; --ty:365px; --rot:381deg; background:#FFE58A; color:#FFE58A; animation-delay:1003ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(115){ --tx:-122px; --ty:400px; --rot:418deg; background:#E8E8E8; color:#E8E8E8; animation-delay:1014ms; }
.pm-welcome-confetti i:nth-child(116){ --tx:-37px; --ty:247px; --rot:455deg; background:#C0C0C0; color:#C0C0C0; animation-delay:1025ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(117){ --tx:-59px; --ty:286px; --rot:492deg; background:#B8B8B8; color:#B8B8B8; animation-delay:1036ms; }
.pm-welcome-confetti i:nth-child(118){ --tx:-86px; --ty:323px; --rot:529deg; background:#F5F5F5; color:#F5F5F5; animation-delay:1047ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(119){ --tx:-116px; --ty:358px; --rot:566deg; background:#FFCF40; color:#FFCF40; animation-delay:1058ms; }
.pm-welcome-confetti i:nth-child(120){ --tx:-151px; --ty:390px; --rot:203deg; background:#DADADA; color:#DADADA; animation-delay:1069ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(121){ --tx:-56px; --ty:244px; --rot:240deg; background:#FFD700; color:#FFD700; animation-delay:1080ms; }
.pm-welcome-confetti i:nth-child(122){ --tx:-81px; --ty:281px; --rot:277deg; background:#F4C430; color:#F4C430; animation-delay:1091ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(123){ --tx:-110px; --ty:315px; --rot:314deg; background:#D4AF37; color:#D4AF37; animation-delay:1102ms; }
.pm-welcome-confetti i:nth-child(124){ --tx:-143px; --ty:348px; --rot:351deg; background:#FFE58A; color:#FFE58A; animation-delay:1113ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(125){ --tx:-180px; --ty:377px; --rot:388deg; background:#E8E8E8; color:#E8E8E8; animation-delay:1124ms; }
.pm-welcome-confetti i:nth-child(126){ --tx:-74px; --ty:239px; --rot:425deg; background:#C0C0C0; color:#C0C0C0; animation-delay:1135ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(127){ --tx:-101px; --ty:274px; --rot:462deg; background:#B8B8B8; color:#B8B8B8; animation-delay:1146ms; }
.pm-welcome-confetti i:nth-child(128){ --tx:-133px; --ty:306px; --rot:499deg; background:#F5F5F5; color:#F5F5F5; animation-delay:1157ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(129){ --tx:-168px; --ty:336px; --rot:536deg; background:#FFCF40; color:#FFCF40; animation-delay:468ms; }
.pm-welcome-confetti i:nth-child(130){ --tx:-208px; --ty:363px; --rot:573deg; background:#DADADA; color:#DADADA; animation-delay:479ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(131){ --tx:-91px; --ty:233px; --rot:210deg; background:#FFD700; color:#FFD700; animation-delay:490ms; }
.pm-welcome-confetti i:nth-child(132){ --tx:-121px; --ty:266px; --rot:247deg; background:#F4C430; color:#F4C430; animation-delay:501ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(133){ --tx:-155px; --ty:296px; --rot:284deg; background:#D4AF37; color:#D4AF37; animation-delay:512ms; }
.pm-welcome-confetti i:nth-child(134){ --tx:-193px; --ty:323px; --rot:321deg; background:#FFE58A; color:#FFE58A; animation-delay:523ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(135){ --tx:-234px; --ty:346px; --rot:358deg; background:#E8E8E8; color:#E8E8E8; animation-delay:534ms; }
.pm-welcome-confetti i:nth-child(136){ --tx:-108px; --ty:225px; --rot:395deg; background:#C0C0C0; color:#C0C0C0; animation-delay:545ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(137){ --tx:-141px; --ty:256px; --rot:432deg; background:#B8B8B8; color:#B8B8B8; animation-delay:556ms; }
.pm-welcome-confetti i:nth-child(138){ --tx:-177px; --ty:283px; --rot:469deg; background:#F5F5F5; color:#F5F5F5; animation-delay:567ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(139){ --tx:-217px; --ty:307px; --rot:506deg; background:#FFCF40; color:#FFCF40; animation-delay:578ms; }
.pm-welcome-confetti i:nth-child(140){ --tx:-259px; --ty:328px; --rot:543deg; background:#DADADA; color:#DADADA; animation-delay:589ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(141){ --tx:-125px; --ty:217px; --rot:580deg; background:#FFD700; color:#FFD700; animation-delay:600ms; }
.pm-welcome-confetti i:nth-child(142){ --tx:-160px; --ty:244px; --rot:217deg; background:#F4C430; color:#F4C430; animation-delay:611ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(143){ --tx:-198px; --ty:269px; --rot:254deg; background:#D4AF37; color:#D4AF37; animation-delay:622ms; }
.pm-welcome-confetti i:nth-child(144){ --tx:-239px; --ty:290px; --rot:291deg; background:#FFE58A; color:#FFE58A; animation-delay:633ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(145){ --tx:-283px; --ty:308px; --rot:328deg; background:#E8E8E8; color:#E8E8E8; animation-delay:644ms; }
.pm-welcome-confetti i:nth-child(146){ --tx:-141px; --ty:207px; --rot:365deg; background:#C0C0C0; color:#C0C0C0; animation-delay:655ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(147){ --tx:-178px; --ty:232px; --rot:402deg; background:#B8B8B8; color:#B8B8B8; animation-delay:666ms; }
.pm-welcome-confetti i:nth-child(148){ --tx:-217px; --ty:254px; --rot:439deg; background:#F5F5F5; color:#F5F5F5; animation-delay:677ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(149){ --tx:-260px; --ty:272px; --rot:476deg; background:#FFCF40; color:#FFCF40; animation-delay:688ms; }
.pm-welcome-confetti i:nth-child(150){ --tx:-305px; --ty:286px; --rot:513deg; background:#DADADA; color:#DADADA; animation-delay:699ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(151){ --tx:-156px; --ty:195px; --rot:550deg; background:#FFD700; color:#FFD700; animation-delay:710ms; }
.pm-welcome-confetti i:nth-child(152){ --tx:-194px; --ty:218px; --rot:587deg; background:#F4C430; color:#F4C430; animation-delay:721ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(153){ --tx:-236px; --ty:237px; --rot:224deg; background:#D4AF37; color:#D4AF37; animation-delay:732ms; }
.pm-welcome-confetti i:nth-child(154){ --tx:-280px; --ty:251px; --rot:261deg; background:#FFE58A; color:#FFE58A; animation-delay:743ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(155){ --tx:-326px; --ty:262px; --rot:298deg; background:#E8E8E8; color:#E8E8E8; animation-delay:754ms; }
.pm-welcome-confetti i:nth-child(156){ --tx:-170px; --ty:183px; --rot:335deg; background:#C0C0C0; color:#C0C0C0; animation-delay:765ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(157){ --tx:-210px; --ty:203px; --rot:372deg; background:#B8B8B8; color:#B8B8B8; animation-delay:776ms; }
.pm-welcome-confetti i:nth-child(158){ --tx:-253px; --ty:218px; --rot:409deg; background:#F5F5F5; color:#F5F5F5; animation-delay:787ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(159){ --tx:-298px; --ty:230px; --rot:446deg; background:#FFCF40; color:#FFCF40; animation-delay:798ms; }
.pm-welcome-confetti i:nth-child(160){ --tx:-344px; --ty:237px; --rot:483deg; background:#DADADA; color:#DADADA; animation-delay:809ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(161){ --tx:-183px; --ty:170px; --rot:520deg; background:#FFD700; color:#FFD700; animation-delay:820ms; }
.pm-welcome-confetti i:nth-child(162){ --tx:-225px; --ty:187px; --rot:557deg; background:#F4C430; color:#F4C430; animation-delay:831ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(163){ --tx:-268px; --ty:199px; --rot:594deg; background:#D4AF37; color:#D4AF37; animation-delay:842ms; }
.pm-welcome-confetti i:nth-child(164){ --tx:-314px; --ty:207px; --rot:231deg; background:#FFE58A; color:#FFE58A; animation-delay:853ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(165){ --tx:-361px; --ty:210px; --rot:268deg; background:#E8E8E8; color:#E8E8E8; animation-delay:864ms; }
.pm-welcome-confetti i:nth-child(166){ --tx:-195px; --ty:156px; --rot:305deg; background:#C0C0C0; color:#C0C0C0; animation-delay:875ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(167){ --tx:-238px; --ty:169px; --rot:342deg; background:#B8B8B8; color:#B8B8B8; animation-delay:886ms; }
.pm-welcome-confetti i:nth-child(168){ --tx:-282px; --ty:178px; --rot:379deg; background:#F5F5F5; color:#F5F5F5; animation-delay:897ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(169){ --tx:-329px; --ty:183px; --rot:416deg; background:#FFCF40; color:#FFCF40; animation-delay:908ms; }
.pm-welcome-confetti i:nth-child(170){ --tx:-376px; --ty:183px; --rot:453deg; background:#DADADA; color:#DADADA; animation-delay:919ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(171){ --tx:-207px; --ty:141px; --rot:490deg; background:#FFD700; color:#FFD700; animation-delay:930ms; }
.pm-welcome-confetti i:nth-child(172){ --tx:-250px; --ty:151px; --rot:527deg; background:#F4C430; color:#F4C430; animation-delay:941ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(173){ --tx:-295px; --ty:157px; --rot:564deg; background:#D4AF37; color:#D4AF37; animation-delay:952ms; }
.pm-welcome-confetti i:nth-child(174){ --tx:-341px; --ty:158px; --rot:201deg; background:#FFE58A; color:#FFE58A; animation-delay:963ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(175){ --tx:-388px; --ty:154px; --rot:238deg; background:#E8E8E8; color:#E8E8E8; animation-delay:974ms; }
.pm-welcome-confetti i:nth-child(176){ --tx:-217px; --ty:125px; --rot:275deg; background:#C0C0C0; color:#C0C0C0; animation-delay:985ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(177){ --tx:-261px; --ty:132px; --rot:312deg; background:#B8B8B8; color:#B8B8B8; animation-delay:996ms; }
.pm-welcome-confetti i:nth-child(178){ --tx:-306px; --ty:134px; --rot:349deg; background:#F5F5F5; color:#F5F5F5; animation-delay:1007ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(179){ --tx:-352px; --ty:132px; --rot:386deg; background:#FFCF40; color:#FFCF40; animation-delay:1018ms; }
.pm-welcome-confetti i:nth-child(180){ --tx:-399px; --ty:125px; --rot:423deg; background:#DADADA; color:#DADADA; animation-delay:1029ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(181){ --tx:-225px; --ty:108px; --rot:460deg; background:#FFD700; color:#FFD700; animation-delay:1040ms; }
.pm-welcome-confetti i:nth-child(182){ --tx:-270px; --ty:112px; --rot:497deg; background:#F4C430; color:#F4C430; animation-delay:1051ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(183){ --tx:-315px; --ty:111px; --rot:534deg; background:#D4AF37; color:#D4AF37; animation-delay:1062ms; }
.pm-welcome-confetti i:nth-child(184){ --tx:-361px; --ty:105px; --rot:571deg; background:#FFE58A; color:#FFE58A; animation-delay:1073ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(185){ --tx:-407px; --ty:95px; --rot:208deg; background:#E8E8E8; color:#E8E8E8; animation-delay:1084ms; }
.pm-welcome-confetti i:nth-child(186){ --tx:-233px; --ty:91px; --rot:245deg; background:#C0C0C0; color:#C0C0C0; animation-delay:1095ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(187){ --tx:-277px; --ty:92px; --rot:282deg; background:#B8B8B8; color:#B8B8B8; animation-delay:1106ms; }
.pm-welcome-confetti i:nth-child(188){ --tx:-322px; --ty:87px; --rot:319deg; background:#F5F5F5; color:#F5F5F5; animation-delay:1117ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(189){ --tx:-368px; --ty:78px; --rot:356deg; background:#FFCF40; color:#FFCF40; animation-delay:1128ms; }
.pm-welcome-confetti i:nth-child(190){ --tx:-413px; --ty:64px; --rot:393deg; background:#DADADA; color:#DADADA; animation-delay:1139ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(191){ --tx:-239px; --ty:74px; --rot:430deg; background:#FFD700; color:#FFD700; animation-delay:1150ms; }
.pm-welcome-confetti i:nth-child(192){ --tx:-283px; --ty:71px; --rot:467deg; background:#F4C430; color:#F4C430; animation-delay:461ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(193){ --tx:-328px; --ty:63px; --rot:504deg; background:#D4AF37; color:#D4AF37; animation-delay:472ms; }
.pm-welcome-confetti i:nth-child(194){ --tx:-373px; --ty:50px; --rot:541deg; background:#FFE58A; color:#FFE58A; animation-delay:483ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(195){ --tx:-417px; --ty:33px; --rot:578deg; background:#E8E8E8; color:#E8E8E8; animation-delay:494ms; }
.pm-welcome-confetti i:nth-child(196){ --tx:-244px; --ty:56px; --rot:215deg; background:#C0C0C0; color:#C0C0C0; animation-delay:505ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(197){ --tx:-288px; --ty:49px; --rot:252deg; background:#B8B8B8; color:#B8B8B8; animation-delay:516ms; }
.pm-welcome-confetti i:nth-child(198){ --tx:-332px; --ty:38px; --rot:289deg; background:#F5F5F5; color:#F5F5F5; animation-delay:527ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(199){ --tx:-375px; --ty:22px; --rot:326deg; background:#FFCF40; color:#FFCF40; animation-delay:538ms; }
.pm-welcome-confetti i:nth-child(200){ --tx:-418px; --ty:2px; --rot:363deg; background:#DADADA; color:#DADADA; animation-delay:549ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(201){ --tx:-247px; --ty:37px; --rot:400deg; background:#FFD700; color:#FFD700; animation-delay:560ms; }
.pm-welcome-confetti i:nth-child(202){ --tx:-291px; --ty:28px; --rot:437deg; background:#F4C430; color:#F4C430; animation-delay:571ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(203){ --tx:-334px; --ty:13px; --rot:474deg; background:#D4AF37; color:#D4AF37; animation-delay:582ms; }
.pm-welcome-confetti i:nth-child(204){ --tx:-376px; --ty:-6px; --rot:511deg; background:#FFE58A; color:#FFE58A; animation-delay:593ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(205){ --tx:-417px; --ty:-30px; --rot:548deg; background:#E8E8E8; color:#E8E8E8; animation-delay:604ms; }
.pm-welcome-confetti i:nth-child(206){ --tx:-249px; --ty:19px; --rot:585deg; background:#C0C0C0; color:#C0C0C0; animation-delay:615ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(207){ --tx:-292px; --ty:6px; --rot:222deg; background:#B8B8B8; color:#B8B8B8; animation-delay:626ms; }
.pm-welcome-confetti i:nth-child(208){ --tx:-334px; --ty:-12px; --rot:259deg; background:#F5F5F5; color:#F5F5F5; animation-delay:637ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(209){ --tx:-374px; --ty:-34px; --rot:296deg; background:#FFCF40; color:#FFCF40; animation-delay:648ms; }
.pm-welcome-confetti i:nth-child(210){ --tx:-414px; --ty:-61px; --rot:333deg; background:#DADADA; color:#DADADA; animation-delay:659ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(211){ --tx:-250px; --ty:0px; --rot:370deg; background:#FFD700; color:#FFD700; animation-delay:670ms; }
.pm-welcome-confetti i:nth-child(212){ --tx:-292px; --ty:-16px; --rot:407deg; background:#F4C430; color:#F4C430; animation-delay:681ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(213){ --tx:-332px; --ty:-37px; --rot:444deg; background:#D4AF37; color:#D4AF37; animation-delay:692ms; }
.pm-welcome-confetti i:nth-child(214){ --tx:-371px; --ty:-62px; --rot:481deg; background:#FFE58A; color:#FFE58A; animation-delay:703ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(215){ --tx:-408px; --ty:-91px; --rot:518deg; background:#E8E8E8; color:#E8E8E8; animation-delay:714ms; }
.pm-welcome-confetti i:nth-child(216){ --tx:-249px; --ty:-19px; --rot:555deg; background:#C0C0C0; color:#C0C0C0; animation-delay:725ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(217){ --tx:-290px; --ty:-38px; --rot:592deg; background:#B8B8B8; color:#B8B8B8; animation-delay:736ms; }
.pm-welcome-confetti i:nth-child(218){ --tx:-328px; --ty:-61px; --rot:229deg; background:#F5F5F5; color:#F5F5F5; animation-delay:747ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(219){ --tx:-365px; --ty:-89px; --rot:266deg; background:#FFCF40; color:#FFCF40; animation-delay:758ms; }
.pm-welcome-confetti i:nth-child(220){ --tx:-400px; --ty:-122px; --rot:303deg; background:#DADADA; color:#DADADA; animation-delay:769ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(221){ --tx:-247px; --ty:-37px; --rot:340deg; background:#FFD700; color:#FFD700; animation-delay:780ms; }
.pm-welcome-confetti i:nth-child(222){ --tx:-286px; --ty:-59px; --rot:377deg; background:#F4C430; color:#F4C430; animation-delay:791ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(223){ --tx:-323px; --ty:-86px; --rot:414deg; background:#D4AF37; color:#D4AF37; animation-delay:802ms; }
.pm-welcome-confetti i:nth-child(224){ --tx:-358px; --ty:-116px; --rot:451deg; background:#FFE58A; color:#FFE58A; animation-delay:813ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(225){ --tx:-390px; --ty:-151px; --rot:488deg; background:#E8E8E8; color:#E8E8E8; animation-delay:824ms; }
.pm-welcome-confetti i:nth-child(226){ --tx:-244px; --ty:-56px; --rot:525deg; background:#C0C0C0; color:#C0C0C0; animation-delay:835ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(227){ --tx:-281px; --ty:-81px; --rot:562deg; background:#B8B8B8; color:#B8B8B8; animation-delay:846ms; }
.pm-welcome-confetti i:nth-child(228){ --tx:-315px; --ty:-110px; --rot:599deg; background:#F5F5F5; color:#F5F5F5; animation-delay:857ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(229){ --tx:-348px; --ty:-143px; --rot:236deg; background:#FFCF40; color:#FFCF40; animation-delay:868ms; }
.pm-welcome-confetti i:nth-child(230){ --tx:-377px; --ty:-180px; --rot:273deg; background:#DADADA; color:#DADADA; animation-delay:879ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(231){ --tx:-239px; --ty:-74px; --rot:310deg; background:#FFD700; color:#FFD700; animation-delay:890ms; }
.pm-welcome-confetti i:nth-child(232){ --tx:-274px; --ty:-101px; --rot:347deg; background:#F4C430; color:#F4C430; animation-delay:901ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(233){ --tx:-306px; --ty:-133px; --rot:384deg; background:#D4AF37; color:#D4AF37; animation-delay:912ms; }
.pm-welcome-confetti i:nth-child(234){ --tx:-336px; --ty:-168px; --rot:421deg; background:#FFE58A; color:#FFE58A; animation-delay:923ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(235){ --tx:-363px; --ty:-208px; --rot:458deg; background:#E8E8E8; color:#E8E8E8; animation-delay:934ms; }
.pm-welcome-confetti i:nth-child(236){ --tx:-233px; --ty:-91px; --rot:495deg; background:#C0C0C0; color:#C0C0C0; animation-delay:945ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(237){ --tx:-266px; --ty:-121px; --rot:532deg; background:#B8B8B8; color:#B8B8B8; animation-delay:956ms; }
.pm-welcome-confetti i:nth-child(238){ --tx:-296px; --ty:-155px; --rot:569deg; background:#F5F5F5; color:#F5F5F5; animation-delay:967ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(239){ --tx:-323px; --ty:-193px; --rot:206deg; background:#FFCF40; color:#FFCF40; animation-delay:978ms; }
.pm-welcome-confetti i:nth-child(240){ --tx:-346px; --ty:-234px; --rot:243deg; background:#DADADA; color:#DADADA; animation-delay:989ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(241){ --tx:-225px; --ty:-108px; --rot:280deg; background:#FFD700; color:#FFD700; animation-delay:1000ms; }
.pm-welcome-confetti i:nth-child(242){ --tx:-256px; --ty:-141px; --rot:317deg; background:#F4C430; color:#F4C430; animation-delay:1011ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(243){ --tx:-283px; --ty:-177px; --rot:354deg; background:#D4AF37; color:#D4AF37; animation-delay:1022ms; }
.pm-welcome-confetti i:nth-child(244){ --tx:-307px; --ty:-217px; --rot:391deg; background:#FFE58A; color:#FFE58A; animation-delay:1033ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(245){ --tx:-328px; --ty:-259px; --rot:428deg; background:#E8E8E8; color:#E8E8E8; animation-delay:1044ms; }
.pm-welcome-confetti i:nth-child(246){ --tx:-217px; --ty:-125px; --rot:465deg; background:#C0C0C0; color:#C0C0C0; animation-delay:1055ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(247){ --tx:-244px; --ty:-160px; --rot:502deg; background:#B8B8B8; color:#B8B8B8; animation-delay:1066ms; }
.pm-welcome-confetti i:nth-child(248){ --tx:-269px; --ty:-198px; --rot:539deg; background:#F5F5F5; color:#F5F5F5; animation-delay:1077ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(249){ --tx:-290px; --ty:-239px; --rot:576deg; background:#FFCF40; color:#FFCF40; animation-delay:1088ms; }
.pm-welcome-confetti i:nth-child(250){ --tx:-308px; --ty:-283px; --rot:213deg; background:#DADADA; color:#DADADA; animation-delay:1099ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(251){ --tx:-207px; --ty:-141px; --rot:250deg; background:#FFD700; color:#FFD700; animation-delay:1110ms; }
.pm-welcome-confetti i:nth-child(252){ --tx:-232px; --ty:-178px; --rot:287deg; background:#F4C430; color:#F4C430; animation-delay:1121ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(253){ --tx:-254px; --ty:-217px; --rot:324deg; background:#D4AF37; color:#D4AF37; animation-delay:1132ms; }
.pm-welcome-confetti i:nth-child(254){ --tx:-272px; --ty:-260px; --rot:361deg; background:#FFE58A; color:#FFE58A; animation-delay:1143ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(255){ --tx:-286px; --ty:-305px; --rot:398deg; background:#E8E8E8; color:#E8E8E8; animation-delay:1154ms; }
.pm-welcome-confetti i:nth-child(256){ --tx:-195px; --ty:-156px; --rot:435deg; background:#C0C0C0; color:#C0C0C0; animation-delay:465ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(257){ --tx:-218px; --ty:-194px; --rot:472deg; background:#B8B8B8; color:#B8B8B8; animation-delay:476ms; }
.pm-welcome-confetti i:nth-child(258){ --tx:-237px; --ty:-236px; --rot:509deg; background:#F5F5F5; color:#F5F5F5; animation-delay:487ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(259){ --tx:-251px; --ty:-280px; --rot:546deg; background:#FFCF40; color:#FFCF40; animation-delay:498ms; }
.pm-welcome-confetti i:nth-child(260){ --tx:-262px; --ty:-326px; --rot:583deg; background:#DADADA; color:#DADADA; animation-delay:509ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(261){ --tx:-183px; --ty:-170px; --rot:220deg; background:#FFD700; color:#FFD700; animation-delay:520ms; }
.pm-welcome-confetti i:nth-child(262){ --tx:-203px; --ty:-210px; --rot:257deg; background:#F4C430; color:#F4C430; animation-delay:531ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(263){ --tx:-218px; --ty:-253px; --rot:294deg; background:#D4AF37; color:#D4AF37; animation-delay:542ms; }
.pm-welcome-confetti i:nth-child(264){ --tx:-230px; --ty:-298px; --rot:331deg; background:#FFE58A; color:#FFE58A; animation-delay:553ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(265){ --tx:-237px; --ty:-344px; --rot:368deg; background:#E8E8E8; color:#E8E8E8; animation-delay:564ms; }
.pm-welcome-confetti i:nth-child(266){ --tx:-170px; --ty:-183px; --rot:405deg; background:#C0C0C0; color:#C0C0C0; animation-delay:575ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(267){ --tx:-187px; --ty:-225px; --rot:442deg; background:#B8B8B8; color:#B8B8B8; animation-delay:586ms; }
.pm-welcome-confetti i:nth-child(268){ --tx:-199px; --ty:-268px; --rot:479deg; background:#F5F5F5; color:#F5F5F5; animation-delay:597ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(269){ --tx:-207px; --ty:-314px; --rot:516deg; background:#FFCF40; color:#FFCF40; animation-delay:608ms; }
.pm-welcome-confetti i:nth-child(270){ --tx:-210px; --ty:-361px; --rot:553deg; background:#DADADA; color:#DADADA; animation-delay:619ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(271){ --tx:-156px; --ty:-195px; --rot:590deg; background:#FFD700; color:#FFD700; animation-delay:630ms; }
.pm-welcome-confetti i:nth-child(272){ --tx:-169px; --ty:-238px; --rot:227deg; background:#F4C430; color:#F4C430; animation-delay:641ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(273){ --tx:-178px; --ty:-282px; --rot:264deg; background:#D4AF37; color:#D4AF37; animation-delay:652ms; }
.pm-welcome-confetti i:nth-child(274){ --tx:-183px; --ty:-329px; --rot:301deg; background:#FFE58A; color:#FFE58A; animation-delay:663ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(275){ --tx:-183px; --ty:-376px; --rot:338deg; background:#E8E8E8; color:#E8E8E8; animation-delay:674ms; }
.pm-welcome-confetti i:nth-child(276){ --tx:-141px; --ty:-207px; --rot:375deg; background:#C0C0C0; color:#C0C0C0; animation-delay:685ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(277){ --tx:-151px; --ty:-250px; --rot:412deg; background:#B8B8B8; color:#B8B8B8; animation-delay:696ms; }
.pm-welcome-confetti i:nth-child(278){ --tx:-157px; --ty:-295px; --rot:449deg; background:#F5F5F5; color:#F5F5F5; animation-delay:707ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(279){ --tx:-158px; --ty:-341px; --rot:486deg; background:#FFCF40; color:#FFCF40; animation-delay:718ms; }
.pm-welcome-confetti i:nth-child(280){ --tx:-154px; --ty:-388px; --rot:523deg; background:#DADADA; color:#DADADA; animation-delay:729ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(281){ --tx:-125px; --ty:-217px; --rot:560deg; background:#FFD700; color:#FFD700; animation-delay:740ms; }
.pm-welcome-confetti i:nth-child(282){ --tx:-132px; --ty:-261px; --rot:597deg; background:#F4C430; color:#F4C430; animation-delay:751ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(283){ --tx:-134px; --ty:-306px; --rot:234deg; background:#D4AF37; color:#D4AF37; animation-delay:762ms; }
.pm-welcome-confetti i:nth-child(284){ --tx:-132px; --ty:-352px; --rot:271deg; background:#FFE58A; color:#FFE58A; animation-delay:773ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(285){ --tx:-125px; --ty:-399px; --rot:308deg; background:#E8E8E8; color:#E8E8E8; animation-delay:784ms; }
.pm-welcome-confetti i:nth-child(286){ --tx:-108px; --ty:-225px; --rot:345deg; background:#C0C0C0; color:#C0C0C0; animation-delay:795ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(287){ --tx:-112px; --ty:-270px; --rot:382deg; background:#B8B8B8; color:#B8B8B8; animation-delay:806ms; }
.pm-welcome-confetti i:nth-child(288){ --tx:-111px; --ty:-315px; --rot:419deg; background:#F5F5F5; color:#F5F5F5; animation-delay:817ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(289){ --tx:-105px; --ty:-361px; --rot:456deg; background:#FFCF40; color:#FFCF40; animation-delay:828ms; }
.pm-welcome-confetti i:nth-child(290){ --tx:-95px; --ty:-407px; --rot:493deg; background:#DADADA; color:#DADADA; animation-delay:839ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(291){ --tx:-91px; --ty:-233px; --rot:530deg; background:#FFD700; color:#FFD700; animation-delay:850ms; }
.pm-welcome-confetti i:nth-child(292){ --tx:-92px; --ty:-277px; --rot:567deg; background:#F4C430; color:#F4C430; animation-delay:861ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(293){ --tx:-87px; --ty:-322px; --rot:204deg; background:#D4AF37; color:#D4AF37; animation-delay:872ms; }
.pm-welcome-confetti i:nth-child(294){ --tx:-78px; --ty:-368px; --rot:241deg; background:#FFE58A; color:#FFE58A; animation-delay:883ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(295){ --tx:-64px; --ty:-413px; --rot:278deg; background:#E8E8E8; color:#E8E8E8; animation-delay:894ms; }
.pm-welcome-confetti i:nth-child(296){ --tx:-74px; --ty:-239px; --rot:315deg; background:#C0C0C0; color:#C0C0C0; animation-delay:905ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(297){ --tx:-71px; --ty:-283px; --rot:352deg; background:#B8B8B8; color:#B8B8B8; animation-delay:916ms; }
.pm-welcome-confetti i:nth-child(298){ --tx:-63px; --ty:-328px; --rot:389deg; background:#F5F5F5; color:#F5F5F5; animation-delay:927ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(299){ --tx:-50px; --ty:-373px; --rot:426deg; background:#FFCF40; color:#FFCF40; animation-delay:938ms; }
.pm-welcome-confetti i:nth-child(300){ --tx:-33px; --ty:-417px; --rot:463deg; background:#DADADA; color:#DADADA; animation-delay:949ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(301){ --tx:-56px; --ty:-244px; --rot:500deg; background:#FFD700; color:#FFD700; animation-delay:960ms; }
.pm-welcome-confetti i:nth-child(302){ --tx:-49px; --ty:-288px; --rot:537deg; background:#F4C430; color:#F4C430; animation-delay:971ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(303){ --tx:-38px; --ty:-332px; --rot:574deg; background:#D4AF37; color:#D4AF37; animation-delay:982ms; }
.pm-welcome-confetti i:nth-child(304){ --tx:-22px; --ty:-375px; --rot:211deg; background:#FFE58A; color:#FFE58A; animation-delay:993ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(305){ --tx:-2px; --ty:-418px; --rot:248deg; background:#E8E8E8; color:#E8E8E8; animation-delay:1004ms; }
.pm-welcome-confetti i:nth-child(306){ --tx:-37px; --ty:-247px; --rot:285deg; background:#C0C0C0; color:#C0C0C0; animation-delay:1015ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(307){ --tx:-28px; --ty:-291px; --rot:322deg; background:#B8B8B8; color:#B8B8B8; animation-delay:1026ms; }
.pm-welcome-confetti i:nth-child(308){ --tx:-13px; --ty:-334px; --rot:359deg; background:#F5F5F5; color:#F5F5F5; animation-delay:1037ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(309){ --tx:6px; --ty:-376px; --rot:396deg; background:#FFCF40; color:#FFCF40; animation-delay:1048ms; }
.pm-welcome-confetti i:nth-child(310){ --tx:30px; --ty:-417px; --rot:433deg; background:#DADADA; color:#DADADA; animation-delay:1059ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(311){ --tx:-19px; --ty:-249px; --rot:470deg; background:#FFD700; color:#FFD700; animation-delay:1070ms; }
.pm-welcome-confetti i:nth-child(312){ --tx:-6px; --ty:-292px; --rot:507deg; background:#F4C430; color:#F4C430; animation-delay:1081ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(313){ --tx:12px; --ty:-334px; --rot:544deg; background:#D4AF37; color:#D4AF37; animation-delay:1092ms; }
.pm-welcome-confetti i:nth-child(314){ --tx:34px; --ty:-374px; --rot:581deg; background:#FFE58A; color:#FFE58A; animation-delay:1103ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(315){ --tx:61px; --ty:-414px; --rot:218deg; background:#E8E8E8; color:#E8E8E8; animation-delay:1114ms; }
.pm-welcome-confetti i:nth-child(316){ --tx:0px; --ty:-250px; --rot:255deg; background:#C0C0C0; color:#C0C0C0; animation-delay:1125ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(317){ --tx:16px; --ty:-292px; --rot:292deg; background:#B8B8B8; color:#B8B8B8; animation-delay:1136ms; }
.pm-welcome-confetti i:nth-child(318){ --tx:37px; --ty:-332px; --rot:329deg; background:#F5F5F5; color:#F5F5F5; animation-delay:1147ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(319){ --tx:62px; --ty:-371px; --rot:366deg; background:#FFCF40; color:#FFCF40; animation-delay:1158ms; }
.pm-welcome-confetti i:nth-child(320){ --tx:91px; --ty:-408px; --rot:403deg; background:#DADADA; color:#DADADA; animation-delay:469ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(321){ --tx:19px; --ty:-249px; --rot:440deg; background:#FFD700; color:#FFD700; animation-delay:480ms; }
.pm-welcome-confetti i:nth-child(322){ --tx:38px; --ty:-290px; --rot:477deg; background:#F4C430; color:#F4C430; animation-delay:491ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(323){ --tx:61px; --ty:-328px; --rot:514deg; background:#D4AF37; color:#D4AF37; animation-delay:502ms; }
.pm-welcome-confetti i:nth-child(324){ --tx:89px; --ty:-365px; --rot:551deg; background:#FFE58A; color:#FFE58A; animation-delay:513ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(325){ --tx:122px; --ty:-400px; --rot:588deg; background:#E8E8E8; color:#E8E8E8; animation-delay:524ms; }
.pm-welcome-confetti i:nth-child(326){ --tx:37px; --ty:-247px; --rot:225deg; background:#C0C0C0; color:#C0C0C0; animation-delay:535ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(327){ --tx:59px; --ty:-286px; --rot:262deg; background:#B8B8B8; color:#B8B8B8; animation-delay:546ms; }
.pm-welcome-confetti i:nth-child(328){ --tx:86px; --ty:-323px; --rot:299deg; background:#F5F5F5; color:#F5F5F5; animation-delay:557ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(329){ --tx:116px; --ty:-358px; --rot:336deg; background:#FFCF40; color:#FFCF40; animation-delay:568ms; }
.pm-welcome-confetti i:nth-child(330){ --tx:151px; --ty:-390px; --rot:373deg; background:#DADADA; color:#DADADA; animation-delay:579ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(331){ --tx:56px; --ty:-244px; --rot:410deg; background:#FFD700; color:#FFD700; animation-delay:590ms; }
.pm-welcome-confetti i:nth-child(332){ --tx:81px; --ty:-281px; --rot:447deg; background:#F4C430; color:#F4C430; animation-delay:601ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(333){ --tx:110px; --ty:-315px; --rot:484deg; background:#D4AF37; color:#D4AF37; animation-delay:612ms; }
.pm-welcome-confetti i:nth-child(334){ --tx:143px; --ty:-348px; --rot:521deg; background:#FFE58A; color:#FFE58A; animation-delay:623ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(335){ --tx:180px; --ty:-377px; --rot:558deg; background:#E8E8E8; color:#E8E8E8; animation-delay:634ms; }
.pm-welcome-confetti i:nth-child(336){ --tx:74px; --ty:-239px; --rot:595deg; background:#C0C0C0; color:#C0C0C0; animation-delay:645ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(337){ --tx:101px; --ty:-274px; --rot:232deg; background:#B8B8B8; color:#B8B8B8; animation-delay:656ms; }
.pm-welcome-confetti i:nth-child(338){ --tx:133px; --ty:-306px; --rot:269deg; background:#F5F5F5; color:#F5F5F5; animation-delay:667ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(339){ --tx:168px; --ty:-336px; --rot:306deg; background:#FFCF40; color:#FFCF40; animation-delay:678ms; }
.pm-welcome-confetti i:nth-child(340){ --tx:208px; --ty:-363px; --rot:343deg; background:#DADADA; color:#DADADA; animation-delay:689ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(341){ --tx:91px; --ty:-233px; --rot:380deg; background:#FFD700; color:#FFD700; animation-delay:700ms; }
.pm-welcome-confetti i:nth-child(342){ --tx:121px; --ty:-266px; --rot:417deg; background:#F4C430; color:#F4C430; animation-delay:711ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(343){ --tx:155px; --ty:-296px; --rot:454deg; background:#D4AF37; color:#D4AF37; animation-delay:722ms; }
.pm-welcome-confetti i:nth-child(344){ --tx:193px; --ty:-323px; --rot:491deg; background:#FFE58A; color:#FFE58A; animation-delay:733ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(345){ --tx:234px; --ty:-346px; --rot:528deg; background:#E8E8E8; color:#E8E8E8; animation-delay:744ms; }
.pm-welcome-confetti i:nth-child(346){ --tx:108px; --ty:-225px; --rot:565deg; background:#C0C0C0; color:#C0C0C0; animation-delay:755ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(347){ --tx:141px; --ty:-256px; --rot:202deg; background:#B8B8B8; color:#B8B8B8; animation-delay:766ms; }
.pm-welcome-confetti i:nth-child(348){ --tx:177px; --ty:-283px; --rot:239deg; background:#F5F5F5; color:#F5F5F5; animation-delay:777ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(349){ --tx:217px; --ty:-307px; --rot:276deg; background:#FFCF40; color:#FFCF40; animation-delay:788ms; }
.pm-welcome-confetti i:nth-child(350){ --tx:259px; --ty:-328px; --rot:313deg; background:#DADADA; color:#DADADA; animation-delay:799ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(351){ --tx:125px; --ty:-217px; --rot:350deg; background:#FFD700; color:#FFD700; animation-delay:810ms; }
.pm-welcome-confetti i:nth-child(352){ --tx:160px; --ty:-244px; --rot:387deg; background:#F4C430; color:#F4C430; animation-delay:821ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(353){ --tx:198px; --ty:-269px; --rot:424deg; background:#D4AF37; color:#D4AF37; animation-delay:832ms; }
.pm-welcome-confetti i:nth-child(354){ --tx:239px; --ty:-290px; --rot:461deg; background:#FFE58A; color:#FFE58A; animation-delay:843ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(355){ --tx:283px; --ty:-308px; --rot:498deg; background:#E8E8E8; color:#E8E8E8; animation-delay:854ms; }
.pm-welcome-confetti i:nth-child(356){ --tx:141px; --ty:-207px; --rot:535deg; background:#C0C0C0; color:#C0C0C0; animation-delay:865ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(357){ --tx:178px; --ty:-232px; --rot:572deg; background:#B8B8B8; color:#B8B8B8; animation-delay:876ms; }
.pm-welcome-confetti i:nth-child(358){ --tx:217px; --ty:-254px; --rot:209deg; background:#F5F5F5; color:#F5F5F5; animation-delay:887ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(359){ --tx:260px; --ty:-272px; --rot:246deg; background:#FFCF40; color:#FFCF40; animation-delay:898ms; }
.pm-welcome-confetti i:nth-child(360){ --tx:305px; --ty:-286px; --rot:283deg; background:#DADADA; color:#DADADA; animation-delay:909ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(361){ --tx:156px; --ty:-195px; --rot:320deg; background:#FFD700; color:#FFD700; animation-delay:920ms; }
.pm-welcome-confetti i:nth-child(362){ --tx:194px; --ty:-218px; --rot:357deg; background:#F4C430; color:#F4C430; animation-delay:931ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(363){ --tx:236px; --ty:-237px; --rot:394deg; background:#D4AF37; color:#D4AF37; animation-delay:942ms; }
.pm-welcome-confetti i:nth-child(364){ --tx:280px; --ty:-251px; --rot:431deg; background:#FFE58A; color:#FFE58A; animation-delay:953ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(365){ --tx:326px; --ty:-262px; --rot:468deg; background:#E8E8E8; color:#E8E8E8; animation-delay:964ms; }
.pm-welcome-confetti i:nth-child(366){ --tx:170px; --ty:-183px; --rot:505deg; background:#C0C0C0; color:#C0C0C0; animation-delay:975ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(367){ --tx:210px; --ty:-203px; --rot:542deg; background:#B8B8B8; color:#B8B8B8; animation-delay:986ms; }
.pm-welcome-confetti i:nth-child(368){ --tx:253px; --ty:-218px; --rot:579deg; background:#F5F5F5; color:#F5F5F5; animation-delay:997ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(369){ --tx:298px; --ty:-230px; --rot:216deg; background:#FFCF40; color:#FFCF40; animation-delay:1008ms; }
.pm-welcome-confetti i:nth-child(370){ --tx:344px; --ty:-237px; --rot:253deg; background:#DADADA; color:#DADADA; animation-delay:1019ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(371){ --tx:183px; --ty:-170px; --rot:290deg; background:#FFD700; color:#FFD700; animation-delay:1030ms; }
.pm-welcome-confetti i:nth-child(372){ --tx:225px; --ty:-187px; --rot:327deg; background:#F4C430; color:#F4C430; animation-delay:1041ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(373){ --tx:268px; --ty:-199px; --rot:364deg; background:#D4AF37; color:#D4AF37; animation-delay:1052ms; }
.pm-welcome-confetti i:nth-child(374){ --tx:314px; --ty:-207px; --rot:401deg; background:#FFE58A; color:#FFE58A; animation-delay:1063ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(375){ --tx:361px; --ty:-210px; --rot:438deg; background:#E8E8E8; color:#E8E8E8; animation-delay:1074ms; }
.pm-welcome-confetti i:nth-child(376){ --tx:195px; --ty:-156px; --rot:475deg; background:#C0C0C0; color:#C0C0C0; animation-delay:1085ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(377){ --tx:238px; --ty:-169px; --rot:512deg; background:#B8B8B8; color:#B8B8B8; animation-delay:1096ms; }
.pm-welcome-confetti i:nth-child(378){ --tx:282px; --ty:-178px; --rot:549deg; background:#F5F5F5; color:#F5F5F5; animation-delay:1107ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(379){ --tx:329px; --ty:-183px; --rot:586deg; background:#FFCF40; color:#FFCF40; animation-delay:1118ms; }
.pm-welcome-confetti i:nth-child(380){ --tx:376px; --ty:-183px; --rot:223deg; background:#DADADA; color:#DADADA; animation-delay:1129ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(381){ --tx:207px; --ty:-141px; --rot:260deg; background:#FFD700; color:#FFD700; animation-delay:1140ms; }
.pm-welcome-confetti i:nth-child(382){ --tx:250px; --ty:-151px; --rot:297deg; background:#F4C430; color:#F4C430; animation-delay:1151ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(383){ --tx:295px; --ty:-157px; --rot:334deg; background:#D4AF37; color:#D4AF37; animation-delay:462ms; }
.pm-welcome-confetti i:nth-child(384){ --tx:341px; --ty:-158px; --rot:371deg; background:#FFE58A; color:#FFE58A; animation-delay:473ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(385){ --tx:388px; --ty:-154px; --rot:408deg; background:#E8E8E8; color:#E8E8E8; animation-delay:484ms; }
.pm-welcome-confetti i:nth-child(386){ --tx:217px; --ty:-125px; --rot:445deg; background:#C0C0C0; color:#C0C0C0; animation-delay:495ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(387){ --tx:261px; --ty:-132px; --rot:482deg; background:#B8B8B8; color:#B8B8B8; animation-delay:506ms; }
.pm-welcome-confetti i:nth-child(388){ --tx:306px; --ty:-134px; --rot:519deg; background:#F5F5F5; color:#F5F5F5; animation-delay:517ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(389){ --tx:352px; --ty:-132px; --rot:556deg; background:#FFCF40; color:#FFCF40; animation-delay:528ms; }
.pm-welcome-confetti i:nth-child(390){ --tx:399px; --ty:-125px; --rot:593deg; background:#DADADA; color:#DADADA; animation-delay:539ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(391){ --tx:225px; --ty:-108px; --rot:230deg; background:#FFD700; color:#FFD700; animation-delay:550ms; }
.pm-welcome-confetti i:nth-child(392){ --tx:270px; --ty:-112px; --rot:267deg; background:#F4C430; color:#F4C430; animation-delay:561ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(393){ --tx:315px; --ty:-111px; --rot:304deg; background:#D4AF37; color:#D4AF37; animation-delay:572ms; }
.pm-welcome-confetti i:nth-child(394){ --tx:361px; --ty:-105px; --rot:341deg; background:#FFE58A; color:#FFE58A; animation-delay:583ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(395){ --tx:407px; --ty:-95px; --rot:378deg; background:#E8E8E8; color:#E8E8E8; animation-delay:594ms; }
.pm-welcome-confetti i:nth-child(396){ --tx:233px; --ty:-91px; --rot:415deg; background:#C0C0C0; color:#C0C0C0; animation-delay:605ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(397){ --tx:277px; --ty:-92px; --rot:452deg; background:#B8B8B8; color:#B8B8B8; animation-delay:616ms; }
.pm-welcome-confetti i:nth-child(398){ --tx:322px; --ty:-87px; --rot:489deg; background:#F5F5F5; color:#F5F5F5; animation-delay:627ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(399){ --tx:368px; --ty:-78px; --rot:526deg; background:#FFCF40; color:#FFCF40; animation-delay:638ms; }
.pm-welcome-confetti i:nth-child(400){ --tx:413px; --ty:-64px; --rot:563deg; background:#DADADA; color:#DADADA; animation-delay:649ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(401){ --tx:239px; --ty:-74px; --rot:200deg; background:#FFD700; color:#FFD700; animation-delay:660ms; }
.pm-welcome-confetti i:nth-child(402){ --tx:283px; --ty:-71px; --rot:237deg; background:#F4C430; color:#F4C430; animation-delay:671ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(403){ --tx:328px; --ty:-63px; --rot:274deg; background:#D4AF37; color:#D4AF37; animation-delay:682ms; }
.pm-welcome-confetti i:nth-child(404){ --tx:373px; --ty:-50px; --rot:311deg; background:#FFE58A; color:#FFE58A; animation-delay:693ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(405){ --tx:417px; --ty:-33px; --rot:348deg; background:#E8E8E8; color:#E8E8E8; animation-delay:704ms; }
.pm-welcome-confetti i:nth-child(406){ --tx:244px; --ty:-56px; --rot:385deg; background:#C0C0C0; color:#C0C0C0; animation-delay:715ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(407){ --tx:288px; --ty:-49px; --rot:422deg; background:#B8B8B8; color:#B8B8B8; animation-delay:726ms; }
.pm-welcome-confetti i:nth-child(408){ --tx:332px; --ty:-38px; --rot:459deg; background:#F5F5F5; color:#F5F5F5; animation-delay:737ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(409){ --tx:375px; --ty:-22px; --rot:496deg; background:#FFCF40; color:#FFCF40; animation-delay:748ms; }
.pm-welcome-confetti i:nth-child(410){ --tx:418px; --ty:-2px; --rot:533deg; background:#DADADA; color:#DADADA; animation-delay:759ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(411){ --tx:247px; --ty:-37px; --rot:570deg; background:#FFD700; color:#FFD700; animation-delay:770ms; }
.pm-welcome-confetti i:nth-child(412){ --tx:291px; --ty:-28px; --rot:207deg; background:#F4C430; color:#F4C430; animation-delay:781ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(413){ --tx:334px; --ty:-13px; --rot:244deg; background:#D4AF37; color:#D4AF37; animation-delay:792ms; }
.pm-welcome-confetti i:nth-child(414){ --tx:376px; --ty:6px; --rot:281deg; background:#FFE58A; color:#FFE58A; animation-delay:803ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(415){ --tx:417px; --ty:30px; --rot:318deg; background:#E8E8E8; color:#E8E8E8; animation-delay:814ms; }
.pm-welcome-confetti i:nth-child(416){ --tx:249px; --ty:-19px; --rot:355deg; background:#C0C0C0; color:#C0C0C0; animation-delay:825ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(417){ --tx:292px; --ty:-6px; --rot:392deg; background:#B8B8B8; color:#B8B8B8; animation-delay:836ms; }
.pm-welcome-confetti i:nth-child(418){ --tx:334px; --ty:12px; --rot:429deg; background:#F5F5F5; color:#F5F5F5; animation-delay:847ms; width:3px; height:3px; border-radius:50%; }
.pm-welcome-confetti i:nth-child(419){ --tx:374px; --ty:34px; --rot:466deg; background:#FFCF40; color:#FFCF40; animation-delay:858ms; }
.pm-welcome-confetti i:nth-child(420){ --tx:414px; --ty:61px; --rot:503deg; background:#DADADA; color:#DADADA; animation-delay:869ms; width:3px; height:3px; border-radius:50%; }
@keyframes pmWelcomeConfettiBurst{
  0%{ opacity:0; transform:translate(-50%,-50%) translate(0,0) rotate(0deg) scale(.3); }
  10%{ opacity:1; transform:translate(-50%,-50%) translate(calc(var(--tx) * .78), calc(var(--ty) * .6)) rotate(calc(var(--rot) * .35)) scale(1.1); }
  22%{ opacity:.4; transform:translate(-50%,-50%) translate(calc(var(--tx) * .92), calc(var(--ty) * .72)) rotate(calc(var(--rot) * .5)) scale(1); }
  30%{ opacity:1; }
  42%{ opacity:.35; transform:translate(-50%,-50%) translate(calc(var(--tx) * 1.02), calc(var(--ty) * .85 + 30px)) rotate(calc(var(--rot) * .7)) scale(.95); }
  50%{ opacity:1; }
  62%{ opacity:.4; transform:translate(-50%,-50%) translate(calc(var(--tx) * 1.08), calc(var(--ty) * .95 + 75px)) rotate(calc(var(--rot) * .88)) scale(.9); }
  70%{ opacity:1; }
  85%{ opacity:.5; transform:translate(-50%,-50%) translate(calc(var(--tx) * 1.12), calc(var(--ty) + 130px)) rotate(calc(var(--rot) * 1.05)) scale(.8); }
  100%{ opacity:0; transform:translate(-50%,-50%) translate(calc(var(--tx) * 1.15), calc(var(--ty) + 190px)) rotate(calc(var(--rot) * 1.25)) scale(.65); }
}
@media (prefers-reduced-motion: reduce){
  .pm-welcome-sweep, .pm-welcome-confetti{ display:none !important; }
}
@media (prefers-reduced-motion: reduce){
  .pm-welcome, .pm-welcome-card, .pm-welcome-content > *, .pm-welcome-list li, .pm-welcome-close{ animation:none !important; opacity:1 !important; filter:none !important; transform:none !important; }
}
.pm-welcome-close{ position:absolute; top:16px; right:16px; z-index:2; width:34px; height:34px; border-radius:999px; border:0; background:rgba(255,255,255,.75); color:var(--ink); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background 150ms; backdrop-filter:blur(4px); }
.pm-welcome-close:hover{ background:#fff; }
.pm-welcome-close svg{ width:15px; height:15px; }
.pm-welcome-content{ position:relative; z-index:1; max-width:552px; padding:46px 32px 46px 46px; }
.pm-welcome-brands{ display:flex; align-items:center; gap:10px; margin-bottom:20px; }
.pm-welcome-brandname{ font-size:16.5px; font-weight:800; color:var(--ink); letter-spacing:-.01em; }
.pm-welcome-div{ width:1px; height:16px; background:var(--line-strong); }
.pm-welcome-brands img{ height:21px; width:auto; display:block; }
.pm-welcome h2{ margin:0 0 12px; font-size:26px; font-weight:800; letter-spacing:-.02em; line-height:1.2; color:var(--ink); }
.pm-welcome-lead{ margin:0 0 24px; font-size:16px; line-height:1.55; color:var(--text); }
.pm-welcome-list{ list-style:none; margin:0 0 28px; padding:0; display:flex; flex-direction:column; gap:16px; }
.pm-welcome-list li{ display:flex; align-items:flex-start; gap:14px; font-size:15.5px; line-height:1.5; color:var(--text); }
.pm-welcome-ic{ flex:0 0 auto; width:39px; height:39px; border-radius:11px; background:#e6f4f7; color:var(--teal); display:flex; align-items:center; justify-content:center; }
.pm-welcome-ic svg{ width:19px; height:19px; }
.pm-welcome-list a{ color:var(--teal); font-weight:700; text-decoration:none; border-bottom:1.5px dashed rgba(0,101,122,.4); }
.pm-welcome-list a:hover{ border-bottom-color:var(--teal); }
.pm-welcome-cta{ width:80%; height:57px; border:0; border-radius:13px; background:#ea580c; color:#fff; font-size:17px; font-weight:700; cursor:pointer; transition:background 150ms ease, transform 150ms var(--ease-out); box-shadow:0 6px 18px -6px rgba(234,88,12,.55); }
.pm-welcome-cta:hover{ background:#c2410c; }
.pm-welcome-cta:active{ transform:scale(.98); }
@media(max-width:640px){
  .pm-welcome{ padding:12px; }
  .pm-welcome-card{ min-height:0; background-image: linear-gradient(180deg, rgba(255,255,255,.35) 0%, rgba(255,255,255,.97) 38%, rgba(255,255,255,.97) 100%), url('/upload/pm_welcome/hero.jpg'); background-position: top center; }
  .pm-welcome-content{ max-width:none; padding:120px 20px 24px; }
}

.pm-noprofile{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; padding:16px 20px; background:#fff7ed; border:1.5px solid #fdba74; border-radius:14px; } .pm-noprofile-body{ flex:1; min-width:260px; display:flex; flex-direction:column; gap:3px; } .pm-noprofile-body b{ font-size:15px; color:#9a3412; } .pm-noprofile-body span{ font-size:13px; color:#7c2d12; line-height:1.5; } .pm-noprofile-btn{ display:inline-flex; align-items:center; height:42px; padding:0 20px; border-radius:10px; background:#ea580c; color:#fff; font-size:14px; font-weight:700; white-space:nowrap; } .pm-noprofile-btn:hover{ background:#c2410c; }

/* ===== блог «Полезные материалы» ===== */
.bl-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(300px,1fr)); gap:16px; }
.bl-card{ display:flex; flex-direction:column; background:#fff; border:1.5px solid #e5e7eb; border-radius:16px; overflow:hidden; box-shadow:0 1px 6px rgba(0,0,0,.04); transition:border-color .15s, transform .15s; }
.bl-card:hover{ border-color:#cdeef0; transform:translateY(-2px); }
.bl-card-img{ aspect-ratio:16/10; background:var(--strip); }
.bl-card-img img{ width:100%; height:100%; object-fit:cover; }
.bl-card-body{ padding:16px 18px 18px; }
.bl-card-date{ font-size:12px; color:var(--muted); margin-bottom:6px; }
.bl-card-title{ font-size:15px; font-weight:800; color:var(--ink); line-height:1.35; }
.bl-card-text{ margin-top:8px; font-size:13px; color:var(--muted); line-height:1.5; }
.bl-meta{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.bl-tag{ display:inline-flex; align-items:center; padding:2px 10px; border-radius:999px; background:var(--strip); font-size:12px; font-weight:600; color:var(--text); }
.bl-hero{ width:100%; max-height:420px; object-fit:cover; border-radius:16px; border:1px solid var(--line); margin-bottom:18px; }
.bl-content img{ border-radius:12px; }
.bl-content iframe{ max-width:100%; border-radius:12px; }
.bl-products h2, .bl-also h2{ margin:28px 0 14px; font-size:18px; font-weight:800; color:var(--ink); }
    /* Legal modal · certificate + full requisites */
    .modal-overlay{ position:fixed; inset:0; z-index:150; background:rgba(20,24,31,.5); opacity:0; visibility:hidden; transition:opacity var(--dur-slow) ease, visibility var(--dur-slow); }
    .modal-overlay.open{ opacity:1; visibility:visible; }
    .modal{ position:fixed; z-index:160; left:50%; top:50%; transform:translate(-50%,-46%); width:min(880px,calc(100vw - 32px)); max-height:calc(100vh - 48px); overflow-y:auto; background:var(--paper); border-radius:var(--radius); box-shadow:0 40px 90px -24px rgba(20,24,31,.5); opacity:0; visibility:hidden; transition:opacity var(--dur-base) ease, transform var(--dur-base) var(--ease-out), visibility var(--dur-base); overscroll-behavior:contain; }
    .modal.open{ opacity:1; visibility:visible; transform:translate(-50%,-50%); transition:opacity var(--dur-slow) ease, transform var(--dur-slow) var(--ease-out), visibility var(--dur-slow); }
    .modal-head{ position:sticky; top:0; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:22px 26px; background:var(--paper); border-bottom:1px solid var(--line); }
    .modal-head h2{ margin:0; font-size:20px; font-weight:900; letter-spacing:-.02em; }
    .modal-close{ display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:12px; color:var(--ink); flex:0 0 auto; transition:background var(--dur-fast) ease, transform var(--dur-fast) var(--ease-out); }
    .modal-close svg{ width:22px; height:22px; }
    .modal-close:hover{ background:var(--strip); }
    .modal-close:active{ transform:scale(.97); }
    .modal-body{ display:grid; gap:24px; padding:26px; }
    @media(min-width:720px){ .modal-body{ grid-template-columns:0.82fr 1.18fr; align-items:start; } }

    .legal-cert{ display:flex; flex-direction:column; gap:14px; }
    .cert-preview{ aspect-ratio:3/4; border-radius:12px; overflow:hidden; }
    .cert-preview .ph{ width:100%; height:100%; }
    .legal-cert h3{ margin:0; font-size:16px; font-weight:800; letter-spacing:-.01em; }
    .legal-cert p{ margin:0; font-size:13px; color:var(--muted); line-height:1.5; }
    .legal-cert .button{ width:100%; margin-top:2px; }

    .legal-req h3{ margin:0 0 6px; font-size:16px; font-weight:800; letter-spacing:-.01em; }
    .req-list{ display:grid; margin:0; }
    .req-list > div{ display:grid; grid-template-columns:minmax(120px,158px) 1fr; gap:12px 16px; padding:11px 0; border-bottom:1px solid var(--line); font-size:14px; }
    .req-list > div:last-child{ border-bottom:0; }
    .req-list dt{ color:var(--muted); }
    .req-list dd{ margin:0; font-weight:600; color:var(--ink); }
    .req-list dd.mono{ font-family:"JetBrains Mono",monospace; }
    .req-list dd.todo{ color:var(--muted); font-weight:500; font-style:italic; }
    @media(max-width:440px){ .req-list > div{ grid-template-columns:1fr; gap:2px; } }

    /* ── «Нет профиля компании» — модалка при попытке добавить товар ── */
    .modal.modal-noprofile{ width:min(480px, calc(100vw - 32px)); }
    .modal-noprofile .modal-body{ display:block; padding:8px 26px 26px; }
    .modal-noprofile .modal-body > p{ margin:0 0 16px; font-size:14px; line-height:1.5; color:var(--text); }
    .pm-noprofile-steps{ margin:0 0 22px; padding:0; list-style:none; display:grid; gap:10px; counter-reset:pmstep; }
    .pm-noprofile-steps li{ position:relative; padding-left:34px; font-size:13.5px; line-height:1.45; color:var(--text); counter-increment:pmstep; }
    .pm-noprofile-steps li::before{ content:counter(pmstep); position:absolute; left:0; top:-1px; width:22px; height:22px; border-radius:50%; background:var(--strip); color:var(--teal-dark); font-size:11.5px; font-weight:700; display:flex; align-items:center; justify-content:center; }
    .pm-noprofile-actions{ display:flex; flex-wrap:wrap; gap:10px; }
    .pm-noprofile-actions .button{ flex:1 1 auto; }
    .pm-noprofile-actions .btn-ghost{ flex:0 0 auto; }

    /* ── Модальные формы заявок (дилер / корпоративный клиент) ── */
    .modal.modal-request{ width:min(560px, calc(100vw - 32px)); }
    .request-body{ padding:22px 26px 26px; }
    .request-intro{ margin:0 0 20px; font-size:14px; line-height:1.5; color:var(--text); }
    .req-form{ display:grid; gap:16px; }
    .req-row{ display:grid; gap:16px; }
    @media(min-width:480px){ .req-row.cols-2{ grid-template-columns:1fr 1fr; } }
    .field{ display:flex; flex-direction:column; gap:6px; min-width:0; }
    .field > label{ font-size:13px; font-weight:600; color:var(--ink); letter-spacing:-.01em; }
    .field .opt{ color:var(--muted); font-weight:500; }
    .field .req{ color:#c0392b; margin-left:1px; }
    .field input, .field textarea{ width:100%; height:48px; border:1.5px solid var(--line-strong); border-radius:var(--r); padding:0 14px; font-family:"Onest", sans-serif; font-size:15px; color:var(--ink); background:var(--strip); outline:none; transition:border-color var(--dur-base) ease, box-shadow var(--dur-base) ease, background var(--dur-base) ease; }
    .field textarea{ height:auto; min-height:88px; padding:11px 14px; line-height:1.5; resize:vertical; }
    .field input::placeholder, .field textarea::placeholder{ color:var(--muted); }
    .field input:focus, .field textarea:focus{ border-color:var(--teal); background:#fff; box-shadow:0 0 0 3px rgba(0,101,122,.12); }
    .field input:user-invalid, .field textarea:user-invalid{ border-color:#c0392b; background:#fdf3f2; }
    .field.has-error input, .field.has-error textarea, .field.has-error select{ border-color:#c0392b; background:#fdf3f2; }
    .co-consent.has-error{ outline:1.5px solid #c0392b; outline-offset:4px; border-radius:6px; }
    .field-error-msg{ font-size:12px; font-weight:600; color:#c0392b; margin-top:4px; }
    .field .hint{ font-size:12px; color:var(--muted); }
    .req-consent{ display:flex; align-items:flex-start; gap:10px; margin-top:2px; font-size:13px; line-height:1.5; color:var(--text); cursor:pointer; }
    .req-consent input{ width:18px; height:18px; margin:1px 0 0; flex:0 0 auto; accent-color:var(--teal); cursor:pointer; }
    .req-consent a{ color:var(--accent-dark); font-weight:600; border-bottom:1px solid currentColor; }
    .req-consent a:hover{ color:var(--accent); }
    .req-actions{ margin-top:6px; }
    .req-actions .button{ width:100%; }
    .req-foot{ margin:12px 0 0; font-size:13px; color:var(--muted); text-align:center; }
    .req-foot a{ color:var(--accent-dark); font-weight:600; }
    .request-success{ display:none; flex-direction:column; align-items:center; text-align:center; gap:6px; padding:14px 8px 6px; }
    .request-success .ok{ display:grid; place-items:center; width:58px; height:58px; border-radius:50%; background:#d1fae5; color:#065f46; margin-bottom:6px; }
    .request-success .ok svg{ width:30px; height:30px; }
    .request-success h3{ margin:0; font-size:20px; font-weight:900; letter-spacing:-.02em; color:var(--ink); }
    .request-success p{ margin:0; font-size:14px; line-height:1.5; color:var(--text); max-width:360px; }
    .request-success .button{ margin-top:14px; min-width:160px; }
    .modal-request.is-done .req-form, .modal-request.is-done .request-intro{ display:none; }
    .modal-request.is-done .request-success{ display:flex; }

    /* ── Dealer workspace ("рабочий стол") ── */
    html[data-auth="dealer"] .hero{ min-height:0; background:var(--strip); box-shadow:none; border-radius:0; }
    html[data-auth="dealer"] .hero-media,
    html[data-auth="dealer"] .hero-fade,
    html[data-auth="dealer"] .hero-badges{ display:none; }
    html[data-auth="dealer"] .hero-inner{ width:100%; max-width:none; padding:0 !important; }
    html[data-auth="dealer"] .page{ padding-top:24px; }

    /* Рабочий стол — общий лейаут */
    .desk{ display:flex; flex-direction:column; gap:20px; }

    /* Шапка профиля */
    .desk-header{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 24px; background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow-soft); }
    .desk-profile{ display:flex; align-items:center; gap:14px; min-width:0; }
    .desk-avatar{ flex:0 0 auto; width:48px; height:48px; border-radius:12px; background:linear-gradient(135deg, var(--teal), var(--teal-dark)); display:grid; place-items:center; color:#fff; font-size:16px; font-weight:700; letter-spacing:.02em; }
    .desk-info{ min-width:0; }
    .desk-info .name{ margin:0; font-size:20px; font-weight:900; letter-spacing:-.02em; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .desk-info .meta{ margin:3px 0 0; font-size:13px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .desk-hd-actions{ display:flex; align-items:center; gap:8px; flex:0 0 auto; }
    .desk-hd-btn{ display:inline-flex; align-items:center; gap:8px; height:42px; padding:0 16px; border-radius:12px; font-size:14px; font-weight:600; color:var(--ink); background:var(--strip); border:1px solid var(--line); transition:background var(--dur-fast) ease, border-color var(--dur-fast) ease, color var(--dur-fast) ease; white-space:nowrap; }
    .desk-hd-btn:hover{ background:#fff; border-color:var(--teal); color:var(--teal); }
    .desk-hd-btn:active{ transform:scale(.97); }
    .desk-hd-btn svg{ width:17px; height:17px; }

    /* Алерт — тихий информационный */
    .desk-alert{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 16px; background:#fafafa; border:1px solid var(--line); border-radius:var(--r); }
    .desk-alert.hidden{ display:none; }
    .desk-alert-left{ display:flex; align-items:center; gap:10px; }
    .desk-alert-ic{ flex:0 0 auto; display:grid; place-items:center; width:30px; height:30px; border-radius:8px; background:rgba(217,119,6,.08); color:#c47f16; }
    .desk-alert-ic svg{ width:15px; height:15px; }
    .desk-alert-body h3{ margin:0; font-size:14px; font-weight:600; color:var(--ink); letter-spacing:-.01em; text-wrap:balance; }
    .desk-alert-body p{ margin:3px 0 0; font-size:13px; color:var(--muted); line-height:1.4; }
    [id]{ scroll-margin-top:80px; }
    .desk-alert-actions{ display:flex; gap:6px; flex:0 0 auto; }
    .desk-alert-btn{ display:inline-flex; align-items:center; gap:6px; height:30px; padding:0 14px; border-radius:8px; font-size:13px; font-weight:600; white-space:nowrap; transition:background var(--dur-fast) ease, transform var(--dur-fast) var(--ease-out); }
    .desk-alert-btn:active{ transform:scale(.97); }
    .desk-alert-btn.primary{ background:var(--teal); color:#fff; border:0; }
    .desk-alert-btn.primary:hover{ background:var(--teal-dark); }
    .desk-alert-btn.ghost{ background:transparent; color:var(--muted); border:1px solid var(--line); }
    .desk-alert-btn.ghost:hover{ background:var(--strip); color:var(--ink); }
.field input[readonly]{ background:#f3f4f6; color:var(--muted); cursor:not-allowed; }

/* ===== подкатегории раздела — карточки как на оригинале ===== */
.sec-grid{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }
.sec-card{ background:#fff; border:1.5px solid #e5e7eb; border-radius:14px; padding:16px 18px; }
.sec-title{ display:flex; align-items:baseline; gap:8px; font-size:14.5px; font-weight:800; color:var(--ink); margin-bottom:8px; }
.sec-title:hover{ color:var(--teal); }
.sec-title .cnt{ font-family:"JetBrains Mono",monospace; font-size:11.5px; font-weight:600; color:var(--muted); }
.sec-links{ display:flex; flex-direction:column; gap:5px; }
.sec-links a{ font-size:12.5px; font-weight:600; color:var(--teal); width:fit-content; }
.sec-links a:hover{ text-decoration:underline; }
.sec-links .sec-more{ color:var(--muted); }
.sec-card-flat{ display:inline-flex; align-items:center; gap:8px; height:34px; padding:0 14px; border-radius:9px; border:0; background:#f4f6f8; transition:background .15s, color .15s; } .sec-card-flat:hover{ background:#e8ebee; } .sec-card-flat:hover .sec-title-txt{ color:var(--teal); } .sec-card-flat .sec-title-txt{ font-size:12.5px; font-weight:700; color:var(--text); line-height:1.3; } .sec-card-flat .cnt{ font-family:"JetBrains Mono",monospace; font-size:11px; font-weight:600; color:var(--muted); flex:0 0 auto; }
.cat-layout-full{ display:block; } .cat-layout-full .cat-main{ width:100%; }
.mega-col h3 .mega-col-title{ color:inherit; transition:color .15s; } .mega-col h3 .mega-col-title:hover{ color:var(--teal); text-decoration:underline; text-underline-offset:3px; }

/* ── Блог как на проде: строки + сайдбар (2026-07-12) ── */
.bl-layout{ display:grid; grid-template-columns:1fr 300px; gap:26px; align-items:start; }
.bl-years{ display:flex; gap:6px; border:1px solid var(--line); border-radius:12px; padding:10px 14px; margin-bottom:18px; }
.bl-years a{ color:#334; text-decoration:none; font-size:14px; padding:4px 10px; border-radius:8px; }
.bl-years a.active{ color:var(--teal); font-weight:700; }
.bl-years a:hover{ background:var(--strip); }
.bl-row{ display:grid; grid-template-columns:330px 1fr; gap:22px; padding:20px 0; border-bottom:1px solid var(--line); }
.bl-row-img{ display:block; aspect-ratio:16/10; border-radius:12px; overflow:hidden; background:var(--strip); }
.bl-row-img img{ width:100%; height:100%; object-fit:cover; display:block; }
.bl-row-title{ display:block; color:var(--teal); font-size:19px; font-weight:700; text-decoration:none; margin:2px 0 8px; }
.bl-row-title:hover{ text-decoration:underline; }
.bl-row-meta{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-bottom:8px; }
.bl-tag{ font-size:12.5px; color:#556; background:var(--strip); border:1px solid var(--line); border-radius:8px; padding:2px 8px; text-decoration:none; }
a.bl-tag:hover, .bl-tag.active{ color:var(--teal); border-color:var(--teal); }
.bl-row-date{ font-size:13px; color:#778; }
.bl-row-text{ font-size:14px; color:#445; line-height:1.55; margin:0; }
.bl-side h3{ font-size:16px; margin:0 0 10px; }
.bl-side-tags{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }
.bl-side-card{ border:1px solid var(--line); border-radius:14px; padding:16px; background:#fff; }
.bl-side-item{ padding:10px 0; border-bottom:1px solid var(--line); }
.bl-side-item:last-child{ border-bottom:0; }
.bl-side-item > a{ color:#223; font-weight:600; font-size:14px; text-decoration:none; display:block; margin-bottom:5px; }
.bl-side-item > a:hover{ color:var(--teal); }
@media (max-width: 900px){
  .bl-layout{ grid-template-columns:1fr; }
  .bl-row{ grid-template-columns:1fr; gap:12px; }
}

/* Товарные фото не обрезаем: у продуктовых фото белый фон, cover резал корпус */
.p-img img, .ci-img img, .co-it-name img, .cs-item-img img, .co-sum-item img, .od-it-name img, .db-rec-thumb img, .pp-thumb img{ object-fit:contain !important; background:#fff; }

/* Наличие в карточке: вертикальный список с галочками у степпера (как на проде) */
.p-stk2{ display:flex; flex-direction:column; gap:3px; font-size:12.5px; color:#334; margin-top:8px; }
.p-stk2 span{ display:flex; gap:6px; align-items:center; white-space:nowrap; }
.p-stk2 i{ font-style:normal; color:#1D9E75; font-weight:700; }
.p-stk2 span.no{ color:#98a2ad; }
.p-stk2 span.no i{ color:#c3cad1; }
.p-grid.list .p-stk2{ align-items:flex-start; }

/* «Наличие и сроки»: мини-таблица в карточке (метка → число), плитка и список */
.p-stk3{ display:flex; flex-direction:column; gap:2px; font-size:13px; max-width:230px; }
.p-stk3 .strow{ display:flex; gap:6px; align-items:baseline; } .p-stk3 .l{ white-space:nowrap; }
.p-stk3 .v{ font-weight:500; font-variant-numeric:tabular-nums; text-align:right; white-space:nowrap; }
.p-stk3 i{ width:6px; height:6px; border-radius:50%; display:inline-block; margin-right:6px; vertical-align:1px; }
.p-stk3 .g .l, .p-stk3 .g .v{ color:#0F6E56; }
.p-stk3 .g i{ background:#1D9E75; }
.p-stk3 .a .l, .p-stk3 .a .v{ color:#854F0B; }
.p-stk3 .a i{ background:#EF9F27; }
.p-stk3 .m .l, .p-stk3 .m .v{ color:#5b6470; }
.p-stk3 .m i{ background:#B4B2A9; }
.p-stk3 .off .l, .p-stk3 .off .v{ color:#98a2ad; }
.p-grid.list .p-card{ grid-template-columns:96px minmax(0,1fr); }
.p-grid.list .p-body{ grid-template-columns:minmax(0,1fr) 230px 230px; }
.p-grid.list .p-stk3{ grid-column:2; grid-row:1 / span 3; align-self:center; width:230px; margin-left:40px; }
.p-grid.list .p-foot{ grid-column:3; }
@media (max-width:760px){
  .p-grid.list .p-stk3{ width:auto; }
}

/* Характеристики из названия — табами под заголовком */
.p-specs{ display:flex; flex-wrap:wrap; gap:4px; }
.p-specs span{ font-size:12px; color:#5b6470; background:var(--strip, #f4f6f8); border:1px solid #e8ebee; border-radius:7px; padding:1.5px 7px; white-space:nowrap; }
.p-grid.list .p-specs{ grid-column:1; overflow:hidden; max-height:24px; }
.p-specs-detail{ margin:10px 0 2px; }
.p-specs-detail span{ font-size:12.5px; padding:3px 10px; border-radius:8px; }

/* Устойчивое состояние «В заказе N шт» после добавления */
.p-add{ white-space:nowrap; }
.p-add.added{ background:rgba(0,101,122,.12); color:var(--teal); font-size:12.5px; padding:0 10px; }
.p-add.added:hover{ background:rgba(0,101,122,.2); }

/* Хаб «Акции»: два блока с превью и «Смотреть все» */
.promo-block{ margin:0 0 34px; }
.promo-block-head{ display:flex; align-items:baseline; gap:14px; margin:0 0 4px; }
.promo-block-head h2{ font-size:20px; margin:0; }
.promo-cnt{ font-size:13px; color:var(--teal); background:#e7f5f0; border-radius:8px; padding:2px 8px; font-weight:700; vertical-align:2px; }
.promo-all{ margin-left:auto; color:var(--teal); font-size:14px; font-weight:600; text-decoration:none; }
.promo-all:hover{ text-decoration:underline; }
.promo-block-sub{ font-size:13.5px; color:#667; margin:0 0 14px; }

/* Каталоги в статье: сетка обложек с кнопкой скачивания */
.cat-dl-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(200px,1fr)); gap:18px; margin:8px 0 20px; }
.cat-dl-card{ border:1px solid var(--line); border-radius:14px; background:#fff; padding:14px; display:flex; flex-direction:column; gap:10px; }
.cat-dl-cover{ display:block; aspect-ratio:3/4.2; border-radius:9px; overflow:hidden; background:var(--strip); }
.cat-dl-cover img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s ease; }
.cat-dl-card:hover .cat-dl-cover img{ transform:scale(1.03); }
.cat-dl-name{ font-size:13px; font-weight:600; color:#223; line-height:1.35; }
.cat-dl-btn{ margin-top:auto; display:inline-flex; align-items:center; justify-content:center; gap:7px; height:36px; border-radius:9px; background:var(--teal); color:#fff; font-size:13px; font-weight:700; text-decoration:none; }
.cat-dl-btn:hover{ filter:brightness(1.08); }
h1.cat-count{ font:inherit; margin:0; }

/* ЛК: колонки (данные+менеджер+поддержка слева, профили справа), заголовок профилей с кнопкой */
.pf-col{ display:flex; flex-direction:column; gap:16px; min-width:0; }
.pf-support{ margin-top:16px; padding-top:14px; border-top:1px solid var(--line); }
.pf-support-lbl{ font-size:12.5px; color:var(--muted); margin-bottom:6px; }
.pf-support .st-contact{ display:inline-block; margin-right:14px; }
.pf-profiles-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.pf-profiles-head h2{ font-size:17px; margin:0; }
.sku-add-toolbar{ flex:1; min-width:0; display:flex; gap:8px; align-items:center; }
.sku-add-toolbar input{ flex:1; min-width:120px; }

/* Листинг: крупнее типографика (запрос 12.07) */
.p-grid.list .p-art{ font-size:13px; }
.p-grid.list .p-rrc{ font-size:13px; }
.p-grid .p-name a{ font-size:inherit; }
.p-grid:not(.list) .p-name{ font-size:14.5px; }
.docs-tbl th:nth-child(1), .docs-tbl td:nth-child(1){ width:160px; white-space:nowrap; }
.docs-tbl th:nth-child(2), .docs-tbl th:nth-child(3){ width:auto; }

/* ── Верх дашборда v2: заказ + мини-карточки акций/прайсов (2026-07-12) ── */
.db-top2{ display:grid; grid-template-columns:0.6fr 1fr; gap:14px; align-items:stretch; }
.db-top2 .db-order2{ margin:0; }
.db-o2-meta{ display:flex; align-items:center; gap:10px; margin-bottom:8px; flex-wrap:wrap; }
.db-o2-lbl{ font-size:12.5px; color:var(--muted); }
.db-o2-chip{ display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:700; padding:3px 10px; border-radius:8px; background:#E1F5EE; color:#085041; }
.db-o2-chip i{ width:7px; height:7px; border-radius:50%; background:#1D9E75; }
.db-o2-chip.cancel{ background:#FCEBEB; color:#791F1F; }
.db-o2-chip.cancel i{ background:#E24B4A; }
.db-o2-row{ display:flex; align-items:baseline; gap:14px; flex-wrap:wrap; margin-bottom:12px; }
.db-o2-num{ font-size:18px; font-weight:800; color:var(--ink); }
.db-o2-sum{ font-family:"JetBrains Mono",monospace; font-size:22px; font-weight:800; color:var(--ink); font-variant-numeric:tabular-nums; }
.db-o2-pos{ font-size:13px; color:var(--muted); }
.db-top2-side{ display:flex; flex-direction:column; gap:12px; grid-column:2; }
.db-mini{ flex:1; display:flex; align-items:center; gap:12px; background:#fff; border:1.5px solid var(--line); border-radius:14px; padding:12px 16px; min-width:0; }
.db-mini-pct{ font-family:"JetBrains Mono",monospace; font-size:24px; font-weight:800; color:#D85A30; white-space:nowrap; }
.db-mini-ic{ width:22px; height:22px; color:var(--muted); flex:0 0 auto; }
.db-mini-body{ flex:1; min-width:0; }
.db-mini-title{ font-size:13.5px; font-weight:700; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.db-mini-sub{ font-size:12px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.db-mini-btn{ flex:0 0 auto; display:inline-flex; align-items:center; height:30px; padding:0 13px; border-radius:8px; border:1.5px solid var(--line-strong); font-size:12.5px; font-weight:700; color:var(--ink); text-decoration:none; }
.db-mini-btn:hover{ border-color:var(--teal); color:var(--teal); }
.db-mini-btn.promo{ color:#993C1D; border-color:#F0997B; }
.db-mini-btn.promo:hover{ background:#FAECE7; }
.db-mini-btn.stihl{ color:#993C1D; border-color:#F0997B; }
@media (max-width: 900px){ .db-top2{ grid-template-columns:1fr; } }
@media (max-width: 760px){ .db-top2-side{ display:none; } }

/* Акция — мятно-бирюзовая гамма (как промо-плашки акций) */
.db-mini-promo{ background:#DFF0EE; border-color:#c4e3df; }
.db-mini-promo .db-mini-pct{ color:#00777d; font-size:22px; }
.db-mini-promo .db-mini-title{ color:#00777d; }
.db-mini-promo .db-mini-sub{ color:#5b6470; }
.db-mini-promo .db-mini-btn{ background:#fff; border-color:#8fc9c3; color:#00777d; }
.db-mini-promo .db-mini-btn:hover{ background:#eef8f6; }
.db-mini .db-mini-btn{ height:38px; padding:0 18px; font-size:13.5px; border-radius:10px; }
.db-mini-btn.brand-makita{ background:#009097; border-color:#009097; color:#fff; }
.db-mini-btn.brand-makita:hover{ background:#007d84; color:#fff; border-color:#007d84; }
.db-mini-btn.stihl{ background:#F37A1F; border-color:#F37A1F; color:#fff; }
.db-mini-btn.stihl:hover{ background:#d96a15; border-color:#d96a15; color:#fff; }

/* Прайсы: без белой подложки, файлы-Excel с иконкой и скачиванием */
.db-mini-flat{ background:transparent; border:0; padding:6px 4px; }
.price-file{ display:inline-flex; align-items:center; gap:8px; padding:8px 14px; border-radius:11px; border:1.5px solid var(--line); background:transparent; text-decoration:none; font-size:13.5px; font-weight:800; color:var(--ink); transition:border-color .15s, box-shadow .15s; }
.price-file .pf-xls{ width:22px; height:22px; }
.price-file .pf-dl{ width:15px; height:15px; color:var(--muted); }
.price-file.makita{ color:#00777d; }
.price-file.makita:hover{ border-color:#009097; box-shadow:0 2px 10px rgba(0,144,151,.15); }
.price-file.stihl{ color:#c95f0e; }
.price-file.stihl:hover{ border-color:#F37A1F; box-shadow:0 2px 10px rgba(243,122,31,.15); }
.price-file:hover .pf-dl{ color:currentColor; }

/* PM_DASH_PRICE_CARD_V1 (07.08): прайсы перенесены из верхней зоны под карточку «Мой кабинет»
 * (сайдбар 304px) — отдельная карточка, кнопки в столбик на всю ширину, без обрезания. */
.db-cab-price-card{ padding:0 2px; }
.db-cab-price-head{ display:flex; align-items:baseline; gap:5px; margin-bottom:10px; }
.db-cab-price-title{ font-size:13px; font-weight:700; color:var(--ink); }
.db-cab-price-sub{ font-size:13px; color:var(--muted); }
.db-cab-prices{ display:flex; flex-direction:row; flex-wrap:wrap; gap:8px; }
.db-cab-prices .price-file{ width:auto; }

/* Акция v3: тёплая карточка + мятный тикер живых акций */
.db-promo3{ background:#fff6ee; border:1.5px solid #f6d9c2; border-radius:14px; padding:14px 16px; display:flex; flex-direction:column; gap:8px; }
.db-promo3-row{ display:flex; align-items:center; gap:10px; }
.db-promo3-pct{ font-family:"JetBrains Mono",monospace; font-size:26px; font-weight:800; color:#c2410c; line-height:1; letter-spacing:-.02em; }
.db-promo3-title{ font-size:14.5px; font-weight:800; color:var(--ink); }
.db-promo3-ticker{ position:relative; background:#DFF0EE; border-radius:10px; min-height:52px; overflow:hidden; }
.db-promo3-slide{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; opacity:0; transition:opacity .45s ease; padding:6px 12px; text-align:center; }
.db-promo3-slide.on{ opacity:1; }
.db-promo3-slide b{ font-size:14.5px; font-weight:800; color:#00777d; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }
.db-promo3-slide small{ font-size:12px; color:#5b6470; }
.db-promo3-foot{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.db-promo3-end{ font-size:12.5px; color:var(--muted); }
.db-promo3-btn{ display:inline-flex; align-items:center; gap:6px; height:36px; padding:0 18px; border-radius:10px; background:#DE5A1F; color:#fff; font-size:13.5px; font-weight:800; text-decoration:none; }
.db-promo3-btn:hover{ background:#c94e17; }
.db-promo3-title{ display:flex; flex-wrap:wrap; gap:6px; align-items:baseline; }
.db-promo3-cnt{ color:var(--ink); text-decoration:none; }
.db-promo3-cnt:hover{ color:#c2410c; }
.db-promo3-sep{ color:#d9b18f; }

/* ── Дилерская карточка: матчерные строки пар (решение 12.07) ── */
.pr-rows{ display:none; flex-direction:column; border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.pr-rows.active, .p-tab-panel.active .pr-rows{ display:flex; }
.pr-row{ display:grid; grid-template-columns:52px minmax(0,1fr) 150px 190px 150px; gap:14px; align-items:center; padding:9px 14px; border-bottom:1px solid #f0f2f4; background:#fff; }
.pr-row:last-child{ border-bottom:0; }
.pr-row:hover{ background:#fafcfc; }
.pr-img{ width:52px; height:52px; border-radius:8px; background:transparent; display:grid; place-items:center; overflow:hidden; }
.pr-img img{ max-width:100%; max-height:100%; object-fit:contain; }
.pr-main{ min-width:0; display:flex; flex-direction:row; align-items:baseline; gap:10px; }
.pr-art{ font-family:"JetBrains Mono",monospace; font-size:13px; font-weight:700; color:var(--teal); text-decoration:none; flex:0 0 auto; min-width:70px; }
.pr-art:hover{ text-decoration:underline; }
.pr-name{ font-size:13px; color:#5b6470; text-decoration:none; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; flex:1; min-width:0; }
.pr-name:hover{ color:var(--teal); }
.pr-stock{ display:flex; flex-direction:column; gap:1px; font-size:12px; font-family:"JetBrains Mono",monospace; }
.pr-stock{ font-family:"JetBrains Mono",monospace; }
.pr-stock span{ display:flex; align-items:center; gap:5px; white-space:nowrap; }
.pr-stock i{ width:5px; height:5px; border-radius:50%; flex:0 0 auto; }
.pr-stock .g{ color:#0F6E56; } .pr-stock .g i{ background:#1D9E75; }
.pr-stock .a{ color:#854F0B; } .pr-stock .a i{ background:#EF9F27; }
.pr-stock .m{ color:#5b6470; } .pr-stock .m i{ background:#B4B2A9; }
.pr-stock .no{ color:#98a2ad; } .pr-stock .no i{ background:#c3cad1; }
.pr-price{ display:flex; flex-direction:column; align-items:flex-end; gap:3px; white-space:nowrap; }
.pr-price-row{ display:flex; align-items:center; gap:7px; }
.pr-cur{ font-family:"JetBrains Mono",monospace; font-size:18px; font-weight:600; color:var(--ink); }
.pr-pct{ font:700 12px "JetBrains Mono",monospace; color:#fff; background:#E65100; border-radius:3px; padding:1px 5px; letter-spacing:.02em; }
.pr-rrc{ font-size:13px; color:#98a2ad; text-decoration:line-through; font-family:"JetBrains Mono",monospace; }
.pr-add{ display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:9px; border:1.5px solid var(--teal); color:var(--teal); background:#fff; cursor:pointer; transition:background .15s ease, border-color .15s ease, color .15s ease, transform .12s cubic-bezier(.22,1,.36,1); }
.pr-add:hover{ background:var(--teal); color:#fff; }
.pr-add svg{ width:17px; height:17px; }
.pr-add.is-loading{ opacity:.55; pointer-events:none; }
.pr-add.added{ background:rgba(0,101,122,.12); border-color:transparent; color:var(--teal); }
.pr-add.added.pulse{ transform:scale(1.15); }
@media (prefers-reduced-motion:reduce){ .pr-add{ transition:none; } .pr-add.added.pulse{ transform:none; } }
.pr-ghead{ display:flex; align-items:center; gap:10px; padding:11px 14px; background:#f4f6f8; border-bottom:1px solid #e8ebee; }
.pr-ghead-rail{ width:8px; height:18px; border-radius:2px; flex:0 0 auto; }
.pr-ghead h3{ font-size:12px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:#3a4249; flex:1; margin:0; }
.pr-ghead-cnt{ font:600 11px "JetBrains Mono",monospace; color:#5b6470; }
.pr-gadd{ font:600 11px var(--font-sans,inherit); border:1px solid var(--teal); background:#fff; color:var(--teal); border-radius:6px; padding:5px 12px; cursor:pointer; }
.pr-gadd:hover{ background:var(--teal); color:#fff; }
.tab-cnt{ display:inline-block; margin-left:6px; font-size:11.5px; background:#e7f5f0; color:var(--teal); border-radius:7px; padding:1px 7px; font-variant-numeric:tabular-nums; }
.p-tab-btn.active .tab-cnt{ background:var(--teal); color:#fff; }

/* «Похожие модели»: группы без «+всё» (нельзя добавить пачку аналогов разом) + строка сравнения под карточкой */
.pr-ghead-ana{ margin-top:2px; }
.pr-ana-item{ border-bottom:1px solid #f0f2f4; }
.pr-ana-item:last-child{ border-bottom:0; }
.pr-ana-item .pr-row{ border-bottom:0; }
.pr-cmp-row{ display:flex; flex-wrap:wrap; gap:6px; padding:0 14px 12px 80px; margin-top:-4px; }
.pr-cmp{ display:inline-flex; align-items:center; font-size:11.5px; font-weight:600; padding:3px 9px; border-radius:7px; white-space:nowrap; }
.pr-cmp.c-plus{ background:#E1F5EE; color:#0F6E56; }
.pr-cmp.c-minus{ background:#FAEEDA; color:#854F0B; }
.pr-cmp.c-neutral{ background:#f4f6f8; color:#98a2ad; }
@media (max-width:760px){ .pr-cmp-row{ padding-left:14px; } }
@media (max-width:760px){ .pr-row{ grid-template-columns:44px minmax(0,1fr) 44px; } .pr-stock,.pr-price{ display:none; } }

/* ── Прототип матчерного верха карточки (только HR2470, решение 12.07) ── */
.pm-mtop{ display:grid; grid-template-columns:284px 1fr 460px; gap:26px; align-items:start; background:#fff; border:1px solid var(--line); border-radius:14px; padding:20px 22px; margin-bottom:24px; }
.pm-mtop-gallery{ display:flex; gap:10px; }
.pm-mtop-thumbs{ display:flex; flex-direction:column; gap:8px; flex:0 0 auto; max-height:184px; overflow-y:auto; scrollbar-width:thin; }
.pm-mtop-thumbs::-webkit-scrollbar{ width:4px; }
.pm-mtop-thumbs::-webkit-scrollbar-thumb{ background:var(--line); border-radius:4px; }
.pm-mtop-thumb{ width:40px; height:40px; flex-shrink:0; border-radius:8px; border:1.5px solid var(--line); background:#fff; padding:3px; cursor:pointer; display:grid; place-items:center; overflow:hidden; }
.pm-mtop-thumb img{ max-width:100%; max-height:100%; object-fit:contain; }
.pm-mtop-thumb.active{ border-color:var(--teal); }
.pm-mtop-thumb:hover{ border-color:var(--teal); }
.pm-mtop-img{ position:relative; width:234px; height:234px; border-radius:10px; background:#fff; display:grid; place-items:center; overflow:hidden; cursor:zoom-in; }
.pm-mtop-img img{ max-width:100%; max-height:100%; object-fit:contain; }
.pm-mtop-zoom-ic{ position:absolute; right:8px; bottom:8px; width:26px; height:26px; border-radius:7px; background:rgba(255,255,255,.92); border:1px solid var(--line); display:grid; place-items:center; color:#5b6470; }
.pm-mtop-img:hover .pm-mtop-zoom-ic{ color:var(--teal); border-color:var(--teal); }
.pm-lightbox{ display:none; position:fixed; inset:0; background:rgba(10,14,16,.88); z-index:9999; align-items:center; justify-content:center; padding:40px; }
.pm-lightbox.show{ display:flex; }
.pm-lightbox img{ max-width:90vw; max-height:88vh; object-fit:contain; border-radius:8px; }
.pm-lightbox-close{ position:absolute; top:20px; right:24px; width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,.12); border:0; color:#fff; display:grid; place-items:center; cursor:pointer; }
.pm-lightbox-close:hover{ background:rgba(255,255,255,.22); }
.pm-lightbox-arrow{ position:absolute; top:50%; transform:translateY(-50%); width:48px; height:48px; border-radius:50%; background:rgba(255,255,255,.12); border:0; color:#fff; display:grid; place-items:center; cursor:pointer; }
.pm-lightbox-arrow:hover{ background:rgba(255,255,255,.22); }
.pm-lightbox-arrow svg{ width:26px; height:26px; }
.pm-lightbox-prev{ left:20px; }
.pm-lightbox-next{ right:20px; }
@media (max-width:640px){ .pm-lightbox-arrow{ width:40px; height:40px; } .pm-lightbox-prev{ left:8px; } .pm-lightbox-next{ right:8px; } }
@media (max-width:900px){ .pm-mtop-gallery{ flex-direction:column-reverse; } .pm-mtop-thumbs{ flex-direction:row; } }
.pm-mtop-body h1{ font-size:19px; font-weight:800; letter-spacing:-.02em; margin:0 0 10px; line-height:1.35; }
.pm-chip{ font-family:"JetBrains Mono",monospace; font-size:13px; color:#556; background:#f4f6f8; border:1px solid #e8ebee; border-radius:9px; padding:4px 12px; }
.pm-chip-g{ color:#0F6E56; background:#E1F5EE; border-color:#c4e3df; }
.pm-mtop-desc{ font-size:14px; line-height:1.55; color:var(--text); margin:2px 0 0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; max-width:56ch; }
.pm-mtop-desc.is-expanded{ display:block; -webkit-line-clamp:unset; overflow:visible; }

/* Акция «купи вместе» (перенесено с прода: \SB\BundlePromos, старая карточка price.php) */
.pm-mtop-bundle{ margin:10px 0 10px; max-width:56ch; background:#FFF8E6; border:1px solid #F2D98A; border-radius:10px; padding:11px 13px; }
.pm-mtop-bundle-head{ font-weight:700; font-size:12.5px; color:#8A6D1A; margin-bottom:6px; }
.pm-mtop-bundle-row{ font-size:13px; line-height:1.5; color:#5a4a12; padding:5px 0; }
.pm-mtop-bundle-row + .pm-mtop-bundle-row{ border-top:1px solid #f0e2b0; }
.pm-mtop-bundle-row a{ color:#8A6D1A; font-weight:600; text-decoration:underline; }
.pm-mtop-bundle-row b{ color:#B8460E; }
.pm-mtop-bundle-more{ font-size:12px; font-weight:600; color:#8A6D1A; margin-top:6px; background:none; border:none; padding:0; cursor:pointer; text-decoration:underline; font-family:inherit; }
.pm-mtop-bundle-more:hover{ color:#B8460E; }
.pm-mtop-buy{ display:flex; flex-direction:column; align-items:flex-end; width:100%; max-width:100%; }
.pm-mtop-stk3{ flex:0 0 auto; }
.pm-mtop-bottomrow{ display:flex; align-items:center; justify-content:space-between; gap:20px; width:100%; margin-top:18px; }
.pm-mtop-pricebox{ display:flex; flex-direction:column; align-items:flex-end; flex:0 0 auto; width:100%; }
.pm-mtop-price{ font-family:"JetBrains Mono",monospace; font-size:28px; font-weight:800; color:#161a1c; display:flex; align-items:baseline; gap:10px; letter-spacing:-.01em; font-variant-numeric:tabular-nums; }
.pm-mtop-pct{ font-size:13px; font-weight:800; color:#fff; background:#DE5A1F; border-radius:8px; padding:3px 10px; }
.pm-mtop-rrcline{ margin-top:4px; font-size:13.5px; color:#6b7480; font-family:"JetBrains Mono",monospace; font-variant-numeric:tabular-nums; align-self:flex-end; }
.pm-mtop-rrcline s{ text-decoration:line-through; }
.pm-mtop-oos{ width:280px; max-width:100%; }
.pm-mtop-actions{ display:flex; align-items:stretch; gap:8px; width:280px; max-width:100%; flex:0 0 auto; }
.pm-mtop-actions.p-buy{ background:none; border:0; border-radius:0; padding:0; box-shadow:none; position:static; top:auto; }
.pm-mtop-cta{ all:unset; box-sizing:border-box; flex:1; height:44px; border-radius:10px; background:var(--teal); color:#fff; font-size:14px; font-weight:700; display:flex; align-items:center; justify-content:center; cursor:pointer; min-width:0; letter-spacing:.15px; transition:background 150ms ease, transform 120ms cubic-bezier(.22,1,.36,1); }
.pm-mtop-cta:active{ transform:scale(.97); }
.pm-mtop-cta:focus-visible{ outline:2px solid var(--teal); outline-offset:2px; }
.pm-mtop-oos{ font-size:13.5px; color:#98a2ad; }
@media (hover:hover) and (pointer:fine){ .pm-mtop-cta:hover{ background:#0c5c48; } }
@media (max-width:900px){ .pm-mtop{ grid-template-columns:1fr; } .pm-mtop-buy{ align-items:flex-start; width:auto; } }
@media (prefers-reduced-motion:reduce){ .pm-mtop-cta{ transition:none; } .pm-mtop-cta:active{ transform:none; } }

/* Вкладки как в makita_matcher.html: пилюли .tab/.on (только на прото-карточке) */
.pm-tabs-proto .p-tabs-nav{ display:flex; gap:26px; flex-wrap:wrap; border-bottom:1px solid var(--line); padding:0; background:none; border-radius:0; margin-bottom:16px; }
.pm-tabs-proto .p-tab-btn{ position:relative; font:600 14.5px var(--font-sans,inherit); color:#8b95a1; background:none; border:none; border-radius:0; padding:10px 2px 12px; cursor:pointer; transition:color .15s; }
.pm-tabs-proto .p-tab-btn.active{ background:none; color:var(--teal); font-weight:700; }
.pm-tabs-proto .p-tab-btn.active::after{ content:""; position:absolute; left:0; right:0; bottom:-1px; height:2.5px; background:var(--teal); border-radius:2px; }
.pm-tabs-proto .p-tab-btn .tab-cnt{ background:none; color:#98a2ad; padding:0; margin-left:5px; font-size:11px; font-weight:600; font-family:"JetBrains Mono",monospace; }
.pm-tabs-proto .p-tab-btn.active .tab-cnt{ color:var(--teal); }

/* Артикул над названием в прото-карточке (12.07) */
.pm-mtop-art{ font-family:"JetBrains Mono",monospace; font-size:13px; color:#5b6470; margin-bottom:6px; }
.pm-mtop-art b{ color:var(--teal); font-weight:700; }

/* Прото-карточка HR2470: спек-чипы как на обычной карточке (не слитно в h1) */
.pm-mtop-body .pm-mtop-specs{ margin:8px 0 10px; }

/* Группы расходки: одна строка с горизонтальным скроллом вместо переноса (12.07) */
.rel-subtabs{ flex-wrap:nowrap !important; overflow:hidden; }
.rel-subtab, .rel-all{ flex:0 0 auto; white-space:nowrap; }
.rel-subtab[hidden]{ display:none !important; }

/* Степпер количества + кнопка «Добавить» в строке расходки (12.07) */
.pr-actions{ display:flex; align-items:center; gap:8px; justify-content:flex-end; }
.pr-qty{ height:32px; }
.pr-qty button{ width:24px; height:30px; }
.pr-qty input{ width:26px; height:30px; font-size:12px; }

/* Степпер + сердечко в единой строке действий .pm-mtop-actions (44px высота, как кнопка «В заказ») */
.pm-mtop-qty{ display:flex; align-items:center; border:1.5px solid var(--line); border-radius:10px; overflow:hidden; height:44px; flex:0 0 auto; transition:border-color 150ms ease; box-sizing:border-box; }
.pm-mtop-qty:focus-within{ border-color:var(--teal); }
.pm-mtop-qty button{ all:unset; box-sizing:border-box; width:38px; height:44px; display:flex; align-items:center; justify-content:center; font-size:16px; color:#5b6470; cursor:pointer; transition:background 120ms ease, transform 120ms ease-out; }
.pm-mtop-qty button:hover{ background:#f3f5f6; color:#161a1c; }
.pm-mtop-qty button:active{ transform:scale(.96); }
.pm-mtop-qty button:focus-visible{ outline:2px solid var(--teal); outline-offset:-2px; }
.pm-mtop-qty input{ width:34px; height:44px; text-align:center; border:0; border-left:1px solid var(--line); border-right:1px solid var(--line); font-weight:700; font-size:14px; font-variant-numeric:tabular-nums; box-sizing:border-box; }

.pm-mtop-fav{ all:unset; box-sizing:border-box; width:44px; height:44px; border-radius:10px; border:1.5px solid var(--line); background:#fff; color:#8b95a1; display:flex; align-items:center; justify-content:center; cursor:pointer; flex:0 0 auto; transition:border-color 150ms ease, color 150ms ease, transform 120ms cubic-bezier(.22,1,.36,1); }
.pm-mtop-fav svg{ width:19px; height:19px; }
.pm-mtop-fav.is-fav{ border-color:#DE5A1F; color:#DE5A1F; background:#FFF3EC; }
.pm-mtop-fav.is-fav svg path{ fill:currentColor; }
.pm-mtop-fav:active{ transform:scale(.96); }
.pm-mtop-fav:focus-visible{ outline:2px solid var(--teal); outline-offset:2px; }
@media (hover:hover) and (pointer:fine){ .pm-mtop-fav:hover{ border-color:#DE5A1F; color:#DE5A1F; } }
@media (prefers-reduced-motion:reduce){ .pm-mtop-qty button, .pm-mtop-fav{ transition:none; } .pm-mtop-qty button:active, .pm-mtop-fav:active{ transform:none; } }

/* === PM_ORD_LIST_V2: колонки Оплата + раскрывающийся список товаров === */
.ord-pay{font-size:12.5px;font-weight:700;white-space:nowrap}
.ord-pay.paid{color:#16a34a}
.ord-pay.unpaid{color:#c0392b}
.ord-items-toggle{display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:0;
  color:var(--teal);font-size:13.5px;font-weight:700;cursor:pointer;font-family:inherit}
.ord-items-toggle svg{width:14px;height:14px;transition:transform .18s}
.ord-items-toggle.open svg{transform:rotate(180deg)}
.ord-items-none{font-size:13px;color:var(--muted)}
.ord-sub td{background:#fafaf8;padding:10px 16px 12px;border-bottom:1px solid var(--line, #E5E1DA)}
.ord-sub-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.ord-sub-list li{display:flex;align-items:baseline;justify-content:space-between;gap:14px;font-size:13px;line-height:1.45}
.ord-sub-name{color:var(--text)}
.ord-sub-qty{font-family:'JetBrains Mono',monospace;font-weight:700;white-space:nowrap;color:var(--muted)}
.ord-card-items{margin-top:8px}
.ord-card-items summary{display:inline-flex;align-items:center;gap:6px;list-style:none;cursor:pointer;
  color:var(--teal);font-size:13.5px;font-weight:700}
.ord-card-items summary::-webkit-details-marker{display:none}
.ord-card-items summary svg{width:14px;height:14px;transition:transform .18s}
.ord-card-items[open] summary svg{transform:rotate(180deg)}
.ord-card-items .ord-sub-list{margin-top:8px;padding:10px 12px;background:#fafaf8;border-radius:10px}

/* PM_ORD_LIST_V2: контрагент + № счёта */
.ord-contragent{font-size:13.5px;color:var(--text);max-width:230px}
.ord-dash{color:var(--muted)}
.ord-invoice-link{display:inline-flex;align-items:flex-start;gap:6px;color:var(--teal);font-size:13px;font-weight:600;
  text-decoration:none;line-height:1.35;max-width:220px}
.ord-invoice-link:hover{text-decoration:underline}
.ord-invoice-link svg{width:15px;height:15px;flex:0 0 auto;margin-top:1px}
.ord-card-contragent{font-size:13px;color:var(--muted);margin:2px 0 6px}
.ord-card-invoice{margin-bottom:8px}

/* === PM_PROFILE_V2: профили по контрагентам === */
.pf-profiles-count{font-size:13px;font-weight:700;color:var(--muted);background:#f3f4f6;border-radius:999px;padding:3px 12px}
.pf-intro{margin:0 0 14px;font-size:13.5px;color:var(--muted);line-height:1.55}
.pf-ctg{border:1.5px solid #e5e7eb}
.pf-ctg.is-done{border-color:#bbf7d0;background:#f6fef9}
.pf-ctg-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.pf-ctg-id{min-width:0}
.pf-ctg-name{font-size:15.5px;font-weight:700;color:var(--ink,#14120E);line-height:1.3}
.pf-ctg-req{font-size:12.5px;color:var(--muted);margin-top:3px}
.pf-ctg-badge{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;
  background:#dcfce7;color:#16a34a;font-size:12.5px;font-weight:700;padding:5px 11px;border-radius:999px}
.pf-ctg-badge svg{width:15px;height:15px}
.pf-ctg-details{margin-top:14px}
.pf-ctg-hint{margin:12px 0 12px;font-size:13px;color:var(--muted);line-height:1.5}

/* PM: строка счёта в блоке «Последний заказ» на главной */
.db-alert-invoice{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}
.db-alert-inv-link{display:inline-flex;align-items:center;gap:7px;color:var(--teal);font-weight:700;font-size:14px;text-decoration:none;border-bottom:1.5px dashed rgba(17,125,152,.45)}
.db-alert-inv-link:hover{border-bottom-color:var(--teal)}
.db-alert-inv-link svg{width:17px;height:17px;flex:0 0 auto}
.db-alert-invoice .ord-pay{font-size:12.5px;font-weight:700}

/* PM: фото менеджера на главной + контрагент в плашке последнего заказа */
.db-manager-photo{width:40px;height:40px;border-radius:50%;object-fit:cover;flex:0 0 auto;background:#eef2f5}
.db-alert-ctg{font-size:13.5px;font-weight:600;color:var(--ink,#14120E);margin-top:2px}

/* PM: статус «Требует подтверждения» — заказ обработан 1С, ждёт подтверждения дилера (громче pending) */
.ord-badge.attention{ background:#ea580c; color:#fff; font-weight:700; } .ord-badge.attention::before{ background:#fff; }
.db-badge.attention{ background:#ea580c; color:#fff; font-weight:700; } .db-badge.attention::before{ background:#fff; }
.od-badge.attention{ background:#ea580c; color:#fff; font-weight:700; } .od-badge.attention::before{ background:#fff; }

/* PM: дата заказа в заголовке плашки «Последний заказ» */
.db-alert-date{font-size:.72em;font-weight:600;color:var(--muted);vertical-align:middle;letter-spacing:0}

/* PM: мостик из поиска в «Подбор расходки» */
.pb-bridge{display:flex;align-items:center;gap:12px;margin:2px 0 16px;padding:13px 18px;background:#f6fbfc;border:1.5px solid #cfe6ec;border-radius:13px;text-decoration:none;color:var(--ink,#14120E);font-size:14px;line-height:1.4;transition:border-color .15s,box-shadow .15s}
.pb-bridge:hover{border-color:var(--teal,#117d98);box-shadow:0 6px 18px -10px rgba(17,125,152,.4)}
.pb-bridge svg{width:22px;height:22px;flex:0 0 auto;color:var(--teal,#117d98)}
.pb-bridge b{color:var(--teal,#117d98)}
.pb-bridge-go{margin-left:auto;white-space:nowrap;font-weight:700;color:var(--teal,#117d98)}
@media(max-width:600px){.pb-bridge{flex-wrap:wrap}.pb-bridge-go{margin-left:34px}}

/* PM: подбор — шапка инструмента, который нельзя купить */
.pb-tool-dead{background:#faf9f6;border-color:#e5e1da}
.pb-tool-dead .pb-tool-meta a{color:var(--muted);border-bottom:1px dashed currentColor;text-decoration:none}
.pb-tool-dead .pb-tool-meta a:hover{color:var(--teal,#117d98)}

/* PM_HEADER_PODBOR_V1: подбор — вторая по важности кнопка дилера.
   Оранжевая «Мои заказы» остаётся единственным главным действием, поэтому
   подбору даём светлую полупрозрачную заливку той же высоты: заметно, но
   не спорит за внимание. Сердце и корзина — утилитарные иконки справа. */
.na-link.na-podbor{ height:44px; border-radius:11px; padding:0 16px; font-weight:700;
  background:rgba(255,255,255,.16); border-color:rgba(255,255,255,.36); color:#fff !important; }
.na-link.na-podbor svg{ color:#fff; }
.na-link.na-podbor:hover{ background:rgba(255,255,255,.26); border-color:rgba(255,255,255,.55); }
.na-link.na-fav{ padding:0 12px; }
.na-link.na-fav svg{ color:rgba(255,255,255,.9); }
@media (max-width:1280px){ .na-link.na-podbor{ padding:0 14px; } }

/* ВОССТАНОВЛЕНО 21.07: блоки, потерянные при заливке устаревшей копии CSS 20.07 */

/* --- цена товара: крупная сумма + оранжевый бейдж скидки + РРЦ --- */
/* PM_PRICE_UNIFIED_V1: единый вид цены со скидкой — карточка товара И листинги
   (каталог, «Похожие товары», «Ранее вы смотрели», топ-виджеты). Цена + оранжевый
   бейдж скидки в одну строку, РРЦ перечёркнутым моно-шрифтом ниже. Базовый размер —
   под карточку листинга; на странице товара крупнее через .pm-mtop-pricebox. */
.pm-price{ font-family:"JetBrains Mono",monospace; font-size:21px; font-weight:800; color:var(--ink); display:flex; align-items:baseline; gap:8px; letter-spacing:-.01em; font-variant-numeric:tabular-nums; line-height:1.15; }
.pm-price-pct{ font-size:12px; font-weight:800; color:#fff; background:#DE5A1F; border-radius:7px; padding:2px 8px; white-space:nowrap; }
.pm-price-rrc{ margin-top:3px; font-size:12px; color:var(--muted); font-family:"JetBrains Mono",monospace; font-variant-numeric:tabular-nums; }
.pm-price-rrc s{ text-decoration:line-through; }

.pm-mtop-pricebox .pm-price{ font-size:28px; gap:10px; color:#161a1c; }
.pm-mtop-pricebox .pm-price-pct{ font-size:13px; border-radius:8px; padding:3px 10px; }
.pm-mtop-pricebox .pm-price-rrc{ margin-top:4px; font-size:13.5px; color:#6b7480; align-self:flex-end; }
.pm-price-gain{ margin-top:3px; font-size:13.5px; font-weight:700; color:#1f6b34; align-self:flex-end; }

/* --- play-иконка на плитках видео-обзоров --- */
    /* у видео-обзоров исходное фото без встроенного play — добавляем свой, как у остальных плиток */
    .ph-noplay .ph-play-ic{ position:absolute; top:50%; left:50%; width:34px; height:34px; transform:translate(-50%,-50%); pointer-events:none; filter:drop-shadow(0 2px 6px rgba(0,0,0,.35)); transition:transform .4s var(--ease-out); }
    .mat-tile:hover .ph-noplay .ph-play-ic{ transform:translate(-50%,-50%) scale(1.08); }

/* --- «или напишите письмо» под формой дилера --- */
    /* «или напишите письмо» под нижней формой дилера на главной госте */
    .pf-alt{ margin:12px 0 0; font-size:13px; color:var(--muted); text-align:center; }
    .pf-alt a{ color:var(--accent-dark); font-weight:600; }

/* --- мобильный таб-бар кабинета (дилер) + кука-баннер над ним --- */
/* === PM_TABBAR_V1: мобильный нижний таб-бар кабинета (дилер) === */
.pm-tabbar{display:none}
@media (max-width:760px){
  .pm-tabbar{
    display:flex;position:fixed;left:0;right:0;bottom:0;z-index:80;
    background:#fff;border-top:1px solid #E5E1DA;
    box-shadow:0 -4px 16px rgba(20,18,14,.08);
    padding:4px 2px calc(4px + env(safe-area-inset-bottom, 0px));
  }
  .pm-tab{
    flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;
    padding:5px 2px;color:#6B675F;text-decoration:none;font-size:10.5px;font-weight:600;
    line-height:1.1;border-radius:10px;
  }
  .pm-tab svg{width:22px;height:22px;display:block}
  .pm-tab-ic{position:relative;display:block}
  .pm-tab-badge{
    position:absolute;top:-5px;right:-9px;min-width:15px;height:15px;padding:0 3px;
    border-radius:8px;background:#DE5A1F;color:#fff;font:700 9.5px/15px 'JetBrains Mono',monospace;
    text-align:center;font-style:normal;
  }
  .pm-tab.is-active{color:#14120E}
  .pm-tab.is-active svg{color:#DE5A1F}
  /* контент не должен прятаться под плашкой */
  html[data-auth="dealer"] body{padding-bottom:calc(62px + env(safe-area-inset-bottom, 0px))}
}

/* PM_TABBAR_V1: кука-баннер поверх таб-бара — поднять над плашкой */
@media (max-width:760px){
  html[data-auth="dealer"] .legacy-cookie{bottom:calc(62px + env(safe-area-inset-bottom, 0px)) !important}
}

/* PM_PODBOR_ROWS_V1: .pr-rows по умолчанию display:none — он рассчитан на вкладки
   карточки товара (.p-tab-panel.active). На /podbor/ вкладок нет, поэтому там
   контейнер показываем всегда. Разметка и стили строк остаются общими. */
.pb-tabs .p-tab-panel.active .pr-rows{ display:flex; }

/* PM_PODBOR_TABS_V1: вкладки подбора — конструкция карточки товара, поэтому
   стили наследуются; правим только отступ сверху (у подбора нет галереи). */
.pb-tabs{ margin-top:22px; }
/* PM_PODBOR_TABS_V1: внутри вкладки расходки показываем только активную группу чипа */
.pb-tabs .p-tab-panel.active .rel-group{ display:none; }
.pb-tabs .p-tab-panel.active .rel-group.active{ display:flex; }

/* PM: «Ранее вы смотрели» — картинки без серой подложки, чистый белый вид */
.recent-thumb{ background:transparent !important; }

/* PM_ALERT_MULTI_ONE: несколько заказов на подтверждение — одна плашка, строка на заказ */
.db-alert-multi{ display:flex; flex-direction:column; margin-top:10px; }
.db-alert-multi > .db-alert-confirm + .db-alert-confirm{ margin-top:16px; }
.db-alert-more{ display:inline-flex; align-items:center; gap:6px; margin-top:10px; padding:0; border:0; background:none; cursor:pointer; font-family:inherit; font-size:13.5px; font-weight:700; color:var(--teal,#117d98); }
.db-alert-more svg{ width:15px; height:15px; transition:transform 150ms; }
.db-alert-more.is-open svg{ transform:rotate(180deg); }
.db-alert-row{ display:flex; align-items:center; justify-content:space-between; gap:20px;
  padding:20px 0; border-top:1px solid rgba(15,23,42,.08); }
.db-alert-row:first-child{ border-top:none; padding-top:0; }
.db-alert-row:last-child{ padding-bottom:0; }
.db-alert-row-main{ min-width:0; }
.db-alert-row .db-alert-title{ margin:0 0 8px; font-size:16px; }
.db-alert-row .db-alert-invoice{ margin:0; }
.db-alert-row-sum{ font-weight:700; white-space:nowrap; }
.db-alert-row-actions{ flex-shrink:0; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.db-alert-row-actions .db-btn-primary{ padding:10px 16px; font-size:14px; }
.db-alert-row-actions .db-btn-secondary{ height:44px; font-size:13.5px; }
@media (max-width:640px){
  .db-alert-row{ flex-direction:column; align-items:stretch; }
  .db-alert-row-actions .db-btn-primary{ width:100%; justify-content:center; }
}

/* ==== PM_NOTIFY_V1: колокольчик + плашка оповещений дилера (дозапись) ==== */
.pm-ntf { position: relative; display: flex; align-items: center; margin-right: 10px; }
.pm-ntf-btn { position: relative; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 0; border-radius: 10px; background: transparent; color: inherit; cursor: pointer; }
.pm-ntf-btn:hover { background: rgba(0,0,0,.06); }
.pm-ntf-btn svg { width: 22px; height: 22px; }
.pm-ntf-badge { position: absolute; top: 2px; right: 0; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 9px; background: #e03e3e; color: #fff; font-size: 11px; font-weight: 700; line-height: 17px; text-align: center; }
.pm-ntf-menu { position: absolute; top: calc(100% + 8px); right: -60px; z-index: 220; width: 360px; max-width: calc(100vw - 24px); background: #fff; border: 1px solid rgba(0,0,0,.1); border-radius: 14px; box-shadow: 0 14px 40px rgba(0,0,0,.16); overflow: hidden; }
.pm-ntf-head { display: flex; align-items: center; justify-content: space-between; padding: 12px 14px; border-bottom: 1px solid rgba(0,0,0,.07); font-size: 14px; }
.pm-ntf-readall { border: 0; background: none; color: #0a67c2; font-size: 12.5px; cursor: pointer; padding: 0; }
.pm-ntf-readall:hover { text-decoration: underline; }
.pm-ntf-list { max-height: 380px; overflow-y: auto; }
.pm-ntf-empty { padding: 22px 14px; text-align: center; color: #888; font-size: 13px; }
.pm-ntf-item { padding: 11px 14px 11px 24px; border-bottom: 1px solid rgba(0,0,0,.05); cursor: pointer; position: relative; }
.pm-ntf-item:last-child { border-bottom: 0; }
.pm-ntf-item:hover { background: rgba(0,0,0,.03); }
.pm-ntf-item::before { content: ''; position: absolute; left: 10px; top: 17px; width: 7px; height: 7px; border-radius: 50%; background: #b9c2cc; }
.pm-ntf-item.t-warning::before { background: #e8a13c; }
.pm-ntf-item.t-important::before { background: #e03e3e; }
.pm-ntf-item.unread { background: #f2f7fd; }
.pm-ntf-item.unread:hover { background: #eaf2fb; }
.pm-ntf-t { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; font-size: 13.5px; }
.pm-ntf-t b { font-weight: 600; }
.pm-ntf-t span { color: #97a1ab; font-size: 11.5px; white-space: nowrap; }
.pm-ntf-b { margin-top: 6px; font-size: 13px; line-height: 1.45; color: #4a5560; word-break: break-word; }
.pm-ntf-b a { color: #0a67c2; }
/* плашка на дашборде */
.pm-ntf-plate { display: flex; flex-direction: column; gap: 10px; margin-bottom: 14px; }
.pm-ntf-plate-item { display: flex; align-items: flex-start; gap: 12px; padding: 13px 16px; border-radius: 14px; border: 1px solid; }
.pm-ntf-plate-item.t-info { background: #f2f7fd; border-color: #cfe1f3; }
.pm-ntf-plate-item.t-warning { background: #fdf6e9; border-color: #f0dcb4; }
.pm-ntf-plate-item.t-important { background: #fdf0f0; border-color: #f2cccc; }
.pm-ntf-plate-body { flex: 1 1 auto; min-width: 0; font-size: 13.5px; line-height: 1.45; }
.pm-ntf-plate-body b { display: inline-block; font-weight: 700; margin-right: 8px; }
.pm-ntf-plate-date { color: #97a1ab; font-size: 11.5px; white-space: nowrap; }
.pm-ntf-plate-text { margin-top: 4px; color: #4a5560; word-break: break-word; }
.pm-ntf-plate-text a { color: #0a67c2; }
.pm-ntf-plate-close { flex: 0 0 auto; border: 0; background: none; color: #97a1ab; font-size: 20px; line-height: 1; cursor: pointer; padding: 2px 4px; }
.pm-ntf-plate-close:hover { color: #4a5560; }
@media (max-width: 760px) {
  .pm-ntf { display: none; } /* на мобиле колокольчик в m-tools ведёт на дашборд */
}

/* PM_BLOG_LIST_V2 (05.08): листинг блога списком (картинка слева, текст справа), вместо сетки 2xN карточек */
.bl-list{ display:flex; flex-direction:column; gap:14px; margin-top:2px; }
.bl-card{ display:flex; flex-direction:row; align-items:stretch; background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden; transition:box-shadow .2s ease, border-color .2s ease; }
.bl-card:hover{ box-shadow:0 10px 26px rgba(15,30,50,.09); border-color:transparent; }
.bl-card-img{ display:block; flex:0 0 240px; aspect-ratio:16/10; overflow:hidden; background:var(--strip); }
.bl-card-img img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s ease; }
.bl-card:hover .bl-card-img img{ transform:scale(1.04); }
.bl-card-noimg{ display:block; width:100%; height:100%; background:linear-gradient(135deg,var(--strip),#e6ebef); }
.bl-card-body{ display:flex; flex-direction:column; justify-content:center; gap:8px; padding:14px 22px; min-width:0; }
.bl-card-title{ color:var(--teal); font-size:16px; font-weight:700; line-height:1.32; letter-spacing:-.01em; text-decoration:none; }
.bl-card:hover .bl-card-title{ text-decoration:underline; }
@media (max-width: 640px){ .bl-card{ flex-direction:column; } .bl-card-img{ flex:0 0 auto; width:100%; } }

/* PM_BUY_REQ_V1: две кнопки-заявки в карточке товара для гостя (вместо «Войти как дилер») */
.p-buy-req{ display:flex; flex-direction:column; gap:10px; }
.p-buy-req .p-buy-cta{ height:52px; }
.p-buy-cta-ghost{ background:#fff !important; color:var(--teal) !important; border:1.5px solid var(--teal); }
.p-buy-cta-ghost:hover{ background:var(--strip) !important; }
.p-buy-signin{ display:block; text-align:center; margin-top:2px; font-size:13.5px; font-weight:600; color:var(--muted); text-decoration:none; }
.p-buy-signin:hover{ color:var(--teal); }

/* PM_GUEST_PRICE_V1: читаемость гостевого ценового блока в листинге каталога */
.for-guest .p-price-box{ margin-bottom:2px; }
.for-guest .p-rrc{ font-size:10.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--muted); margin-bottom:3px; }
.for-guest .p-price{ font-size:23px; line-height:1.02; color:var(--ink); }
.for-guest .p-hint{ display:flex; align-items:flex-start; gap:7px; font-size:12.5px; line-height:1.4; color:var(--text); }
.for-guest .p-hint-ic{ width:15px; height:15px; flex:0 0 auto; color:var(--teal); margin-top:1px; }
.for-guest .p-hint-a{ color:var(--teal); font-weight:700; white-space:nowrap; }
.p-grid.list .for-guest .p-rrc{ font-size:10.5px; }
.p-grid.list .for-guest .p-more{ height:38px; padding:0 20px; }
.p-grid.list .for-guest .p-hint{ max-width:230px; }

/* PM_BUY_REQ_V2: полировка гостевого блока цены в карточке товара */
.p-buy .for-guest .p-buy-lbl{ font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); margin:0 0 6px; }
.p-buy .for-guest .p-buy-price-row{ margin:0 0 16px; }
.p-buy .for-guest .p-buy-price{ font-size:30px; line-height:1; }
.p-buy .for-guest .p-buy-guest-hint{ margin-bottom:16px; font-size:12.5px; line-height:1.45; padding:11px 13px; border-radius:12px; }
.p-buy .for-guest .p-buy-guest-hint svg{ width:16px; height:16px; }
.p-buy-req{ gap:8px; }
.p-buy-req .p-buy-cta{ height:48px; font-size:14.5px; font-weight:700; gap:8px; padding:0 12px; border-radius:12px; white-space:nowrap; }
.p-buy-req .p-buy-cta svg{ width:18px; height:18px; flex:0 0 auto; }
.p-buy-cta-ghost{ border-width:1px; font-weight:600 !important; }
.p-buy-req .p-buy-signin{ margin-top:6px; font-size:13px; font-weight:600; }
@media (max-width:380px){ .p-buy-req .p-buy-cta{ font-size:13.5px; } }

/* PM_GUEST_PRICE_V2: подсказка-плашка в одну строку (листинг, гость) */
.for-guest .p-hint{ display:inline-flex; align-items:center; gap:7px; padding:6px 11px; border-radius:9px; background:rgba(0,101,122,.07); color:var(--teal-dark); font-size:12px; font-weight:600; line-height:1.3; white-space:nowrap; }
.for-guest .p-hint-ic{ width:14px; height:14px; margin-top:0; color:var(--teal); }
.for-guest .p-hint-a{ all:unset; }
.p-grid.list .for-guest .p-hint{ max-width:none; }
@media (max-width:480px){ .for-guest .p-hint{ white-space:normal; } }

/* PM_REL_GO_V1: у гостя в рельсах (аналоги и пр.) вместо иконки корзины — кнопка «Перейти» */
.rel-go{ display:inline-flex; align-items:center; justify-content:center; height:34px; padding:0 16px; border-radius:9px; border:1px solid var(--line-strong); color:var(--ink); font-size:13px; font-weight:600; transition:border-color var(--dur-fast), color var(--dur-fast); }
.rel-card:hover .rel-go{ border-color:var(--teal); color:var(--teal); }

/* ==== PM_MEGA_V2: мега-меню — брендовые зоны, читаемый регистр, тихая строка запчастей ==== */
/* заголовки колонок: обычный регистр (названия теперь человеческие), метка бренда */
.mega-col h3{ text-transform:none !important; font-size:15px !important; letter-spacing:0 !important; display:flex; align-items:center; gap:8px; }
.mega-b-stihl h3{ border-bottom-color:#f37a1f !important; }
/* разделитель между брендовыми зонами (перед первой STIHL-колонкой) */
.mega-brand-split{ position:relative; }
.mega-brand-split::before{ content:''; position:absolute; left:-17px; top:4px; bottom:8px; width:1px; background:var(--line); }
/* ссылки колонок: спокойный размер и межстрочник под нормальный регистр */
.mega-col a{ font-size:14.5px; padding:6px 0; line-height:1.35; }
/* нижняя строка запчастей */
.mega-links{ grid-column:1 / -1; grid-row:2; display:flex; align-items:center; flex-wrap:wrap; gap:6px 26px; margin-top:16px; padding-top:18px; border-top:1px solid #eef1f5; }
.mega-links-lbl{ display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:700; color:var(--muted); }
.mega-links-lbl svg{ width:15px; height:15px; }
.mega-links-item{ display:inline-flex; align-items:center; gap:6px; font-size:14px; font-weight:600; color:var(--ink); transition:color var(--dur-fast); }
.mega-links-item span{ color:var(--muted); transition:color var(--dur-fast); }
.mega-links-item:hover{ color:var(--teal); }
.mega-links-item:hover span{ color:var(--teal); }
@media (max-width:1200px){ .mega-brand-split::before{ display:none; } }
/* PM_MEGA_V2.1: перекрываем старое капс-правило 1633 — нормальный регистр и размер ссылок */
.mega-col a:not(.mega-all){ text-transform:none; font-size:14.5px !important; letter-spacing:0; font-weight:500; }
.mega-col h3, .mega-col h3 .mega-col-title{ text-transform:none !important; }
/* PM_MEGA_V2.2: иконки у заголовков колонок (точки-маркеры удалены) + крупнее иконка запчастей */
.mega-col-ic{ display:inline-flex; width:20px; height:20px; flex:0 0 auto; }
.mega-col-ic svg{ width:20px; height:20px; }
.mega-b-makita .mega-col-ic{ color:var(--teal); }
.mega-b-stihl .mega-col-ic{ color:#f37a1f; }
.mega-links-lbl svg{ width:19px; height:19px; }
.mega-links-lbl{ font-size:14px; }
/* PM_VIEWED_V1: лента «Ранее вы смотрели» (дашборд дилера + корзина) */
.pm-viewed{ margin:2px 0 4px; }
.cart-page .pm-viewed, .pm-viewed + footer{ margin-top:18px; }
.pm-viewed-head h3{ display:flex; align-items:center; gap:8px; margin:0 0 12px; font-size:16px; font-weight:800; color:var(--ink); }
.pm-viewed-head svg{ width:18px; height:18px; color:var(--teal); }
.pm-viewed-rail{ display:flex; gap:12px; overflow-x:auto; padding-bottom:6px; scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch; }
.pm-viewed-rail .rel-card{ width:186px; }
.pm-viewed-rail::-webkit-scrollbar{ height:8px; }
.pm-viewed-rail::-webkit-scrollbar-thumb{ background:var(--line-strong); border-radius:4px; }
/* PM_VIEWED_V1.1: все фото ленты — в одинаковый квадрат (иначе размеры пляшут) */
.pm-viewed-rail .rel-img{ aspect-ratio:1/1; width:100%; padding:6px; box-sizing:border-box; }
.pm-viewed-rail .rel-img img{ width:100%; height:100%; object-fit:contain; background:#fff; }
/* PM_VIEWED_V2: блок «Ранее вы смотрели» в корзине — как в кабинете (db-recent), с отступом сверху */
.pm-cart-recent{ margin-top:22px; }
.pm-cart-recent:empty{ display:none; margin:0; }
/* PM_HEAD_PODBOR_V1: подбор расходки перенесён из 2-го ряда шапки в строку поиска, справа от «Найти» */
.main-row .search-group{ display:flex; align-items:center; gap:12px; width:100%; justify-content:center; }
html[data-auth="dealer"] .main-row .search-group{ justify-content:stretch; }
.main-row .search-group .search{ justify-self:auto; margin:0; flex:1 1 auto; }
/* PM_HIDE_PODBOR_V1 (08.08): временно скрыта по просьбе — легко вернуть, убрав display:none ниже */
.head-podbor{ display:none !important; flex:0 0 auto; display:inline-flex; align-items:center; gap:8px; height:46px; padding:0 16px; border-radius:12px; border:1.5px solid var(--teal); background:rgba(0,101,122,.06); color:var(--teal); font-size:14px; font-weight:700; white-space:nowrap; transition:background var(--dur-fast), color var(--dur-fast); }
.head-podbor:hover{ background:var(--teal); color:#fff; }
.head-podbor svg{ width:19px; height:19px; }
@media (max-width:1100px){ .head-podbor span{ display:none; } .head-podbor{ padding:0 13px; } }

/* PM_TOP_LINKS_V1: плашки дашборда «Топ продаж/Маржа/Новинки» — переходы на /top/ по брендам */
.db-rec-links{ display:flex; flex-direction:column; gap:8px; margin-top:10px; }
.db-rec-links a{ display:flex; align-items:center; gap:10px; padding:11px 14px; border:1.5px solid #ece9e2;
  border-radius:11px; font-size:14px; font-weight:700; color:var(--ink,#14120E); text-decoration:none;
  background:#faf9f6; transition:border-color .15s, background .15s; }
.db-rec-links a:hover{ border-color:var(--teal,#117d98); background:#f2f9fb; }
.db-rec-links a i{ width:10px; height:10px; border-radius:3px; flex:0 0 auto; }
.db-rec-links a svg{ width:16px; height:16px; margin-left:auto; color:var(--muted); }

/* PM_TOP_BADGE_FIT: бейдж на карточке не вылезает за фото (длинные суммы) */
.tw-badge{ max-width:calc(100% - 20px); overflow:hidden; text-overflow:ellipsis; }

/* PM_TOP_BADGE_BODY: бейдж топ-страницы в теле карточки (не поверх фото) */
.tw-badge-body{ position:static; align-self:flex-start; margin-bottom:4px; }

/* PM_TOP_LINKS_V2: дизайновые плашки-переходы на /top/ (иконка+подзаголовок+бренд-кнопки) */
.tp-lnk{ padding:0; overflow:hidden; }
.tp-lnk-head{ display:flex; align-items:center; gap:12px; padding:14px 16px; text-decoration:none;
  color:var(--ink,#14120E); transition:background .15s; }
.tp-lnk-head:hover{ background:#faf9f6; }
.tp-lnk-head > svg{ width:18px; height:18px; margin-left:auto; color:var(--muted); flex:0 0 auto;
  transition:transform .15s; }
.tp-lnk-head:hover > svg{ transform:translateX(3px); }
.tp-lnk-ico{ width:40px; height:40px; border-radius:12px; display:flex; align-items:center; justify-content:center; flex:0 0 auto; }
.tp-lnk-ico svg{ width:21px; height:21px; }
.tp-lnk-sales .tp-lnk-ico{ background:#e6f4f7; color:var(--teal,#117d98); }
.tp-lnk-margin .tp-lnk-ico{ background:#fef3c7; color:#b45309; }
.tp-lnk-new .tp-lnk-ico{ background:#d1fae5; color:#047857; }
.tp-lnk-txt{ display:flex; flex-direction:column; gap:1px; min-width:0; }
.tp-lnk-txt b{ font-size:15px; font-weight:800; letter-spacing:-.01em; }
.tp-lnk-txt small{ font-size:12px; color:var(--muted); }
.tp-lnk-brands{ display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:0 16px 14px; }
.tp-lnk-brands a{ display:flex; align-items:center; gap:8px; padding:9px 12px; border:1.5px solid #ece9e2;
  border-radius:10px; font-size:13.5px; font-weight:700; color:var(--ink,#14120E); text-decoration:none;
  background:#faf9f6; transition:border-color .15s, background .15s; }
.tp-lnk-brands a:hover{ border-color:var(--teal,#117d98); background:#f2f9fb; }
.tp-lnk-brands a i{ width:9px; height:9px; border-radius:3px; flex:0 0 auto; }
.tp-lnk-brands a svg{ width:14px; height:14px; margin-left:auto; color:var(--muted); }

/* PM_TOP_LINKS_V3: бренд-кнопки в фирменных цветах (тон → полная заливка на ховере) */
.tp-lnk-brands a.bm{ background:#e6f4f7; border-color:#bfe0e7; color:#00707c; }
.tp-lnk-brands a.bm:hover{ background:#008290; border-color:#008290; color:#fff; }
.tp-lnk-brands a.bs{ background:#fff3e8; border-color:#fbd9b8; color:#d96608; }
.tp-lnk-brands a.bs:hover{ background:#f37a1f; border-color:#f37a1f; color:#fff; }
.tp-lnk-brands a.bm svg, .tp-lnk-brands a.bs svg{ color:currentColor; opacity:.7; }
.tp-lnk-brands a{ justify-content:center; font-weight:800; letter-spacing:.01em; }
.tp-lnk-brands a svg{ margin-left:6px; }

/* PM_TOP_LINKS_V4: счётчик позиций в бренд-кнопках */
.tp-lnk-brands a .cnt{ font-size:11.5px; font-weight:800; padding:1px 7px; border-radius:999px;
  background:rgba(255,255,255,.75); margin-left:6px; }
.tp-lnk-brands a:hover .cnt{ background:rgba(255,255,255,.22); color:#fff; }

/* PM_SEC_TITLE: заголовок секции кабинета на фоне (вне белой карточки) */
.db-sec-title{ margin:22px 0 12px; font-size:17px; font-weight:800; color:var(--ink,#14120E); letter-spacing:-.01em; }

/* PM_TOP_BADGE_COLORS: цвета бейджей топов (везде: листинги, карточка, топ-страница) */
.tw-badge.b-top{ background:#fef3c7; border-color:#fde68a; color:#92400e; }
.tw-badge.b-margin{ background:#ede9fe; border-color:#ddd6fe; color:#5b21b6; }
.tw-badge.b-new{ background:#d1fae5; border-color:#a7f3d0; color:#065f46; }
.p-topbadge{ margin-bottom:8px; font-size:12px; height:26px; padding:0 12px; }

/* PM_CAB_TITLE_LINK: заголовок «Мой кабинет» в меню — кликабельный возврат к обзору */
a.db-cab-card-title{ text-decoration:none; cursor:pointer; transition:color .15s; }
a.db-cab-card-title:hover{ color:var(--teal,#117d98); }

/* PM_TOP_BADGE_WIDTH: бейдж в теле карточки — по ширине текста, с внутренними отступами по краям */
.tw-badge-body{ display:inline-flex; width:auto; max-width:max-content; padding:0 14px; }

/* PM_TOP_MULTIBADGE: несколько бейджей у товара — в один ряд с переносом */
.tw-badges{ display:flex; gap:6px; flex-wrap:wrap; align-self:flex-start; margin-bottom:4px; }
.tw-badges .tw-badge-body{ margin-bottom:0; }

/* PM_REL_IMG_UNIFORM: фото в рельсах аналогов — строго одинаковый квадрат (contain), футер прижат к низу */
.rel-img{ width:100%; overflow:hidden; }
.rel-img img{ width:100%; height:100%; object-fit:contain; }
.rel-foot{ margin-top:auto; }

/* PM_COPY_ART_V1: иконка копирования артикула — в листингах, рельсах, подборе */
.p-art, .rel-art, .pr-art{ display:inline-flex; align-items:center; gap:5px; }
.pm-copy-art{ display:inline-flex; align-items:center; justify-content:center; width:20px; height:20px; padding:0;
  border:0; background:transparent; color:var(--muted); cursor:pointer; border-radius:5px; flex:0 0 auto;
  transition:background .15s, color .15s; }
.pm-copy-art svg{ width:13px; height:13px; }
.pm-copy-art:hover{ background:#f2f9fb; color:var(--teal,#117d98); }
.pm-copy-art.copied{ color:#16a34a; }
.pm-copy-art.copied svg{ display:none; }
.pm-copy-art.copied::after{ content:"✓"; font-size:12px; font-weight:800; line-height:1; }

/* PM_SEC_HEAD_ALL: заголовок секции + «Смотреть все» (топ-каталог на дашборде) */
.db-sec-head{ display:flex; align-items:center; justify-content:space-between; margin:22px 0 12px; }
.db-sec-head .db-sec-title{ margin:0; }
.db-sec-all{ display:inline-flex; align-items:center; gap:5px; font-size:13.5px; font-weight:700;
  color:var(--teal,#117d98); text-decoration:none; }
.db-sec-all svg{ width:15px; height:15px; transition:transform .15s; }
.db-sec-all:hover svg{ transform:translateX(3px); }

/* PM_CAB_TITLE_V2: заголовок «Мой кабинет» — на всю ширину карточки, с явной подсветкой при наведении */
a.db-cab-card-title{ display:flex; align-items:center; gap:8px; text-decoration:none; cursor:pointer;
  transition:color .15s, background .15s; }
a.db-cab-card-title:hover{ color:var(--teal,#117d98); background:#f6fbfc; text-decoration:underline;
  text-underline-offset:3px; }
/* PM_BUNDLE_BUY_V1: кнопка «Заказать комплект» в блоке «Акция «купи вместе»» — ссылка на PT-товар */
.pm-mtop-bundle-row-flex{ display:flex; align-items:center; justify-content:space-between; gap:14px; }
.pm-mtop-bundle-txt{ flex:1 1 auto; min-width:0; }
.pm-mtop-bundle-buy{ flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; height:32px; padding:0 14px; border-radius:8px; border:1.5px solid var(--teal); color:var(--teal); font-size:12.5px; font-weight:700; white-space:nowrap; text-decoration:none; transition:background var(--dur-fast), color var(--dur-fast); }
.pm-mtop-bundle-buy:hover{ background:var(--teal); color:#fff; }
@media (max-width:480px){ .pm-mtop-bundle-row-flex{ flex-direction:column; align-items:flex-start; gap:8px; } .pm-mtop-bundle-buy{ align-self:stretch; text-align:center; } }

/* PM_ORD_DOCS_STACK_V2: Счёт и УПД друг под другом — обёрткой, ЯЧЕЙКУ ТАБЛИЦЫ не трогаем
   (ord-invoice — реальный <td>, display:flex на нём ломал vertical-align/высоту строки) */
.ord-docs-stack{ display:flex; flex-direction:column; align-items:flex-start; gap:5px; }
.db-alert-docs{ display:flex; flex-direction:column; align-items:flex-start; gap:5px; }

/* PM_TOP_NAV_MEGA_V1: «Топ каталога» — в верхней навигации, мега-меню и сайдбаре кабинета */
.nav-link.nav-top{ display:inline-flex; align-items:center; gap:6px; }
.nav-link.nav-top svg{ width:15px; height:15px; color:#f59e0b; }

.mega-top-ic{ display:inline-flex; color:#117d98; width:16px; height:16px; }
.mega-top-ic svg{ width:16px; height:16px; }

/* PM_TOP_NAV_MEGA_V2: правки — своя ячейка грида (не поверх акции), иконки в переходах */
.mega-top-card{ background:#f6fbfc; border:1.5px solid #cfe6ec; border-radius:16px; padding:16px; }
.mega-top-links{ display:flex; flex-direction:column; gap:6px; margin-top:10px; flex-wrap:wrap; }
.mega-top-links a{ display:flex; align-items:center; gap:8px; font-size:13px; font-weight:700;
  padding:8px 12px; border-radius:9px; background:#fff; border:1.5px solid #cfe6ec; color:#117d98;
  text-decoration:none; transition:background .15s, border-color .15s; }
.mega-top-links a:hover{ background:#117d98; border-color:#117d98; color:#fff; }
.mega-top-links a svg{ width:15px; height:15px; flex:0 0 auto; opacity:.85; }

/* PM_TOP_NAV_MEGA_V3: акция+топ каталога — одна flex-колонка на всю высоту грида */
.mega-side-col{ grid-column: 5; grid-row: 1 / -1; display:flex; flex-direction:column; gap:14px; align-self:start; }

@media (max-width:1200px){ .mega-side-col{ grid-column:1 / -1; grid-row:auto; flex-direction:row; flex-wrap:wrap; } }

/* PM_DASH_PROMO_BANNERS_V4: высота 94px, заголовок крупнее, счётчик в кнопке (тег убран) */
/* PM_DASH_PROMO_UNDER_ORDERS_V1 (07.08): баннеры теперь ПОД таблицей заказов (было над ней),
 * не в сайдбаре — margin-top вместо margin-bottom, т.к. идут после, а не перед. */
.db-promo-banners{ display:flex; flex-direction:column; gap:10px; margin-top:0; }
.db-promo-b{ position:relative; width:100%; height:94px; border-radius:var(--radius,16px); overflow:hidden;
  box-shadow:var(--shadow-soft,0 10px 24px rgba(15,23,42,.07)); display:block; text-decoration:none;
  transition:transform var(--dur-base,200ms) var(--ease-out,cubic-bezier(.23,1,.32,1)), box-shadow var(--dur-base,200ms) var(--ease-out,cubic-bezier(.23,1,.32,1)); }
.db-promo-b:hover{ transform:translateY(-1px); box-shadow:0 6px 18px rgba(0,101,122,.30); }
.db-promo-b:active{ transform:scale(.97); }
.db-promo-b1{ background:linear-gradient(90deg,#00556a 0%,#00657a 32%,#0a7d93 56%,#2eadcd 76%,#2eadcd 100%); }
.db-promo-b2{ background:linear-gradient(90deg,#052733 0%,#0b4356 34%,#12718d 60%,#2399bf 78%,#2399bf 100%); }
.db-promo-photo{ position:absolute; right:0; top:0; height:100%; }
.db-promo-b1 .db-promo-photo{ width:161px; }
.db-promo-b2 .db-promo-photo{ width:171px; }
.db-promo-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.db-promo-photo-fade{ position:absolute; left:0; top:0; width:70px; height:100%; pointer-events:none; }
.db-promo-b1 .db-promo-photo-fade{ background:linear-gradient(90deg,#2eadcd 0%,rgba(46,173,205,0) 100%); }
.db-promo-b2 .db-promo-photo-fade{ background:linear-gradient(90deg,#2399bf 0%,rgba(35,153,191,0) 100%); }
.db-promo-shade{ position:absolute; left:0; top:0; width:780px; height:100%; pointer-events:none; }
.db-promo-b1 .db-promo-shade{ background:linear-gradient(90deg,rgba(0,85,106,.35) 0%,rgba(0,85,106,0) 100%); }
.db-promo-b2 .db-promo-shade{ background:linear-gradient(90deg,rgba(5,39,51,.45) 0%,rgba(5,39,51,0) 100%); }
.db-promo-content{ position:relative; height:100%; display:flex; align-items:center; padding:0 26px; gap:18px; }
.db-promo-b1 .db-promo-content{ padding-right:177px; }
.db-promo-b2 .db-promo-content{ padding-right:187px; }
.db-promo-main{ display:flex; align-items:center; gap:20px; min-width:0; }
.db-promo-pct{ display:flex; align-items:flex-start; justify-content:flex-start; color:#fff; font-family:"JetBrains Mono",monospace; font-weight:700; line-height:.9; flex:0 0 auto; width:138px; }
.db-promo-pct .lbl{ font-size:14px; align-self:center; margin-right:5px; font-family:"Onest",sans-serif; font-weight:600; opacity:.8; }
.db-promo-pct .num{ font-size:35px; letter-spacing:-.03em; }
.db-promo-pct .sym{ font-size:15px; margin-top:3px; }
.db-promo-sep{ width:1.5px; height:44px; background:rgba(255,255,255,.22); flex:0 0 auto; }
.db-promo-text{ display:flex; flex-direction:column; gap:5px; width:430px; flex:0 0 auto; }
.db-promo-tag{ align-self:flex-start; padding:2px 8px; border-radius:var(--pill,999px); background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.28); color:#fff; font-family:"JetBrains Mono",monospace; font-size:10px; font-weight:600;
  letter-spacing:.05em; white-space:nowrap; }
.db-promo-title{ color:#fff; font-size:21px; font-weight:800; line-height:1.15; letter-spacing:-.02em; white-space:nowrap; }
.db-promo-cta{ margin-left:32px; align-self:center; flex:0 0 auto; display:inline-flex; align-items:center; gap:9px;
  color:#fff; font-size:15px; font-weight:700; white-space:nowrap;
  padding:10px 18px; border:1.5px solid rgba(255,255,255,.4); border-radius:var(--r,12px); background:transparent;
  transition:background var(--dur-base,200ms) var(--ease-out,cubic-bezier(.23,1,.32,1)), border-color var(--dur-base,200ms) var(--ease-out,cubic-bezier(.23,1,.32,1)); }
.db-promo-b:hover .db-promo-cta{ background:rgba(255,255,255,.14); border-color:#fff; }
.db-promo-cta-arrow{ display:inline-flex; align-items:center; justify-content:center; font-size:15px; font-weight:600; flex:0 0 auto;
  transition:transform var(--dur-fast,150ms) var(--ease-out,cubic-bezier(.23,1,.32,1)); }
.db-promo-b:hover .db-promo-cta-arrow{ transform:translateX(3px); }
@media (max-width:1100px){
  .db-promo-photo{ display:none; }
  .db-promo-b1 .db-promo-content, .db-promo-b2 .db-promo-content{ padding-right:24px; }
}
@media (max-width:720px){
  .db-promo-b{ height:auto; }
  .db-promo-content{ flex-direction:column; align-items:flex-start; padding:20px !important; gap:14px; }
  .db-promo-main{ flex-direction:column; align-items:flex-start; gap:14px; }
  .db-promo-sep{ display:none; }
  .db-promo-text{ width:auto; }
  .db-promo-cta{ margin-left:0; }
}

/* PM_DASH_TOPW_V1: компактный виджет «Топ каталога» в правой колонке дашборда (вместо акции) */
.db-topw{ background:#fff; border:1.5px solid var(--line,#e5e7eb); border-radius:var(--radius,16px);
  box-shadow:0 1px 6px rgba(0,0,0,.04); overflow:hidden; }
.db-topw-head{ display:flex; align-items:center; gap:11px; padding:14px 16px 12px; border-bottom:1px solid #f3f4f6; }
.db-topw-ic{ width:38px; height:38px; border-radius:12px; background:#e6f4f7; color:var(--teal,#117d98);
  display:flex; align-items:center; justify-content:center; flex:0 0 auto; }
.db-topw-ic svg{ width:20px; height:20px; }
.db-topw-txt{ display:flex; flex-direction:column; gap:1px; min-width:0; }
.db-topw-txt b{ font-size:15px; font-weight:800; color:var(--ink,#14120E); letter-spacing:-.01em; }
.db-topw-txt small{ font-size:12px; color:var(--muted,#586374); }
.db-topw-links{ display:flex; flex-direction:column; padding:8px; gap:4px; }
.db-topw-links a{ display:flex; align-items:center; gap:9px; padding:10px 12px; border-radius:10px;
  font-size:13.5px; font-weight:700; color:var(--ink,#14120E); text-decoration:none;
  transition:background var(--dur-fast,150ms) ease, color var(--dur-fast,150ms) ease; }
.db-topw-links a:hover{ background:#f2f9fb; color:var(--teal,#117d98); }
.db-topw-links a svg{ width:16px; height:16px; flex:0 0 auto; color:var(--muted,#586374); }
.db-topw-links a:hover svg{ color:var(--teal,#117d98); }
.db-topw-links a .cnt{ margin-left:auto; font-size:11.5px; font-weight:800; padding:2px 8px; border-radius:999px;
  background:#f1f5f9; color:var(--muted,#586374); }
.db-topw-links a:hover .cnt{ background:#e6f4f7; color:var(--teal,#117d98); }

/* PM_DASH_TOPW_V2: виджет без шапки — компактнее; последняя строка таблицы без нижней границы */
.db-topw-links{ padding:10px; }
.db-tbl tr:last-child td{ border-bottom:0; }

/* PM_DASH_TOPW_V3: живой виджет — цветные иконки в подложках, подпись под названием */
.db-topw-links a{ gap:11px; padding:11px 12px; align-items:center; }
.db-topw-links a .ic{ width:34px; height:34px; border-radius:11px; display:flex; align-items:center; justify-content:center;
  flex:0 0 auto; transition:transform var(--dur-fast,150ms) var(--ease-out,cubic-bezier(.23,1,.32,1)); }
.db-topw-links a .ic svg{ width:18px; height:18px; }
.db-topw-links a:hover .ic{ transform:scale(1.08); }
.db-topw-links a.tw-sales .ic{ background:#e6f4f7; color:#00707c; }
.db-topw-links a.tw-margin .ic{ background:#fef3c7; color:#b45309; }
.db-topw-links a.tw-new .ic{ background:#d1fae5; color:#047857; }
.db-topw-links a .tx{ display:flex; flex-direction:column; gap:1px; min-width:0; }
.db-topw-links a .tx b{ font-size:14px; font-weight:800; letter-spacing:-.01em; }
.db-topw-links a .tx small{ font-size:11.5px; color:var(--muted,#586374); font-weight:500; }
.db-topw-links a:hover .tx small{ color:var(--teal,#117d98); }

/* PM_DASH_TOPW_V4: значение скидки в виджете — акцентная плашка */
.db-topw-links a .cnt-pct{ background:#fef3c7; color:#b45309; font-size:11px; letter-spacing:.01em; }
.db-topw-links a:hover .cnt-pct{ background:#fde68a; color:#92400e; }

/* PM_DASH_TOPW_V5: название и пояснение в одну строку — виджет ниже */
.db-topw-links a{ padding:9px 12px; }
.db-topw-links a .tx{ flex-direction:row; align-items:baseline; gap:7px; flex-wrap:nowrap; overflow:hidden; }
.db-topw-links a .tx b{ flex:0 0 auto; }
.db-topw-links a .tx small{ position:relative; padding-left:9px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.db-topw-links a .tx small::before{ content:"·"; position:absolute; left:0; color:var(--line-strong,#d4d9df); }
.db-topw-links a .ic{ width:30px; height:30px; border-radius:10px; }
.db-topw-links a .ic svg{ width:16px; height:16px; }

/* PM_DASH_TOPW_V6: насыщенные цветные иконки — виджет заметнее */
.db-topw-links a.tw-sales .ic{ background:#00707c; color:#fff; }
.db-topw-links a.tw-margin .ic{ background:#f0a020; color:#fff; }
.db-topw-links a.tw-new .ic{ background:#10b981; color:#fff; }
.db-topw-links a .ic{ box-shadow:0 2px 6px rgba(15,23,42,.12); }
.db-topw-links a:hover .ic{ box-shadow:0 3px 10px rgba(15,23,42,.18); }

/* PM_DASH_TOPW_V7: пункты-чипы со светящимися цветными точками вместо иконок */
.db-topw-links{ padding:10px; gap:6px; }
.db-topw-links a{ padding:9px 14px; border-radius:var(--pill,999px); background:#faf9f6; border:1.5px solid #ece9e2; gap:10px; }
.db-topw-links a:hover{ background:#f2f9fb; border-color:#cfe6ec; }
.db-topw-links a .ic{ width:3px; height:3px; border-radius:50%; box-shadow:none; flex:0 0 auto;
  transition:box-shadow var(--dur-base,200ms) ease, transform var(--dur-fast,150ms) var(--ease-out,cubic-bezier(.23,1,.32,1)); }
.db-topw-links a.tw-sales .ic{ background:#00a3b8; box-shadow:0 0 0 3px rgba(0,163,184,.18), 0 0 8px rgba(0,163,184,.55); }
.db-topw-links a.tw-margin .ic{ background:#f0a020; box-shadow:0 0 0 3px rgba(240,160,32,.18), 0 0 8px rgba(240,160,32,.55); }
.db-topw-links a.tw-new .ic{ background:#10b981; box-shadow:0 0 0 3px rgba(16,185,129,.18), 0 0 8px rgba(16,185,129,.55); }
.db-topw-links a:hover .ic{ transform:scale(1.15); }
.db-topw-links a.tw-sales:hover .ic{ box-shadow:0 0 0 4px rgba(0,163,184,.25), 0 0 12px rgba(0,163,184,.75); }
.db-topw-links a.tw-margin:hover .ic{ box-shadow:0 0 0 4px rgba(240,160,32,.25), 0 0 12px rgba(240,160,32,.75); }
.db-topw-links a.tw-new:hover .ic{ box-shadow:0 0 0 4px rgba(16,185,129,.25), 0 0 12px rgba(16,185,129,.75); }

/* PM_DASH_TOPW_V8: чип только на заголовке; строка без фона/рамки */
.db-topw-links a{ background:transparent; border:0; padding:8px 10px; border-radius:10px; }
.db-topw-links a:hover{ background:#f6fbfc; border:0; }
.db-topw-links a .tx b{ display:inline-flex; align-items:center; padding:4px 11px; border-radius:9px;
  background:#f1f5f9; border:1.5px solid #e2e8f0; font-size:13.5px; line-height:1;
  transition:background var(--dur-fast,150ms) ease, border-color var(--dur-fast,150ms) ease, color var(--dur-fast,150ms) ease; }
.db-topw-links a.tw-sales:hover .tx b{ background:#e6f7f9; border-color:#a9dde5; color:#00707c; }
.db-topw-links a.tw-margin:hover .tx b{ background:#fef6e7; border-color:#f5d9a8; color:#b45309; }
.db-topw-links a.tw-new:hover .tx b{ background:#e7f9f1; border-color:#a7ebd0; color:#047857; }

/* PM_DASH_PROMO_BANNERS_V4: тег убран — заголовок один в колонке */
.db-promo-text{ gap:0; justify-content:center; }
.db-promo-tag{ display:none; }

/* PM_DASH_PROMO_BANNERS_V5: баннеры в одну строку — два в ряд, компактнее */
.db-promo-banners{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
/* PM_DASH_PROMO_ONLY_CHILD_V1: если акция всего одна (вторая закончилась) — растягиваем на всю ширину, не оставляем пустую колонку */
.db-promo-banners .db-promo-b:only-child{ grid-column: 1 / -1; }
/* PM_DASH_PROMO_ONLY_CHILD_V3: высоту НЕ увеличиваем (остаётся компактная 118px) —
 * вместо этого раскладываем всё содержимое в ОДНУ строку на всю ширину: процент, разделитель,
 * заголовок и кнопка идут подряд слева направо, кнопка прижата к правому краю. */
.db-promo-banners .db-promo-b:only-child{ height:130px; }
.db-promo-banners .db-promo-b:only-child .db-promo-content{
  flex-direction:row; align-items:center; justify-content:flex-start; padding:0 32px; gap:24px; }
.db-promo-banners .db-promo-b1:only-child .db-promo-content,
.db-promo-banners .db-promo-b2:only-child .db-promo-content{ padding-right:220px; }
.db-promo-banners .db-promo-b:only-child .db-promo-main{ flex-direction:row; align-items:center; gap:20px; flex:0 0 auto; }
.db-promo-banners .db-promo-b:only-child .db-promo-pct .num{ font-size:43px; }
.db-promo-banners .db-promo-b:only-child .db-promo-pct .sym{ font-size:16px; margin-top:4px; }
.db-promo-banners .db-promo-b:only-child .db-promo-pct .lbl{ font-size:16px; margin-right:6px; }
.db-promo-banners .db-promo-b:only-child .db-promo-sep{ height:40px; display:block; }
.db-promo-banners .db-promo-b:only-child .db-promo-title{ font-size:20px; white-space:normal; }
.db-promo-banners .db-promo-b:only-child .db-promo-cta{ position:static; margin-left:96px; align-self:center; font-size:16px; padding:10px 20px; gap:9px; white-space:nowrap; flex:0 0 auto; }
.db-promo-banners .db-promo-b:only-child .db-promo-cta-arrow{ font-size:14px; }
.db-promo-banners .db-promo-b1:only-child .db-promo-photo,
.db-promo-banners .db-promo-b2:only-child .db-promo-photo{ width:190px; }
.db-promo-banners .db-promo-b:only-child .db-promo-photo-fade{ width:85px; }
.db-promo-b{ height:118px; }
.db-promo-b1 .db-promo-photo, .db-promo-b2 .db-promo-photo{ width:132px; }
.db-promo-photo-fade{ width:60px; }
.db-promo-content{ flex-direction:column; align-items:flex-start; justify-content:center; padding:0 20px; gap:9px; }
.db-promo-b1 .db-promo-content, .db-promo-b2 .db-promo-content{ padding-right:152px; }
.db-promo-main{ flex-direction:row; align-items:center; gap:12px; }
.db-promo-pct{ width:auto; }
.db-promo-pct .num{ font-size:30px; }
.db-promo-pct .sym{ font-size:13px; margin-top:3px; }
.db-promo-pct .lbl{ font-size:12.5px; margin-right:4px; }
.db-promo-sep{ display:block; height:34px; }
.db-promo-text{ width:auto; min-width:0; }
.db-promo-title{ font-size:14px; white-space:normal; line-height:1.2; }
.db-promo-cta{ position:static; margin-left:0; align-self:flex-start; font-size:12.5px; padding:7px 13px; gap:7px; }
.db-promo-cta-arrow{ font-size:13px; }
@media (max-width:1200px){ .db-promo-banners{ grid-template-columns:1fr; } }
@media (max-width:720px){
  .db-promo-banners{ grid-template-columns:1fr; }
  .db-promo-b{ height:auto; }
  .db-promo-photo, .db-promo-photo-fade, .db-promo-shade{ display:none; }
  .db-promo-b1 .db-promo-content, .db-promo-b2 .db-promo-content{ padding:18px 20px; }
  .db-promo-content{ flex-direction:column; align-items:flex-start; gap:10px; }
  .db-promo-main{ flex-direction:row; align-items:center; gap:14px; }
  .db-promo-pct{ width:auto; }
  .db-promo-sep{ display:none; }
  .db-promo-text{ width:auto; min-width:0; flex:1 1 auto; }
  .db-promo-title{ font-size:15px; white-space:normal; line-height:1.3; }
  .db-promo-cta{ position:static; margin-left:0; align-self:stretch; justify-content:center; width:100%; }
}


/* PM_REQ_ALT_V1: альтернатива «форма vs письмо» сразу после интро, равный вес */
.req-alt{ margin:0 0 20px; }
.req-alt-lbl{ display:block; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); margin-bottom:8px; }
.req-alt-opts{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.req-alt-opt{ display:flex; align-items:center; justify-content:center; gap:8px; text-align:center;
  padding:12px 14px; border-radius:var(--r,12px); border:1.5px solid var(--line); font-size:13.5px; font-weight:600;
  color:var(--text); text-decoration:none; line-height:1.25;
  transition:border-color var(--dur-fast,150ms) ease, background var(--dur-fast,150ms) ease, color var(--dur-fast,150ms) ease; }
.req-alt-opt svg{ width:17px; height:17px; flex:0 0 auto; }
.req-alt-opt.is-active{ background:var(--teal); border-color:var(--teal); color:#fff; cursor:default; }
a.req-alt-opt{ background:var(--strip); }
a.req-alt-opt:hover{ border-color:var(--teal); color:var(--teal-dark); background:#fff; }
@media (max-width:480px){ .req-alt-opts{ grid-template-columns:1fr; } }

/* PM_TOP3COL_V1 (07.08): три вертикальные колонки (Топ продаж / Выгодно продавать / Новинки)
 * вместо строк-ссылок — 2 мини-карточки товара в каждой + «Смотреть все». Правая зона стала
 * шире (см. .db-top2 grid-template-columns), под 3 колонки с запасом. */
.db-top3col{ display:grid; grid-template-columns:repeat(3, 1fr); gap:0; height:100%; }
@media(max-width:1100px){ .db-top3col{ grid-template-columns:1fr; gap:14px; } .db-top3col .tw3-col{ border-left:0 !important; padding-left:2px !important; } }
.tw3-col{ display:flex; flex-direction:column; gap:6px; min-width:0; padding:2px 18px; }
.tw3-col:first-child{ padding-left:2px; }
.tw3-col + .tw3-col{ border-left:1px solid var(--line,#e5e7eb); }

.tw3-cards{ display:flex; flex-direction:column; gap:6px; }
.tw3-card{ display:flex; align-items:center; gap:9px; padding:6px; border-radius:9px; text-decoration:none; transition:background 150ms; min-width:0; }
.tw3-card:hover{ background:var(--strip,#f6fbfc); }
.tw3-img{ display:block; width:58px; height:58px; object-fit:contain; border-radius:8px; background:#fafafa; flex:0 0 auto; }
.tw3-price-wrap{ position:relative; display:inline-flex; align-items:center; }
.tw3-badge-top{ position:absolute; top:-13px; right:0; font-size:9.5px; font-weight:800; color:#fff; background:#c2410c; padding:1.5px 5px; border-radius:999px; line-height:1.3; white-space:nowrap; }
.tw3-name{ flex:1 1 auto; min-width:0; min-height:33px; font-size:12.5px; line-height:1.3; color:var(--ink,#14120E); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.tw3-price{ flex:0 0 auto; font-family:"JetBrains Mono",monospace; font-size:12px; font-weight:800; color:var(--ink,#14120E); white-space:nowrap; }
.tw3-all{ align-self:flex-end; margin-top:2px; display:inline-flex; align-items:center; gap:4px; font-size:11.5px; font-weight:700; color:var(--teal,#117d98); text-decoration:none; }
.tw3-all svg{ width:13px; height:13px; }
.tw3-all:hover{ color:var(--teal-dark,#0a5f70); }

/* PM_TOP3COL_V2 (07.08): заголовок в одну строку, цена дилера + зачёркнутая РРЦ + % выгоды. */
.tw3-head{ display:flex; align-items:baseline; justify-content:flex-end; gap:8px; font-size:15.64px; font-weight:800; letter-spacing:-.015em; text-decoration:none; padding-bottom:6px; color:var(--ink,#14120E); }
.tw3-count{ font-size:13px; font-weight:700; color:var(--muted,#586374); background:var(--strip,#f6fbfc); padding:2px 9px; border-radius:999px; }
.tw3-price-row{ display:flex; align-items:baseline; gap:6px; flex-wrap:wrap; }


/* PM_PROMO_QUICKNAV_V1 (07.08): два бейджа-якоря сверху /promo/ — как на проде,
 * прыжок к нужному блоку без прокрутки вслепую. */
.promo-quicknav{ display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:14px; margin-bottom:26px; }
.promo-quicknav-item{ display:flex; align-items:center; gap:12px; padding:14px 16px; border-radius:14px; border:1.5px solid; text-decoration:none; transition:transform 150ms ease, box-shadow 150ms ease; }
.promo-quicknav-item:hover{ transform:translateY(-1px); box-shadow:0 4px 14px rgba(0,0,0,.06); }
.promo-quicknav-item.bundles{ background:#fffbeb; border-color:#fde68a; }
.promo-quicknav-item.discount{ background:#f0fdf4; border-color:#bbf7d0; }
.pqn-ic{ font-size:22px; flex:0 0 auto; line-height:1; }
.pqn-tx{ flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:2px; }
.pqn-tx b{ font-size:14.5px; font-weight:800; color:var(--ink,#14120E); letter-spacing:-.01em; }
.pqn-tx small{ font-size:12px; color:var(--muted,#586374); }
.pqn-go{ flex:0 0 auto; display:inline-flex; align-items:center; gap:5px; height:32px; padding:0 13px; border-radius:999px; font-size:12.5px; font-weight:700; white-space:nowrap; }
.pqn-go svg{ width:13px; height:13px; }
.promo-quicknav-item.bundles .pqn-go{ background:#fde68a; color:#92400e; }
.promo-quicknav-item.discount .pqn-go{ background:#bbf7d0; color:#166534; }
@media(max-width:560px){ .pqn-tx small{ display:none; } }

/* PM_PROMO_GRID5_V1 (07.08): фиксированные 5 колонок на /promo/ (было auto-fill),
 * плитка «Смотреть все» вместо 10-й ячейки, иконка в заголовке блока. */
.promo-grid5{ grid-template-columns:repeat(5, 1fr) !important; }
@media(max-width:1100px){ .promo-grid5{ grid-template-columns:repeat(3, 1fr) !important; } }
@media(max-width:700px){ .promo-grid5{ grid-template-columns:repeat(2, 1fr) !important; } }
.promo-h-ic{ margin-right:8px; font-size:19px; vertical-align:-2px; }
.promo-seeall{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; text-decoration:none; background:var(--strip,#f6fbfc); color:var(--teal,#117d98); min-height:180px; }
.promo-seeall:hover{ border-color:var(--teal,#117d98); background:#eaf6f8; }
.psa-ic{ width:38px; height:38px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 1px 6px rgba(0,0,0,.08); }
.psa-ic svg{ width:18px; height:18px; }
.psa-tx{ display:flex; flex-direction:column; align-items:center; gap:2px; font-size:13px; font-weight:700; }
.psa-tx b{ font-size:15px; font-weight:800; }

/* PM_PT1831_PROTO_V1 (07.08): прототип детальной карточки акции «купи-получи» — только PT1831 */

/* PM_SCROLLTOP_V1 */
.pm-scrolltop{ position:fixed; right:28px; bottom:28px; z-index:80; width:48px; height:48px; border-radius:999px; border:1.5px solid var(--line-strong,#d4d9df); background:#fff; color:var(--teal,#117d98); box-shadow:0 8px 22px -6px rgba(15,23,42,.22); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background 150ms ease, transform 150ms var(--ease-out,cubic-bezier(.23,1,.32,1)), box-shadow 150ms ease; }
.pm-scrolltop[hidden]{ display:none; }
.pm-scrolltop:hover{ background:var(--teal,#117d98); color:#fff; border-color:var(--teal,#117d98); box-shadow:0 10px 26px -6px rgba(17,125,152,.35); }
.pm-scrolltop:active{ transform:scale(.94); }
.pm-scrolltop svg{ width:20px; height:20px; }
@media(max-width:860px){ .pm-scrolltop{ display:none !important; } }

/* ===== PM_PROMO_PAGE_V1 (09.08): страница акции «купи — получи» ===== */
/* заголовок акции и бейдж срока — в одной строке, бейдж с отступом от названия */
.pm-promo-head{ display:flex; align-items:baseline; flex-wrap:nowrap; gap:8px 16px; }
.pm-promo-head .pm-promo-h1{ margin:0; min-width:0; flex:1 1 auto; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pm-promo-until{ margin-left:auto; flex:0 0 auto; display:inline-flex; align-items:center; gap:6px; padding:4px 11px; border-radius:999px;
  background:#fff4e6; border:1.5px solid #ffd8a8; color:#b45309; font-size:12.5px; font-weight:700; white-space:nowrap; }
.pm-promo-until svg{ width:14px; height:14px; flex:0 0 auto; }
.pm-promo-h1{ font-size:clamp(20px,2.3vw,26px); line-height:1.25; }

.pm-promo-parts{ margin:18px 0 6px; padding:16px 18px; border:1.5px solid #e5e7eb; border-radius:14px; background:#fbfcfd; }
.pm-promo-similar-wrap{ margin:26px 22px 6px; width:100%; }
.pm-promo-similar-wrap .p-grid{ margin-top:12px; }
.pm-promo-parts-h{ font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--muted,#586374); margin-bottom:12px; }
.pm-promo-part{ padding:13px 0; border-top:1px solid #eef1f5; }
.pm-promo-part:first-of-type{ padding-top:0; border-top:0; }
.pm-promo-role{ display:inline-block; font-size:11.5px; font-weight:700; padding:2px 9px; border-radius:999px;
  background:#eef4f6; color:#0f6d80; margin-bottom:7px; }
.pm-promo-role.is-gift{ background:#e8f7ec; color:#1b7a3d; }

/* название товара — прозрачный чип с пунктирным подчёркиванием; ховер даёт превью */
.pm-promo-chip{ position:relative; display:inline-block; width:fit-content; max-width:100%; font-size:15px; font-weight:700;
  color:var(--ink,#14120E); text-decoration:none; border-bottom:1.5px dashed #b9c3cc; padding-bottom:1px;
  transition:color .15s ease, border-color .15s ease; }
.pm-promo-chip:hover{ color:var(--teal,#117d98); border-bottom-color:var(--teal,#117d98); }
.pm-promo-pop{ position:absolute; left:0; top:calc(100% + 9px); z-index:70; display:flex; gap:12px; width:330px; max-width:88vw;
  padding:12px; border-radius:12px; background:#fff; border:1.5px solid #e5e7eb; box-shadow:0 16px 34px -14px rgba(20,30,50,.30);
  opacity:0; visibility:hidden; transform:translateY(-4px); pointer-events:none;
  transition:opacity .15s ease, transform .15s ease, visibility .15s; }
.pm-promo-chip:hover .pm-promo-pop, .pm-promo-chip:focus-visible .pm-promo-pop{ opacity:1; visibility:visible; transform:translateY(0); }
.pm-promo-pop img{ width:76px; height:76px; object-fit:contain; flex:0 0 auto; background:#fff; }
.pm-promo-pop-tx{ min-width:0; display:flex; flex-direction:column; gap:4px; }
.pm-promo-pop-tx b{ font-size:13px; font-weight:700; line-height:1.35; color:var(--ink,#14120E); }
.pm-promo-pop-tx i{ font-style:normal; font-size:12px; color:var(--muted,#586374); }

/* название + «Развернуть» в одну строку; описание скрыто до клика */
.pm-promo-line{ display:flex; align-items:baseline; flex-wrap:wrap; gap:6px 14px; }
.pm-promo-dsc{ margin-top:9px; font-size:14px; line-height:1.5; color:var(--ink,#14120E); }
.pm-promo-more{ display:inline-flex; align-items:center; gap:5px; padding:0; border:0; background:none;
  cursor:pointer; font-size:13px; font-weight:700; color:var(--teal,#117d98); white-space:nowrap; }
.pm-promo-more svg{ width:15px; height:15px; transition:transform .15s ease; }
.pm-promo-more.is-open svg{ transform:rotate(180deg); }
@media (max-width:640px){ .pm-promo-pop{ display:none; } }
@media (max-width:480px){ .pm-promo-head{ flex-wrap:wrap; } }

/* PM_PROMO_PAGE_V1 (09.08): только страница акции — цена/кнопки сдвинуты к блоку
   состава, а не к правому краю страницы; наличие под кнопками. Не трогает
   .pm-mtop-buy/.pm-mtop-pricebox/.pm-mtop-bottomrow — они общие для всех карточек. */
.pm-mtop-promo{ grid-template-columns:312px minmax(0,1fr) 340px; }
/* весь правый блок — единая левая граница вместо разных прижатых-вправо ширин */
.pm-mtop-promo .pm-mtop-buy{ margin-top:40px; }
.pm-mtop-promo .pm-mtop-gallery{ margin-top:20px; }
.pm-mtop-promo .pm-mtop-img{ width:258px; height:258px; }
.pm-mtop-promo .pm-mtop-actions{ margin-top:38px; }
.pm-promo-stk3-below{ margin-top:18px; align-self:flex-end; width:162px; max-width:162px; margin-right:118px; }
@media (max-width:900px){ .pm-mtop-promo{ grid-template-columns:1fr; } }

/* ===== PM_AUTHFORM_STYLE_V1 (10.08): косметика системной формы Bitrix
   (bitrix:system.auth.form) — «Забыли пароль» / «Смена пароля» на /auth/.
   Только визуал, разметку и логику компонента не трогаем. ===== */
.bx-authform{ max-width:460px; margin:0 auto; background:#fff; border:1.5px solid #e5e7eb; border-radius:16px; padding:28px 30px; box-shadow:0 1px 6px rgba(0,0,0,.04); font-family:"Onest", sans-serif; }
.bx-authform .bx-title{ margin:0 0 18px; font-size:20px; font-weight:800; color:var(--ink); }
.bx-authform-content-container{ margin:0 0 18px; font-size:14px; color:var(--muted); line-height:1.55; }
.bx-authform-formgroup-container{ margin-bottom:16px; }
.bx-authform-label-container{ margin-bottom:6px; font-size:13.5px; font-weight:600; color:var(--ink); }
.bx-authform-input-container input[type="text"],
.bx-authform-input-container input[type="password"]{ width:100%; height:48px; border:1.5px solid var(--line-strong); border-radius:var(--r); padding:0 14px; font-family:"Onest", sans-serif; font-size:15px; color:var(--ink); background:var(--strip); outline:none; box-sizing:border-box; transition:border-color .15s ease, box-shadow .15s ease, background .15s ease; }
.bx-authform-input-container input[type="text"]:focus,
.bx-authform-input-container input[type="password"]:focus{ border-color:var(--teal); background:#fff; box-shadow:0 0 0 3px rgba(0,101,122,.12); }
.bx-authform-note-container{ margin-top:6px; font-size:12px; color:var(--muted); line-height:1.5; }
.bx-captcha{ margin-bottom:10px; }
.bx-captcha img{ border-radius:10px; border:1px solid var(--line); display:block; }
.bx-authform input[type="submit"]{ width:100%; height:48px; border:0; border-radius:11px; background:var(--teal); color:#fff; font-family:inherit; font-size:15px; font-weight:700; cursor:pointer; transition:background .15s; }
.bx-authform input[type="submit"]:hover{ background:var(--teal-dark); }
.bx-authform-link-container{ margin-top:16px; font-size:13px; text-align:center; }
.bx-authform-link-container a{ color:var(--teal); font-weight:600; text-decoration:none; }
.bx-authform-link-container a:hover{ text-decoration:underline; }
.bx-authform table{ width:100%; }
.bx-authform table td{ padding:2px 0; }

/* ===== PM_AUTHFORM_SUCCESS_V1 (10.08): после успешной отправки формы
   восстановления пароля показываем только сообщение об успехе — не дублируем
   заголовок/форму под ним (визуально путало: «уже же запросил»). Только
   скрытие через CSS, форма и логика компонента не тронуты. ===== */
.bx-authform{ position:relative; }
.bx-authform .alert.alert-success{ background:#eaf7ee; border:1.5px solid #b7e4c3; color:#1e6b3a; border-radius:12px; padding:16px 18px; margin-bottom:20px; font-size:14.5px; line-height:1.55; }
.bx-authform .alert.alert-success ~ .bx-title,
.bx-authform .alert.alert-success ~ .bx-authform-content-container,
.bx-authform .alert.alert-success ~ form{ display:none; }

/* ===== PM_DASHBOARD_WELCOME_V2 (11.08): у дилера без единого заказа самое видное
   место дашборда (слот «последний заказ», левая колонка db-top2) раньше не
   рендерило вообще ничего — пустая рамка. Праздничная приветственная карточка
   вместо неё, тем же градиентным языком, что уже есть в .db-alert (тёплый фон),
   только в фирменном teal вместо оранжевого «внимание». ===== */
.db-welcome-hero{
  position:relative; overflow:visible; height:100%; min-height:280px;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; gap:14px; padding:clamp(28px,4vw,40px) clamp(20px,3vw,32px);
  border-radius:16px; border:1.5px solid #bfe3dd;
  background:linear-gradient(160deg,#e6f6f4 0%,#f5fbfa 55%,#fff 100%);
  box-shadow:0 8px 26px -14px rgba(0,101,122,.28);
  isolation:isolate;
}
.db-welcome-hero::before,
.db-welcome-hero::after{ content:""; position:absolute; border-radius:50%; pointer-events:none; }
.db-welcome-hero::before{ width:140px; height:140px; background:var(--teal); opacity:.07; top:-55px; right:-45px; }
.db-welcome-hero::after{ width:100px; height:100px; background:#ea580c; opacity:.06; bottom:-40px; left:-30px; }
.db-welcome-hero h2{ position:relative; margin:0; font-size:19px; font-weight:800; color:var(--ink); opacity:0; animation:pmWelcomeIn .65s cubic-bezier(.2,.85,.3,1) .05s both; }
.db-welcome-hero p{ position:relative; margin:0; max-width:300px; font-size:13.5px; line-height:1.55; color:var(--muted); opacity:0; animation:pmWelcomeIn .65s cubic-bezier(.2,.85,.3,1) .2s both; }
.db-welcome-hero-actions{ position:relative; display:flex; gap:10px; flex-wrap:wrap; justify-content:center; margin-top:28px; opacity:0; animation:pmWelcomeIn .65s cubic-bezier(.2,.85,.3,1) .55s both; }
.db-welcome-hero .btn-solid.is-orange{ background:#ea580c; box-shadow:0 6px 18px -6px rgba(234,88,12,.55); }
.db-welcome-hero .btn-solid.is-orange:hover{ background:#c2410c; }
@media (max-width:900px){ .db-welcome-hero{ min-height:220px; padding:26px 20px; } }

/* PM_DASHBOARD_WELCOME_DRAMATURGY_V1 (11.08): сцена в три такта — сначала
   тепло проговариваем приветствие (заголовок, потом подпись), пауза, ЗАТЕМ дождь
   конфетти как радостная реакция на него, и последними — кнопки-приглашение
   к действию. Не одновременный салют, а история с началом и приглашением в конце. */
@keyframes pmWelcomeIn{
  0%{ opacity:0; transform:translateY(10px); }
  100%{ opacity:1; transform:translateY(0); }
}
.bx-authform .alert.alert-danger{ background:#fdf3f2; border:1.5px solid #f0c4bd; color:#a5321f; border-radius:12px; padding:16px 18px; margin-bottom:20px; font-size:14.5px; line-height:1.55; }
