  :root{
    --ink:#0C1726; --ink-2:#142338; --ink-3:#1E3048; --ink-4:#2A4060;
    --paper:#F3F6FA; --paper-2:#EBF0F7; --surface:#FFFFFF;
    --emerald:#0E9F6E; --emerald-d:#0A7A54; --emerald-soft:#E4F4ED;
    --indigo:#5A53E0; --indigo-soft:#ECEBFC;
    --blue:#2C6BE8; --blue-soft:#E6EFFD;
    --amber:#D98A0B; --amber-soft:#FBF0DA;
    --rose:#E0464B; --rose-soft:#FBE7E7;
    --line:#E3E9F1; --line-2:#EEF2F7;
    --muted:#64748B; --muted-2:#94A3B8;
    /* Тёмная «хромированная» панель (сайдбар/кнопки) — остаётся тёмной в ОБЕИХ темах */
    --side:#0C1726; --side-2:#142338; --side-3:#1E3048;
    --display:'Space Grotesk',system-ui,sans-serif;
    --body:'Inter',system-ui,sans-serif;
    --sh-sm:0 1px 2px rgba(12,23,38,.05);
    --sh:0 1px 2px rgba(12,23,38,.04),0 6px 20px rgba(12,23,38,.06);
    --sh-lg:0 4px 12px rgba(12,23,38,.06),0 18px 50px rgba(12,23,38,.10);
    --r:16px; --r-sm:11px;
  }
  /* ---------------- Тёмная тема ---------------- */
  [data-theme="dark"]{
    --ink:#E7EDF5; --ink-2:#D3DCEA; --ink-3:#B7C3D6; --ink-4:#98A7BF;
    --paper:#0D141E; --paper-2:#131C29; --surface:#18212F;
    --emerald:#26B98A; --emerald-d:#43D19E; --emerald-soft:#123528;
    --indigo:#8F89F2; --indigo-soft:#22203B;
    --blue:#5E95F6; --blue-soft:#15243C;
    --amber:#E8A73E; --amber-soft:#342811;
    --rose:#ED6E72; --rose-soft:#341A1C;
    --line:#28323F; --line-2:#202A38;
    --muted:#9DAFC6; --muted-2:#69798F;
    --sh-sm:0 1px 2px rgba(0,0,0,.35);
    --sh:0 1px 2px rgba(0,0,0,.35),0 6px 20px rgba(0,0,0,.4);
    --sh-lg:0 4px 12px rgba(0,0,0,.45),0 18px 50px rgba(0,0,0,.55);
  }
  [data-theme="dark"] .topbar{background:rgba(13,20,30,.82)}
  [data-theme="dark"] .seg button.on{background:var(--side-3)}
  [data-theme="dark"] .modal-card,[data-theme="dark"] .modal-ov>div{background:var(--surface)}
  /* Тёмная тема: бейджи со «светлым soft-фоном + тёмным текстом». В тёмной теме
     --*-soft становится ТЁМНЫМ (см. выше), а текст остался тёмным hex → сливался.
     Берём светлые оттенки акцентов, чтобы текст и рамки читались. */
  [data-theme="dark"] .act-badge.act-pending,
  [data-theme="dark"] .bonus,
  [data-theme="dark"] .st-prog,
  [data-theme="dark"] .pg-verdict.warn,
  [data-theme="dark"] .bonus-row .row-ic,
  [data-theme="dark"] .pf-warn .pf-ic,
  [data-theme="dark"] .stat-pill.draft,
  [data-theme="dark"] .pf-verdict.warn{color:var(--amber)}
  [data-theme="dark"] .badge.intern,
  [data-theme="dark"] .t-content,
  [data-theme="dark"] .pg-type.post{color:var(--indigo)}
  [data-theme="dark"] .t-meta,
  [data-theme="dark"] .pos-badge{color:var(--blue)}
  [data-theme="dark"] .st-gap,
  [data-theme="dark"] .pg-verdict.crit{color:var(--rose)}
  [data-theme="dark"] .err-box{color:var(--rose);border-color:var(--rose)}
  [data-theme="dark"] .pf-verdict.warn{border-color:var(--amber)}
  [data-theme="dark"] .pf-verdict.fail{border-color:var(--rose)}
  /* переключатели темы/языка в сайдбаре — по одной кнопке на каждый */
  .side-tools{display:flex;gap:8px;align-items:center;padding:0 6px 10px}
  .tog-btn{border:none;background:var(--side-3);color:#B9C6D8;font-family:var(--body);font-size:12px;font-weight:700;width:34px;height:30px;border-radius:9px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}
  .tog-btn:hover{background:var(--side-2);color:#fff}
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:var(--body);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.45}
  .num{font-family:var(--display);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}
  @media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

  .shell{display:flex;min-height:100vh}

  /* ---------------- Sidebar ---------------- */
  .side{width:252px;flex-shrink:0;background:var(--side);color:#fff;padding:20px 14px;display:flex;flex-direction:column;gap:3px;position:sticky;top:0;height:100vh;z-index:60;overflow-y:auto;overscroll-behavior:contain}
  .side::-webkit-scrollbar{width:7px}
  .side::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border-radius:6px}
  .side::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.24)}
  .brand{display:flex;align-items:center;gap:11px;padding:8px 10px 20px}
  .brand-mark{width:36px;height:36px;border-radius:10px;flex-shrink:0;background:linear-gradient(150deg,var(--emerald),#16D49E);display:grid;place-items:center;font-family:var(--display);font-weight:700;color:#04241A;font-size:19px;box-shadow:0 4px 14px rgba(14,159,110,.4)}
  .brand-mark-img{width:38px;height:38px;border-radius:10px;flex-shrink:0;object-fit:cover;box-shadow:0 2px 10px rgba(0,0,0,.12)}
  .brand-name{font-family:var(--display);font-weight:600;font-size:16.5px;letter-spacing:-.01em;line-height:1.1}
  .brand-sub{font-size:10.5px;color:var(--muted-2);letter-spacing:.05em;text-transform:uppercase;margin-top:1px}
  .nav-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#52617A;padding:15px 12px 7px;font-weight:600}
  .nav-item{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:10px;color:#9FAEC4;font-size:13.5px;font-weight:500;cursor:pointer;transition:background .15s,color .15s;position:relative}
  .nav-item svg{width:18px;height:18px;stroke-width:1.7;flex-shrink:0}
  .nav-item .count{margin-left:auto;font-family:var(--display);font-size:11px;font-weight:600;background:var(--side-3);color:#B9C6D8;padding:1px 7px;border-radius:20px}
  .nav-item:hover{background:var(--side-2);color:#DCE4EF}
  .nav-item.active{background:var(--side-3);color:#fff}
  .nav-item.active svg{color:var(--emerald)}
  .nav-item.active .count{background:var(--emerald);color:#04241A}
  .side-foot{margin-top:auto;border-top:1px solid var(--side-3);padding-top:12px}
  .me{display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:10px;cursor:pointer;transition:background .15s}
  .me:hover{background:var(--side-2)}
  .me-av{width:36px;height:36px;border-radius:50%;background:linear-gradient(140deg,#2C4063,#3D5680);display:grid;place-items:center;font-family:var(--display);font-weight:600;font-size:14px;color:#DCE9FB;flex-shrink:0}
  .me-name{font-size:13px;font-weight:600;color:#EAF0F8}
  .me-role{font-size:10.5px;color:var(--muted-2)}
  /* Переключатель активного сайта + вложенные разделы */
  .site-switch{display:flex;align-items:center;gap:8px;margin:3px 4px 5px;padding:8px 11px;background:var(--side-2);border-radius:10px}
  .ss-dot{width:8px;height:8px;border-radius:50%;background:var(--emerald);flex-shrink:0;box-shadow:0 0 0 3px rgba(14,159,110,.22)}
  .ss-name{font-family:var(--display);font-weight:600;font-size:13.5px;color:#EAF0F8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ss-sel{flex:1;min-width:0;background:none;border:none;color:#EAF0F8;font-family:var(--display);font-weight:600;font-size:13.5px;cursor:pointer;outline:none;-webkit-appearance:none;appearance:none;padding-right:14px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%239FAEC4' stroke-width='3'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right center}
  .ss-sel option{background:#142338;color:#EAF0F8}
  .nav-item.sub{padding-left:20px;font-size:13px}
  .nav-item.sub svg{width:16px;height:16px}
  .nav-sub-label{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:#3E4C63;padding:11px 12px 5px 20px;font-weight:600}
  .nav-label.clp,.nav-sub-label.clp{cursor:pointer;display:flex;align-items:center;gap:6px;user-select:none}
  .nav-label.clp:hover,.nav-sub-label.clp:hover{color:#8FA0B8}
  .nav-chev{width:0;height:0;border-left:4px solid currentColor;border-top:3px solid transparent;border-bottom:3px solid transparent;opacity:.55;transition:transform .15s;flex-shrink:0}
  .clp:not(.collapsed) .nav-chev{transform:rotate(90deg)}

  /* ---------------- Main ---------------- */
  .main{flex:1;min-width:0;display:flex;flex-direction:column}
  .topbar{height:62px;display:flex;align-items:center;gap:14px;padding:0 26px;border-bottom:1px solid var(--line);background:rgba(243,246,250,.82);backdrop-filter:blur(10px);position:sticky;top:0;z-index:40}
  .burger{display:none;background:none;border:none;cursor:pointer;color:var(--ink);padding:4px}
  .burger svg{width:24px;height:24px}
  .crumb{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:6px;font-weight:500}
  .crumb b{color:var(--ink);font-weight:600}
  .crumb .lk{cursor:pointer}.crumb .lk:hover{color:var(--ink)}
  .tb-sp{flex:1}
  .search{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 12px;width:230px;color:var(--muted)}
  .search svg{width:15px;height:15px;flex-shrink:0}
  .search input{border:none;background:none;outline:none;font-family:var(--body);font-size:13px;color:var(--ink);width:100%}
  .ic-btn{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;cursor:pointer;color:var(--muted);position:relative}
  .ic-btn:hover{color:var(--ink);background:var(--paper-2)}
  .ic-btn svg{width:18px;height:18px}
  .ic-btn .dot{position:absolute;top:9px;right:9px;width:7px;height:7px;border-radius:50%;background:var(--rose);border:2px solid var(--surface)}
  .pill-btn{background:var(--side);color:#fff;border:none;border-radius:10px;padding:9px 15px;font-family:var(--body);font-weight:600;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:7px;white-space:nowrap}
  .pill-btn svg{width:15px;height:15px}
  .pill-btn:hover{background:var(--side-2)}

  .content{padding:26px;max-width:1200px;width:100%;animation:fade .35s ease}
  @keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
  .ph{margin-bottom:22px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
  .ph-title{font-family:var(--display);font-size:27px;font-weight:600;letter-spacing:-.025em;line-height:1.1}
  .ph-desc{color:var(--muted);font-size:13.5px;margin-top:4px;max-width:560px}

  /* ---------------- KPI ---------------- */
  .kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:18px}
  .kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:17px 18px 15px;box-shadow:var(--sh);position:relative;overflow:hidden;animation:rise .4s ease backwards}
  .kpi:nth-child(2){animation-delay:.05s}.kpi:nth-child(3){animation-delay:.1s}.kpi:nth-child(4){animation-delay:.15s}
  @keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
  .kpi-l{font-size:12px;color:var(--muted);font-weight:500;display:flex;align-items:center;gap:7px}
  .kpi-l .dt{width:7px;height:7px;border-radius:50%}
  .kpi-v{font-family:var(--display);font-size:29px;font-weight:600;letter-spacing:-.025em;margin-top:11px;line-height:1}
  .kpi-v small{font-size:15px;color:var(--muted);font-weight:500;margin-left:1px}
  .kpi-m{font-size:11.5px;margin-top:7px;color:var(--muted)}
  .kpi-m .up{color:var(--emerald);font-weight:600}.kpi-m .dn{color:var(--rose);font-weight:600}
  .spark{position:absolute;right:13px;bottom:13px}

  /* ---------------- Cards ---------------- */
  .card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);overflow:hidden}
  .card-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line);flex-wrap:wrap}
  .card-t{font-family:var(--display);font-size:16px;font-weight:600;letter-spacing:-.01em}
  .card-t span{color:var(--muted-2);font-weight:500;margin-left:8px;font-size:13px}
  .seg{display:flex;gap:3px;background:var(--paper);padding:3px;border-radius:9px}
  .seg button{border:none;background:none;font-family:var(--body);font-size:12.5px;font-weight:500;color:var(--muted);padding:6px 12px;border-radius:7px;cursor:pointer;transition:.12s}
  .seg button.on{background:var(--surface);color:var(--ink);box-shadow:var(--sh-sm)}
  .seg button:hover:not(.on){color:var(--ink)}

  /* revenue chart row */
  .ov-row{display:grid;grid-template-columns:1.55fr 1fr;gap:15px;margin-bottom:18px}
  .chart-wrap{padding:8px 14px 14px}
  .chart-legend{display:flex;gap:18px;padding:14px 20px 0}
  .lg{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}
  .lg b{color:var(--ink);font-family:var(--display);font-weight:600;margin-left:3px}
  .lg .sw{width:10px;height:10px;border-radius:3px}
  .mini-list{padding:6px 0}
  .ml-row{display:flex;align-items:center;gap:12px;padding:11px 20px}
  .ml-ic{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;flex-shrink:0;font-family:var(--display);font-weight:600;font-size:13px;color:#fff}
  .ml-main{flex:1;min-width:0}
  .ml-t{font-weight:600;font-size:13px}
  .ml-s{font-size:11.5px;color:var(--muted)}
  .ml-end{text-align:right;font-family:var(--display);font-weight:600;font-size:13px;font-variant-numeric:tabular-nums}
  .ml-end small{display:block;font-size:10.5px;color:var(--muted-2);font-weight:500;font-family:var(--body)}

  /* ------------- Обзор: призыв одобрить + панели событий/позиций ------------- */
  .cta-approve{display:flex;align-items:center;gap:14px;text-decoration:none;background:linear-gradient(100deg,var(--amber-soft),#FFF7E9);border:1px solid #EAD9AE;border-radius:14px;padding:15px 18px;margin-bottom:18px;color:var(--ink);transition:transform .12s,box-shadow .12s}
  .cta-approve:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(154,98,6,.14)}
  .cta-ic{flex-shrink:0;width:40px;height:40px;border-radius:11px;background:var(--amber);display:grid;place-items:center;color:#fff}
  .cta-ic svg{width:21px;height:21px}
  .cta-txt{flex:1;min-width:0}
  .cta-h{display:block;font-family:var(--display);font-weight:600;font-size:16px;color:#8A5606}
  .cta-s{display:block;font-size:13px;color:#9A6206;margin-top:2px}
  .cta-go{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;background:var(--amber);color:#fff;font-weight:600;font-size:14px;padding:9px 16px;border-radius:10px}
  .ov-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
  .act-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--muted-2)}
  .act-dot.act-published,.act-dot.act-approved{background:var(--emerald)}
  .act-dot.act-rejected{background:var(--rose)}
  .act-dot.act-pending{background:var(--amber)}
  .act-badge{font-size:11px;font-weight:600;padding:2px 9px;border-radius:20px;white-space:nowrap;background:var(--paper-2);color:var(--muted)}
  .act-badge.act-published,.act-badge.act-approved{background:var(--emerald-soft);color:var(--emerald-d)}
  .act-badge.act-rejected{background:var(--rose-soft);color:var(--rose)}
  .act-badge.act-pending{background:var(--amber-soft);color:#9A6206}
  .pos-delta{font-family:var(--display);font-weight:600;font-size:12.5px;padding:2px 10px;border-radius:20px}
  .pos-delta.good{background:var(--emerald-soft);color:var(--emerald-d)}
  .pos-delta.bad{background:var(--rose-soft);color:var(--rose)}

  /* ---------------- Table ---------------- */
  .tbl{width:100%;border-collapse:collapse}
  .tbl thead th{text-align:left;font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-2);font-weight:600;padding:12px 16px;border-bottom:1px solid var(--line)}
  .tbl thead th.r{text-align:right}
  .tbl tbody tr{cursor:pointer;transition:background .12s}
  .tbl tbody tr:hover{background:#FAFCFE}
  .tbl tbody td{padding:13px 16px;border-bottom:1px solid var(--line-2);font-size:13px;vertical-align:middle}
  .tbl tbody tr:last-child td{border-bottom:none}
  .tbl td.r{text-align:right}
  .client-cell{display:flex;align-items:center;gap:12px}
  .av{width:38px;height:38px;border-radius:10px;flex-shrink:0;display:grid;place-items:center;font-family:var(--display);font-weight:600;font-size:14px;color:#fff;position:relative}
  .av.rib::before{content:"";position:absolute;left:-16px;top:50%;transform:translateY(-50%);width:3px;height:24px;border-radius:2px;background:var(--st)}
  .cn{font-weight:600;font-size:13.5px}
  .cs{font-size:11px;color:var(--muted);margin-top:1px}
  .badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:3px 9px;border-radius:20px;white-space:nowrap}
  .badge.sub{background:var(--emerald-soft);color:var(--emerald-d)}
  .badge.trial{background:var(--paper-2);color:var(--muted)}
  .badge.intern{background:var(--indigo-soft);color:#4A43C7}
  .badge.tier{background:var(--paper);color:var(--ink);border:1px solid var(--line)}
  .price{font-family:var(--display);font-weight:600;font-variant-numeric:tabular-nums}
  .price small{color:var(--muted);font-weight:500;font-size:11px}
  .pays{font-family:var(--display);font-weight:600;font-variant-numeric:tabular-nums}
  .pays .disc{font-size:10.5px;color:var(--emerald);font-weight:600;margin-left:5px;background:var(--emerald-soft);padding:1px 5px;border-radius:5px}
  .expiry{display:inline-flex;align-items:center;gap:7px;font-weight:600;font-size:12.5px}
  .expiry .led{width:8px;height:8px;border-radius:50%;flex-shrink:0}
  .expiry .days{font-family:var(--display);font-variant-numeric:tabular-nums}
  .expiry .date{font-size:10.5px;color:var(--muted);font-weight:500}
  .led.ok{background:var(--emerald)}.led.warn{background:var(--amber);box-shadow:0 0 0 3px var(--amber-soft)}.led.crit{background:var(--rose);box-shadow:0 0 0 3px var(--rose-soft)}
  .exp-warn .days{color:var(--amber)}.exp-crit .days{color:var(--rose)}
  .sites-c{display:inline-flex;align-items:center;gap:6px;font-family:var(--display);font-weight:600;font-variant-numeric:tabular-nums}
  .sites-c svg{width:15px;height:15px;color:var(--muted-2)}
  .bonus{font-size:11px;font-weight:600;padding:3px 9px;border-radius:8px;background:var(--amber-soft);color:#9A6206;white-space:nowrap}
  .bonus.none{background:transparent;color:var(--muted-2);font-weight:500}
  .chev svg{width:17px;height:17px;color:var(--muted-2)}

  /* ---------------- Queue (approval) ---------------- */
  .q-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:20px}
  .q-stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:15px 17px;box-shadow:var(--sh);display:flex;align-items:center;gap:13px}
  .q-stat .qi{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;flex-shrink:0}
  .q-stat .qi svg{width:21px;height:21px}
  .q-stat .qv{font-family:var(--display);font-size:23px;font-weight:600;line-height:1}
  .q-stat .ql{font-size:11.5px;color:var(--muted);margin-top:2px}

  .sug{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);margin-bottom:15px;overflow:hidden;transition:transform .3s ease,opacity .3s ease,box-shadow .2s}
  .sug:hover{box-shadow:var(--sh-lg)}
  .sug.gone{opacity:0;transform:translateX(40px) scale(.97);pointer-events:none}
  .sug-top{display:flex;align-items:flex-start;gap:14px;padding:17px 20px 0}
  .sug-type{font-size:11px;font-weight:600;padding:4px 10px;border-radius:8px;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
  .sug-type svg{width:13px;height:13px}
  .t-meta{background:var(--blue-soft);color:#1F54C7}
  .t-content{background:var(--indigo-soft);color:#4A43C7}
  .t-article{background:var(--emerald-soft);color:var(--emerald-d)}
  .sug-where{flex:1;min-width:0}
  .sug-title{font-weight:600;font-size:15px;letter-spacing:-.01em}
  .sug-src{font-size:11.5px;color:var(--muted);margin-top:3px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
  .sug-src .sd{width:3px;height:3px;border-radius:50%;background:var(--muted-2)}
  .sug-src .cli{display:inline-flex;align-items:center;gap:6px}
  .sug-src .cdot{width:14px;height:14px;border-radius:4px;display:inline-grid;place-items:center;font-family:var(--display);font-size:8px;font-weight:700;color:#fff}
  .grow{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--emerald-d);background:var(--emerald-soft);padding:5px 10px;border-radius:9px;white-space:nowrap;flex-shrink:0}
  .grow svg{width:14px;height:14px}

  .sug-body{padding:15px 20px 5px}
  .diff{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .diff-col{border:1px solid var(--line);border-radius:12px;padding:12px 14px;position:relative}
  .diff-col.was{background:var(--paper)}
  .diff-col.now{background:#F4FBF8;border-color:#CDEBDF}
  .diff-lab{font-size:10px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;margin-bottom:7px;display:flex;align-items:center;gap:6px}
  .diff-col.was .diff-lab{color:var(--muted-2)}
  .diff-col.now .diff-lab{color:var(--emerald-d)}
  .diff-tt{font-size:13px;font-weight:600;line-height:1.35;color:var(--ink);overflow-wrap:anywhere}
  .diff-col.was .diff-tt{color:var(--muted)}
  .diff-dd{font-size:12px;color:var(--muted);margin-top:6px;line-height:1.4;overflow-wrap:anywhere}
  /* Тёмная тема: колонка «Станет» была со светло-зелёным фоном и светлым текстом
     (var(--ink)) — текст сливался. Даём тёмно-зелёный фон под светлый текст. */
  [data-theme="dark"] .diff-col.now{background:rgba(46,178,120,.14);border-color:rgba(46,178,120,.42)}
  [data-theme="dark"] .diff-col.now .diff-lab{color:#6FE0B0}
  .arrow-mid{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:26px;height:26px;border-radius:50%;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;z-index:2;box-shadow:var(--sh-sm)}
  .arrow-mid svg{width:14px;height:14px;color:var(--emerald)}

  .article-prev{border:1px solid var(--line);border-radius:12px;padding:15px 17px;background:var(--paper)}
  .ap-h1{font-family:var(--display);font-size:16px;font-weight:600;letter-spacing:-.01em}
  .ap-body{font-size:12.5px;color:var(--muted);margin-top:8px;line-height:1.6;max-height:70px;overflow:hidden;position:relative}
  .ap-body::after{content:"";position:absolute;bottom:0;left:0;right:0;height:32px;background:linear-gradient(transparent,var(--paper))}
  .ap-meta{display:flex;gap:14px;margin-top:12px;font-size:11.5px;color:var(--muted)}
  .ap-meta b{color:var(--ink);font-family:var(--display);font-weight:600}

  .why{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted);margin-top:13px;padding:10px 13px;background:var(--paper);border-radius:10px;line-height:1.4}
  .why svg{width:16px;height:16px;color:var(--indigo);flex-shrink:0}
  .why b{color:var(--ink);font-weight:600}
  .why .kw{color:var(--ink);font-weight:600;background:var(--surface);border:1px solid var(--line);padding:1px 7px;border-radius:6px}

  .sug-foot{display:flex;align-items:center;gap:10px;padding:14px 20px;border-top:1px solid var(--line-2);margin-top:14px;flex-wrap:wrap}
  .sf-link{font-size:12.5px;color:var(--muted);font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
  .sf-link svg{width:15px;height:15px}
  .sf-link:hover{color:var(--ink)}
  .sf-sp{flex:1}
  .btn-rej{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:10px;padding:9px 16px;font-family:var(--body);font-weight:600;font-size:13px;cursor:pointer;transition:.15s;display:inline-flex;align-items:center;gap:7px}
  .btn-rej svg{width:15px;height:15px;flex-shrink:0}
  .fchip{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:20px;padding:5px 12px;font-size:12px;font-weight:600;font-family:var(--body);cursor:pointer;transition:.12s;white-space:nowrap}
  .fchip:hover{border-color:var(--ink-3);color:var(--ink)}
  .fchip.active{background:var(--side);color:#fff;border-color:var(--side)}
  .rchip{font-size:12px;font-weight:600;padding:5px 11px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;font-family:var(--body);white-space:nowrap}
  .rchip:hover{border-color:var(--emerald)}
  .rchip.active{border-color:var(--emerald);background:var(--emerald-soft);color:var(--emerald-d)}
  .rchip span{color:var(--muted);font-weight:500;margin-left:1px}
  .rchip.active span{color:var(--emerald-d)}
  .btn-rej:hover{border-color:var(--rose);color:var(--rose);background:var(--rose-soft)}
  .btn-app{background:var(--emerald);border:none;color:#fff;border-radius:10px;padding:9px 18px;font-family:var(--body);font-weight:600;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:7px;transition:.15s;box-shadow:0 4px 12px rgba(14,159,110,.3)}
  .btn-app svg{width:15px;height:15px}
  .btn-app:hover{background:var(--emerald-d)}

  .q-empty{text-align:center;padding:60px 20px;color:var(--muted)}
  .q-empty .qe-ic{width:60px;height:60px;border-radius:16px;background:var(--emerald-soft);display:grid;place-items:center;margin:0 auto 16px}
  .q-empty .qe-ic svg{width:30px;height:30px;color:var(--emerald)}
  .q-empty h3{font-family:var(--display);font-size:18px;color:var(--ink);font-weight:600}
  .q-empty p{font-size:13.5px;margin-top:6px}

  /* ---------------- Semantic core ---------------- */
  .sc-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:18px}
  .cluster{margin-bottom:14px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--surface);box-shadow:var(--sh)}
  .cl-h{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line-2);cursor:pointer}
  .cl-bar{width:4px;height:30px;border-radius:3px;flex-shrink:0}
  .cl-name{font-family:var(--display);font-weight:600;font-size:14.5px}
  .cl-meta{font-size:11.5px;color:var(--muted);margin-top:1px}
  .cl-sum{margin-left:auto;display:flex;align-items:center;gap:16px}
  .cl-vol{font-family:var(--display);font-weight:600;font-size:14px;font-variant-numeric:tabular-nums}
  .cl-vol small{font-size:10.5px;color:var(--muted);font-weight:500;font-family:var(--body);display:block;text-align:right}
  .kw-row{display:flex;align-items:center;gap:13px;padding:11px 18px;border-bottom:1px solid var(--line-2);font-size:13px}
  .kw-row:last-child{border-bottom:none}
  .kw-phrase{flex:1;font-weight:500}
  .kw-comm{display:inline-grid;place-items:center;min-width:16px;height:16px;padding:0 4px;border-radius:6px;background:var(--emerald-soft);color:var(--emerald-d);font-size:11px;font-weight:700;margin-left:6px;vertical-align:middle}
  .comm-summary{display:flex;align-items:flex-start;gap:11px;background:var(--emerald-soft);border:1px solid #CDEBDF;border-radius:12px;padding:12px 15px;margin-bottom:14px;font-size:13px;color:var(--emerald-d);line-height:1.5}
  .comm-ic{flex-shrink:0;width:26px;height:26px;border-radius:8px;background:var(--emerald);color:#fff;display:grid;place-items:center;font-weight:700;font-size:14px}
  .kw-freq{font-family:var(--display);font-weight:600;font-variant-numeric:tabular-nums;width:90px;text-align:right}
  .kw-freq small{color:var(--muted-2);font-weight:500;font-size:10.5px;display:block;font-family:var(--body)}
  .kw-page{font-size:11.5px;color:var(--muted);width:200px;display:flex;align-items:center;gap:6px}
  .kw-page svg{width:13px;height:13px;flex-shrink:0;color:var(--muted-2)}
  .kw-st{width:120px;text-align:right}
  .st-pill{font-size:10.5px;font-weight:600;padding:3px 9px;border-radius:20px;white-space:nowrap}
  .st-cov{background:var(--emerald-soft);color:var(--emerald-d)}
  .kwtag{white-space:normal;overflow-wrap:anywhere;max-width:100%}
  .st-prog{background:var(--amber-soft);color:#9A6206}
  .st-gap{background:var(--rose-soft);color:#C13338}
  /* Понятный вердикт по странице: надо ли что-то делать (сводит мету+текст в одну метку) */
  .pg-verdict{display:inline-flex;align-items:center;gap:6px;font-family:var(--display);font-size:12px;font-weight:600;padding:5px 11px;border-radius:8px;line-height:1.2}
  .pg-verdict.ok{background:var(--emerald-soft);color:var(--emerald-d)}
  .pg-verdict.warn{background:var(--amber-soft);color:#9A6206}
  .pg-verdict.crit{background:var(--rose-soft);color:#C13338}
  .ana-note{font-size:11.5px;color:var(--muted);background:var(--paper-2);border-radius:8px;padding:7px 9px;margin-top:8px;line-height:1.5}
  /* Статус запроса — ПЛОСКАЯ подпись (не кнопка!), чтобы не путали с действием */
  .kw-status{font-size:11px;font-weight:500;color:var(--muted);white-space:nowrap}
  .kw-status.ok{color:var(--emerald-d)}
  .kw-status.warn{color:#9A6206}
  .kw-status.muted{color:var(--muted-2)}
  /* Легенда семядра: что значит статья / правка / в топе */
  .sc-legend{display:flex;flex-wrap:wrap;gap:8px 18px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:11px 16px;margin-bottom:14px;font-size:12.5px;color:var(--muted)}
  .sc-legend b{font-weight:600}
  .sc-legend .lg-art{color:var(--emerald-d)}
  .sc-legend .lg-meta{color:#9A6206}
  .sc-legend .lg-ok{color:var(--muted-2)}

  /* ---------------- Client detail ---------------- */
  .back{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:13px;font-weight:500;cursor:pointer;margin-bottom:16px;background:none;border:none;font-family:var(--body)}
  .back svg{width:16px;height:16px}.back:hover{color:var(--ink)}
  .det-head{display:flex;align-items:center;gap:18px;margin-bottom:22px;flex-wrap:wrap}
  .det-av{width:62px;height:62px;border-radius:16px;display:grid;place-items:center;font-family:var(--display);font-weight:600;font-size:23px;color:#fff;flex-shrink:0}
  .det-name{font-family:var(--display);font-size:23px;font-weight:600;letter-spacing:-.015em}
  .det-meta{display:flex;gap:9px;align-items:center;margin-top:6px;flex-wrap:wrap}
  .det-act{margin-left:auto;display:flex;flex-wrap:wrap;gap:10px}
  .btn-ghost{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:10px 16px;font-family:var(--body);font-weight:600;font-size:13px;cursor:pointer}
  .btn-ghost:hover{background:var(--paper)}
  .btn-primary{background:var(--emerald);border:none;color:#fff;border-radius:10px;padding:10px 16px;font-family:var(--body);font-weight:600;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:7px;box-shadow:0 4px 12px rgba(14,159,110,.3)}
  .btn-primary svg{width:15px;height:15px}.btn-primary:hover{background:var(--emerald-d)}
  .det-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:20px}
  .stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:15px 17px;box-shadow:var(--sh)}
  .stat-l{font-size:11.5px;color:var(--muted);font-weight:500}
  .stat-v{font-family:var(--display);font-size:21px;font-weight:600;margin-top:8px;letter-spacing:-.01em}
  .stat-v small{font-size:12px;color:var(--muted);font-weight:500}
  .det-cols{display:grid;grid-template-columns:1.45fr 1fr;gap:16px}
  .panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);overflow:hidden}
  .panel-h{padding:15px 18px;border-bottom:1px solid var(--line);font-family:var(--display);font-weight:600;font-size:14.5px;display:flex;justify-content:space-between;align-items:center}
  .panel-h .mini{font-size:11.5px;color:var(--muted);font-weight:500}
  .row{display:flex;align-items:center;gap:13px;padding:13px 18px;border-bottom:1px solid var(--line-2)}
  .row:last-child{border-bottom:none}
  .row-ic{width:36px;height:36px;border-radius:9px;background:var(--paper);display:grid;place-items:center;flex-shrink:0;color:var(--muted)}
  .row-ic svg{width:18px;height:18px}
  .row-main{flex:1;min-width:0}.row-t{font-weight:600;font-size:13px}.row-s{font-size:11.5px;color:var(--muted);margin-top:1px}
  .row-end{text-align:right;font-size:12.5px}
  .tag-live{font-size:10.5px;font-weight:600;color:var(--emerald-d);background:var(--emerald-soft);padding:2px 8px;border-radius:20px;display:inline-flex;align-items:center;gap:5px}
  .tag-live .d{width:6px;height:6px;border-radius:50%;background:var(--emerald)}
  .bonus-row .row-ic{background:var(--amber-soft);color:#9A6206}
  .pay-amt{font-family:var(--display);font-weight:600;font-variant-numeric:tabular-nums}

  /* tariffs */
  .tar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:22px}
  .tar{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px 18px;box-shadow:var(--sh);position:relative}
  .tar.feat{border-color:var(--emerald);box-shadow:0 0 0 1px var(--emerald),var(--sh)}
  .tar-badge{position:absolute;top:-9px;left:18px;background:var(--emerald);color:#fff;font-size:10px;font-weight:600;padding:3px 9px;border-radius:20px;letter-spacing:.03em}
  .tar-name{font-family:var(--display);font-size:16px;font-weight:600}
  .tar-price{font-family:var(--display);font-size:28px;font-weight:600;margin-top:10px;letter-spacing:-.02em}
  .tar-price small{font-size:13px;color:var(--muted);font-weight:500}
  .tar-feats{margin-top:14px;display:flex;flex-direction:column;gap:9px}
  /* Строка-галочка. ВАЖНО: текст обязан лежать в ОДНОМ <span> — иначе каждое
     слово в <b> становится отдельным flex-элементом, между ними появляется
     gap:9px, а фразы вроде «Rank Math» рвутся посреди строки. */
  .tf{display:flex;align-items:flex-start;gap:9px;font-size:12.5px;color:var(--ink);line-height:1.5}
  .tf svg{width:15px;height:15px;color:var(--emerald);flex-shrink:0;margin-top:2px}
  .tf b{white-space:nowrap}
  .tar-cnt{margin-top:16px;font-size:11.5px;color:var(--muted);border-top:1px solid var(--line-2);padding-top:12px}
  .tar-cnt b{font-family:var(--display);color:var(--ink)}
  .tar-edit{margin-top:10px}
  .tar-edit>summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--blue);list-style:none;user-select:none}
  .tar-edit>summary::-webkit-details-marker{display:none}
  .tar-edit>summary:hover{text-decoration:underline}
  .te-l{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:600;color:var(--muted)}
  .te-l input,.te-l textarea{font-family:var(--body);font-size:13px;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:7px 10px;font-weight:400;background:var(--surface);resize:vertical}

  .scrim{display:none}
  .toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(80px);background:var(--side);color:#fff;padding:12px 20px;border-radius:12px;font-size:13.5px;font-weight:500;display:flex;align-items:center;gap:10px;box-shadow:var(--sh-lg);z-index:200;opacity:0;transition:transform .3s ease,opacity .3s ease;pointer-events:none}
  .toast.show{transform:translateX(-50%) translateY(0);opacity:1}
  .toast svg{width:18px;height:18px;color:var(--emerald)}

  @media(max-width:980px){
    .ov-row{grid-template-columns:1fr}
    .det-cols{grid-template-columns:1fr}
    .tar-grid,.sc-strip{grid-template-columns:repeat(2,1fr)}
  }
  @media(max-width:880px){
    .side{position:fixed;left:0;top:0;transform:translateX(-100%);transition:transform .25s ease;box-shadow:0 0 50px rgba(0,0,0,.35)}
    .side.open{transform:translateX(0)}
    .scrim.show{display:block;position:fixed;inset:0;background:rgba(8,15,26,.5);z-index:55}
    .burger{display:block}.search{display:none}
    .content{padding:16px 14px}
    .kpis,.q-strip,.det-grid,.det-grid.has-products{grid-template-columns:repeat(2,1fr);gap:11px}
    .q-strip{grid-template-columns:1fr}
    .ph-title{font-size:22px}.topbar{padding:0 14px}
    .diff{grid-template-columns:1fr;gap:9px}
    .arrow-mid{left:50%;top:auto;bottom:-13px;transform:translateX(-50%) rotate(90deg)}
    .kw-page,.kw-st{display:none}
    .tbl thead{display:none}
    .tbl,.tbl tbody,.tbl tr,.tbl td{display:block;width:100%}
    .tbl tbody tr{border:1px solid var(--line);border-radius:14px;margin-bottom:11px;background:var(--surface)}
    .tbl tbody td{border:none;padding:8px 16px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;min-width:0}
    .tbl tbody td > *{min-width:0;overflow-wrap:anywhere}
    .tbl tbody td::before{content:attr(data-l);font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-2);font-weight:600;flex-shrink:0}
    .tbl td.client-td{padding-top:13px}.tbl td.client-td::before{display:none}
    .av.rib::before{display:none}.tbl td.chev-td{display:none}
    .det-act{margin-left:0;width:100%}.det-act>*{flex:1 1 140px}.det-act button{width:100%;justify-content:center}
    .tar-grid,.sc-strip{grid-template-columns:1fr}
    .ov-grid{grid-template-columns:1fr}
    .cta-approve{flex-wrap:wrap}.cta-go{width:100%;justify-content:center}
    .brief-form{grid-template-columns:1fr}
    .onb-steps{grid-template-columns:1fr}.onb-head{flex-wrap:wrap}
    .wns{grid-template-columns:1fr}.wn-arrow{transform:rotate(90deg);justify-self:center}
  }

  /* ---------------- Форма подключения сайта (Этап 0) ---------------- */
  .form-wrap{max-width:620px}
  .form-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);padding:24px 24px 26px}
  .field{margin-bottom:18px}
  .field:last-of-type{margin-bottom:0}
  .field label{display:block;font-size:12.5px;font-weight:600;color:var(--ink);margin-bottom:6px}
  .field .req{color:var(--rose);margin-left:2px}
  .field input{width:100%;font-family:var(--body);font-size:14px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:11px 13px;outline:none;transition:border-color .15s,box-shadow .15s}
  .field input:focus{border-color:var(--emerald);box-shadow:0 0 0 3px var(--emerald-soft)}
  .field input::placeholder{color:var(--muted-2)}
  .hint{font-size:11.5px;color:var(--muted);line-height:1.5}
  .field .hint{margin-top:6px}
  .field .hint a{color:var(--blue);text-decoration:none;font-weight:600}
  .field .hint a:hover{text-decoration:underline}
  /* --- Вход/регистрация: сплит «тёмная брендовая панель + форма» --- */
  .auth-shell{display:grid;grid-template-columns:1.05fr 1fr;min-height:100vh}
  .auth-side{position:relative;overflow:hidden;color:#fff;padding:52px 52px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(720px 420px at 18% -4%,rgba(22,212,158,.22),transparent 60%),linear-gradient(158deg,#0C1726,#132339)}
  .auth-side .a-glow{position:absolute;right:-90px;bottom:-130px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(22,212,158,.20),transparent 68%);pointer-events:none}
  .auth-side .a-logo{display:flex;align-items:center;gap:12px;margin-bottom:36px;color:#fff;text-decoration:none;position:relative}
  .auth-side .a-logo img{width:44px;height:44px;border-radius:12px}
  .auth-side .a-logo b{font-family:var(--display);font-weight:600;font-size:20px;letter-spacing:-.01em}
  .auth-side h1{font-family:var(--display);font-weight:700;font-size:33px;line-height:1.08;letter-spacing:-.025em;margin:0 0 15px;max-width:15ch;position:relative}
  .auth-side h1 .em{color:#3EE9AE}
  .auth-side .a-lead{color:#B9C6D8;font-size:15px;line-height:1.6;margin:0 0 30px;max-width:42ch;position:relative}
  .auth-bul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:13px;position:relative}
  .auth-bul li{display:flex;align-items:flex-start;gap:12px;color:#DCE6F2;font-size:14px;line-height:1.45}
  .auth-bul .bi{flex-shrink:0;width:23px;height:23px;border-radius:7px;background:rgba(22,212,158,.16);display:grid;place-items:center;color:#3EE9AE;margin-top:1px}
  .auth-bul .bi svg{width:13px;height:13px}
  .auth-main{display:grid;place-items:center;padding:36px 24px;background:var(--paper)}
  .auth-card{width:100%;max-width:396px}
  .auth-card .form-card{box-shadow:0 10px 40px rgba(12,23,38,.07)}
  @media(max-width:860px){
    .auth-shell{grid-template-columns:1fr}
    .auth-side{padding:28px 24px;min-height:auto}
    .auth-side h1{font-size:23px;margin-bottom:0}
    .auth-side .a-lead,.auth-bul,.auth-side .a-glow{display:none}
    .auth-side .a-logo{margin-bottom:16px}
  }
  .form-foot{display:flex;align-items:center;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line-2)}
  .form-foot .sf-sp{flex:1}
  .err-box{display:flex;align-items:flex-start;gap:10px;background:var(--rose-soft);border:1px solid #F3C9CB;border-radius:11px;padding:12px 14px;margin-bottom:20px;font-size:12.5px;color:#A33;line-height:1.45}
  .err-box svg{width:17px;height:17px;flex-shrink:0;color:var(--rose);margin-top:1px}
  .ok-box{display:flex;align-items:flex-start;gap:10px;background:var(--emerald-soft);border:1px solid #CDEBDF;border-radius:11px;padding:12px 14px;margin-bottom:18px;font-size:12.5px;color:var(--emerald-d);line-height:1.45}
  .ok-box svg{width:17px;height:17px;flex-shrink:0;color:var(--emerald);margin-top:1px}
  /* Структурированный бриф (настройки сайта) */
  .brief-form{display:grid;grid-template-columns:1fr 1fr;gap:13px 14px}
  .brief-form .full{grid-column:1/-1}
  .bf{display:flex;flex-direction:column;gap:5px;margin:0;min-width:0}
  .bf>span:first-child{font-size:12px;font-weight:600;color:var(--ink)}
  .bf input,.bf select,.bf textarea{width:100%;font-family:var(--body);font-size:13.5px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px;outline:none;transition:border-color .15s}
  .bf textarea{resize:vertical}
  .bf input:focus,.bf select:focus,.bf textarea:focus{border-color:var(--emerald)}
  .bf input::placeholder,.bf textarea::placeholder{color:var(--muted-2)}
  .bf-hint{font-size:11px;color:var(--muted-2)}
  /* Автопроверка подключения (preflight) */
  .pf-list{display:flex;flex-direction:column;gap:8px}
  .pf-row{display:flex;align-items:flex-start;gap:11px;padding:11px 13px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}
  .pf-ic{width:22px;height:22px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;margin-top:1px}
  .pf-ic svg{width:13px;height:13px}
  .pf-ok .pf-ic{background:var(--emerald-soft);color:var(--emerald-d)}
  .pf-warn .pf-ic{background:var(--amber-soft);color:#9A6206}
  .pf-fail .pf-ic{background:var(--rose-soft);color:var(--rose)}
  .pf-info .pf-ic{background:var(--blue-soft);color:var(--blue)}
  .pf-tt{font-weight:600;font-size:13px;color:var(--ink)}
  .pf-dd{font-size:12px;color:var(--muted);margin-top:2px;line-height:1.45;overflow-wrap:anywhere}
  .pf-verdict{display:flex;align-items:center;gap:10px;padding:12px 15px;border-radius:12px;margin-bottom:14px;font-size:13.5px;font-weight:600}
  .pf-verdict.ok{background:var(--emerald-soft);border:1px solid #CDEBDF;color:var(--emerald-d)}
  .pf-verdict.warn{background:var(--amber-soft);border:1px solid #EAD9AE;color:#8A5606}
  .pf-verdict.fail{background:var(--rose-soft);border:1px solid #F3C9CB;color:var(--rose)}

  /* список страниц сайта */
  .pg-type{font-size:10.5px;font-weight:600;padding:2px 8px;border-radius:20px;white-space:nowrap;background:var(--paper-2);color:var(--muted)}
  .pg-type.post{background:var(--indigo-soft);color:#4A43C7}
  .pg-type.product{background:var(--emerald-soft);color:var(--emerald-d)}
  .det-grid.has-products{grid-template-columns:repeat(5,1fr)}
  .prod-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}
  .prod-meta span{font-size:10.5px;font-weight:600;padding:2px 8px;border-radius:20px;white-space:nowrap}
  .pm-price{background:var(--emerald-soft);color:var(--emerald-d)}
  .pm-stock.in{background:var(--paper-2);color:var(--muted)}
  .pm-stock.out{background:var(--rose-soft);color:var(--rose)}
  .pm-cat{background:var(--paper-2);color:var(--muted);font-weight:500}
  /* «Первые шаги» — онбординг клиента */
  .onb-card{background:var(--surface);border:1.5px solid var(--emerald);border-radius:16px;padding:18px 20px;margin-bottom:18px;box-shadow:0 6px 20px rgba(14,159,110,.10)}
  .onb-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}
  .onb-title{font-family:var(--display);font-weight:600;font-size:16px;color:var(--ink);flex:1;min-width:0}
  .onb-prog{width:120px;height:7px;border-radius:20px;background:var(--paper-2);overflow:hidden;flex-shrink:0}
  .onb-prog span{display:block;height:100%;background:var(--emerald);border-radius:20px;transition:width .3s}
  .onb-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
  .onb-step{display:flex;gap:11px;padding:13px;border:1px solid var(--line);border-radius:12px;align-items:flex-start}
  .onb-step.now{border-color:var(--emerald);background:var(--emerald-soft)}
  .onb-step.wait{opacity:.55}
  .onb-num{flex-shrink:0;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:12px;background:var(--paper-2);color:var(--muted)}
  .onb-step.now .onb-num,.onb-step.done .onb-num{background:var(--emerald);color:#fff}
  .onb-body{min-width:0}
  .onb-st{font-weight:600;font-size:13.5px;color:var(--ink)}
  .onb-sd{font-size:12px;color:var(--muted);line-height:1.45;margin-top:2px}
  .onb-go{display:inline-block;margin-top:8px;font-size:12.5px;font-weight:600;color:#fff;background:var(--emerald);padding:6px 12px;border-radius:8px;text-decoration:none}
  .onb-go:hover{background:var(--emerald-d)}
  .pg-link{font-size:11.5px;color:var(--muted)}
  .pg-link a{color:var(--blue);text-decoration:none}
  .pg-link a:hover{text-decoration:underline}
  .stat-pill{font-size:10.5px;font-weight:600;padding:2px 8px;border-radius:20px;white-space:nowrap}
  .stat-pill.publish{background:var(--emerald-soft);color:var(--emerald-d)}
  .stat-pill.draft{background:var(--amber-soft);color:#9A6206}

  /* пустое состояние */
  .empty{text-align:center;padding:54px 20px;color:var(--muted)}
  .empty .e-ic{width:56px;height:56px;border-radius:15px;background:var(--paper-2);display:grid;place-items:center;margin:0 auto 15px;color:var(--muted)}
  .empty .e-ic svg{width:28px;height:28px}
  .empty h3{font-family:var(--display);font-size:17px;color:var(--ink);font-weight:600}
  .empty p{font-size:13px;margin-top:6px;max-width:380px;margin-left:auto;margin-right:auto}
  .empty .pill-btn{display:inline-flex;margin-top:16px}

  /* ---------------- Подсказка-порядок и номера шагов (Этап 4) ---------------- */
  .step-n{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:50%;background:var(--paper-2);color:var(--muted);font-family:var(--display);font-size:10.5px;font-weight:700;margin-right:7px;flex-shrink:0}
  .btn-primary .step-n-light{background:rgba(255,255,255,.25);color:#fff}
  .btn-ghost,.btn-primary{display:inline-flex;align-items:center}
  .btn-ghost{gap:7px}
  .btn-ghost svg{width:15px;height:15px;flex-shrink:0}
  .flow-hint{display:flex;flex-wrap:wrap;align-items:center;gap:7px 16px;background:var(--blue-soft);border:1px solid #D5E4FB;border-radius:12px;padding:11px 15px;margin-bottom:18px;font-size:12.5px;color:var(--ink)}
  .flow-hint b{font-weight:600}
  .flow-hint > b:first-child{color:var(--blue)}
  .flow-hint span{color:var(--muted)}
  .flow-hint span b{color:var(--ink)}
  /* «Пошагово (для опытных)» — скрытые отдельные кнопки read/analyze/generate */
  .adv-steps{margin:-6px 0 16px}
  .adv-steps>summary{cursor:pointer;color:var(--muted);font-weight:600;font-size:12.5px;list-style:none;display:inline-flex;align-items:center;gap:6px;padding:4px 0;user-select:none}
  .adv-steps>summary::-webkit-details-marker{display:none}
  .adv-steps>summary::before{content:"▸";font-size:10px}
  .adv-steps[open]>summary::before{content:"▾"}
  .adv-steps>summary:hover{color:var(--ink)}
  .adv-steps-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
  .crawl-badge{display:flex;align-items:center;gap:9px;background:var(--emerald-soft);border:1px solid #CDEBDF;border-radius:12px;padding:10px 14px;margin-bottom:16px;font-size:13px;color:var(--emerald-d)}
  .crawl-badge svg{width:16px;height:16px;flex-shrink:0}
  .crawl-badge b{font-weight:600}
  /* Отчёт о росте: «было → стало» + «что сделал сервис» */
  .wns{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;padding:16px 20px}
  .wn-col{border:1px solid var(--line);border-radius:12px;padding:14px}
  .wn-col.now{border-color:var(--emerald);background:var(--emerald-soft)}
  .wn-lab{font-size:11.5px;color:var(--muted-2);font-weight:600;margin-bottom:8px}
  .wn-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:4px 0}
  .wn-row b{font-family:var(--display);font-weight:600}
  .wn-arrow{color:var(--emerald)}.wn-arrow svg{width:24px;height:24px}
  .rep-done{flex:1 1 140px;border:1px solid var(--line);border-radius:12px;padding:14px 16px}
  .rd-n{font-family:var(--display);font-size:26px;font-weight:600;color:var(--emerald)}
  .rd-l{font-size:12px;color:var(--muted);margin-top:2px}
  /* Редактирование сотрудников (staff + кабинет клиента) */
  .staff-row{display:flex;align-items:center;gap:11px;padding:11px 20px;border-bottom:1px solid var(--line-2)}
  .staff-row:last-child{border-bottom:none}
  .staff-edit{display:flex;gap:8px;flex-wrap:wrap;align-items:center;flex:1;min-width:0}
  .staff-edit input{font-family:var(--body);font-size:13px;color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:8px 11px;background:var(--surface)}
  .staff-edit input[name=name],.staff-edit input[name=login]{flex:1;min-width:100px}
  .staff-edit input[name=password]{width:170px}
  .staff-edit button{padding:8px 13px;font-size:12.5px}

  /* ---------------- Массовое выделение в очереди ---------------- */
  .bulk-bar{position:sticky;top:62px;z-index:30;display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:11px 16px;margin-bottom:16px;box-shadow:var(--sh-sm)}
  .bulk-bar .sel-all{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:500;cursor:pointer;color:var(--ink)}
  .bulk-bar .sf-sp{flex:1}
  .chk{width:19px;height:19px;border-radius:6px;border:1.5px solid var(--line);accent-color:var(--emerald);cursor:pointer;flex-shrink:0}
  .sug-chk{position:absolute;top:18px;left:18px;z-index:2}
  .sug{position:relative}
  .sug-top{padding-left:46px}
  .sug.sel{box-shadow:0 0 0 2px var(--emerald),var(--sh)}
  .btn-app:disabled,.btn-rej:disabled{opacity:.45;cursor:default}

  /* ---------------- Сворачиваемый разбор в таблице страниц ---------------- */
  details.ana{margin-top:7px}
  details.ana > summary{cursor:pointer;font-size:11.5px;font-weight:600;color:var(--blue);list-style:none;display:inline-flex;align-items:center;gap:5px;user-select:none}
  details.ana > summary::-webkit-details-marker{display:none}
  details.ana > summary::before{content:"▸";font-size:10px;transition:transform .15s}
  details.ana[open] > summary::before{transform:rotate(90deg)}
  details.ana[open] > summary{margin-bottom:2px}

  /* ---------------- Бейдж реальной позиции (Вебмастер) ---------------- */
  .pos-badge{display:inline-flex;align-items:center;font-size:10.5px;font-weight:600;padding:2px 8px;border-radius:20px;background:var(--blue-soft);color:#1F54C7;margin-left:8px;white-space:nowrap;font-family:var(--display);font-variant-numeric:tabular-nums}
  /* Значок поисковика у позиции: сейчас всегда Яндекс (единственный источник). */
  .eng-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;font-family:var(--display);font-weight:700;font-size:11px;flex-shrink:0}
  .eng-badge.eng-ya{background:#FC3F1D;color:#fff}
  .eng-badge.eng-g{background:#4285F4;color:#fff;font-size:12px}
  /* Нумерация «Запросы и позиции» — считает только видимые строки (скрытые фильтром
     display:none не увеличивают счётчик), поэтому список всегда нумеруется 1..N. */
  #posList{counter-reset:posn}
  #posList .pos-item{counter-increment:posn}
  #posList .pos-item::before{content:counter(posn);flex:0 0 auto;min-width:26px;text-align:right;color:var(--muted-2);font-weight:600;font-size:12px;font-variant-numeric:tabular-nums;font-family:var(--display)}

  /* ---------------- Кнопка действия в строке ключа ---------------- */
  .kw-act{display:inline-flex;align-items:center;gap:5px;font-family:var(--body);font-size:11px;font-weight:600;color:var(--emerald-d);background:var(--emerald-soft);border:1px solid #CDEBDF;border-radius:8px;padding:5px 10px;cursor:pointer;white-space:nowrap}
  .kw-act svg{width:12px;height:12px}
  .kw-act:hover{background:#D7F0E6}
  .kw-act:disabled{opacity:.5;cursor:default}

  /* ---------------- Свёрнутые настройки сайта ---------------- */
  details.site-settings{margin-bottom:16px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);box-shadow:var(--sh);overflow:hidden}
  details.site-settings > summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;padding:15px 20px;font-family:var(--display);font-weight:600;font-size:15px;color:var(--ink);user-select:none}
  details.site-settings > summary::-webkit-details-marker{display:none}
  details.site-settings > summary svg{width:18px;height:18px;color:var(--muted)}
  details.site-settings > summary::after{content:"▸";margin-left:auto;color:var(--muted-2);transition:transform .15s}
  details.site-settings[open] > summary::after{transform:rotate(90deg)}
  details.site-settings[open] > summary{border-bottom:1px solid var(--line)}
  details.site-settings > .card{box-shadow:none;border-radius:0;border:none;border-bottom:1px solid var(--line-2)}
  details.site-settings > div[style*="padding"]{padding:16px 20px}

  /* ---------------- Футер с юр-документами ---------------- */
  .app-foot{margin-top:32px;padding:18px 4px 8px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:12px;color:var(--muted-2)}
  .app-foot a{color:var(--muted);text-decoration:none}
  .app-foot a:hover{color:var(--ink)}
