:root{
      --brand:#FF5A00;--brand-strong:#d44d00;--brand-dim:rgba(255,90,0,.08);
      --ai:#2563EB;--ai-dim:rgba(37,99,235,.10);
      --ok:#16a34a;--ok-dim:rgba(22,163,74,.10);
      --warn:#ef4444;--warn-dim:rgba(239,68,68,.10);
      --bg:#F6F8FB;--card:#ffffff;--panel:#f8fafc;
      --ink:#0f172a;--muted:#64748b;--stroke:#E2E8F0;--field:#ffffff;
      --sidebar-w:248px;--topbar-h:56px;
      --shadow:0 1px 3px rgba(15,23,42,.06),0 4px 16px rgba(15,23,42,.05);
      --shadow-lg:0 4px 24px rgba(15,23,42,.10);
      --r:16px;--r-sm:10px;--r-lg:20px;
    }
    *{box-sizing:border-box;margin:0;padding:0;}
    html,body{height:100%;overflow-x:hidden;}
    body{background:var(--bg);color:var(--ink);font:14px/1.5 -apple-system,system-ui,"Segoe UI",Roboto,Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased;}

    /* ── App Shell ── */
    .app-shell{display:flex;min-height:100vh;}

    /* ── Sidebar ── */
    .sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-w);background:rgba(246,249,252,.96);backdrop-filter:blur(20px) saturate(1.8);-webkit-backdrop-filter:blur(20px) saturate(1.8);border-right:1px solid rgba(15,23,42,.10);display:flex;flex-direction:column;z-index:100;transition:.2s transform;}
    .sidebar-logo{display:flex;align-items:center;gap:10px;padding:0 16px;height:var(--topbar-h);border-bottom:0.5px solid rgba(0,0,0,.07);flex-shrink:0;}
    .logo-mark{width:40px;height:40px;border-radius:10px;overflow:hidden;flex:0 0 auto;box-shadow:0 2px 8px rgba(255,90,0,.25);}
    .logo-divider{width:1.5px;height:32px;background:var(--brand);border-radius:2px;flex:0 0 auto;}
    .logo-text{display:flex;flex-direction:column;line-height:1;}
    .logo-text-ct{font-size:16px;font-weight:900;letter-spacing:.03em;color:var(--ink);}
    .logo-text-mentor{font-size:11px;font-weight:800;letter-spacing:.12em;color:#3B82F6;}
    /* ── ProstoMark lockup (mark + анимированный wordmark) ── */
    .pm-lockup{display:flex;align-items:center;gap:11px;text-decoration:none;min-width:0;}
    .pm-mark{width:40px;height:40px;flex:0 0 auto;display:block;filter:drop-shadow(0 3px 8px rgba(124,58,237,.28));animation:pmBreathe 4.6s ease-in-out infinite;}
    .pm-word{font-weight:800;letter-spacing:-.018em;line-height:.95;white-space:nowrap;font-size:20px;}
    .pm-word .pm-prosto{color:var(--ink);}
    .pm-word .pm-mark-txt{background:linear-gradient(96deg,#a78bfa 0%,#7c3aed 34%,#6d49f5 60%,#3b82f6 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;background-size:220% 100%;animation:pmShimmer 4.6s ease-in-out 1.1s infinite;}
    @keyframes pmShimmer{0%{background-position:140% 0}100%{background-position:-60% 0}}
    @keyframes pmBreathe{0%,100%{filter:drop-shadow(0 3px 8px rgba(124,58,237,.28))}50%{filter:drop-shadow(0 6px 16px rgba(240,69,127,.42))}}
    @media(prefers-reduced-motion:reduce){.pm-mark,.pm-word .pm-mark-txt,.splash-loader .ld-ring-rot,.splash-loader .ld-mark{animation:none!important;}}
    .sidebar-nav{flex:1;padding:12px 10px;list-style:none;overflow-y:auto;}
    .sidebar-item{display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px;border-radius:var(--r-sm);border:none;background:none;color:#334155;font:inherit;font-size:15px;font-weight:600;cursor:pointer;text-align:left;transition:.12s background,.12s color;text-decoration:none;}
    .sidebar-item:hover{background:rgba(15,23,42,.06);color:var(--ink);}
    .sidebar-item.active{background:var(--brand-dim);box-shadow:inset 0 0 0 1px rgba(255,90,0,.22);color:var(--brand);font-weight:700;}
    .sidebar-item.disabled{opacity:.45;cursor:default;pointer-events:none;}
    .si-icon{width:22px;height:22px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-size:15px;}
    .si-icon svg{width:20px;height:20px;}
    .sidebar-footer{padding:10px 12px;border-top:1px solid var(--stroke);flex-shrink:0;}
    .manager-card-side{display:flex;align-items:center;gap:10px;padding:10px;background:var(--panel);border:1px solid var(--stroke);border-radius:var(--r-sm);}
    .mgr-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#2AABEE,#229ED9);display:flex;align-items:center;justify-content:center;flex:0 0 auto;box-shadow:0 2px 8px rgba(34,158,217,.35);}
    .mgr-info{flex:1;min-width:0;}
    .mgr-name{font-size:12px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
    .mgr-online{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:700;color:var(--ok);margin-top:2px;}
    .mgr-sub{font-size:10px;font-weight:600;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
    .mgr-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block;}
    .mgr-online::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px var(--ok-dim);}


    /* ── Сворачиваемое боковое меню ───────────────────────────────────────────
       По умолчанию меню свёрнуто до полосы с иконками: рабочая область шире,
       а подписи возвращаются при наведении (меню раскрывается ПОВЕРХ контента,
       поэтому страница не дёргается). Кому мешает — «закрепляет» меню
       кнопкой, и оно остаётся развёрнутым. */
    body.sidebar-collapsed{--sidebar-w:64px;}
    body.sidebar-collapsed .sidebar{width:var(--sidebar-w);transition:width .16s ease;}
    body.sidebar-collapsed .sidebar-item{
      /* текст пунктов — прямые текстовые узлы, обнулённый кегль их схлопывает */
      font-size:0;gap:0;justify-content:center;padding-left:0;padding-right:0;
    }
    body.sidebar-collapsed .sidebar-item .si-icon{font-size:15px;}
    body.sidebar-collapsed .sidebar-item .calc-launch-arrow{display:none;}
    body.sidebar-collapsed .pm-word,
    body.sidebar-collapsed .logo-text,
    body.sidebar-collapsed .sidebar-footer{display:none;}
    body.sidebar-collapsed .sidebar-logo{justify-content:center;padding:0;}
    body.sidebar-collapsed .sidebar-nav{padding:12px 8px;}
    /* Раскрытие по наведению/фокусу — только на устройствах с мышью */
    @media(min-width:769px) and (hover:hover){
      body.sidebar-collapsed .sidebar:hover,
      body.sidebar-collapsed .sidebar:focus-within{
        width:248px;box-shadow:0 18px 50px rgba(15,23,42,.18);
      }
      body.sidebar-collapsed .sidebar:hover .sidebar-item,
      body.sidebar-collapsed .sidebar:focus-within .sidebar-item{
        font-size:15px;gap:12px;justify-content:flex-start;padding-left:12px;padding-right:12px;
      }
      body.sidebar-collapsed .sidebar:hover .pm-word,
      body.sidebar-collapsed .sidebar:focus-within .pm-word{display:block;}
      body.sidebar-collapsed .sidebar:hover .sidebar-footer,
      body.sidebar-collapsed .sidebar:focus-within .sidebar-footer{display:block;}
      body.sidebar-collapsed .sidebar:hover .sidebar-logo,
      body.sidebar-collapsed .sidebar:focus-within .sidebar-logo{justify-content:flex-start;padding:0 16px;}
    }
    .sidebar-pin{
      display:flex;align-items:center;justify-content:center;gap:8px;width:100%;
      margin:0;padding:9px 12px;border:none;border-top:1px solid var(--stroke);
      background:none;color:var(--muted);font:inherit;font-size:12px;font-weight:650;
      cursor:pointer;flex-shrink:0;
    }
    .sidebar-pin:hover{background:rgba(15,23,42,.06);color:var(--ink);}
    .sidebar-pin .sp-label{white-space:nowrap;}
    body.sidebar-collapsed .sidebar-pin .sp-label{display:none;}
    @media(min-width:769px) and (hover:hover){
      body.sidebar-collapsed .sidebar:hover .sidebar-pin .sp-label,
      body.sidebar-collapsed .sidebar:focus-within .sidebar-pin .sp-label{display:inline;}
    }
    @media(max-width:768px){.sidebar-pin{display:none!important;}}

    /* ── Main Area ── */
    .main-area{margin-left:var(--sidebar-w);width:calc(100% - var(--sidebar-w));min-width:0;display:flex;flex-direction:column;min-height:100vh;}

    /* ── Topbar ── */
    .topbar{position:sticky;top:0;z-index:50;height:auto;min-height:calc(var(--topbar-h) + var(--tg-inset-top,0px));background:var(--card);border-bottom:1px solid var(--stroke);display:flex;align-items:center;justify-content:space-between;padding:var(--tg-inset-top,0px) 20px 0;}
    .topbar-left{display:flex;align-items:center;gap:10px;}
    .topbar-page-title{font-size:14px;font-weight:700;color:var(--ink);}
    .topbar-right{display:flex;align-items:center;gap:6px;}
    .topbar-btn{width:34px;height:34px;border:1.5px solid var(--stroke);border-radius:var(--r-sm);background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:15px;transition:.12s border-color;}
    .topbar-btn:hover{border-color:var(--brand);color:var(--brand);}
    .topbar-mobile-logo{display:none;align-items:center;gap:8px;font-size:13px;font-weight:900;}
    .sidebar-toggle-btn{display:none;width:34px;height:34px;border:1.5px solid var(--stroke);border-radius:var(--r-sm);background:#fff;cursor:pointer;align-items:center;justify-content:center;color:var(--muted);font-size:18px;}

    /* ── Page Content ── */
    .page-content{flex:1;padding:20px 20px 40px;max-width:1280px;width:100%;margin:0 auto;}
    @media(min-width:1700px){.page-content{max-width:1600px;padding-left:32px;padding-right:32px;}}
    @media(min-width:2200px){.page-content{max-width:1920px;padding-left:40px;padding-right:40px;}}
    .page-header{margin-bottom:20px;}
    .page-title{font-size:22px;font-weight:900;color:var(--ink);letter-spacing:-.02em;line-height:1.2;}
    .page-sub{margin-top:4px;font-size:13px;color:var(--muted);max-width:64ch;}

    /* ── Card ── */
    .card{background:var(--card);border:1px solid var(--stroke);border-radius:var(--r);box-shadow:var(--shadow);}

    /* ── Calc Grid ── */
    .calc-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(288px,.92fr);gap:16px;align-items:start;margin-bottom:12px;}

    /* ── Form Card ── */
    .form-card{overflow:hidden;}
    .form-section{padding:18px 20px;}
    .form-section+.form-section{border-top:1px solid var(--stroke);}
    .form-section-label{display:flex;align-items:center;gap:8px;margin-bottom:14px;}
    .form-section-icon{width:28px;height:28px;border-radius:8px;background:var(--brand-dim);display:flex;align-items:center;justify-content:center;font-size:14px;flex:0 0 auto;}
    .form-section-title{font-size:14px;font-weight:800;color:var(--ink);}
    .form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
    .form-group{display:flex;flex-direction:column;gap:5px;}
    .form-label{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.02em;}
    .form-input,.form-select{appearance:none;border:1.5px solid var(--stroke);border-radius:var(--r-sm);background:var(--field);color:var(--ink);font:inherit;font-size:13px;font-weight:500;padding:8px 10px;min-height:38px;outline:none;transition:.12s border-color,.12s box-shadow;width:100%;}
    .form-input:focus,.form-select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-dim);}
    .form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2364748b' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px;}
    .form-note{font-size:11px;color:var(--muted);margin-top:5px;line-height:1.4;}
    .form-note.ok{color:var(--ok);}
    .form-note.error{color:var(--warn);}

    /* ── Services list ── */
    .services-list{display:flex;flex-direction:column;gap:8px;}
    .service-item{display:flex;align-items:center;gap:12px;padding:11px 12px;border:1.5px solid var(--stroke);border-radius:var(--r-sm);cursor:pointer;transition:.12s border-color,.12s background;background:#fff;user-select:none;}
    .service-item:has(.service-cb:checked){border-color:var(--brand);background:var(--brand-dim);}
    .service-cb{width:16px;height:16px;accent-color:var(--brand);cursor:pointer;flex:0 0 auto;}
    .svc-icon{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;flex:0 0 auto;}
    .svc-blue{background:var(--ai-dim);}
    .svc-green{background:var(--ok-dim);}
    .svc-orange{background:var(--brand-dim);}
    .svc-body{flex:1;min-width:0;}
    .svc-name{font-size:13px;font-weight:700;color:var(--ink);}
    .svc-desc{font-size:11px;color:var(--muted);margin-top:1px;}
    .svc-info{width:22px;height:22px;border:1.5px solid var(--stroke);border-radius:50%;background:none;cursor:pointer;font-size:11px;color:var(--muted);display:flex;align-items:center;justify-content:center;flex:0 0 auto;}

    /* ── Advanced section ── */
    .advanced-section{border-top:1px solid var(--stroke);}
    .advanced-summary{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;cursor:pointer;font-size:13px;font-weight:700;color:var(--muted);user-select:none;list-style:none;}
    .advanced-summary::-webkit-details-marker{display:none;}
    /* Планировщик: чипы выбора товарных групп */
    .pl-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;border:1px solid var(--stroke);background:var(--card);font-size:12px;color:var(--muted);cursor:pointer;user-select:none;transition:.12s background,.12s color,.12s border-color;}
    .pl-chip:hover{border-color:var(--brand);color:var(--brand);}
    .pl-chip.active{background:var(--brand);color:#fff;border-color:var(--brand);}
    .pl-chips-group{display:contents;}
    .pl-chips-group-label{width:100%;font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-top:6px;margin-bottom:2px;}
    /* Планировщик: details/summary ── убираем нативный маркер во всех браузерах */
    #plFilterDetails > summary{list-style:none;}
    #plFilterDetails > summary::-webkit-details-marker{display:none;}
    #plFilterDetails > summary::marker{display:none;}
    #plFilterDetails[open] > summary .pl-filter-arrow{display:inline-block;transform:rotate(90deg);}
    /* Кнопка ✏️ rename всегда видна на touch-устройствах */
    @media(hover:none){#plTitleEditBtn{opacity:1 !important;}}
    .advanced-summary:hover{color:var(--ink);}
    .adv-right{display:flex;align-items:center;gap:8px;}
    .adv-badge{font-size:11px;font-weight:700;background:var(--brand-dim);color:var(--brand);border-radius:999px;padding:1px 8px;}
    .adv-chevron{font-size:11px;transition:.15s transform;}
    details[open] .adv-chevron{transform:rotate(180deg);}
    .advanced-body{padding:0 20px 20px;}
    .questionnaire-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
    .question{display:flex;flex-direction:column;gap:5px;padding:10px 12px;border:1px solid var(--stroke);border-radius:var(--r-sm);background:var(--panel);}
    .question.full{grid-column:span 2;}
    .question .form-input,.question .form-select{background:#fff;min-height:36px;font-size:13px;}
    .question-meta{font-size:11px;color:var(--muted);margin-top:2px;}
    /* questionnaire section spacing */
    .form-section .questionnaire-grid{gap:8px;}
    /* Да/Нет переключатель */
    .q-toggle{display:inline-flex;background:var(--panel);border:1px solid var(--stroke);border-radius:999px;padding:3px;gap:2px;align-self:flex-start;}
    .q-toggle button{border:none;background:transparent;font:inherit;font-size:12px;font-weight:700;color:var(--muted);padding:5px 16px;border-radius:999px;cursor:pointer;transition:background .15s,color .15s;min-height:28px;}
    .q-toggle button.active{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(15,23,42,.12);}
    .q-toggle button.active[data-val="yes"]{background:var(--brand,#6d28d9);color:#fff;}
    .question .q-toggle{margin-top:1px;}
    /* блок сопровождения — акцентная карточка */
    .support-note{margin-top:8px;font-size:12px;font-weight:600;color:#b45309;background:#fef3c7;border-radius:8px;padding:7px 10px;}
    .sum-approve-note{margin-top:10px;font-size:12px;font-weight:600;color:#b45309;background:#fef3c7;border-radius:8px;padding:8px 11px;}

    /* ── Summary Card ── */
    .summary-card{padding:20px;display:flex;flex-direction:column;gap:14px;position:sticky;top:calc(var(--topbar-h) + 12px);}
    .sum-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;}
    .sum-title{font-size:15px;font-weight:800;color:var(--ink);}
    .sum-badge{font-size:11px;font-weight:700;color:var(--muted);background:var(--panel);border:1px solid var(--stroke);border-radius:999px;padding:3px 10px;}
    .sum-total-block{background:var(--panel);border-radius:var(--r-sm);padding:14px 16px;}
    .sum-sup{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;}
    .sum-total{font-size:30px;font-weight:900;color:var(--brand-strong);letter-spacing:-.02em;line-height:1;}
    .sum-vat-row{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);font-weight:600;margin-top:6px;}
    .sum-breakdown{border-top:1px solid var(--stroke);padding-top:12px;}
    .sum-breakdown-title{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;}
    .sum-svc-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:4px 0;font-size:12px;border-bottom:1px solid var(--stroke);}
    .sum-svc-row:last-child{border-bottom:none;}
    .sum-svc-name{flex:1;color:var(--muted);}
    .sum-svc-amt{font-weight:700;white-space:nowrap;color:var(--ink);}
    .sum-empty{font-size:12px;color:var(--muted);text-align:center;padding:10px 0;}
    .sum-email-grp{display:flex;flex-direction:column;gap:5px;}
    .sum-send-label{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.02em;margin-bottom:2px;}
    .sum-send-row{display:flex;gap:8px;align-items:stretch;}
    .sum-send-row .form-input{flex:1;}
    .sum-actions{display:flex;flex-direction:column;gap:8px;}
    .btn-tg{display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 14px;border:1.5px solid var(--stroke);border-radius:var(--r-sm);background:#fff;color:var(--ink);font:inherit;font-size:13px;font-weight:700;cursor:pointer;text-decoration:none;transition:.12s border-color,.12s transform;}
    .btn-tg:hover{border-color:var(--brand);transform:translateY(-1px);}
    .btn-pdf{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border:none;border-radius:var(--r-sm);background:var(--brand);color:#fff;font:inherit;font-size:14px;font-weight:800;cursor:pointer;box-shadow:0 6px 20px rgba(255,90,0,.3);transition:.12s transform,.12s box-shadow;}
    .btn-pdf:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(255,90,0,.38);}
    .btn-pdf:active{transform:translateY(0);}
    .btn-pdf:disabled{opacity:.65;cursor:progress;transform:none;box-shadow:none;}
    .sum-note{font-size:11px;color:var(--muted);text-align:center;line-height:1.4;}

    /* ── Rates Bar ── */
    .rates-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 16px;background:var(--card);border:1px solid var(--stroke);border-radius:var(--r-sm);margin-bottom:16px;}
    .rates-item{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--muted);}
    .rates-sep{width:1px;height:16px;background:var(--stroke);}
    .rates-sel{appearance:none;border:1px solid var(--stroke);border-radius:6px;background:#fff;color:var(--ink);font:inherit;font-size:12px;font-weight:700;padding:3px 22px 3px 7px;height:26px;outline:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5' viewBox='0 0 8 5'%3E%3Cpath d='M1 1l3 3 3-3' stroke='%2364748b' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center;transition:.12s border-color;}
    .rates-sel:focus{border-color:var(--brand);}
    .rates-refresh{appearance:none;border:1px solid var(--stroke);border-radius:6px;background:#fff;color:var(--ink);font:inherit;font-size:12px;font-weight:700;padding:3px 10px;height:26px;cursor:pointer;margin-left:auto;transition:.12s border-color,.12s background;}
    .rates-refresh:hover{border-color:var(--brand);background:var(--brand-dim);}
    .spin{display:inline-block;width:12px;height:12px;border-radius:50%;border:2px solid var(--stroke);border-top-color:var(--brand);animation:spin .7s linear infinite;vertical-align:middle;}
    @keyframes spin{to{transform:rotate(360deg);}}
    .ok{color:var(--ok);font-weight:700;}

    /* ── Analytics ── */
    .analytics-section{display:flex;flex-direction:column;gap:12px;}
    .analytics-card{overflow:hidden;}
    .an-card-head{padding:16px 20px 14px;border-bottom:1px solid var(--stroke);display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:10px;}
    .an-head-info{flex:1;}
    .an-title{font-size:15px;font-weight:800;color:var(--ink);}
    .an-sub{font-size:12px;color:var(--muted);margin-top:2px;}
    .an-filters{display:flex;align-items:center;flex-wrap:wrap;gap:6px;}
    .an-body{padding:14px 20px;}
    .period-btn{appearance:none;border:1.5px solid var(--stroke);border-radius:999px;background:#fff;color:var(--muted);font:inherit;font-size:12px;font-weight:700;padding:4px 11px;height:28px;cursor:pointer;transition:.12s;}
    .period-btn.active{background:var(--brand);border-color:var(--brand);color:#fff;}
    .period-btn:hover:not(.active){border-color:var(--brand);color:var(--ink);}
    .btn-ai{appearance:none;border:none;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border-radius:var(--r-sm);font:inherit;font-size:12px;font-weight:700;padding:5px 13px;height:28px;cursor:pointer;box-shadow:0 2px 8px rgba(37,99,235,.28);transition:.12s filter;white-space:nowrap;}
    .btn-ai:hover{filter:brightness(1.08);}
    .btn-ai:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;}

    /* ── Tariff table ── */
    .tariff-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
    .tariff-wrap table{min-width:700px;width:100%;border-collapse:collapse;}
    table{width:100%;border-collapse:collapse;}
    .tariff-wrap thead th{position:sticky;top:0;z-index:2;text-align:left;font-size:10px;color:var(--muted);font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:10px 14px;background:var(--panel);border-bottom:2px solid var(--stroke);}
    .tariff-wrap thead th.num{text-align:right;}
    thead th{text-align:left;font-size:11px;color:var(--muted);font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:10px 14px;background:var(--panel);border-bottom:1px solid var(--stroke);}
    tbody td{padding:10px 14px;border-bottom:1px solid var(--stroke);vertical-align:middle;font-size:13px;transition:background .1s;}
    /* Active row — услуга задействована (qty > 0) */
    .tariff-wrap tr.row-active td{background:rgba(255,90,0,.04);}
    .tariff-wrap tr.row-active td:first-child{border-left:3px solid var(--brand);padding-left:11px;}
    .tariff-wrap tr.row-active .service-name{color:var(--ink);font-weight:700;}
    .tariff-wrap tr.row-active .service-total{color:var(--brand-strong);font-weight:900;}
    /* Zero row — услуга не используется */
    .tariff-wrap tr.row-zero td{opacity:.5;}
    .tariff-wrap tr.row-zero:hover td{opacity:.75;}
    /* Numeric columns */
    .tariff-wrap td.num,.tariff-wrap th.num{text-align:right;}
    /* Rate stepper */
    .rate-stepper{display:inline-flex;align-items:stretch;border:1.5px solid var(--stroke);border-radius:9px;background:var(--field);transition:.12s border-color,.12s box-shadow;overflow:hidden;height:34px;}
    .rate-stepper:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-dim);}
    .rate-step-btn{width:30px;border:none;background:none;cursor:pointer;color:var(--muted);font-size:17px;line-height:1;display:flex;align-items:center;justify-content:center;transition:.1s background,.1s color;user-select:none;flex-shrink:0;padding:0;}
    .rate-step-btn:hover{background:var(--brand-dim);color:var(--brand);}
    .rate-step-btn:active{background:var(--brand);color:#fff;}
    .rate-step-btn.minus{border-right:1px solid var(--stroke);}
    .rate-step-btn.plus{border-left:1px solid var(--stroke);}
    .rate-step-input{width:72px;border:none;background:transparent;text-align:center;font:inherit;font-size:13px;font-weight:700;color:var(--ink);outline:none;padding:0 2px;font-variant-numeric:tabular-nums;appearance:none;-moz-appearance:textfield;}
    .rate-step-input::-webkit-inner-spin-button,.rate-step-input::-webkit-outer-spin-button{-webkit-appearance:none;}
    /* Repeat press acceleration */
    .rate-step-btn.pressing{background:var(--brand);color:#fff;}
    .qty-badge{display:inline-flex;align-items:center;justify-content:center;min-width:46px;padding:4px 8px;border:1.5px solid var(--stroke);border-radius:8px;background:var(--panel);font-weight:800;font-size:12px;font-variant-numeric:tabular-nums;color:var(--muted);transition:.15s all;}
    .qty-badge.active{background:var(--brand);border-color:var(--brand);color:#fff;}
    .service-help{display:block;margin-top:2px;color:var(--muted);font-size:11px;font-weight:400;}
    .service-name{font-size:13px;font-weight:600;color:var(--ink);line-height:1.3;}
    .service-total{font-variant-numeric:tabular-nums;}
    .tag{color:var(--muted);font-size:12px;font-weight:600;}
    /* Totals */
    .tariff-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:14px 18px;border-top:2px solid var(--stroke);background:var(--panel);border-radius:0 0 var(--r) var(--r);}
    .tariff-active-badge{display:inline-flex;align-items:center;gap:6px;background:var(--brand-dim);color:var(--brand);border-radius:999px;padding:5px 12px;font-size:12px;font-weight:700;}
    .tariff-active-badge .dot{width:6px;height:6px;border-radius:50%;background:var(--brand);}
    .totals-box{min-width:290px;border:1px solid var(--stroke);border-radius:var(--r-sm);overflow:hidden;background:var(--card);}
    .trow{display:flex;justify-content:space-between;gap:12px;padding:9px 14px;font-weight:600;font-size:13px;font-variant-numeric:tabular-nums;}
    .trow.dim{color:var(--muted);background:var(--panel);font-size:12px;}
    .trow.grand{background:var(--brand);color:#fff;font-size:14px;font-weight:900;}

    /* ── AN (analytics) inherited ── */
    .an-search-wrap{position:relative;min-width:180px;flex:1 1 180px;max-width:280px;}
    .an-search-input{width:100%;border:1.5px solid var(--stroke);background:var(--field);color:var(--ink);border-radius:var(--r-sm);padding:5px 28px 5px 10px;font:inherit;font-size:12px;outline:none;transition:.12s border-color;height:28px;}
    .an-search-input:focus{border-color:var(--brand);}
    .an-search-clear{position:absolute;right:7px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--muted);font-size:13px;padding:0;line-height:1;display:none;}
    .an-search-clear.visible{display:block;}
    .an-dropdown{position:fixed;background:var(--card);border:1.5px solid var(--stroke);border-radius:var(--r-sm);box-shadow:var(--shadow-lg);z-index:9999;max-height:220px;overflow-y:auto;padding-bottom:4px;display:none;}
    .an-dropdown.open{display:block;}
    .an-dropdown-item{padding:7px 12px;cursor:pointer;font-size:13px;border-bottom:1px solid var(--stroke);transition:.1s background;}
    .an-dropdown-item:last-child{border-bottom:none;}
    .an-dropdown-item:hover,.an-dropdown-item.focused{background:var(--brand-dim);}
    .an-dropdown-item b{color:var(--brand);}
    .an-dropdown-empty{padding:10px 12px;color:var(--muted);font-size:12px;}
    .an-dropdown-more{padding:6px 12px;color:var(--muted);font-size:11px;font-style:italic;border-top:1px solid var(--stroke);}
    .an-manager-tag{display:inline-block;background:var(--brand-dim);color:var(--brand);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;margin-bottom:10px;}
    #anAiBlock{background:var(--card);border:1px solid var(--stroke);border-radius:var(--r-sm);padding:14px;margin-top:10px;box-shadow:var(--shadow);}
    .an-ai-meta{margin-top:10px;font-size:11px;color:var(--muted);text-align:right;}
    .an-ai-hint{text-align:center;padding:24px 16px;}
    .an-ai-hint-icon{font-size:28px;margin-bottom:6px;}
    .an-ai-hint-text{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:4px;}
    .an-ai-hint-sub{font-size:12px;color:var(--muted);}
    /* KPI block — новый дизайн */
    .kpi-block{margin-bottom:14px;}
    .kpi-primary{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:6px;}
    .kpi-p-card{background:var(--card);border:1px solid var(--stroke);border-radius:var(--r-sm);padding:10px 10px 9px;min-width:0;}
    .kpi-p-val{font-size:26px;font-weight:900;color:var(--brand-strong);line-height:1;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
    .kpi-p-lbl{font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
    .kpi-secondary{display:flex;flex-wrap:nowrap;background:var(--panel);border:1px solid var(--stroke);border-radius:var(--r-sm);padding:7px 12px;align-items:center;overflow-x:auto;}
    .kpi-s-chip{display:flex;flex-direction:column;align-items:center;flex-shrink:0;padding:0 10px;}
    .kpi-s-chip:first-child{padding-left:0;}
    .kpi-s-chip:last-child{padding-right:0;}
    .kpi-s-val{font-size:16px;font-weight:900;color:var(--brand-strong);line-height:1;transition:color .15s;}
    .kpi-s-lbl{font-size:9px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-top:2px;white-space:nowrap;}
    .kpi-s-sep{width:1px;height:26px;background:var(--stroke);flex-shrink:0;margin:0 2px;}
    .kpi-s-chip--zero .kpi-s-val{color:var(--muted);font-size:13px;font-weight:700;}
    .kpi-s-chip--warn .kpi-s-val{color:var(--warn);}
    .kpi-s-chip--accent:not(.kpi-s-chip--zero) .kpi-s-val{color:var(--brand);}
    /* legacy KPI styles (не удалять — могут использоваться в других местах) */
    .an-ai-kpis,.an-ai-kpis-2{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;margin-bottom:12px;}
    .an-ai-kpi{background:var(--card);border-radius:var(--r-sm);padding:10px 12px;box-shadow:0 0 0 1px rgba(15,23,42,.06),0 2px 8px rgba(15,23,42,.05);}
    .an-ai-kpi.accent{box-shadow:0 0 0 1.5px var(--brand),0 2px 8px rgba(255,90,0,.12);}
    .an-ai-kpi-label{font-size:10px;font-weight:600;letter-spacing:.01em;color:var(--muted);margin-bottom:4px;line-height:1.2;overflow-wrap:break-word;}
    .an-ai-kpi-value{font-size:22px;font-weight:900;color:var(--brand-strong);line-height:1;font-variant-numeric:tabular-nums;}
    .an-ai-kpi-value.sm{font-size:16px;}
    .an-ai-charts-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;}
    @media(max-width:580px){.an-ai-charts-row{grid-template-columns:1fr;}}
    .an-ai-chart-box{background:var(--card);border-radius:var(--r-sm);padding:14px;box-shadow:0 0 0 1px rgba(15,23,42,.06),0 2px 12px rgba(15,23,42,.05);border-top:2px solid var(--stroke);}
    .an-ai-chart-title{font-size:12px;font-weight:700;letter-spacing:-.01em;color:var(--ink);margin-bottom:10px;}
    .an-ai-chart-wrap{position:relative;}
    .an-ai-section{margin-bottom:12px;}
    .an-ai-section-title{font-size:11px;font-weight:700;letter-spacing:0;color:var(--ink);margin-bottom:8px;padding-left:8px;border-left:2px solid var(--brand);}
    .an-fallback-warning{background:#fef9c3;border:1.5px solid #fde047;border-radius:var(--r-sm);padding:10px 14px;font-size:12px;color:#854d0e;margin-bottom:12px;line-height:1.5;}
    .an-ai-frow{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--stroke);font-size:12px;}
    .an-ai-frow:last-child{border-bottom:none;}
    .an-ai-fname{flex:0 0 auto;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:var(--ink);}
    .an-ai-fbar-wrap{flex:1;height:7px;background:rgba(15,23,42,.06);border-radius:99px;overflow:hidden;}
    .an-ai-fbar{height:100%;background:linear-gradient(90deg,#d44d00,#FF5A00);border-radius:99px;transition:width .45s cubic-bezier(.2,.8,.3,1);}
    .an-ai-fcnt{flex:0 0 auto;font-weight:800;color:var(--brand-strong);font-size:12px;min-width:22px;text-align:right;font-variant-numeric:tabular-nums;}
    .an-ai-article{border-bottom:1px solid var(--stroke);padding:6px 0;}
    .an-ai-article:last-child{border-bottom:none;}
    .an-ai-article-head{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;margin-bottom:3px;}
    .an-ai-article-factory{font-weight:700;font-size:13px;}
    .an-ai-article-art{color:var(--muted);font-size:11px;}
    .an-ai-article-cnt{margin-left:auto;font-weight:900;font-size:13px;color:var(--brand-strong);white-space:nowrap;}
    .an-ai-article-fields{display:flex;flex-wrap:wrap;gap:4px;}
    .an-ai-pill{background:var(--panel);border:1px solid var(--stroke);border-radius:999px;padding:2px 7px;font-size:10px;white-space:nowrap;}
    .an-ai-pill b{font-weight:700;color:var(--brand);}
    .an-ai-text-body{font-size:13px;line-height:1.65;white-space:pre-wrap;word-break:break-word;}
    .an-ai-text-body b{font-weight:700;}
    .an-ai-loading{text-align:center;color:var(--muted);padding:16px 0;font-size:13px;}
    .an-ai-empty{color:var(--muted);font-size:12px;padding:6px 0;}
    .an-ai-locked-wrap{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px;}
    .an-ai-locked-tag{display:inline-flex;align-items:center;gap:3px;background:var(--warn-dim);color:#b91c1c;border:1px solid rgba(239,68,68,.25);border-radius:5px;padding:2px 7px;font-size:11px;font-weight:700;}
    .an-ai-locked-cnt{background:rgba(239,68,68,.18);border-radius:3px;padding:0 3px;font-size:10px;}
    .an-ai-locked-hint{font-size:11px;color:var(--muted);margin-bottom:5px;}
    .an-ai-ftable{width:100%;border-collapse:collapse;font-size:12px;}
    .an-ai-ftable th{text-align:left;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:4px 7px;border-bottom:1px solid var(--stroke);}
    .an-ai-ftable td{padding:5px 7px;border-bottom:1px solid var(--stroke);vertical-align:middle;}
    .an-ai-ftable tr:last-child td{border-bottom:none;}
    .an-ai-ftable .td-bar{width:35%;}
    .an-ai-ftable .td-num{text-align:right;font-weight:700;white-space:nowrap;color:var(--brand-strong);}
    .an-orders-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
    .an-orders-total{font-size:12px;font-weight:600;color:var(--muted);background:var(--panel);border:1px solid var(--stroke);border-radius:999px;padding:2px 10px;}
    @keyframes anRowIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
    .an-order-row{
      display:flex;align-items:center;gap:10px;
      padding:12px 12px 12px 14px;
      border-radius:var(--r-sm);
      background:var(--card);
      border-left:3px solid var(--stroke);
      margin-bottom:5px;cursor:pointer;
      transition:transform .2s ease,box-shadow .2s ease,border-left-color .2s ease,background .15s;
      box-shadow:0 0 0 1px rgba(15,23,42,.055),0 1px 4px rgba(15,23,42,.04);
      animation:anRowIn .35s cubic-bezier(.2,.8,.3,1) both;
      animation-delay:calc(var(--i,0)*45ms);
    }
    .an-order-row:hover{
      transform:translateY(-2px);
      box-shadow:0 0 0 1px rgba(15,23,42,.07),0 8px 24px rgba(15,23,42,.10);
      background:#fff;
    }
    .an-order-row:active{transform:scale(.985);transition-duration:.07s;}
    /* Severity left-border heat coding */
    .an-order-row.sev-high{border-left-color:#ef4444;}
    .an-order-row.sev-high:hover{border-left-color:#dc2626;}
    .an-order-row.sev-med{border-left-color:#f59e0b;}
    .an-order-row.sev-med:hover{border-left-color:#d97706;}
    .an-order-row.sev-low{border-left-color:var(--brand);}
    .an-order-row.sev-low:hover{border-left-color:var(--brand-strong);}
    .an-order-num{font-weight:700;font-size:13px;flex:0 0 auto;min-width:78px;color:var(--ink);letter-spacing:-.01em;}
    .an-order-cnt{font-size:11px;font-weight:800;color:var(--muted);margin-left:-4px;flex:0 0 auto;font-variant-numeric:tabular-nums;}
    .an-order-badges{display:flex;gap:4px;flex:1;flex-wrap:wrap;}
    .an-order-badge{font-size:10px;font-weight:700;padding:2px 7px;border-radius:5px;white-space:nowrap;letter-spacing:.01em;border:1px solid transparent;}
    .an-order-badge.red{background:#fef2f2;color:#dc2626;border-color:rgba(239,68,68,.15);}
    .an-order-badge.yellow{background:#fffbeb;color:#b45309;border-color:rgba(245,158,11,.15);}
    .an-order-badge.blue{background:#eff6ff;color:#2563eb;border-color:rgba(59,130,246,.15);}
    .an-order-badge.lock{background:#fff7ed;color:#ea580c;border-color:rgba(249,115,22,.15);}
    .an-order-arrow{color:#cbd5e1;font-size:16px;flex:0 0 auto;transition:transform .2s ease,color .2s;}
    .an-order-row:hover .an-order-arrow{transform:translateX(4px);color:var(--brand);}
    @keyframes anPanelIn{from{opacity:0;transform:scale(.93) translateY(16px)}to{opacity:1;transform:scale(1) translateY(0)}}
    @keyframes anPanelOut{from{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.93) translateY(16px)}}
    #anOrderOverlay{
      position:fixed;inset:0;z-index:999;
      display:flex;align-items:center;justify-content:center;
      padding:20px;
      background:rgba(15,23,42,0);
      pointer-events:none;
      transition:background .28s ease;
    }
    #anOrderOverlay.open{
      background:rgba(15,23,42,.62);
      pointer-events:auto;
    }
    #anOrderOverlay.closing{
      background:rgba(15,23,42,0);
      pointer-events:none;
    }
    #anOrderPanel{
      background:#fff;width:100%;max-width:680px;max-height:88vh;
      border-radius:22px;
      overflow-y:auto;overflow-x:hidden;padding:0 16px 40px;
      opacity:0;transform:scale(.93) translateY(16px);
      transition:opacity .32s cubic-bezier(.22,1,.36,1),transform .34s cubic-bezier(.22,1.1,.36,1);
      box-shadow:0 24px 80px rgba(15,23,42,.35),0 4px 20px rgba(15,23,42,.12);
    }
    #anOrderOverlay.open #anOrderPanel{
      opacity:1;transform:scale(1) translateY(0);
    }
    #anOrderOverlay.closing #anOrderPanel{
      opacity:0;transform:scale(.93) translateY(12px);
      transition:opacity .2s ease,transform .2s cubic-bezier(.4,0,1,1);
    }
    /* ── Dark hero zone: drag handle + title ── */
    .an-op-drag{display:none;}
    .an-op-head{
      display:flex;align-items:center;gap:10px;
      padding:20px 18px 18px;
      margin:0 -16px;
      background:#0f172a;
      border-radius:22px 22px 0 0;
      border-bottom:none;
      margin-bottom:0;
    }
    .an-op-close{
      width:30px;height:30px;border:1px solid rgba(255,255,255,.14);
      background:rgba(255,255,255,.07);border-radius:8px;
      cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;
      color:rgba(255,255,255,.5);
      transition:background .15s,color .15s,border-color .15s,transform .28s cubic-bezier(.34,1.56,.64,1);flex-shrink:0;
    }
    .an-op-close:hover{background:rgba(255,255,255,.15);color:#fff;border-color:rgba(255,255,255,.3);transform:rotate(90deg) scale(1.1);}
    .an-op-title{font-size:18px;font-weight:700;flex:1;color:rgba(255,255,255,.75);letter-spacing:-.02em;}
    /* ── Hero KPI zone — massive number with glow ── */
    .an-op-hero{
      margin:0 -16px;
      background:#090e1b;
      padding:8px 24px 26px;
      text-align:center;
      position:relative;
      overflow:hidden;
      margin-bottom:0;
    }
    /* Radial orange glow behind the number */
    .an-op-hero::before{
      content:'';position:absolute;
      bottom:-20%;left:50%;transform:translateX(-50%);
      width:260px;height:180px;
      background:radial-gradient(ellipse at center,rgba(255,90,0,.28) 0%,transparent 70%);
      pointer-events:none;
    }
    /* Subtle grid lines in the bg */
    .an-op-hero::after{
      content:'';position:absolute;inset:0;
      background-image:
        repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 1px,transparent 1px 44px),
        repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 44px);
      pointer-events:none;
    }
    .an-op-hero-label{
      font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
      color:rgba(255,90,0,.75);
      position:relative;z-index:1;margin-bottom:2px;
    }
    .an-op-hero-num{
      font-size:84px;font-weight:900;line-height:.9;
      color:#fff;letter-spacing:-.05em;font-variant-numeric:tabular-nums;
      position:relative;z-index:1;
      text-shadow:0 0 60px rgba(255,90,0,.4),0 4px 32px rgba(0,0,0,.6);
      margin:6px 0 16px;
      display:block;
    }
    .an-op-hero-chips{
      display:flex;justify-content:center;gap:8px;flex-wrap:wrap;
      position:relative;z-index:1;
    }
    .an-op-chip{
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.09);
      border-radius:10px;padding:8px 16px;text-align:center;
      backdrop-filter:blur(4px);
    }
    .an-op-chip-label{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.35);display:block;margin-bottom:3px;}
    .an-op-chip-value{font-size:20px;font-weight:800;color:#fff;font-variant-numeric:tabular-nums;display:block;letter-spacing:-.02em;}
    /* ── Fallback KPI grid (no corrections) ── */
    .an-op-kpis{
      display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;
      margin:0 -16px;padding:0 16px 22px;background:#090e1b;margin-bottom:0;
    }
    .an-op-kpi{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-sm);padding:10px 12px;}
    .an-op-kpi-label{font-size:10px;font-weight:600;letter-spacing:.01em;color:rgba(255,255,255,.42);margin-bottom:5px;}
    .an-op-kpi-value{font-size:24px;font-weight:900;line-height:1;color:#fff;font-variant-numeric:tabular-nums;}
    /* ── Separator between hero zone and white body ── */
    .an-op-hero-sep{
      margin:0 -16px 20px;
      height:3px;
      background:linear-gradient(90deg,transparent,rgba(255,90,0,.5) 30%,rgba(255,90,0,.5) 70%,transparent);
    }
    /* ── Body sections ── */
    .an-op-section-title{
      display:flex;align-items:center;gap:10px;
      font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
      color:var(--muted);margin:20px 0 10px;
    }
    .an-op-section-title::after{content:'';flex:1;height:1px;background:var(--stroke);}
    .an-op-status{background:var(--panel);border-radius:var(--r-sm);padding:2px 12px;box-shadow:0 0 0 1px rgba(15,23,42,.05);}
    .an-op-event{display:flex;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid var(--stroke);font-size:12px;}
    .an-op-event:last-child{border-bottom:none;}
    .an-op-event-text{flex:1;color:var(--ink);font-weight:500;}
    .an-op-event-date{color:var(--muted);white-space:nowrap;flex:0 0 auto;font-variant-numeric:tabular-nums;font-weight:700;font-size:11px;background:var(--panel);border-radius:5px;padding:3px 7px;border:1px solid var(--stroke);}
    /* ── Animated bars ── */
    .an-op-bar-row{display:flex;flex-direction:column;padding:7px 0;border-bottom:1px solid rgba(15,23,42,.05);}
    .an-op-bar-row:last-child{border-bottom:none;}
    .an-op-bar-main{display:flex;align-items:center;gap:8px;}
    .an-op-bar-label{flex:0 0 38%;font-size:12.5px;font-weight:600;color:var(--ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
    .an-op-bar-track{flex:1;height:5px;background:rgba(15,23,42,.07);border-radius:99px;overflow:hidden;min-width:40px;}
    .an-op-bar-fill{height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,#c43a00,#FF5A00,#ff7a30);transition:width .75s cubic-bezier(.22,1,.36,1);}
    .an-op-bar-fill.an-bar-top{background:linear-gradient(90deg,#a33000,#FF5A00);}
    .an-op-bar-count{font-weight:800;color:var(--brand-strong);font-size:13px;min-width:24px;text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0;}
    .an-op-examples{display:flex;flex-wrap:wrap;gap:3px;padding:4px 0 2px;margin-left:1px;}
    .an-op-ex-pill{display:inline-flex;align-items:center;gap:3px;font-size:10px;padding:2px 7px 2px 6px;border-radius:5px;background:rgba(15,23,42,.04);border:1px solid rgba(15,23,42,.07);line-height:1.5;}
    .an-op-ex-from{color:var(--muted);font-weight:500;}
    .an-op-ex-arrow{color:rgba(255,90,0,.45);font-size:8px;font-weight:700;flex-shrink:0;}
    .an-op-ex-to{color:#b84000;font-weight:700;}
    .an-op-ex-cnt{color:var(--muted);font-size:8.5px;opacity:.6;margin-left:1px;}
    .an-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-bottom:16px;}
    .an-kpi{background:var(--panel);border:1px solid var(--stroke);border-radius:var(--r-sm);padding:12px 14px;display:flex;flex-direction:column;gap:4px;}
    .an-kpi-label{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);}
    .an-kpi-value{font-size:24px;font-weight:900;color:var(--brand-strong);line-height:1;font-variant-numeric:tabular-nums;}
    .an-charts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;}
    @media(max-width:680px){.an-charts{grid-template-columns:1fr;}}
    .an-chart-box{background:var(--panel);border:1px solid var(--stroke);border-radius:var(--r-sm);padding:14px;}
    .an-chart-title{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;}
    .an-factories-title{font-size:11px;font-weight:700;letter-spacing:0;color:var(--ink);margin-bottom:10px;padding-left:8px;border-left:2px solid var(--brand);}
    .an-factory-row{border-bottom:1px solid var(--stroke);padding:8px 0;cursor:pointer;}
    .an-factory-row:last-child{border-bottom:none;}
    .an-factory-head{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;}
    .an-factory-name{font-weight:700;}
    .an-factory-count{color:var(--muted);font-size:12px;}
    .an-factory-fields{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;}
    .an-pill{background:var(--brand-dim);color:var(--brand-strong);border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700;}
    .an-empty{text-align:center;color:var(--muted);padding:28px 0;font-size:13px;}
    .an-loading{text-align:center;color:var(--muted);padding:28px 0;font-size:13px;}
    .section-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;margin-bottom:12px;flex-wrap:wrap;}
    .section-title{font-size:15px;font-weight:800;color:var(--brand-strong);}
    .section-sub{color:var(--muted);font-size:12px;}

    /* ── Responsive ── */
    @media(max-width:1024px){
      .calc-grid{grid-template-columns:1fr;}
      .summary-card{position:static;}
    }
    /* Backdrop под открытым мобильным сайдбаром */
    .sidebar-backdrop{display:none;position:fixed;inset:0;z-index:99;background:rgba(15,23,42,.45);opacity:0;transition:.2s opacity;}
    .sidebar-backdrop.show{display:block;opacity:1;}

    @media(max-width:768px){
      /* Боковое меню → нижняя панель навигации (как в Telegram-мини-аппах,
         напр. «Плати по миру»): всегда видима внизу, не перекрывает контент. */
      .sidebar{
        top:auto;right:0;bottom:0;left:0;width:100%;height:auto;
        flex-direction:row;transform:none;border-right:0;border-top:0;
        background:rgba(255,255,255,.62);
        -webkit-backdrop-filter:blur(28px) saturate(1.8);
        backdrop-filter:blur(28px) saturate(1.8);
        box-shadow:inset 0 .5px 0 rgba(255,255,255,.7),0 -.5px 0 rgba(15,23,42,.08),0 -10px 34px rgba(15,23,42,.12);
        padding-bottom:var(--tg-inset-bottom,env(safe-area-inset-bottom,0px));
        z-index:120;
      }
      .sidebar-logo,.sidebar-footer{display:none;}
      .sidebar-nav{
        flex:1;display:flex;flex-direction:row;gap:1px;padding:9px 8px 7px;
        overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;
        scrollbar-width:none;
      }
      .sidebar-nav::-webkit-scrollbar{display:none;}
      .sidebar-nav>li{flex:0 0 auto;}
      .sidebar-item{
        flex-direction:column;gap:5px;width:auto;min-width:62px;
        padding:0 8px;font-size:10px;font-weight:650;letter-spacing:.01em;
        color:var(--muted);text-align:center;white-space:nowrap;line-height:1;
        justify-content:flex-start;background:none;
        transition:color .18s ease;
      }
      .sidebar-item:hover{background:none;}
      .sidebar-item:active{transform:scale(.93);}
      /* «Пилюля» под иконкой — подсветка активного пункта в фирменном цвете */
      .si-icon{
        width:auto;min-width:46px;height:30px;border-radius:12px;font-size:18px;
        display:flex;align-items:center;justify-content:center;
        transition:background .2s ease,color .18s ease;
      }
      .si-icon svg{width:21px;height:21px;}
      .sidebar-item.active{color:var(--brand);background:none;box-shadow:none;font-weight:750;}
      .sidebar-item.active .si-icon{background:var(--brand-dim);color:var(--brand);}
      .sidebar-toggle-btn{display:none!important;}
      .sidebar-backdrop{display:none!important;}
      .main-area{margin-left:0;width:100%;min-width:0;max-width:100vw;}
      /* #admPanel{left:0} задаётся ниже, после базового правила — иначе перебивается каскадом */
      .topbar-mobile-logo{display:flex;}
      .sidebar-toggle-btn{display:flex;}
      .topbar-page-title{display:none;}
      .page-content{padding:12px 12px calc(78px + var(--tg-inset-bottom,env(safe-area-inset-bottom,0px)));}
      .form-row-2{grid-template-columns:1fr;}
      /* Опросник остаётся в 2 колонки — иначе страница огромная */
      .questionnaire-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
      .question{padding:8px 9px;}
      .question .form-input,.question .form-select{min-height:40px;font-size:14px;}
      .question.full{grid-column:span 2;}
      .form-card,.summary-card{padding:14px;}
      .an-card-head{flex-direction:column;}
      /* Заголовок страницы компактнее */
      .page-title{font-size:24px;line-height:1.15;}
      .page-sub{font-size:13px;}
      .page-header{margin-bottom:14px;}
      /* Итоговая карточка не sticky — выносим действие в нижнюю панель */
      .summary-card{position:static;}
      .summary-card .sum-actions{display:none;}
      .summary-card .sum-note{display:none;}
      /* Планировщик: на мобиле шапка перестраивается — кнопка «Запустить» уходит вниз
         на всю ширину, чтобы заголовок не сжимался и не было переноса в 2 строки.
         Sticky отключаем: высокая шапка съедала бы экран и перекрывала переключатель. */
      .pl-node-head{position:static;flex-wrap:wrap;}
      .pl-node-head #plRunBtn{order:3;width:100%;flex-basis:100%;justify-content:center;margin-top:4px;padding:11px;font-size:15px;}
      /* Маркировка: карточки не выходят за экран */
      #panelClients .card{min-width:0;overflow:hidden;}
      #cliUploadSection > div:last-child{padding:16px;}
      .cli-drop-zone{padding:24px 14px;}
      #panelClients .page-header > div{flex-direction:column;align-items:flex-start;}
      /* Кнопки шапки Маркировки — каждая на всю ширину */
      #panelClients .page-header .cli-btn{width:100%;justify-content:center;}
      /* История загрузок и корректировок — карточный вид на мобиле */
      #cliHistoryTable thead,#cliCorrTable thead{display:none;}
      #cliHistoryTable,#cliHistoryTable tbody,#cliHistoryTable tr,
      #cliCorrTable,#cliCorrTable tbody,#cliCorrTable tr{display:block;width:100%;}
      #cliHistoryTable tr,#cliCorrTable tr{
        padding:12px 16px;border-bottom:1px solid var(--stroke);
      }
      #cliHistoryTable tr:last-child,#cliCorrTable tr:last-child{border-bottom:none;}
      #cliHistoryTable td,#cliCorrTable td{
        display:flex;justify-content:space-between;align-items:flex-start;
        gap:8px;padding:2px 0;border:none;font-size:13px;
      }
      #cliHistoryTable td::before,#cliCorrTable td::before{
        content:attr(data-label);
        font-size:11px;font-weight:700;color:var(--muted);
        text-transform:uppercase;letter-spacing:.04em;
        flex-shrink:0;padding-top:2px;
      }
      #cliHistoryTable td[data-label=""],#cliHistoryTable td:not([data-label]),
      #cliCorrTable td[data-label=""],#cliCorrTable td:not([data-label]){
        justify-content:flex-end;
      }
      /* colspan-заглушка "История пуста" */
      #cliHistoryTable td[colspan],#cliCorrTable td[colspan]{display:table-cell;}

      /* Закреплённая нижняя панель с итогом и кнопкой PDF */
      .mobile-actionbar{display:flex;}
    }
    @media(min-width:769px){.mobile-actionbar{display:none;}}

    /* Нижняя панель действий (моб.) */
    .mobile-actionbar{position:fixed;left:0;right:0;bottom:0;z-index:90;align-items:center;gap:10px;
      padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);
      backdrop-filter:blur(8px);border-top:1px solid var(--stroke);box-shadow:0 -6px 20px rgba(15,23,42,.10);}
    .mab-total{display:flex;flex-direction:column;line-height:1.1;min-width:0;}
    .mab-total-sup{font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);}
    .mab-total-val{font-size:19px;font-weight:900;color:var(--brand-strong);letter-spacing:-.02em;white-space:nowrap;}
    .mab-tg{flex:0 0 auto;width:44px;height:44px;border:1.5px solid var(--stroke);border-radius:var(--r-sm);background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:center;font-size:18px;text-decoration:none;margin-left:auto;}
    .mab-pdf{flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:6px;height:44px;padding:0 18px;border:none;border-radius:var(--r-sm);background:var(--brand);color:#fff;font:inherit;font-size:14px;font-weight:800;cursor:pointer;box-shadow:0 4px 14px rgba(255,90,0,.3);}
    .mab-pdf:disabled{opacity:.65;}
    @media(max-width:480px){
      .an-filters{gap:5px;}
    }

    /* ════════════ ANALYTICS DASHBOARD (redesign) ════════════ */
    .dash{display:flex;flex-direction:column;gap:14px;}
    #dashContent:not([hidden]){display:flex;flex-direction:column;gap:14px;}
    /* Filters bar */
    .dash-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:var(--card);border:1px solid var(--stroke);border-radius:var(--r);box-shadow:var(--shadow);padding:12px 14px;}
    .dash-filters .an-search-wrap{flex:1 1 240px;min-width:200px;}
    .dash-select{display:inline-flex;align-items:center;gap:8px;background:var(--field);border:1px solid var(--stroke);border-radius:var(--r-sm);padding:8px 12px;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer;white-space:nowrap;}
    .dash-select .ds-ico{font-size:14px;opacity:.8;}
    .dash-select .ds-caret{color:var(--muted);font-size:10px;margin-left:2px;}
    .dash-period{display:inline-flex;background:var(--panel);border:1px solid var(--stroke);border-radius:var(--r-sm);padding:3px;gap:2px;}
    .dash-period .an-period-btn{border:none;background:none;border-radius:7px;padding:6px 12px;font-size:13px;font-weight:700;color:var(--muted);cursor:pointer;}
    .dash-period .an-period-btn.active{background:var(--brand-dim);color:var(--brand);box-shadow:inset 0 0 0 1px rgba(255,90,0,.25);}
    .dash-aibtn{margin-left:auto;display:inline-flex;align-items:center;gap:7px;background:var(--ai);color:#fff;border:none;border-radius:var(--r-sm);padding:9px 16px;font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 2px 8px rgba(37,99,235,.30);transition:.12s filter;}
    .dash-aibtn:hover{filter:brightness(1.07);}

    /* KPI cards */
    .kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;}
    @media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
    @media(max-width:680px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
    /* Insights (выводы, не метрики) — риск красным, отдельно от оранжевых счётчиков */
    .dash-insights{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;}
    @media(max-width:680px){.dash-insights{grid-template-columns:1fr;}}
    .dash-insight-card{background:var(--card);border:1px solid rgba(239,68,68,.22);border-left:3px solid var(--warn);border-radius:var(--r);box-shadow:var(--shadow);padding:14px 16px;min-width:0;}
    .dash-insight-card-hd{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--warn);margin-bottom:6px;}
    .dash-insight-ico{font-size:13px;}
    .dash-insight-card-val{font-size:18px;font-weight:900;color:var(--ink);line-height:1.25;letter-spacing:-.01em;}
    .dash-insight-card-sub{font-size:11px;color:var(--muted);font-weight:600;margin-top:4px;}
    .kpi{background:var(--card);border:1px solid var(--stroke);border-radius:var(--r);box-shadow:var(--shadow);padding:14px;display:flex;flex-direction:column;gap:8px;}
    .kpi-top{display:flex;align-items:center;gap:8px;}
    .kpi-ico{width:30px;height:30px;flex:0 0 auto;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:15px;background:var(--brand-dim);}
    .kpi-ico.ok{background:var(--ok-dim);}
    .kpi-ico.bad{background:var(--warn-dim);}
    .kpi-ico.ai{background:var(--ai-dim);}
    .kpi-label{font-size:11px;font-weight:700;color:var(--muted);line-height:1.2;}
    .kpi-value{font-size:24px;font-weight:900;color:var(--ink);letter-spacing:-.01em;}
    .kpi-value.ok{color:var(--ok);}
    .kpi-value.bad{color:var(--warn);}
    .kpi-value.brand{color:var(--brand);}
    .kpi-value.zero{color:var(--muted);font-size:18px;font-weight:800;}
    .kpi-value.sm{font-size:17px;line-height:1.25;}
    .kpi-sub{font-size:11px;color:var(--muted);font-weight:600;}
    .kpi-sub.up{color:var(--ok);}
    .kpi-sub.down{color:var(--warn);}

    /* AI insight */
    .ai-insight{background:linear-gradient(180deg,#fff, #fbfcff);border:1px solid var(--stroke);border-radius:var(--r);box-shadow:var(--shadow);padding:18px 20px;display:flex;gap:18px;flex-wrap:wrap;align-items:flex-start;}
    .ai-insight-main{flex:1 1 420px;min-width:280px;}
    .ai-insight-head{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800;color:var(--ai);margin-bottom:10px;}
    .ai-insight-head .ai-spark{font-size:15px;}
    .ai-insight ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px;}
    .ai-insight li{position:relative;padding-left:18px;font-size:13px;color:var(--ink);line-height:1.45;}
    .ai-insight li::before{content:'';position:absolute;left:3px;top:7px;width:6px;height:6px;border-radius:50%;background:var(--ai);}
    .ai-insight li b{font-weight:800;}
    .ai-insight-actions{display:flex;flex-direction:column;gap:8px;flex:0 0 auto;align-self:center;}
    @media(max-width:760px){.ai-insight-actions{flex-direction:row;flex-wrap:wrap;align-self:stretch;}}
    .ai-act{display:inline-flex;align-items:center;gap:6px;border-radius:var(--r-sm);padding:9px 14px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;border:1px solid var(--stroke);background:var(--field);color:var(--ink);transition:.12s;}
    .ai-act:hover{border-color:var(--ai);color:var(--ai);}
    /* ── insight summary bullets ── */
    .insight-summary{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:5px;}
    .insight-summary li{position:relative;padding-left:16px;font-size:13px;color:var(--ink);line-height:1.45;}
    .insight-summary li::before{content:'';position:absolute;left:2px;top:6px;width:6px;height:6px;border-radius:50%;background:var(--ai);}
    .insight-summary b{font-weight:800;}
    /* ── article cards grid ── */
    .insight-cards{display:flex;flex-direction:column;gap:8px;}
    .insight-card{border:1px solid var(--stroke);border-radius:10px;overflow:hidden;background:var(--card);}
    .insight-card-hd{display:flex;align-items:center;gap:8px;padding:9px 12px;cursor:pointer;user-select:none;background:var(--panel);}
    .insight-card-hd:hover{background:var(--field);}
    .insight-card-factory{font-size:12px;font-weight:700;color:var(--ink);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
    .insight-card-article{font-size:11px;color:#475569;font-variant-numeric:tabular-nums;flex-shrink:0;max-width:42%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
    .insight-card-badge{flex-shrink:0;background:var(--brand-dim);color:var(--brand);font-size:11px;font-weight:800;padding:2px 8px;border-radius:6px;white-space:nowrap;}
    .insight-card-chevron{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin:-6px -4px -6px 0;font-size:12px;color:var(--muted);transition:transform .15s;}
    .insight-card-chevron.open{transform:rotate(180deg);}
    .insight-card-body{padding:8px 12px 10px;display:flex;flex-wrap:wrap;gap:5px;border-top:1px solid var(--stroke);}
    .insight-chip{display:inline-flex;align-items:center;gap:4px;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:600;}
    .insight-chip.has{background:#dcfce7;color:#15803d;}
    .insight-chip.has .chip-count{font-weight:800;}
    .insight-chip.none{background:var(--panel);color:var(--muted);font-weight:500;}
    .insight-card-body.hidden-body{display:none;}
    .ai-act.primary{background:var(--ai);color:#fff;border-color:var(--ai);box-shadow:0 2px 8px rgba(37,99,235,.25);}
    .ai-act.primary:hover{filter:brightness(1.07);color:#fff;}

    /* Charts 2x2 */
    .dash-charts{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
    @media(max-width:900px){.dash-charts{grid-template-columns:1fr;}}
    .dash-card{background:var(--card);border-radius:var(--r);box-shadow:0 0 0 1px rgba(15,23,42,.06),0 4px 20px rgba(15,23,42,.07);padding:16px;}
    .dash-card-title{font-size:14px;font-weight:700;letter-spacing:-.02em;color:var(--ink);margin-bottom:12px;}
    .dash-chart-wrap{position:relative;height:200px;}

    /* Two-column lower grid */
    .dash-two{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
    @media(max-width:1000px){.dash-two{grid-template-columns:1fr;}}
    .dash-two>*,.dash-charts>*{min-width:0;}

    /* Generic data table */
    .dash-table{width:100%;border-collapse:collapse;font-size:13px;}
    .dash-table th{text-align:left;font-size:11px;font-weight:600;color:var(--muted);letter-spacing:.01em;padding:8px 10px;border-bottom:1px solid var(--stroke);}
    .dash-table td{padding:10px;border-bottom:1px solid var(--stroke);color:var(--ink);transition:.1s background;}
    .dash-table tbody tr:hover td{background:var(--panel);}
    .dash-table tr:last-child td{border-bottom:none;}
    .dash-table th.num,.dash-table td.num{text-align:right;font-variant-numeric:tabular-nums;}
    .dash-table th:first-child{min-width:120px;}
    .dash-table td:first-child{min-width:120px;word-break:break-word;white-space:normal;}
    .bar-cell{display:flex;align-items:center;gap:8px;}
    .bar-track{flex:1;height:7px;border-radius:99px;background:rgba(15,23,42,.06);overflow:hidden;min-width:40px;}
    .bar-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--brand-strong),var(--brand));}
    .badge{display:inline-flex;align-items:center;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:700;border:1px solid transparent;}
    .badge.red{background:var(--warn-dim);color:var(--warn);border-color:rgba(239,68,68,.15);}
    .badge.green{background:var(--ok-dim);color:var(--ok);border-color:rgba(16,185,129,.15);}
    .badge.orange{background:var(--brand-dim);color:var(--brand-strong);border-color:rgba(255,90,0,.15);}

    /* Heatmap */
    .heat{width:100%;border-collapse:collapse;font-size:12px;}
    .heat th{font-size:10px;font-weight:600;color:var(--muted);padding:6px 4px;text-align:center;letter-spacing:.01em;}
    .heat th:first-child{text-align:left;}
    .heat td{padding:5px 4px;text-align:center;font-weight:700;border-radius:6px;}
    .heat td.lbl{text-align:left;color:var(--muted);font-weight:600;font-size:11px;white-space:nowrap;}
    .heat .trend{font-size:14px;}

    .dash-table-scroll{overflow-x:auto;}

    #splash{position:fixed;inset:0;z-index:9999;background:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;transition:opacity .4s ease;pointer-events:none;}
  #splash.hidden{opacity:0;}
  .splash-icon{width:96px;height:96px;border-radius:22px;overflow:hidden;}
  .splash-loader{width:104px;height:104px;display:block;}
  .splash-loader .ld-ring-rot{transform-origin:60px 60px;animation:spin 1.3s linear infinite;}
  .splash-loader .ld-mark{transform-origin:60px 60px;animation:pmBreathe 3.2s ease-in-out infinite;}
  .splash-brand{display:flex;flex-direction:column;align-items:center;gap:8px;}
  .splash-word{font-size:34px;}
  .splash-tagline{display:flex;align-items:center;gap:8px;font-family:ui-monospace,'JetBrains Mono',monospace;font-size:11px;font-weight:600;letter-spacing:.14em;color:#9aa0c0;}
  .splash-tagline i{width:4px;height:4px;border-radius:50%;background:linear-gradient(135deg,#ff6a2b,#7c3aed);display:inline-block;}
  .splash-ct{font-size:28px;font-weight:900;color:#111;letter-spacing:.03em;}
  .splash-mentor{font-size:13px;font-weight:800;letter-spacing:.18em;color:#3B82F6;}
  .splash-sub{font-size:12px;color:#999;letter-spacing:.04em;}

  /* Экран входа (Telegram Login Widget) */
  #authGate{position:fixed;inset:0;z-index:10000;background:linear-gradient(160deg,#f7f8fb 0%,#eef1f7 100%);display:flex;align-items:center;justify-content:center;padding:24px;}
  #authGate .authgate-card{background:#fff;border:1px solid var(--stroke);border-radius:18px;box-shadow:0 18px 50px rgba(20,30,60,.12);padding:32px 26px;max-width:380px;width:100%;text-align:center;}
  #authGate .authgate-logo{width:60px;height:60px;margin:0 auto 16px;border-radius:16px;background:linear-gradient(135deg,#FF6B35,#4361EE);color:#fff;font-weight:900;font-size:24px;display:flex;align-items:center;justify-content:center;letter-spacing:.5px;}
  #authGate .authgate-logo-img{background:none;border-radius:0;object-fit:contain;filter:drop-shadow(0 3px 8px rgba(124,58,237,.28));}
  #authGate .authgate-title{font-size:20px;font-weight:800;color:var(--ink);margin-bottom:8px;}
  #authGate .authgate-sub{font-size:14px;color:var(--muted);line-height:1.5;margin-bottom:22px;}
  #authGate #authGateWidget{display:flex;justify-content:center;min-height:48px;}
  #authGate .authgate-msg{margin-top:14px;font-size:13px;color:#dc2626;min-height:18px;}
  #authGate .authgate-input{width:100%;margin-top:6px;padding:13px 14px;border:1.5px solid var(--stroke);border-radius:12px;font:inherit;font-size:16px;outline:none;transition:.12s border-color;}
  #authGate .authgate-input:focus{border-color:var(--brand);}
  #authGate .authgate-btn{width:100%;margin-top:12px;padding:13px 16px;border:none;border-radius:12px;background:var(--brand);color:#fff;font:inherit;font-size:15px;font-weight:800;cursor:pointer;box-shadow:0 6px 18px rgba(255,90,0,.28);transition:.12s transform;}
  #authGate .authgate-btn:active{transform:translateY(1px);}
  #authGate .authgate-btn:disabled{opacity:.65;cursor:progress;}
  #authGate .authgate-btn-yandex{
    position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;gap:10px;
    box-sizing:border-box;min-height:52px;margin:20px 0 14px;padding:13px 18px;overflow:hidden;
    border:1px solid rgba(255,255,255,.24);border-radius:15px;text-decoration:none;
    background:linear-gradient(160deg,rgba(65,66,72,.96),rgba(17,18,23,.98) 65%);
    color:#fff;font-size:16px;font-weight:600;line-height:1.35;
    -webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.24),inset 0 -1px 0 rgba(0,0,0,.35),0 6px 16px rgba(20,24,36,.16);
    transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
    -webkit-tap-highlight-color:transparent;
  }
  #authGate .authgate-btn-yandex::before{
    content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
    background:radial-gradient(ellipse at 25% 0%,rgba(255,255,255,.16),transparent 65%);
  }
  #authGate .authgate-btn-yandex::after{
    content:"";position:absolute;inset:-50% -35%;z-index:-1;pointer-events:none;
    background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.14) 50%,transparent 65%);
    transform:translateX(-90%);transition:transform .7s ease;
  }
  #authGate .authgate-yandex-icon{display:block;flex:0 0 26px;width:26px;height:26px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.15));}
  #authGate .authgate-btn-yandex:focus-visible{outline:3px solid #7588ff;outline-offset:4px;}
  @media(hover:hover){
    #authGate .authgate-btn-yandex:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.45);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 10px 24px rgba(20,24,36,.24);}
    #authGate .authgate-btn-yandex:hover::after{transform:translateX(90%);}
  }
  #authGate .authgate-btn-yandex:active{transform:scale(.98);box-shadow:inset 0 1px 4px rgba(0,0,0,.25),0 2px 8px rgba(20,24,36,.12);}
  @media(prefers-reduced-motion:reduce){
    #authGate .authgate-btn-yandex,#authGate .authgate-btn-yandex::after{transition:none;}
    #authGate .authgate-btn-yandex:hover,#authGate .authgate-btn-yandex:active{transform:none;}
  }

  #authGate .authgate-select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23888' d='M6 8 0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:34px;cursor:pointer;}
  #authGate .authgate-phone-row{display:flex;align-items:stretch;gap:8px;margin-top:6px;}
  #authGate .authgate-code{display:flex;align-items:center;padding:0 14px;border:1.5px solid var(--stroke);border-radius:12px;font-size:16px;font-weight:700;color:var(--ink);background:#f8f9fb;flex:0 0 auto;}
  #authGate .authgate-phone{margin-top:0;flex:1;min-width:0;}
  #authGate .authgate-link{display:inline-block;margin-top:14px;font-size:13px;color:var(--brand);text-decoration:none;font-weight:600;}
  #authGate .authgate-link:hover{text-decoration:underline;}
  /* Вход через бота: QR + кнопка (deep-link) */
  #authGate .authgate-qr{margin:4px auto 0;width:200px;height:200px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--stroke);border-radius:14px;padding:10px;}
  #authGate .authgate-qr img,#authGate .authgate-qr canvas{width:100%;height:100%;image-rendering:pixelated;}
  #authGate .authgate-qr-hint{font-size:12px;color:var(--muted);margin-top:10px;line-height:1.45;}
  #authGate .authgate-btn.authgate-btn-tg{display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;}
  #authGate .authgate-state{margin-top:12px;font-size:13px;color:var(--muted);min-height:18px;}
  #authGate .authgate-state.ok{color:#16a34a;font-weight:700;}
  #authGate .authgate-alt{margin-top:18px;padding-top:16px;border-top:1px solid var(--stroke);}
  #authGate .authgate-alt-toggle{background:none;border:none;color:var(--muted);font:inherit;font-size:12px;cursor:pointer;text-decoration:underline;}
  #authGate .authgate-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(0,0,0,.15);border-top-color:var(--brand);border-radius:50%;vertical-align:-2px;margin-right:6px;animation:authgateSpin .8s linear infinite;}
  @keyframes authgateSpin{to{transform:rotate(360deg);}}

  /* Панель админа (заявки на доступ) — полноэкранное окно */
  #admPanel{position:fixed;top:0;right:0;bottom:0;left:var(--sidebar-w);z-index:90;background:var(--bg,#f4f6fb);display:none;flex-direction:column;}
  #admPanel .adm-card{background:transparent;width:100%;height:100%;max-width:none;max-height:none;display:flex;flex-direction:column;overflow:hidden;}
  /* Тело секции должно занимать оставшуюся высоту и позволять внутреннему списку скроллиться. */
  #admPanel #admSectionBody{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;}
  #admPanel .adm-head{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:0.5px solid rgba(0,0,0,.07);font-size:20px;font-weight:800;color:var(--ink);background:rgba(255,255,255,.72);backdrop-filter:blur(20px) saturate(1.8);-webkit-backdrop-filter:blur(20px) saturate(1.8);}
  #admPanel .adm-close{border:none;background:rgba(0,0,0,.06);width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:16px;color:var(--muted);}
  #admPanel .adm-filters{max-width:760px;width:100%;margin:0 auto;}
  #admPanel .adm-list{flex:1 1 auto;min-height:0;padding:10px 24px 24px;overflow-y:auto;max-width:760px;width:100%;margin:0 auto;}
  #admPanel .adm-empty{text-align:center;color:var(--muted);font-size:13px;padding:24px 0;}
  #admPanel .adm-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:0.5px solid var(--stroke);flex-wrap:wrap;}
  #admPanel .adm-row:last-child{border-bottom:none;}
  #admPanel .adm-row-info{flex:1 1 240px;min-width:0;}
  #admPanel .adm-row-name{word-break:break-word;}
  #admPanel .adm-row-name{font-size:14px;font-weight:700;color:var(--ink);}
  #admPanel .adm-row-meta{font-size:12px;color:var(--muted);margin-top:2px;}
  #admPanel .adm-row-act{display:flex;gap:6px;flex:0 0 auto;}
  #admPanel .adm-ok,#admPanel .adm-no{border:none;border-radius:8px;padding:7px 11px;font:inherit;font-size:12px;font-weight:700;cursor:pointer;}
  #admPanel .adm-ok{background:var(--ok,#16a34a);color:#fff;}
  #admPanel .adm-no{background:#fff;border:1px solid #fca5a5;color:#dc2626;}
  #admPanel button:disabled{opacity:.6;cursor:default;}
  #admPanel .adm-filters{display:flex;gap:2px;padding:14px 24px 4px;flex-wrap:nowrap;background:transparent;}
  #admPanel .adm-filters-inner{display:flex;gap:2px;padding:3px;background:rgba(120,120,128,.12);backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);border-radius:11px;max-width:760px;width:100%;margin:0 auto;}
  #admPanel .adm-fbtn{flex:1;border:none;background:transparent;border-radius:9px;padding:7px 14px;font:inherit;font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;transition:background .18s,box-shadow .18s,color .18s;}
  #admPanel .adm-fbtn.active{background:rgba(255,255,255,.9);box-shadow:0 1px 4px rgba(0,0,0,.10),0 .5px 0 rgba(255,255,255,.8);color:var(--ink);font-weight:700;}
  #admPanel .adm-input{border:1px solid var(--border,#e5e7eb);border-radius:9px;padding:7px 12px;font:inherit;font-size:13px;color:var(--ink);background:#fff;outline:none;transition:border-color .18s;}
  #admPanel .adm-input:focus{border-color:var(--brand,#ff5a00);}
  #admPanel .adm-cat-field{display:flex;flex-direction:column;gap:4px;margin-bottom:9px;}
  #admPanel .adm-cat-field label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;}
  #admPanel .adm-cat-badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:700;}
  #admPanel .adm-cat-badge.verified{background:#dcfce7;color:#166534;}
  #admPanel .adm-cat-badge.provisional{background:#fef3c7;color:#92400e;}
  #admPanel .adm-cat-badge.conflict{background:#fee2e2;color:#b91c1c;}
  #admPanel .adm-sections{display:flex;gap:6px;}
  #admPanel .adm-sbtn{border:none;background:rgba(0,0,0,.05);border-radius:10px;padding:8px 14px;font:inherit;font-size:14px;font-weight:700;color:var(--muted);cursor:pointer;}
  #admPanel .adm-sbtn.active{background:var(--accent,#ff6a00);color:#fff;}
  #admPanel .adm-badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;margin-top:3px;}
  #admPanel .adm-badge.pending{background:#fef3c7;color:#b45309;}
  #admPanel .adm-badge.verified{background:#dcfce7;color:#15803d;}
  #admPanel .adm-badge.rejected{background:#fee2e2;color:#dc2626;}
  #admPanel .adm-revoke{background:#fff;border:1px solid var(--stroke);border-radius:8px;padding:7px 11px;font:inherit;font-size:12px;font-weight:700;color:var(--muted);cursor:pointer;}
  #admPanel .adm-reset{background:#fff;border:1px solid #fed7aa;border-radius:8px;padding:7px 11px;font:inherit;font-size:12px;font-weight:700;color:#ea580c;cursor:pointer;}
  #admPanel .adm-role-wrap{display:flex;align-items:center;gap:6px;margin-top:5px;}
  #admPanel .adm-role-label{font-size:11px;color:var(--muted);flex-shrink:0;}
  #admPanel .adm-role-select{font:inherit;font-size:12px;border:1px solid var(--stroke);border-radius:7px;padding:3px 8px;background:#fff;color:var(--ink);cursor:pointer;max-width:160px;}
  #admPanel .adm-role-select:disabled{opacity:.5;cursor:default;}
  #admPanel .adm-rec-layout{display:grid;grid-template-columns:minmax(420px,1fr) minmax(320px,440px);gap:18px;min-height:0;flex:1;padding:10px 24px 24px;}
  #admPanel .adm-rec-layout .adm-list{padding:0;max-width:none;margin:0;min-height:0;}
  #admPanel .adm-detail{background:#fff;border:1px solid var(--stroke);border-radius:12px;box-shadow:0 10px 30px rgba(15,23,42,.06);min-height:0;overflow:auto;}
  #admPanel .adm-detail-empty{display:flex;align-items:center;justify-content:center;text-align:center;color:var(--muted);font-size:13px;min-height:220px;padding:24px;}
  #admPanel .adm-edit-grid{display:flex;flex-direction:column;gap:8px;}
  #admPanel .adm-edit-row{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted);}
  #admPanel .adm-edit-row>span{flex:0 0 84px;font-weight:700;}
  #admPanel .adm-edit-row>input{flex:1;min-width:0;font:inherit;font-size:13px;border:1px solid var(--stroke);border-radius:8px;padding:6px 9px;background:#fff;color:var(--ink);}
  #admPanel .adm-edit-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
  #admPanel .adm-proc-msg{font-size:12px;font-weight:700;margin-top:8px;min-height:16px;}
  #admPanel .adm-proc-msg.ok{color:#15803d;}
  #admPanel .adm-proc-msg.err{color:#dc2626;}
  #admPanel .adm-rec-row{width:100%;border:none;background:transparent;text-align:left;display:flex;gap:12px;align-items:flex-start;padding:12px 10px;border-bottom:.5px solid var(--stroke);cursor:pointer;border-radius:0;color:inherit;}
  #admPanel .adm-rec-row:hover{background:rgba(255,106,0,.05);}
  #admPanel .adm-rec-row.active{background:rgba(255,106,0,.09);}
  #admPanel .adm-rec-thumb{width:58px;height:58px;object-fit:cover;border-radius:9px;flex:0 0 auto;background:#eef1f6;}
  #admPanel .adm-rec-main{flex:1;min-width:0;}
  #admPanel .adm-rec-title{font-size:14px;font-weight:800;color:var(--ink);line-height:1.25;word-break:break-word;}
  #admPanel .adm-rec-main .adm-row-meta{display:block;}
  #admPanel .adm-rec-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px;}
  #admPanel .adm-chip{display:inline-flex;align-items:center;gap:4px;border-radius:999px;background:#f3f5f9;color:var(--muted);font-size:11px;font-weight:700;padding:3px 7px;max-width:100%;}
  #admPanel .adm-link-btn{border:none;background:transparent;color:var(--brand,#ff6a00);font:inherit;font-size:12px;font-weight:800;padding:0;cursor:pointer;text-decoration:none;}
  #admPanel .adm-link-btn:hover{text-decoration:underline;}
  #admPanel .adm-detail-head{display:flex;gap:14px;padding:16px;border-bottom:1px solid var(--stroke);}
  #admPanel .adm-detail-img{width:112px;height:112px;object-fit:cover;border-radius:10px;background:#eef1f6;flex:0 0 auto;}
  #admPanel .adm-detail-title{font-size:17px;font-weight:850;line-height:1.25;color:var(--ink);word-break:break-word;}
  #admPanel .adm-detail-sub{font-size:12px;color:var(--muted);margin-top:6px;line-height:1.45;}
  #admPanel .adm-detail-body{padding:14px 16px 18px;}
  #admPanel .adm-kv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:14px;}
  #admPanel .adm-kv{border:1px solid var(--stroke);border-radius:9px;padding:8px 10px;background:#fbfcff;min-width:0;}
  #admPanel .adm-kv-label{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:800;margin-bottom:3px;}
  #admPanel .adm-kv-value{font-size:13px;font-weight:750;color:var(--ink);word-break:break-word;}
  #admPanel .adm-detail-section{border-top:1px solid var(--stroke);padding-top:12px;margin-top:12px;}
  #admPanel .adm-detail-section-title{font-size:12px;font-weight:850;color:var(--muted);margin-bottom:8px;}
  #admPanel .adm-user-card{border:1px solid var(--stroke);border-radius:10px;padding:11px;background:#fff;}
  #admPanel .adm-user-card-title{font-size:14px;font-weight:850;color:var(--ink);word-break:break-word;}
  #admPanel .adm-json{white-space:pre-wrap;word-break:break-word;font:11px/1.45 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;background:#0f172a;color:#dbeafe;border-radius:10px;padding:12px;max-height:260px;overflow:auto;}
  #admPanel .adm-corr-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 24px 4px;}
  #admPanel .adm-corr-layout{display:grid;grid-template-columns:minmax(360px,.85fr) minmax(500px,1.4fr);gap:18px;min-height:0;flex:1;padding:10px 24px 24px;}
  #admPanel .adm-corr-layout .adm-list{padding:0;max-width:none;margin:0;min-height:0;}
  #admPanel .adm-corr-row{width:100%;border:none;background:transparent;text-align:left;display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:10px;align-items:start;padding:13px 10px;border-bottom:.5px solid var(--stroke);cursor:pointer;color:inherit;}
  #admPanel .adm-corr-row:hover{background:rgba(255,106,0,.05);}
  #admPanel .adm-corr-row.active{background:rgba(255,106,0,.09);}
  #admPanel .adm-corr-dot{width:9px;height:9px;border-radius:50%;background:#94a3b8;margin-top:5px;}
  #admPanel .adm-corr-dot.done{background:#16a34a;}
  #admPanel .adm-corr-dot.processing{background:#f97316;}
  #admPanel .adm-corr-dot.error{background:#dc2626;}
  #admPanel .adm-corr-dot.new{background:#3b82f6;}
  #admPanel .adm-corr-time{font-size:11px;color:var(--muted);white-space:nowrap;}
  #admPanel .adm-corr-table{width:100%;border-collapse:collapse;font-size:12px;}
  #admPanel .adm-corr-table th,#admPanel .adm-corr-table td{padding:7px 10px;border-bottom:1px solid var(--stroke);text-align:left;vertical-align:top;word-break:normal;overflow-wrap:break-word;}
  #admPanel .adm-corr-table th{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);white-space:nowrap;}
  #admPanel .adm-corr-table td{white-space:nowrap;}
  #admPanel .adm-corr-table td.adm-wrap{white-space:normal;min-width:150px;}
  #admPanel .adm-decision-table{min-width:820px;}
  #admPanel .adm-corr-photo{border:1px solid var(--stroke);border-radius:9px;padding:9px 10px;background:#fbfcff;font-size:12px;color:var(--ink);margin-top:6px;}
  #admPanel .adm-corr-note{font-size:12px;color:var(--muted);line-height:1.5;white-space:pre-wrap;}
  #admPanel .adm-corr-error{border-radius:9px;padding:10px 12px;background:#fef2f2;color:#b91c1c;font-size:12px;font-weight:700;}
  /* ── Review (human-in-the-loop) ── */
  #admPanel .adm-corr-count{display:inline-block;min-width:16px;padding:0 5px;margin-left:5px;border-radius:9px;background:rgba(0,0,0,.08);font-size:10px;font-weight:800;line-height:16px;color:var(--muted);}
  #admPanel .adm-fbtn.active .adm-corr-count{background:rgba(255,106,0,.18);color:#b45309;}
  #admPanel .adm-fbtn.primary{background:#ff6a00;color:#fff;font-weight:800;}
  #admPanel .adm-fbtn.danger{background:#fef2f2;color:#b42318;font-weight:800;}
  #admPanel .adm-corr-row{border-left:4px solid transparent;}
  #admPanel .adm-corr-row.prio-red{border-left-color:#dc2626;}
  #admPanel .adm-corr-row.prio-orange{border-left-color:#f97316;}
  #admPanel .adm-corr-row.prio-yellow{border-left-color:#eab308;}
  #admPanel .adm-corr-row.prio-green{border-left-color:#16a34a;}
  #admPanel .adm-corr-row.prio-rejected{border-left-color:#94a3b8;}
  #admPanel .adm-corr-row.prio-error{border-left-color:#dc2626;}
  #admPanel .adm-corr-row.prio-grey{border-left-color:#e2e8f0;}
  #admPanel .adm-corr-rbadge{display:inline-block;padding:1px 7px;border-radius:9px;font-size:10px;font-weight:800;vertical-align:middle;background:#eef2ff;color:#4338ca;}
  #admPanel .adm-corr-rbadge.pending{background:#fff7ed;color:#c2410c;}
  #admPanel .adm-corr-rbadge.approved,#admPanel .adm-corr-rbadge.edited{background:#ecfdf5;color:#047857;}
  #admPanel .adm-corr-rbadge.rejected{background:#f1f5f9;color:#475569;}
  #admPanel .adm-corr-rbadge.needs_photos{background:#fefce8;color:#a16207;}
  #admPanel .adm-review-box{border-radius:12px;padding:14px 16px;margin-bottom:14px;border:1px solid var(--stroke);}
  #admPanel .adm-review-box.pending{background:#fff7ed;border-color:#fdba74;}
  #admPanel .adm-review-box.done{background:#ecfdf5;border-color:#6ee7b7;}
  #admPanel .adm-review-box.rejected{background:#f8fafc;border-color:#cbd5e1;}
  #admPanel .adm-review-box.needsphotos{background:#fefce8;border-color:#fde047;}
  #admPanel .adm-review-ok{border-radius:12px;padding:12px 14px;margin-bottom:14px;background:#ecfdf5;border:1px solid #6ee7b7;color:#047857;font-size:12px;font-weight:700;}
  #admPanel .adm-review-title{font-size:14px;font-weight:850;color:var(--ink);margin-bottom:4px;}
  #admPanel .adm-review-sub{font-size:12px;color:var(--muted);line-height:1.5;margin-bottom:10px;}
  #admPanel .adm-rv-list{display:flex;flex-direction:column;gap:8px;}
  #admPanel .adm-rv-field{background:#fff;border:1px solid var(--stroke);border-radius:10px;padding:9px 11px;}
  #admPanel .adm-rv-name{font-size:12px;font-weight:800;color:var(--ink);margin-bottom:5px;}
  #admPanel .adm-rv-vals{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:7px;}
  #admPanel .adm-rv-chip{font-size:11px;color:var(--muted);background:#f1f5f9;border-radius:8px;padding:2px 8px;}
  #admPanel .adm-rv-chip b{color:var(--ink);}
  #admPanel .adm-rv-src{opacity:.9;}
  #admPanel .adm-rv-actions{display:flex;flex-wrap:wrap;gap:6px;}
  #admPanel .adm-rvbtn{border:1px solid var(--stroke);background:#fff;border-radius:8px;padding:5px 11px;font:inherit;font-size:11px;font-weight:700;color:var(--ink);cursor:pointer;}
  #admPanel .adm-rvbtn.active{background:#ff6a00;color:#fff;border-color:#ff6a00;}
  #admPanel .adm-rvbtn:disabled{opacity:.4;cursor:not-allowed;}
  #admPanel .adm-rv-manual{margin-top:7px;width:100%;border:1px solid var(--stroke);border-radius:8px;padding:6px 9px;font:inherit;font-size:12px;}
  #admPanel .adm-rv-comment{width:100%;min-height:52px;margin-top:10px;border:1px solid var(--stroke);border-radius:9px;padding:8px 10px;font:inherit;font-size:12px;resize:vertical;}
  #admPanel .adm-review-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
  #admPanel .adm-rv-msg{font-size:12px;margin-top:8px;color:var(--muted);}
  #admPanel .adm-rv-msg.error{color:#b42318;font-weight:700;}
  #admPanel .adm-modal-ov{position:fixed;inset:0;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;z-index:9999;padding:16px;}
  #admPanel .adm-modal{background:#fff;border-radius:14px;padding:18px 20px;max-width:440px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,.3);max-height:90vh;overflow:auto;}
  #admPanel .adm-modal-title{font-size:15px;font-weight:850;margin-bottom:12px;color:var(--ink);}
  #admPanel .adm-np-opts{display:flex;flex-direction:column;gap:7px;}
  #admPanel .adm-np-opt{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink);cursor:pointer;}
  #admPanel .adm-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px;}
  #admPanel .adm-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:6px;}
  #admPanel .adm-stat-card{border:1px solid var(--stroke);border-radius:11px;padding:12px;background:#fbfcff;text-align:center;}
  #admPanel .adm-stat-val{font-size:22px;font-weight:850;color:var(--ink);}
  #admPanel .adm-stat-label{font-size:11px;color:var(--muted);margin-top:2px;}
  #admPanel .adm-cls-wrap{flex:1;min-height:0;overflow:auto;padding:22px 24px 32px;}
  #admPanel .adm-cls-card{max-width:1120px;margin:0 auto 18px;background:var(--card);border:1px solid var(--stroke);border-radius:16px;padding:22px;box-shadow:0 8px 28px rgba(15,23,42,.05);}
  #admPanel .adm-cls-title{font-size:18px;font-weight:850;color:var(--ink);margin:0 0 18px;}
  #admPanel .adm-cls-sub{font-size:12px;color:var(--muted);margin:-10px 0 18px;line-height:1.5;}
  #admPanel .adm-cls-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:0 0 20px;}
  #admPanel .adm-cls-step{border:1px solid var(--stroke);border-radius:11px;background:#f8fafc;padding:10px 11px;min-width:0;}
  #admPanel .adm-cls-step b{display:block;font-size:12px;color:var(--ink);margin-bottom:3px;}
  #admPanel .adm-cls-step span{display:block;font-size:10px;line-height:1.35;color:var(--muted);}
  #admPanel .adm-cls-step.active{border-color:var(--brand);background:#fff7f2;box-shadow:0 0 0 1px var(--brand) inset;}
  #admPanel .adm-cls-step-num{display:inline-flex!important;align-items:center;justify-content:center;width:19px;height:19px;border-radius:50%;background:#e8edf5;color:#667085!important;font-weight:850;margin-bottom:7px;}
  #admPanel .adm-cls-step.active .adm-cls-step-num{background:var(--brand);color:#fff!important;}
  #admPanel .adm-cls-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 18px;}
  #admPanel .adm-cls-field{min-width:0;}
  #admPanel .adm-cls-field label{display:block;font-size:12px;font-weight:800;color:var(--ink);margin-bottom:6px;}
  #admPanel .adm-cls-field input[type=text],#admPanel .adm-cls-field input[type=url],#admPanel .adm-cls-field input[type=date],#admPanel .adm-cls-field input[type=file],#admPanel .adm-cls-field select{width:100%;min-height:42px;border:1px solid var(--stroke);border-radius:10px;background:#fff;color:var(--ink);padding:9px 11px;font:inherit;font-size:13px;}
  #admPanel .adm-cls-check{display:flex;align-items:center;gap:8px;min-height:42px;font-size:13px;font-weight:750;color:var(--ink);}
  #admPanel .adm-cls-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;}
  #admPanel .adm-cls-btn{border:1px solid var(--stroke);border-radius:10px;background:#fff;color:var(--ink);padding:10px 16px;font:inherit;font-size:13px;font-weight:800;cursor:pointer;}
  #admPanel .adm-cls-btn.primary{background:var(--brand);border-color:var(--brand);color:#fff;}
  #admPanel .adm-cls-status{margin-top:14px;padding:11px 13px;border-radius:10px;background:#f3f5f9;color:var(--muted);font-size:12px;line-height:1.5;}
  #admPanel .adm-cls-status.ok{background:#ecfdf3;color:#15803d;}
  #admPanel .adm-cls-status.err{background:#fef2f2;color:#b91c1c;}
  #admPanel .adm-cls-note{margin-top:12px;padding:10px 12px;border-radius:10px;background:#fff7ed;color:#9a3412;font-size:12px;line-height:1.45;}
  #admPanel .adm-cls-source{margin-top:18px;padding-top:16px;border-top:1px solid var(--stroke);}
  #admPanel .adm-cls-source-title{font-size:13px;font-weight:850;color:var(--ink);margin:0 0 12px;}
  #admPanel .adm-cls-mapping{margin-top:16px;}
  #admPanel .adm-cls-map-ready{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border-radius:10px;background:#ecfdf3;color:#15803d;font-size:12px;font-weight:750;}
  #admPanel .adm-cls-map-ready button{border:0;background:transparent;color:inherit;text-decoration:underline;font:inherit;cursor:pointer;}
  #admPanel .adm-cls-map-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px;}
  #admPanel .adm-cls-map-title{font-size:13px;font-weight:850;color:var(--ink);margin-bottom:4px;}
  #admPanel .adm-cls-map-help{font-size:11px;color:var(--muted);line-height:1.45;}
  #admPanel .adm-cls-preview{overflow:auto;margin-top:16px;}
  #admPanel .adm-cls-preview table,#admPanel .adm-cls-reports table{border-collapse:collapse;width:100%;font-size:11px;}
  #admPanel .adm-cls-preview th,#admPanel .adm-cls-preview td,#admPanel .adm-cls-reports th,#admPanel .adm-cls-reports td{border-bottom:1px solid var(--stroke);padding:8px;text-align:left;vertical-align:top;white-space:nowrap;}
  #admPanel .adm-cls-preview th,#admPanel .adm-cls-reports th{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em;}
  #admPanel .adm-cls-hash{word-break:break-all;font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted);}
  @media (max-width:1050px){#admPanel .adm-corr-layout{grid-template-columns:1fr;}.adm-corr-layout #admCorrList{max-height:300px;}}
  @media (max-width:900px){#admPanel .adm-sections{overflow-x:auto;max-width:calc(100vw - 120px);}#admPanel .adm-sbtn{white-space:nowrap;}#admPanel .adm-rec-layout,#admPanel .adm-corr-layout{grid-template-columns:1fr;padding:10px 14px 18px;}#admPanel .adm-detail{min-height:260px;}#admPanel .adm-detail-head{flex-direction:column;}#admPanel .adm-detail-img{width:100%;height:auto;aspect-ratio:16/10;}#admPanel .adm-kv-grid{grid-template-columns:1fr;}#admPanel .adm-corr-toolbar{padding:12px 14px 4px;align-items:flex-start;flex-direction:column;}#admPanel .adm-cls-grid{grid-template-columns:1fr;}#admPanel .adm-cls-steps{grid-template-columns:repeat(2,minmax(0,1fr));}#admPanel .adm-cls-map-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
  /* Мобильная панель админа: раскрыть на весь экран (сайдбар скрыт при ≤768) и ужать шапку.
     Это правило должно идти ПОСЛЕ базового #admPanel{left:var(--sidebar-w)}, иначе не применяется. */
  @media (max-width:768px){
    #admPanel{left:0;}
    #admPanel .adm-head{padding:12px 14px;font-size:16px;gap:8px;flex-wrap:nowrap;}
    #admPanel .adm-sections{max-width:calc(100vw - 62px);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:1 1 auto;}
    #admPanel .adm-sections::-webkit-scrollbar{display:none;}
    #admPanel .adm-sbtn{padding:7px 12px;font-size:13px;}
    #admPanel .adm-close{flex:0 0 auto;}
    #admPanel .adm-list,#admPanel .adm-filters{padding-left:14px;padding-right:14px;}
    #admPanel .adm-cls-wrap{padding:14px;}
    #admPanel .adm-cls-card{padding:16px;}
    #admPanel .adm-cls-steps,#admPanel .adm-cls-map-grid{grid-template-columns:1fr;}
  }
    /* ── Опись ── */
    .opis-crumbs{display:flex;gap:6px;align-items:center;font-size:12px;color:var(--muted);margin-bottom:12px;flex-wrap:wrap;}
    .opis-crumbs a{color:var(--brand);cursor:pointer;text-decoration:none;}
    .opis-card{margin-bottom:14px;padding:16px 18px;}
    .opis-row-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--stroke);gap:10px;}
    .opis-h{font-size:15px;font-weight:800;letter-spacing:-.01em;}
    .opis-btn{padding:8px 13px;border:1.5px solid var(--stroke);border-radius:var(--r-sm);background:#fff;color:var(--ink);font:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:.12s;}
    .opis-btn:hover{border-color:var(--brand);color:var(--brand);}
    .opis-btn-primary{background:var(--brand);border-color:var(--brand);color:#fff;}
    .opis-btn-primary:hover{background:var(--brand-strong);color:#fff;}

    /* ── Кастомные позиции калькулятора: тулбар + модалка ── */
    .calc-admin-bar{margin-top:14px;display:none;align-items:center;gap:12px;flex-wrap:wrap;
      padding:10px 12px;border:1px dashed var(--stroke);border-radius:var(--r-sm);background:var(--brand-dim);}
    .calc-admin-bar .calc-add-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;
      border:none;border-radius:var(--r-sm);background:var(--brand);color:#fff;font:inherit;font-size:13px;
      font-weight:700;cursor:pointer;box-shadow:0 1px 2px rgba(255,90,0,.25);transition:.14s transform,.14s background,.14s box-shadow;}
    .calc-admin-bar .calc-add-btn:hover{background:var(--brand-strong);box-shadow:0 3px 10px rgba(255,90,0,.32);}
    .calc-admin-bar .calc-add-btn:active{transform:translateY(1px);}
    .calc-admin-bar .calc-add-btn svg{width:15px;height:15px;stroke:currentColor;}
    .calc-admin-hint{font-size:12px;color:var(--muted);}
    .calc-hidden-list{display:none;flex-basis:100%;flex-wrap:wrap;gap:6px;align-items:center;margin-top:2px;}
    .calc-hidden-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--stroke);
      border-radius:999px;background:var(--card);color:var(--muted);font:inherit;font-size:12px;cursor:pointer;transition:.12s;}
    .calc-hidden-chip:hover{border-color:var(--brand);color:var(--brand);}
    .calc-builtin-hint{font-size:12px;color:var(--muted);background:var(--brand-dim);border-radius:8px;padding:8px 11px;line-height:1.4;}
    .calc-edit-btn{margin-left:8px;width:22px;height:22px;border:1px solid var(--stroke);border-radius:6px;
      background:var(--card);color:var(--muted);cursor:pointer;font-size:11px;line-height:1;display:inline-flex;
      align-items:center;justify-content:center;vertical-align:middle;transition:.12s;}
    .calc-edit-btn:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-dim);}

    .calc-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;
      padding:16px;background:rgba(15,23,42,.42);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);
      animation:calcFade .16s ease;}
    @keyframes calcFade{from{opacity:0}to{opacity:1}}
    @keyframes calcPop{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
    .calc-dialog{width:100%;max-width:460px;max-height:90vh;overflow:auto;background:var(--card);
      border:1px solid var(--stroke);border-radius:var(--r);box-shadow:var(--shadow-lg);animation:calcPop .18s cubic-bezier(.2,.8,.3,1);}
    .calc-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:10px;
      padding:18px 22px;border-bottom:1px solid var(--stroke);}
    .calc-dialog-head h2{margin:0;font-size:17px;font-weight:800;letter-spacing:-.01em;color:var(--ink);}
    .calc-x{width:30px;height:30px;flex:0 0 auto;border:none;border-radius:8px;background:none;color:var(--muted);
      font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.12s;}
    .calc-x:hover{background:var(--brand-dim);color:var(--brand);}
    .calc-dialog-body{padding:20px 22px;display:flex;flex-direction:column;gap:15px;}
    .calc-field{display:flex;flex-direction:column;gap:6px;}
    .calc-field .form-label{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.02em;text-transform:uppercase;}
    .calc-field-row{display:flex;gap:14px;}
    .calc-field-row .calc-field{flex:1;min-width:0;}
    .calc-err{display:none;font-size:12.5px;font-weight:600;color:#dc2626;background:rgba(220,38,38,.08);
      border:1px solid rgba(220,38,38,.22);border-radius:8px;padding:8px 11px;}
    .calc-dialog-foot{display:flex;align-items:center;gap:10px;padding:16px 22px 20px;}
    .calc-dialog-foot .calc-del{margin-right:auto;border-color:rgba(220,38,38,.4);color:#dc2626;background:none;}
    .calc-dialog-foot .calc-del:hover{border-color:#dc2626;background:rgba(220,38,38,.08);color:#dc2626;}
    .calc-dialog-foot .calc-actions{display:flex;gap:10px;margin-left:auto;}
    @media (max-width:560px){.calc-field-row{flex-direction:column;gap:15px;}}
    #panelOpis{max-width:none;}
    /* ── Распознавание товара (wp-* компоненты, редизайн по Figma) ── */
    .wp-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px;}
    .wp-head .page-header{margin:0;}
    .wp-status{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:18px;font-size:12px;font-weight:600;white-space:nowrap;margin-top:6px;}
    .wp-status[hidden]{display:none;}
    .wp-status-dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex:0 0 auto;}
    .wp-status--ready{background:#eaf8f0;color:#1e8e5a;}
    .wp-status--busy{background:#eff6ff;color:#2563eb;}
    .wp-status--fix{background:#fef9c3;color:#a16207;}
    .wp-status--error{background:#fee2e2;color:#dc2626;}
    .wp-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,1fr);gap:24px;align-items:start;max-width:1296px;}
    @media(min-width:1700px){.wp-layout{max-width:1600px;}}
    .wp-main{display:flex;flex-direction:column;gap:16px;min-width:0;}
    .wp-side{display:flex;flex-direction:column;gap:16px;min-width:0;}
    .wp-card{padding:16px;border-radius:16px;}
    .wp-shots{display:grid;grid-template-columns:minmax(0,65fr) minmax(0,35fr);gap:12px;}
    .wp-shot{position:relative;border:2px dashed var(--stroke);border-radius:12px;overflow:hidden;min-height:228px;cursor:pointer;background:var(--panel);display:flex;align-items:center;justify-content:center;transition:border-color .15s,background .15s;}
    .wp-shot:hover{border-color:var(--brand);background:#fff8f5;}
    .wp-shot:focus-visible{outline:2px solid var(--brand);outline-offset:2px;}
    .wp-shot--label{background:#fafbfd;}
    .wp-shot.filled{border-color:transparent;background:#111;cursor:default;}
    .wp-shot-empty{text-align:center;padding:14px;}
    .wp-shot-ico{display:flex;justify-content:center;margin-bottom:8px;color:var(--muted);}
    .wp-shot--label .wp-shot-ico{color:var(--brand);}
    .wp-shot-cap{font-weight:700;font-size:14px;color:var(--ink);}
    .wp-shot-hint{font-size:12px;color:var(--muted);margin-top:4px;}
    .wp-shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
    .wp-shot-pill{position:absolute;top:12px;left:12px;background:#fff;color:#3c2b20;font-size:12px;font-weight:600;padding:5px 10px;border-radius:14px;z-index:2;}
    .wp-shot-time{position:absolute;left:12px;bottom:12px;color:#fff;font-size:12px;font-weight:600;text-shadow:0 1px 4px rgba(0,0,0,.55);z-index:2;}
    .wp-shot-acts{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;gap:10px;background:rgba(15,23,42,.45);opacity:0;pointer-events:none;transition:opacity .15s;}
    .wp-shot.filled:hover .wp-shot-acts,.wp-shot.filled:focus-within .wp-shot-acts{opacity:1;pointer-events:auto;}
    .wp-shot-act{padding:9px 14px;min-height:44px;border-radius:10px;border:none;background:#fff;color:var(--ink);font:inherit;font-size:13px;font-weight:700;cursor:pointer;}
    .wp-shot-act--danger{color:#dc2626;}
    .wp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 18px;min-height:48px;border-radius:10px;border:1px solid var(--stroke);background:#fff;color:var(--ink);font:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:.15s;}
    .wp-btn:hover:not(:disabled){border-color:var(--brand);color:var(--brand);}
    .wp-btn:disabled{opacity:.55;cursor:default;}
    .wp-btn-primary{background:var(--brand);border-color:var(--brand);color:#fff;}
    .wp-btn-primary:hover:not(:disabled){background:var(--brand-strong);border-color:var(--brand-strong);color:#fff;}
    .wp-btn-block{width:100%;margin-top:14px;}
    .wp-spin{width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:wp-rot .7s linear infinite;flex:0 0 auto;}
    @keyframes wp-rot{to{transform:rotate(360deg)}}
    .wp-error{margin-top:12px;padding:10px 12px;border-radius:10px;background:#fef2f2;color:#b91c1c;font-size:13px;font-weight:600;}
    .wp-res-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px;}
    .wp-res-lead{display:flex;gap:14px;align-items:flex-start;min-width:0;}
    .wp-res-photo{width:96px;height:96px;border-radius:12px;object-fit:cover;cursor:zoom-in;flex:0 0 auto;background:#e7e9ee;}
    .wp-lightbox{position:fixed;inset:0;z-index:1100;background:rgba(10,14,22,.88);display:flex;align-items:center;justify-content:center;padding:20px;cursor:zoom-out;}
    .wp-lightbox[hidden]{display:none;}
    .wp-lightbox img{max-width:100%;max-height:100%;border-radius:8px;box-shadow:0 10px 50px rgba(0,0,0,.5);}
    .wp-res-title{font-size:20px;font-weight:700;color:var(--ink);line-height:1.25;overflow-wrap:anywhere;}
    .wp-res-sub{font-size:12px;color:var(--muted);margin-top:3px;}
    .wp-res-ai{font-size:12px;color:var(--muted);margin-top:2px;}
    .wp-pills{display:flex;gap:8px;flex-wrap:wrap;flex:0 0 auto;}
    .wp-pill{padding:6px 10px;border-radius:14px;font-size:12px;font-weight:600;white-space:nowrap;}
    .wp-pill--tnved{background:#fff0e8;color:#c94800;}
    .wp-pill--ok{background:#eaf8f0;color:#1d8a57;}
    .wp-pill--mid{background:#fef9c3;color:#a16207;}
    .wp-pill--low{background:#fee2e2;color:#dc2626;}
    .wp-kv{border:1px solid var(--stroke);border-radius:12px;overflow:hidden;}
    .wp-kv-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:9px 14px;border-bottom:1px solid #edf0f5;font-size:13px;}
    .wp-kv-row:last-child{border-bottom:none;}
    .wp-kv-k{color:#6f7c92;font-weight:600;flex:0 0 auto;}
    .wp-kv-v{color:var(--ink);font-weight:700;text-align:right;min-width:0;overflow-wrap:anywhere;}
    .wp-acc{margin-top:14px;border-radius:10px;background:#f3f8ff;overflow:hidden;}
    .wp-acc-btn{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:13px 14px;border:none;background:none;font:inherit;font-size:13px;font-weight:600;color:#2667a8;cursor:pointer;}
    .wp-acc-btn:focus-visible{outline:2px solid var(--brand);outline-offset:-2px;border-radius:10px;}
    .wp-acc-arrow{transition:transform .2s;flex:0 0 auto;}
    .wp-acc-btn[aria-expanded="true"] .wp-acc-arrow{transform:rotate(180deg);}
    .wp-acc-body{max-height:0;overflow:hidden;transition:max-height .25s ease;}
    .wp-acc-body.open{max-height:320px;overflow-y:auto;}
    .wp-acc-body-in{padding:0 14px 13px;font-size:13px;color:#2667a8;}
    .wp-actions{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap;}
    .wp-actions .wp-btn-primary{flex:2 1 260px;}
    .wp-actions .wp-btn-ghost{flex:1 1 160px;}
    .wp-followup{margin-top:10px;font-size:13px;color:var(--muted);}
    .wp-side-head{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:var(--ink);margin-bottom:12px;}
    .wp-count{background:#f2f4f7;color:#667085;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:600;}
    .wp-count--warn{background:#fff4ed;color:#e84c0f;}
    .wp-search{position:relative;margin-bottom:12px;}
    .wp-search svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:#98a2b3;pointer-events:none;}
    .wp-search input{width:100%;box-sizing:border-box;padding:10px 12px 10px 34px;border:1px solid #d8e0ec;border-radius:10px;font:inherit;font-size:13px;background:#fff;}
    .wp-search input:focus{outline:none;border-color:var(--brand);}
    .wp-hist-list{display:flex;flex-direction:column;gap:6px;max-height:min(52vh,470px);overflow-y:auto;}
    .wp-hist-item{display:flex;gap:10px;align-items:center;padding:10px;border:1px solid transparent;border-radius:12px;cursor:pointer;transition:.12s;text-align:left;background:none;font:inherit;width:100%;}
    .wp-hist-item:hover{background:var(--panel);}
    .wp-hist-item.active{background:#fff4ed;border-color:#ffb287;}
    .wp-hist-thumb{width:44px;height:44px;border-radius:10px;object-fit:cover;background:#e7e9ee;flex:0 0 auto;}
    .wp-hist-body{flex:1;min-width:0;}
    .wp-hist-name{font-size:13px;font-weight:700;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3;}
    .wp-hist-sub{font-size:12px;color:#667085;margin-top:2px;}
    .wp-hist-ts{font-size:11px;color:#98a2b3;margin-top:2px;}
    .wp-hist-note{padding:14px 6px;font-size:13px;color:var(--muted);}
    .wp-hist-note.err{color:#b91c1c;}
    .wp-side-sub{font-size:12px;color:#667085;}
    .wp-link-btn{margin-top:8px;background:none;border:none;padding:6px 0;color:var(--brand);font:inherit;font-size:13px;font-weight:700;cursor:pointer;}
    .wp-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(15,23,42,.45);}
    .wp-modal[hidden]{display:none;}
    .wp-modal-box{background:#fff;border-radius:16px;max-width:520px;width:100%;max-height:calc(100vh - 40px);overflow-y:auto;padding:20px;box-shadow:0 24px 60px rgba(15,23,42,.25);}
    .wp-modal-title{font-size:17px;font-weight:800;color:var(--ink);margin-bottom:14px;}
    .wp-edit-grid{display:flex;flex-direction:column;gap:10px;}
    .wp-edit-field label{display:block;font-size:12px;font-weight:700;color:var(--muted);margin-bottom:4px;}
    .wp-edit-field input{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--stroke);border-radius:10px;font:inherit;font-size:14px;}
    .wp-edit-field input:focus{outline:none;border-color:var(--brand);}
    .wp-edit-check{display:flex;gap:9px;align-items:flex-start;margin-top:14px;font-size:13px;color:var(--ink);cursor:pointer;}
    .wp-edit-check input{margin-top:2px;width:16px;height:16px;accent-color:var(--brand);flex:0 0 auto;}
    .wp-modal-actions{display:flex;gap:10px;margin-top:16px;}
    .wp-modal-actions .wp-btn{flex:1;min-height:44px;}
    .wp-fb-btn{padding:9px 8px;border:1px solid var(--stroke);border-radius:10px;background:var(--panel);font:inherit;font-size:12.5px;font-weight:700;color:var(--ink);cursor:pointer;transition:.12s;}
    .wp-fb-btn:hover{border-color:var(--brand);}
    .wp-fb-btn:disabled{opacity:.5;cursor:default;}
    .wp-fb-done{margin-top:10px;padding:8px 10px;border-radius:10px;background:#f0fdf4;color:#15803d;font-size:13px;font-weight:600;}
    .wp-dictq-reminder{margin:2px 0 8px;padding:7px 10px;border-radius:9px;background:#fff4ed;color:#c2410c;font-size:12.5px;font-weight:700;}
    .wp-dictq-reminder.wp-dictq-stale{background:#fef2f2;color:#b91c1c;}
    .wp-dictq-badge{display:inline-block;padding:1px 7px;border-radius:8px;background:#eef2ff;color:#4338ca;font-size:11px;font-weight:700;vertical-align:middle;}
    .wp-dictq-badge--color{background:#fdf2f8;color:#be185d;}
    .wp-dictq-ready{display:inline-block;font-size:11.5px;font-weight:700;color:#15803d;}
    .wp-corr-main{display:flex;gap:9px;align-items:flex-start;}
    .wp-corr-thumb{width:64px;height:64px;object-fit:cover;border-radius:10px;background:#f2f4f7;flex:0 0 auto;cursor:pointer;}
    .wp-rules-head{margin-top:14px;padding-top:12px;border-top:1px solid #eaecf0;font-size:13px;font-weight:800;color:var(--ink);}
    .wp-rule-item{padding:10px 0;border-bottom:1px solid #eee;}
    .wp-rule-status{display:inline-block;padding:2px 7px;border-radius:8px;font-size:11px;font-weight:800;background:#fff4ed;color:#c2410c;}
    .wp-rule-status--active{background:#ecfdf3;color:#027a48;}
    .wp-rule-status--disabled{background:#f2f4f7;color:#667085;}
    .wp-rule-text{display:block;width:100%;min-height:64px;box-sizing:border-box;margin-top:7px;padding:8px;border:1px solid var(--stroke);border-radius:9px;resize:vertical;font:inherit;font-size:12px;}
    @media(max-width:1199px){.wp-layout{grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);}}
    @media(max-width:767px){
      .wp-layout{grid-template-columns:1fr;}
      .wp-shots{grid-template-columns:1fr 1fr;}
      .wp-shot{min-height:150px;}
      .wp-actions .wp-btn{flex:1 1 100%;}
    }
    @media(max-width:480px){.wp-shots{grid-template-columns:1fr;}}
    /* ── Складские операции (wh-* компоненты) ── */
    .wh-verify-card .an-nav-card-icon{background:#fef3c7;}
    .wh-verify-card .an-nav-badge{background:#fef3c7;color:#d97706;}
    .wh-verify-card:hover{border-color:#d97706;box-shadow:0 6px 28px rgba(217,119,6,.14);}
    .wh-back-btn{background:none;border:none;font:inherit;font-size:13px;font-weight:700;color:var(--brand);cursor:pointer;padding:0;display:flex;align-items:center;gap:4px;}
    .wh-sub-header{display:flex;align-items:center;gap:14px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--stroke);}
    .wh-sub-title{font-size:17px;font-weight:800;color:var(--ink);}
    .wh-tabs{display:flex;gap:0;margin-bottom:24px;border-bottom:2px solid var(--stroke);}
    .wh-tab-btn{background:none;border:none;outline:none;border-bottom:2px solid transparent;margin-bottom:-2px;padding:10px 20px;font:inherit;font-size:13px;font-weight:700;color:var(--muted);cursor:pointer;transition:.12s;}
    .wh-tab-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px 4px 0 0;}
    .wh-tab-btn.active{color:var(--brand);border-bottom-color:var(--brand);}
    .wh-tab-btn:hover:not(.active){color:var(--ink);background:var(--panel);border-radius:4px 4px 0 0;}
    .wh-section{display:none;} .wh-section.active{display:block;}
    .wh-upload-area{border:2px dashed var(--stroke);border-radius:var(--r);padding:32px;text-align:center;cursor:pointer;transition:.15s;background:var(--panel);}
    .wh-upload-area:hover{border-color:var(--brand);background:#fff8f5;}
    .wh-upload-area input{display:none;}
    .wh-upload-icon{font-size:36px;margin-bottom:8px;}
    .wh-upload-label{font-weight:700;font-size:14px;color:var(--ink);}
    .wh-upload-hint{font-size:12px;color:var(--muted);margin-top:4px;}
    .wh-session-list{display:flex;flex-direction:column;gap:10px;margin-top:20px;}
    .wh-session-card{background:#fff;border:1.5px solid var(--stroke);border-radius:var(--r-sm);padding:14px 18px;cursor:pointer;transition:.14s;}
    .wh-session-card:hover{border-color:var(--brand);box-shadow:var(--shadow);}
    .wh-session-head{display:flex;align-items:center;justify-content:space-between;gap:10px;}
    .wh-session-name{font-weight:700;font-size:13px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%;}
    .wh-session-progress{font-size:12px;color:var(--muted);}
    .wh-progress-bar{height:4px;border-radius:4px;background:var(--stroke);margin-top:8px;overflow:hidden;}
    .wh-progress-fill{height:100%;background:var(--ok);border-radius:4px;transition:.3s width;}
    .wh-session-actions{display:flex;gap:6px;flex-shrink:0;align-items:center;}
    .wh-act-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1.5px solid var(--stroke);background:#fff;cursor:pointer;color:var(--muted);transition:background .14s,border-color .14s,color .14s,box-shadow .14s;}
    .wh-act-btn:hover{box-shadow:0 1px 4px rgba(0,0,0,.10);}
    .wh-act-btn svg{display:block;pointer-events:none;}
    .wh-act-btn.log:hover{border-color:#6366f1;color:#6366f1;background:#eef2ff;}
    .wh-act-btn.reset:hover{border-color:#f59e0b;color:#d97706;background:#fffbeb;}
    .wh-act-btn.del:hover{border-color:#f87171;color:#dc2626;background:#fef2f2;}
    .wh-pin-badge{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:8px;padding:7px 10px;background:linear-gradient(90deg,#fff8f5,#fff);border:1.5px solid rgba(255,90,0,.2);border-radius:8px;font-size:12px;}
    .wh-pin-badge-num{font-weight:900;color:var(--brand);letter-spacing:.1em;font-family:monospace;font-size:14px;}
    .wh-pin-badge-exp{color:var(--muted);font-size:11px;}
    .wh-pin-badge-btn{padding:3px 8px;border-radius:6px;border:1px solid var(--stroke);background:#fff;cursor:pointer;font-size:11px;font-weight:600;color:var(--ink);white-space:nowrap;}
    .wh-pin-badge-btn:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-dim);}
    .wh-session-del{background:none;border:none;cursor:pointer;font-size:14px;color:var(--muted);padding:2px 5px;border-radius:4px;opacity:.55;line-height:1;}
    .wh-session-del:hover{opacity:1;color:#dc2626;background:#fee2e2;}
    .wh-scan-wrap{max-width:540px;margin:0 auto;}
    .wh-scan-select{width:100%;margin-bottom:16px;}
    .wh-scan-field{display:flex;gap:8px;margin-bottom:12px;}
    .wh-scan-field .form-input{flex:1;font-size:15px;padding:12px 14px;}
    .wh-scan-result{border-radius:var(--r-sm);padding:14px 16px;font-weight:700;font-size:15px;margin-bottom:16px;display:none;animation:wh-pop .15s ease;}
    .wh-scan-result.ok{background:#dcfce7;color:#16a34a;display:block;}
    .wh-scan-result.dup{background:#fef08a;color:#854d0e;display:block;border:2px solid #fbbf24;}
    .wh-scan-result.err{background:#fee2e2;color:#dc2626;display:block;}
    @keyframes wh-pop{from{transform:scale(.96);opacity:.6}to{transform:scale(1);opacity:1}}
    .wh-scan-counter{font-size:28px;font-weight:900;color:var(--brand);text-align:center;margin:16px 0 4px;}
    .wh-scan-counter-sub{font-size:12px;color:var(--muted);text-align:center;margin-bottom:16px;}
    .wh-scan-log{flex:1 1 auto;min-height:160px;overflow-y:auto;border:1px solid var(--stroke);border-radius:var(--r-sm);background:var(--panel);}
    /* Экран сканирования на всю высоту: верх закреплён, история заполняет остаток и скроллится внутри */
    #whSectionScan.active{display:flex;flex-direction:column;height:calc(100vh - 180px);min-height:420px;}
    #whScanLogWrap{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;margin-top:20px;}
    .wh-two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start;}
    @media(max-width:680px){.wh-two-col{grid-template-columns:1fr;}}
    .wh-scan-log-row{display:grid;grid-template-columns:20px 1fr auto 22px;align-items:start;gap:8px;padding:8px 12px;border-bottom:1px solid var(--stroke);font-size:12px;}
    .wh-scan-log-row.ok{background:#f0fdf4;}
    .wh-scan-log-row.dup{background:#fefce8;}
    .wh-scan-log-row.err{background:#fff1f2;}
    .wh-scan-log-row.cancelled{background:var(--panel);opacity:.55;text-decoration:line-through;}
    .wh-scan-log-row:last-child{border-bottom:none;}
    .wh-scan-log-icon{font-size:16px;text-align:center;}
    .wh-scan-log-text{min-width:0;overflow-wrap:anywhere;word-break:break-all;line-height:1.4;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;}
    .wh-scan-log-time{color:var(--muted);text-align:right;white-space:nowrap;}
    .wh-note-input{width:100%;margin-top:12px;}
    .wh-upload-status{margin-top:14px;font-size:13px;font-weight:600;color:var(--ok);}
    .wh-upload-status.err{color:var(--warn);}
    .opis-inline-form{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;align-items:center;background:var(--panel);border:1px solid var(--stroke);border-radius:var(--r-sm);padding:10px;}
    .opis-inline-form[hidden]{display:none;}
    #opisBoxFormMeta[hidden]{display:none !important;}
    .opis-excel-cellinput{width:100%;border:1px solid var(--stroke);border-radius:6px;padding:3px 6px;font:inherit;background:#fff;box-sizing:border-box;}
    .opis-excel-cellinput:focus{outline:none;border-color:var(--accent,#F26A21);}
    /* Подсказки значений для ячеек доописи (свой попап: ячейки — contenteditable,
       нативный <datalist> к ним не привязать). */
    .opis-cellac{position:fixed;z-index:1200;min-width:200px;max-width:420px;max-height:244px;overflow-y:auto;
      background:var(--card,#fff);border:1px solid var(--stroke);border-radius:10px;
      box-shadow:0 12px 32px rgba(15,23,42,.16);padding:4px;font-size:13px;}
    .opis-cellac[hidden]{display:none;}
    .opis-cellac-item{padding:6px 9px;border-radius:7px;cursor:pointer;white-space:nowrap;
      overflow:hidden;text-overflow:ellipsis;color:var(--ink);}
    .opis-cellac-item:hover,.opis-cellac-item.on{background:#f3efff;color:#5b34d4;}
    .opis-cellac-hint{padding:5px 9px 3px;font-size:11px;color:var(--muted);}
    .opis-photo-cell{display:flex;gap:4px;align-items:center;flex-wrap:wrap;}
    .opis-photo-thumb{width:34px;height:34px;border-radius:6px;object-fit:cover;border:1px solid var(--stroke);cursor:pointer;}
    .opis-photo-add{width:34px;height:34px;border:1px dashed var(--stroke);border-radius:6px;background:#fff;cursor:pointer;font-size:18px;line-height:1;color:#888;display:inline-flex;align-items:center;justify-content:center;}
    .opis-photo-del{position:absolute;top:-6px;right:-6px;background:#e5484d;color:#fff;border:none;border-radius:50%;width:16px;height:16px;font-size:11px;line-height:1;cursor:pointer;display:none;}
    .opis-photo-wrap{position:relative;display:inline-flex;}
    .opis-photo-wrap:hover .opis-photo-del{display:inline-flex;}
    #opisRowPhotos .opis-photo-thumb{width:56px;height:56px;}
    .opis-set-item{border:1px solid var(--stroke);border-radius:8px;padding:8px 10px;margin-bottom:6px;}
    .opis-set-item-name{font-weight:600;margin-bottom:3px;}
    .opis-set-item-ing{font-size:12px;color:var(--muted);white-space:pre-wrap;}
    .opis-row-del{background:none;border:none;color:#e5484d;cursor:pointer;font-size:15px;}
    .opis-extra-row td{background:#fff8f0;}
    .opis-inline-form .form-input,.opis-inline-form .form-select{flex:1 1 150px;min-width:120px;max-width:240px;}
    .opis-inline-form .opis-btn,.opis-inline-form .opis-btn-primary{flex:0 0 auto;}
    #opisNewReqForm > .opis-btn-primary,#opisNewBoxForm > .opis-btn-primary{margin-left:auto;}
    .opis-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
    .opis-import-panel{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:12px;align-items:center;margin-bottom:12px;padding:12px;border:1px dashed #fed7aa;border-radius:var(--r-sm);background:#fff8f5;}
    .opis-import-main{display:flex;align-items:center;gap:12px;min-width:0;}
    .opis-import-icon{width:42px;height:42px;border-radius:12px;background:#fff;border:1px solid #fed7aa;color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:900;flex-shrink:0;}
    .opis-import-title{font-size:13px;font-weight:800;color:var(--ink);line-height:1.25;}
    .opis-import-note{font-size:12px;color:var(--muted);line-height:1.35;margin-top:3px;}
    .opis-import-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;}
    .opis-import-chip{display:inline-flex;align-items:center;min-height:24px;padding:3px 9px;border-radius:999px;background:#fff;border:1px solid var(--stroke);font-size:11px;font-weight:800;color:var(--ink);}
    .opis-import-chip.warn{color:var(--warn);background:var(--warn-dim);border-color:transparent;}
    .opis-import-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
    .opis-import-panel[hidden]{display:none;}
    .opis-excel-panel{border:1px solid var(--stroke);border-radius:var(--r-sm);background:#fff;margin-bottom:14px;overflow:hidden;}
    /* выбор профиля товара в форме строки короба */
    .opis-profile-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 0 2px;}
    .opis-profile-label{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;}
    .opis-profile-switch{display:inline-flex;gap:4px;background:var(--panel);border:1px solid var(--stroke);
      border-radius:12px;padding:3px;flex-wrap:wrap;}
    .opis-profile-switch button{min-height:36px;padding:6px 14px;border:none;background:transparent;border-radius:9px;
      font-size:13px;font-weight:700;color:var(--muted);cursor:pointer;}
    .opis-profile-switch button.active{background:var(--brand);color:#fff;}
    .opis-cos-note{font-size:12px;color:var(--muted);margin-top:8px;line-height:1.45;}
    /* поля формы — flex/grid, поэтому атрибут hidden нужно усилить */
    #opisRowEditor .opis-field[hidden], #opisRowEditor .opis-sub[hidden],
    #opisRowEditor details[hidden]{display:none!important;}
    #opisCoRecoNote{color:var(--ai);}

    /* доопись во всю доступную ширину: расширяем сам контейнер страницы для этого экрана
       (main-area уже учитывает сайдбар, поэтому лишней математики не нужно) */
    .page-content.opis-fullwidth{max-width:none;}
    .opis-excel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--stroke);background:#fff8f5;}
    .opis-excel-title{font-size:14px;font-weight:850;color:var(--ink);}
    .opis-excel-sub{font-size:12px;color:var(--muted);line-height:1.35;margin-top:3px;}
    /* Ручная настройка размеров таблицы: тянем правую границу заголовка,
       высоту строки задаёт --opis-cell-max (её меняет переключатель). */
    .opis-col-grip{position:absolute;top:0;right:-3px;width:7px;height:100%;cursor:col-resize;z-index:3;}
    .opis-col-grip:hover{background:rgba(255,90,0,.35);}
    .opis-excel-table.is-resizing{user-select:none;}
    .opis-size-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px 0;font-size:12px;color:var(--muted);}
    .opis-size-tools .opis-btn{padding:4px 10px;font-size:12px;}
    /* панель фильтров, выбора колонок и массовой правки таблицы доописи */
    .opis-table-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 0 6px;}
    .opis-filter-input{flex:1 1 260px;min-width:200px;height:34px;padding:0 12px;border:1px solid var(--stroke);border-radius:var(--r-sm);background:#fff;font:inherit;font-size:13px;color:var(--ink);}
    .opis-filter-input:focus{outline:2px solid var(--brand);outline-offset:-1px;}
    .opis-chip-btn{padding:6px 12px;border:1px solid var(--stroke);border-radius:99px;background:#fff;font:inherit;font-size:12px;font-weight:650;color:var(--muted);cursor:pointer;}
    .opis-chip-btn:hover{border-color:var(--brand);color:var(--brand);}
    .opis-chip-btn.on{background:var(--brand-dim);border-color:var(--brand);color:var(--brand);}
    .opis-tools-count{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;}
    .opis-tools-sep{flex:1 1 auto;}
    .opis-cols-panel{border:1px solid var(--stroke);border-radius:var(--r-sm);padding:10px 12px;margin-bottom:8px;background:var(--panel);}
    .opis-cols-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px;}
    .opis-cols-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:4px 14px;max-height:220px;overflow:auto;}
    .opis-col-chk{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--ink);cursor:pointer;}
    .opis-bulk-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;margin-bottom:8px;border:1px solid var(--brand);border-radius:var(--r-sm);background:var(--brand-dim);font-size:12px;font-weight:650;color:var(--ink);}
    .opis-excel-table col.c-pick{width:34px;}
    .opis-excel-table td.opis-pick,.opis-excel-table th.opis-pick{text-align:center;padding:4px;}
    .opis-bulk-modal{position:fixed;inset:0;z-index:10060;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;padding:16px;}
    .opis-bulk-card{width:min(460px,100%);background:#fff;border-radius:var(--r);padding:18px;box-shadow:0 24px 60px rgba(15,23,42,.3);display:flex;flex-direction:column;gap:12px;}
    .opis-bulk-title{font-size:15px;font-weight:800;color:var(--ink);}
    .opis-bulk-row{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:650;color:var(--muted);}
    .opis-bulk-row select,.opis-bulk-row input{height:36px;padding:0 10px;border:1px solid var(--stroke);border-radius:var(--r-sm);font:inherit;font-size:13px;color:var(--ink);background:#fff;}
    .opis-bulk-chk{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink);cursor:pointer;}
    .opis-bulk-note{font-size:12px;color:var(--muted);}
    .opis-bulk-actions{display:flex;justify-content:flex-end;gap:8px;}
    .opis-bulk-value{display:flex;gap:8px;align-items:center;}
    .opis-bulk-value input{flex:1;min-width:0;}
    .opis-scan-modal{position:fixed;inset:0;z-index:10070;background:rgba(15,23,42,.72);display:flex;align-items:center;justify-content:center;padding:16px;}
    .opis-scan-card{width:min(420px,100%);background:#fff;border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:10px;align-items:stretch;}
    .opis-scan-title{font-size:14px;font-weight:800;color:var(--ink);}
    .opis-scan-card video{width:100%;max-height:60vh;background:#000;border-radius:var(--r-sm);}
    .opis-scan-note{font-size:12px;color:var(--muted);}
    .opis-rows-more{display:flex;align-items:center;gap:10px;padding:10px 0;}
    .opis-rows-more-note{font-size:12px;color:var(--muted,#6b7280);}
    .opis-excel-table-wrap{overflow:auto;-webkit-overflow-scrolling:touch;max-height:calc(100vh - 300px);min-height:320px;}
    /* min-width держит колонки читаемыми: на узком экране таблица не сжимается,
       а прокручивается по горизонтали внутри обёртки */
    .opis-excel-table{border-collapse:collapse;width:100%;min-width:1180px;font-size:12px;table-layout:fixed;}
    .opis-excel-table th,.opis-excel-table td{border-right:1px solid var(--stroke);border-bottom:1px solid var(--stroke);padding:6px 8px;vertical-align:middle;background:#fff;overflow-wrap:anywhere;}
    .opis-excel-table th{position:sticky;top:0;z-index:2;text-align:left;font-size:10.5px;font-weight:900;color:var(--ink);background:#eef2f8;white-space:normal;line-height:1.2;vertical-align:bottom;}
    .opis-excel-table th.wh{background:#ff8a3d;color:#111827;}
    .opis-excel-table th.wh-strong{background:var(--brand);color:#fff;}
    .opis-excel-table td.wh-edit{background:#fffaf6;box-shadow:inset 0 0 0 1px rgba(255,90,0,.12);}
    /* длинные значения (состав, адрес производителя) не растягивают строку */
    .opis-excel-table{--opis-cell-max:56px;}
    .opis-excel-table .opis-cell-box{max-height:var(--opis-cell-max);overflow-y:auto;overflow-wrap:anywhere;}
    .opis-excel-table .opis-cell-box:focus{outline:2px solid var(--brand);outline-offset:-2px;background:#fff;max-height:220px;}
    .opis-excel-table td.dyn-cell .opis-cell-box:focus{outline-color:#4f46e5;}
    .opis-excel-table td.wh-alert{background:#fff0e9;color:#d63b00;font-weight:800;}
    .opis-excel-table .clip{max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
    /* фикс-раскладка колонок доописи, чтобы влезали в экран */
    .opis-excel-table col.c-art{width:74px;}
    .opis-excel-table col.c-name{width:150px;}
    .opis-excel-table col.c-type{width:120px;}
    .opis-excel-table col.c-gtin{width:104px;}
    .opis-excel-table col.c-date{width:78px;}
    .opis-excel-table col.c-shelf{width:56px;}
    .opis-excel-table col.c-qty{width:52px;}
    .opis-excel-table col.c-mfr{width:150px;}
    .opis-excel-table col.c-label{width:72px;}
    .opis-excel-table col.c-defect{width:74px;}
    .opis-excel-table col.c-photo{width:120px;}
    .opis-excel-table col.c-extra{width:120px;}
    .opis-excel-table th.dyn{background:#e0e7ff;color:#1e3a8a;}
    .opis-import-chip.bd-ok{background:#e8f7ee;color:#136c3b;}
    .opis-import-chip.bd-mismatch{background:#fff3d6;color:#8a5a00;}
    .opis-import-chip.bd-bad{background:#ffe3dc;color:#a83200;}
    .opis-import-chip.bd-found{background:#eef4ff;color:#2f5cb5;}
    .opis-import-chip.bd-skip{background:#f3f4f6;color:#6b7280;}
    .opis-excel-table td.dyn-cell{background:#f5f7ff;box-shadow:inset 0 0 0 1px rgba(79,70,229,.10);}
    .opis-excel-table td.dyn-cell:focus-within{background:#fff;}
    /* Подсветка сверки даты по номеру партии. Селекторы включают .dyn-cell и
       идут после него: батч почти всегда динамическая колонка файла, и при
       равной специфичности её фон перекрывал подсветку. */
    .opis-excel-table td.bd-ok,.opis-excel-table td.dyn-cell.bd-ok{background:#d9f2e3;box-shadow:inset 0 0 0 1px rgba(23,140,74,.45);}
    .opis-excel-table td.bd-mismatch,.opis-excel-table td.dyn-cell.bd-mismatch{background:#ffe8b0;box-shadow:inset 0 0 0 1px rgba(200,130,0,.5);font-weight:700;}
    .opis-excel-table td.bd-bad,.opis-excel-table td.dyn-cell.bd-bad{background:#ffd5cb;box-shadow:inset 0 0 0 1px rgba(214,59,0,.45);}
    .opis-excel-table td.bd-found,.opis-excel-table td.dyn-cell.bd-found{background:#dfe9ff;box-shadow:inset 0 0 0 1px rgba(59,110,214,.4);}
    /* Автопроверка описи: компактный индикатор строки вместо новых колонок. */
    .opis-excel-table col.c-audit{width:58px;}
    .opis-excel-table th.opis-audit-th,.opis-excel-table td.opis-audit-td{text-align:center;padding:2px 4px;}
    .opis-audit-mark{display:inline-flex;align-items:center;gap:3px;font-size:12px;white-space:nowrap;
      padding:2px 6px;border-radius:999px;line-height:1;cursor:default;}
    .opis-audit-mark svg{width:14px;height:14px;flex:none;}
    .opis-audit-mark b{font-weight:700;}
    .opis-audit-mark.warn,.opis-audit-mark.crit{cursor:pointer;}
    .opis-audit-mark.ok{color:#16a34a;}
    .opis-audit-mark.crit{color:#b42318;background:rgba(180,35,24,.10);}
    .opis-audit-mark.warn{color:#b06800;background:rgba(176,104,0,.12);}
    .opis-audit-mark.crit:hover,.opis-audit-mark.warn:hover{filter:brightness(.92);}
    .opis-audit-ico{display:inline-flex;align-items:center;flex:none;}
    .opis-audit-ico svg{width:14px;height:14px;}
    .opis-audit-ico.ok{color:#16a34a;}
    .opis-audit-ico.crit{color:#b42318;}
    .opis-audit-ico.warn{color:#b06800;}
    .opis-audit-ico.info{color:#2563eb;}
    .opis-audit-item-how{font-size:12px;color:#334155;background:rgba(15,23,42,.04);
      border-radius:8px;padding:6px 8px;margin-bottom:6px;line-height:1.45;}
    .opis-audit-status{display:inline-block;padding:2px 8px;border-radius:999px;font-weight:600;
      background:rgba(15,23,42,.07);}
    .opis-audit-status.st-CONFIRMED{background:rgba(180,35,24,.12);color:#b42318;}
    .opis-audit-status.st-DISMISSED{background:rgba(15,23,42,.07);color:#5b6172;}
    .opis-audit-status.st-RESOLVED{background:rgba(22,163,74,.14);color:#15803d;}
    .opis-audit-card-note{font-size:11px;color:#5b6172;line-height:1.45;margin-top:4px;}
    .opis-audit-panel{margin:8px 0;padding:8px 10px;border:1px solid #e3e6ee;border-radius:10px;background:#fbfcff;}
    .opis-audit-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px;}
    .opis-audit-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid #d7dbe7;background:#fff;
      border-radius:999px;padding:3px 10px;font-size:12px;cursor:pointer;line-height:1.4;}
    .opis-audit-chip.ok{color:#15803d;}
    .opis-audit-chip.flat{cursor:default;}
    .opis-audit-chip.sev-CRITICAL{background:#ffd5cb;border-color:#f0b3a5;}
    .opis-audit-chip.sev-WARNING{background:#ffe8b0;border-color:#e8ce85;}
    .opis-audit-chip.sev-NEEDS_REVIEW{background:#eceef1;}
    .opis-audit-note,.opis-audit-progress{font-size:12px;color:#5b6172;}
    .opis-audit-card{position:fixed;right:16px;top:70px;bottom:16px;width:380px;max-width:92vw;overflow:auto;
      background:#fff;border:1px solid #dfe3ee;border-radius:12px;box-shadow:0 12px 40px rgba(20,25,50,.18);padding:12px;z-index:9000;}
    .opis-audit-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
    .opis-audit-item{border:1px solid #e6e9f2;border-radius:10px;padding:8px;margin-bottom:8px;font-size:12px;}
    .opis-audit-item.sev-CRITICAL{border-color:#f0b3a5;background:#fff6f4;}
    .opis-audit-item.sev-WARNING{background:#fffaf0;}
    .opis-audit-item-msg{display:flex;gap:6px;align-items:flex-start;font-weight:600;margin-bottom:6px;line-height:1.4;}
    .opis-audit-item-msg .opis-audit-ico{margin-top:1px;}
    .opis-audit-item-meta,.opis-audit-item-vals{color:#5b6172;margin-bottom:4px;}
    .opis-audit-item-acts{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
    .opis-excel-table td.bd-skip,.opis-excel-table td.dyn-cell.bd-skip{background:#eceef1;color:#6b7280;}
    /* мобильные: крупнее тап-таргеты, 16px в инпутах (без авто-zoom iOS),
       таблица прокручивается по горизонтали, а не сжимается */
    @media(max-width:640px){
      .opis-excel-table-wrap{max-height:calc(100vh - 210px);}
      .opis-excel-table{font-size:13px;}
      .opis-excel-table th{font-size:11px;}
      .opis-excel-table th,.opis-excel-table td{padding:9px 9px;}
      .opis-excel-table td.wh-edit{font-size:16px;min-height:40px;}
      .opis-excel-cellinput{font-size:16px;padding:8px;}
      .opis-photo-thumb,.opis-photo-add{width:40px;height:40px;}
      .opis-excel-panel .opis-excel-sub{font-size:11px;}
      .opis-excel-footer{gap:8px;}
      .opis-excel-footer .opis-btn{flex:1 1 auto;justify-content:center;}
      /* артикул закреплён слева при горизонтальной прокрутке */
      .opis-excel-table td:first-child{position:sticky;left:0;z-index:1;box-shadow:1px 0 0 var(--stroke);font-weight:700;}
      .opis-excel-table thead th:first-child{position:sticky;left:0;z-index:3;box-shadow:1px 0 0 var(--stroke);}
    }
    .opis-excel-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 16px;background:#fafbfc;}
    .opis-list{display:flex;flex-direction:column;gap:6px;}
    .opis-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:1px solid var(--stroke);border-left:3px solid transparent;border-radius:var(--r-sm);background:var(--panel);cursor:pointer;transition:.14s;}
    .opis-item:hover{border-color:var(--brand);border-left-color:var(--brand);background:#fff;transform:translateX(2px);}
    .opis-item-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto;}
    .opis-item-right{display:flex;align-items:center;gap:10px;flex:0 0 auto;}
    .opis-item-title{font-weight:700;}
    .opis-item-sub{font-size:12px;color:var(--muted);}
    .opis-badge{font-size:10px;font-weight:800;border-radius:999px;padding:3px 10px;background:var(--brand-dim);color:var(--brand);white-space:nowrap;text-transform:uppercase;letter-spacing:.05em;}
    .opis-badge.done{background:var(--ok-dim);color:var(--ok);}
    .opis-empty{color:var(--muted);font-size:13px;padding:32px 14px;text-align:center;}
    .opis-table-wrap{overflow-x:auto;}
    .opis-table{width:100%;border-collapse:collapse;}
    .opis-table th{text-align:left;font-size:11px;color:var(--muted);text-transform:uppercase;padding:8px 10px;border-bottom:1px solid var(--stroke);}
    .opis-table td{padding:9px 10px;border-bottom:1px solid var(--stroke);font-size:13px;}
    .opis-table tr:hover td{background:var(--panel);}
    .opis-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px 12px;margin:12px 0;}
    .opis-field{display:flex;flex-direction:column;gap:5px;font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:700;}
    .opis-sub{border-top:1px solid var(--stroke);padding-top:16px;margin-top:16px;}
    .opis-sub-head{font-weight:800;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin-bottom:10px;display:flex;align-items:center;gap:8px;}
    div.opis-sub-head::before{content:"";flex:0 0 auto;width:3px;height:13px;background:var(--brand);border-radius:2px;}
    details.opis-sub > summary.opis-sub-head{cursor:pointer;list-style:none;}
    details.opis-sub > summary.opis-sub-head::-webkit-details-marker{display:none;}
    details.opis-sub > summary.opis-sub-head::after{content:"▸";color:var(--muted);font-size:12px;transition:transform .15s;margin-left:2px;}
    details.opis-sub[open] > summary.opis-sub-head::after{transform:rotate(90deg);}
    .opis-preview{font-weight:700;font-size:11px;color:var(--muted);margin-left:8px;padding:2px 9px;border-radius:999px;background:var(--panel);border:1px solid var(--stroke);}
    .opis-preview:empty{display:none;}
    .opis-preview.ok{color:var(--ok);background:var(--ok-dim);border-color:transparent;}
    .opis-preview.err{color:var(--warn);background:var(--warn-dim);border-color:transparent;}
    .opis-color-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:8px;}
    .opis-mods{display:flex;gap:16px;font-size:13px;}
    .opis-mods label{display:flex;align-items:center;gap:5px;cursor:pointer;}
    .opis-sostav-row{display:flex;gap:8px;margin-bottom:7px;align-items:center;}
    .opis-sostav-row .opis-ac{flex:2;}
    .opis-sostav-row .opis-pct{width:80px;}
    .opis-sostav-row .opis-part{flex:1.5;}
    .opis-ac{position:relative;}
    .opis-ac-list{position:absolute;top:100%;left:0;right:0;z-index:30;background:#fff;border:1px solid var(--stroke);border-radius:var(--r-sm);box-shadow:var(--shadow-lg);max-height:220px;overflow-y:auto;display:none;}
    .opis-ac-list.open{display:block;}
    .opis-ac-opt{padding:8px 11px;cursor:pointer;font-size:13px;}
    .opis-ac-opt:hover,.opis-ac-opt.active{background:var(--brand-dim);color:var(--brand);}
    .opis-editor-actions{display:flex;gap:8px;margin-top:14px;}
    .opis-del{color:var(--warn);background:none;border:none;cursor:pointer;font-size:16px;}
    /* шапка экрана: возврат + заголовок + статус */
    .opis-head-left{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0;}
    .opis-back{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1.5px solid var(--stroke);border-radius:var(--r-sm);background:#fff;color:var(--muted);font:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:.14s;white-space:nowrap;}
    .opis-back:hover{border-color:var(--brand);color:var(--brand);transform:translateX(-3px);}
    .opis-head-badge{font-size:10px;font-weight:800;border-radius:999px;padding:4px 11px;background:var(--brand-dim);color:var(--brand);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;}
    .opis-head-badge.done{background:var(--ok-dim);color:var(--ok);}
    .opis-btn-ok{background:var(--ok);border-color:var(--ok);color:#fff;}
    .opis-btn-ok:hover{background:var(--ok);border-color:var(--ok);color:#fff;filter:brightness(.94);}
    .opis-locked-note{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ok);background:var(--ok-dim);border-radius:var(--r-sm);padding:10px 13px;margin-bottom:14px;font-weight:600;}
    .opis-item-del{flex:0 0 auto;background:none;border:none;padding:4px 6px;cursor:pointer;color:var(--muted);font-size:16px;border-radius:4px;line-height:1;opacity:.55;transition:.12s;}
    .opis-item-del:hover{opacity:1;color:#dc2626;background:#fee2e2;}
    .opis-barcode-hint{font-size:11px;color:var(--muted);line-height:1.3;}
    .opis-barcode-err{font-size:11.5px;color:var(--warn);font-weight:600;line-height:1.3;}
    .opis-barcode-err[hidden]{display:none;}
    .opis-invalid,.form-input.opis-invalid,.form-select.opis-invalid{border-color:var(--warn)!important;background:var(--warn-dim);}

    /* ── Analytics home nav cards ── */
    .an-nav-home{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1240px;margin:32px auto 0;}
    @media(min-width:1600px){.an-nav-home{max-width:1440px;gap:18px;}}
    @media(max-width:900px){.an-nav-home{grid-template-columns:repeat(2,1fr);}}
    @media(max-width:600px){.an-nav-home{grid-template-columns:1fr;}}
    /* Складские операции: меню не пинуем узким инлайном — расширяем умеренно по центру */
    #opisModuleHome .an-nav-home{max-width:820px;}
    @media(min-width:1700px){#opisModuleHome .an-nav-home{max-width:1180px;}}
    .an-nav-card{display:flex;align-items:center;gap:18px;padding:22px 24px;border-radius:var(--r);border:1.5px solid var(--stroke);background:var(--card);cursor:pointer;font:inherit;text-align:left;width:100%;transition:.15s border-color,.15s box-shadow,.15s transform;box-shadow:var(--shadow);}
    .an-nav-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);}
    .an-nav-card-icon{width:54px;height:54px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:26px;flex-shrink:0;}
    .an-nav-card-icon svg{width:26px;height:26px;display:block;stroke:currentColor;}
    .an-nav-card-body{flex:1;min-width:0;}
    .an-nav-badge{font-size:11px;font-weight:900;padding:3px 10px;border-radius:6px;letter-spacing:.08em;text-transform:uppercase;display:inline-block;margin-bottom:6px;}
    .an-nav-title{font-size:18px;font-weight:800;color:var(--ink);line-height:1.25;}
    .an-nav-sub{font-size:13.5px;color:#475569;margin-top:5px;line-height:1.5;}
    .an-nav-arrow{font-size:22px;color:#cbd5e1;flex-shrink:0;line-height:1;transition:.18s transform,.18s color;}
    .an-nav-card:hover .an-nav-arrow{transform:translateX(4px);color:#94a3b8;}
    .corrections-card .an-nav-card-icon{background:var(--brand-dim);color:var(--brand);}
    .corrections-card .an-nav-badge{background:var(--brand-dim);color:var(--brand);}
    .corrections-card:hover{border-color:var(--brand);box-shadow:0 6px 28px rgba(255,90,0,.14);}
    .trk-card .an-nav-card-icon{background:var(--ai-dim);color:var(--ai);}
    .trk-card .an-nav-badge{background:var(--ai-dim);color:var(--ai);}
    .trk-card:hover{border-color:var(--ai);box-shadow:0 6px 28px rgba(37,99,235,.14);}
    .excel-card .an-nav-card-icon{background:#e6f9ee;color:#16a34a;}
    .excel-card .an-nav-badge{background:#e6f9ee;color:#16a34a;}
    .excel-card:hover{border-color:#16a34a;box-shadow:0 6px 28px rgba(22,163,74,.14);}
    .productivity-card:hover{border-color:#7c3aed;box-shadow:0 6px 28px rgba(124,58,237,.14);}
    .productivity-card .an-nav-card-icon{background:#ede9fe;color:#7c3aed;}
    .marking-nav-home{max-width:1180px;margin:0 auto;}
    /* Маркировка-хоум: карточки модулей, иконка выровнена по верху */
    .marking-nav-home .an-nav-home{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1080px;}
    @media(min-width:1700px){.marking-nav-home,.marking-nav-home .an-nav-home{max-width:1080px;}}
    /* Вертикальная раскладка карточек: иконка + стрелка сверху, текст снизу */
    .marking-nav-home .an-nav-card{flex-direction:column;align-items:stretch;gap:16px;padding:22px;position:relative;}
    .marking-nav-home .mk-card-top{display:flex;align-items:center;justify-content:space-between;}
    .marking-nav-home .an-nav-card-icon{width:48px;height:48px;border-radius:14px;color:var(--mk-accent,var(--brand));}
    .marking-nav-home .an-nav-card-icon svg{width:24px;height:24px;display:block;}
    .marking-nav-home .an-nav-badge{margin-bottom:8px;}
    .marking-nav-home .an-nav-title{font-size:17px;}
    .marking-nav-home .an-nav-sub{margin-top:6px;}
    .marking-nav-home .an-nav-arrow{align-self:auto;font-size:22px;line-height:1;transition:.18s transform,.18s color;}
    .marking-nav-home .an-nav-card:hover{border-color:var(--mk-accent,var(--brand));}
    .marking-nav-home .an-nav-card:hover .an-nav-arrow{color:var(--mk-accent,var(--brand));transform:translateX(4px);}
    @media(max-width:1100px){.marking-nav-home .an-nav-home{grid-template-columns:repeat(2,minmax(0,1fr));}}
    @media(max-width:600px){.marking-nav-home .an-nav-home{grid-template-columns:1fr;}}
    .marking-upload-card{--mk-accent:var(--brand);}
    .marking-upload-card .an-nav-card-icon{background:var(--brand-dim);}
    .marking-upload-card .an-nav-badge{background:var(--brand-dim);color:var(--brand);}
    .marking-ozon-card{--mk-accent:#16a34a;}
    .marking-ozon-card .an-nav-card-icon{background:#dcfce7;}
    .marking-gtin-card{--mk-accent:#4338ca;}
    .marking-gtin-card .an-nav-card-icon{background:#e0e7ff;}
    .marking-gtin-card .an-nav-badge{background:#e0e7ff;color:#4338ca;}
    .marking-classifier-card{--mk-accent:#0369a1;}
    .marking-classifier-card .an-nav-card-icon{background:#e0f2fe;}
    .marking-classifier-card .an-nav-badge{background:#e0f2fe;color:#0369a1;}
    .marking-bts-card{--mk-accent:#d97706;}
    .marking-bts-card .an-nav-card-icon{background:#fef3c7;}
    .bts-drop{border:2px dashed var(--stroke);border-radius:12px;padding:28px 16px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;}
    .bts-drop:hover,.bts-drop.dragover{border-color:var(--brand);background:rgba(99,102,241,.06);}
    .bts-drop:focus-visible{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(99,102,241,.18);}
    .bts-hint{font-size:12px;color:var(--muted);align-self:center;}
    .bts-drop-icon{font-size:30px;}
    .bts-drop-title{margin-top:8px;font-weight:600;}
    .bts-drop-hint{margin-top:4px;font-size:12px;color:var(--muted);}
    .bts-filename{margin-top:12px;font-size:13px;color:var(--fg);display:flex;align-items:center;gap:6px;font-weight:600;}
    .bts-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-top:16px;}
    .bts-field{display:flex;flex-direction:column;gap:6px;}
    .bts-field label{font-size:12px;font-weight:600;color:var(--muted);}
    .bts-field input{width:200px;height:44px;box-sizing:border-box;padding:0 14px;border:1.5px solid var(--stroke);border-radius:var(--r-sm);background:var(--field,var(--bg));color:var(--ink,var(--fg));font:inherit;font-size:13px;line-height:44px;transition:.12s border-color,.12s box-shadow;}
    .bts-field input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(99,102,241,.15);}
    .bts-run{height:44px;box-sizing:border-box;padding-top:0;padding-bottom:0;}
    .bts-run:disabled{opacity:.5;cursor:not-allowed;}
    .bts-workspace{max-width:960px;margin:0 auto;}
    .bts-results{margin-top:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start;}
    .bts-results[hidden]{display:none;}
    @media(max-width:820px){.bts-results{grid-template-columns:1fr;}}
    .bts-result-card{padding:16px 18px;}
    .bts-result-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;}
    .bts-result-head h3{margin:0;font-size:15px;}
    .bts-copy{cursor:pointer;}
    .bts-copy svg{flex:0 0 auto;}
    .bts-out{white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.5;margin:12px 0 0;max-height:420px;overflow:auto;background:var(--bg);border:1px solid var(--stroke);border-radius:8px;padding:12px;}
    @media(max-width:600px){.bts-controls{align-items:stretch}.bts-field,.bts-field input,.bts-run{width:100%}}
    .marking-back{border:0;background:transparent;color:var(--brand);font:inherit;font-size:13px;font-weight:700;cursor:pointer;padding:0 0 12px;}
    .gtin-workspace{max-width:none;margin:0;width:100%;}
    .gtin-tabs{display:flex;gap:4px;padding:4px;background:var(--field);border:1px solid var(--stroke);border-radius:12px;width:fit-content;max-width:100%;flex-wrap:wrap;margin-bottom:16px;}
    .gtin-tab{border:0;background:transparent;color:var(--muted);font:inherit;font-size:13px;font-weight:800;padding:9px 18px;border-radius:9px;cursor:pointer;}
    .gtin-tab.active{background:var(--card);color:var(--ink);box-shadow:0 1px 4px rgba(15,23,42,.1);}
    @media(max-width:760px){
      .gtin-connection{flex-wrap:wrap}
      .gtin-connection>div{flex-basis:calc(100% - 32px)!important}
      .gtin-connection button{flex:1}
      .gtin-connection #gtinStatusText{flex-basis:100%}
    }
    .gtin-connection{display:flex;align-items:center;gap:12px;padding:14px 16px;margin-bottom:14px;}
    .gtin-status-dot{width:10px;height:10px;border-radius:50%;background:var(--warn);flex:none;}
    .gtin-status-dot.connected{background:var(--ok);}
    .gtin-org{font-size:13px;font-weight:800;color:var(--ink);}
    .gtin-org-sub{font-size:11px;color:var(--muted);margin-top:2px;}
    .gtin-limits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px;}
    .gtin-limit{padding:16px;border:1px solid var(--stroke);border-radius:12px;background:var(--card);}
    .gtin-limit b{display:block;font-size:26px;line-height:1.1;color:var(--ink);font-variant-numeric:tabular-nums;}
    .gtin-limit span{font-size:11px;color:var(--muted);}
    .gtin-org-picker{padding:18px;margin-bottom:16px;display:grid;gap:8px}
    .gtin-org-select-wrap{position:relative}
    .gtin-org-select-wrap:after{content:'⌄';position:absolute;right:18px;top:50%;transform:translateY(-60%);font-size:25px;color:var(--ai);pointer-events:none}
    #gtinOrganization{width:100%;padding-right:48px;cursor:pointer;border-color:var(--ai);font-weight:700;min-height:48px}
    #gtinOrganization:disabled{cursor:wait;opacity:.6}
    .gtin-organizations-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:6px 0 12px}
    .gtin-organizations-heading h2{font-size:16px;margin:0}
    #gtinOrganizationCount{color:var(--muted);font-size:12px}
    .gtin-organization-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:10px;margin-bottom:20px}
    .gtin-organization-choice{display:flex;align-items:center;gap:12px;text-align:left;padding:16px;border:1px solid var(--stroke);border-radius:14px;background:var(--card);color:var(--ink);font:inherit;cursor:pointer;min-width:0}
    .gtin-organization-choice:hover{border-color:var(--ai)}
    .gtin-organization-choice[aria-pressed="true"]{border:2px solid var(--ai);padding:15px;background:var(--ai-dim)}
    .gtin-organization-choice:focus-visible{outline:3px solid var(--ai);outline-offset:3px}
    .gtin-organization-choice:disabled{cursor:wait;opacity:.65}
    .gtin-organization-choice span{flex:1;min-width:0}
    .gtin-organization-choice b{display:block;font-size:14px;overflow-wrap:anywhere}
    .gtin-organization-choice small{display:block;color:var(--muted);font-size:12px;margin-top:5px}
    .gtin-organization-choice em{font-size:12px;font-style:normal;color:var(--ai);font-weight:700}
    .gtin-org-picker .gtin-settings-hint{margin:0;font-size:12px}
    .gtin-key-form>.form-label{display:block;margin-top:16px}
    .gtin-key-form #gtinOrganizationMode{margin-top:16px}
    .gtin-key-form{padding:28px;max-width:800px;margin-bottom:20px}
    .gtin-settings-heading{display:flex;align-items:flex-start;gap:16px;margin-bottom:26px}
    .gtin-settings-heading h2{font-size:20px;margin:0 0 8px}
    .gtin-settings-heading p,.gtin-settings-hint{color:var(--muted);line-height:1.6;margin:8px 0 18px}
    .gtin-settings-icon{display:grid;place-items:center;flex-shrink:0;width:48px;height:48px;border-radius:14px;background:var(--field);font-size:26px}
    .gtin-key-form>.form-input{width:100%;box-sizing:border-box}
    .gtin-settings-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:24px}
    .gtin-settings-actions span{flex:1;min-width:180px;color:var(--muted);font-size:13px;line-height:1.5}
    .gtin-form .gtin-form-field{max-width:680px}
    .gtin-form{padding:20px;margin-bottom:16px;}
    .gtin-form-row{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;}
    .gtin-form-field{flex:1;min-width:180px;max-width:320px;}
    .gtin-details{margin-top:14px;border-top:1px solid var(--stroke);padding-top:12px;}
    .gtin-details summary{cursor:pointer;font-size:12px;font-weight:800;color:var(--muted);}
    .gtin-table-wrap{overflow:auto;}
    .gtin-table{width:100%;border-collapse:collapse;font-size:13px;}
    .gtin-table th,.gtin-table td{padding:10px 14px;border-bottom:1px solid var(--stroke);text-align:left;}
    .gtin-table th{font-size:10px;text-transform:uppercase;color:var(--muted);}
    .gtin-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700;letter-spacing:.02em;}
    .gtin-empty{padding:28px;text-align:center;color:var(--muted);font-size:13px;}
    .gtin-dialog{position:fixed;inset:0;z-index:10000;background:rgba(15,23,42,.48);display:flex;align-items:center;justify-content:center;padding:16px;}
    .gtin-dialog[hidden]{display:none;}
    .gtin-dialog-card{width:min(480px,100%);padding:22px;border-radius:16px;background:var(--card);box-shadow:var(--shadow-lg);}
    .gtin-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;}
    .gtin-note{padding:12px 14px;border-radius:10px;background:var(--ai-dim);color:var(--ai);font-size:12px;line-height:1.5;margin-bottom:14px;}
    .gtin-product-name{font-weight:750;color:var(--ink);max-width:360px;}
    .gtin-product-sub{font-size:11px;color:var(--muted);margin-top:3px;}
    .gtin-card-status{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:var(--field);color:var(--muted);font-size:10px;font-weight:800;white-space:nowrap;}
    .gtin-card-status.ready{background:var(--ok-dim);color:var(--ok);}
    .gtin-card-status.progress{background:var(--warn-dim);color:var(--warn);}
    .gtin-product-dialog-card{width:min(680px,100%);}
    .gtin-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px;}
    .gtin-product-field{padding:12px;border:1px solid var(--stroke);border-radius:10px;background:var(--field);min-width:0;}
    .gtin-product-field span{display:block;font-size:10px;text-transform:uppercase;color:var(--muted);margin-bottom:4px;}
    .gtin-product-field b{display:block;font-size:13px;color:var(--ink);overflow-wrap:anywhere;}
    .gtin-card-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px;}
    .gtin-card-form .wide{grid-column:1/-1;}
    .gtin-attribute-groups{display:grid;gap:14px;margin-top:16px;}
    .gtin-attribute-group{border:1px solid var(--stroke);border-radius:12px;padding:14px;background:var(--field);}
    .gtin-attribute-group h3{font-size:13px;margin:0 0 12px;color:var(--ink);}
    .gtin-attribute-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
    .gtin-attribute-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;}
    .gtin-card-hint{font-size:11px;color:var(--muted);line-height:1.45;margin-top:5px;}
    @media(max-width:900px){.gtin-hide-tablet{display:none;}}
    @media(min-width:601px) and (max-width:900px){.marking-nav-home .an-nav-home{grid-template-columns:repeat(2,minmax(0,1fr));}}
    @media(max-width:600px){.gtin-limits{grid-template-columns:1fr}.gtin-form-row .cli-btn{width:100%}.gtin-form-field{max-width:none}.gtin-dialog-actions{flex-direction:column-reverse}.gtin-dialog-actions .cli-btn{width:100%;}}
    @media(max-width:600px){.gtin-product-grid,.gtin-card-form,.gtin-attribute-grid{grid-template-columns:1fr}.gtin-card-form .wide{grid-column:auto}.gtin-table th,.gtin-table td{padding:9px 8px}.gtin-hide-mobile{display:none}.gtin-product-name{max-width:210px;}.gtin-product-dialog-card{max-height:90vh;overflow:auto;}}
    .ozon-workspace{max-width:1180px;margin:0 auto;}
    @media(min-width:1700px){.ozon-workspace{max-width:1500px;}}
    .ozon-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 18px;}
    .ozon-step{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:700;padding:10px 12px;border-radius:10px;background:var(--field);border:1px solid var(--stroke);}
    .ozon-step span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--stroke);color:var(--muted);}
    .ozon-step.active{color:var(--ink);border-color:var(--brand);background:var(--brand-dim);}.ozon-step.active span{background:var(--brand);color:#fff;}
    .ozon-drop{border:1.5px dashed var(--stroke);border-radius:var(--r);padding:28px;text-align:center;background:var(--field);transition:.15s;}
    .ozon-drop.drag{border-color:var(--brand);background:var(--brand-dim);}
    .ozon-files{display:grid;gap:8px;margin-top:14px;}.ozon-file{display:flex;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--stroke);border-radius:10px;background:#fff;}
    .ozon-file-main{flex:1;min-width:0}.ozon-file-name{font-weight:700;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ozon-file-meta{font-size:11px;color:var(--muted);margin-top:2px;}
    .ozon-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.ozon-metric{padding:14px;border:1px solid var(--stroke);border-radius:10px;background:var(--field)}.ozon-metric b{display:block;font-size:22px;color:var(--ink)}.ozon-metric span{font-size:11px;color:var(--muted)}
    .ozon-table{width:100%;border-collapse:collapse;font-size:12px}.ozon-table th,.ozon-table td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--stroke);vertical-align:top}.ozon-table th{font-size:10px;text-transform:uppercase;color:var(--muted)}
    .ozon-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.ozon-alert{padding:12px 14px;border-radius:10px;margin:12px 0;font-size:13px}.ozon-alert.warn{background:var(--warn-dim);color:var(--warn)}.ozon-alert.ok{background:var(--ok-dim);color:var(--ok)}.ozon-alert.err{background:#fee2e2;color:#b91c1c}.ozon-timing{margin-top:12px;color:var(--muted);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}
    .ozon-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.ozon-history-list{display:grid;gap:10px;margin-top:16px}.ozon-history-item{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid var(--stroke);border-radius:12px;background:#fff}.ozon-history-icon{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--brand-dim);font-size:19px}.ozon-history-main{flex:1;min-width:0}.ozon-history-title{font-size:14px;font-weight:800;color:var(--ink)}.ozon-history-meta{font-size:11px;color:var(--muted);margin-top:4px}.ozon-saved-badge{display:inline-block;margin-left:7px;padding:2px 7px;border-radius:99px;background:var(--ok-dim);color:var(--ok);font-size:10px;font-weight:800}.ozon-save-status{align-self:center;color:var(--ok);font-size:12px;font-weight:700}
    @media(max-width:760px){.ozon-steps{grid-template-columns:1fr 1fr}.ozon-grid{grid-template-columns:1fr 1fr}.ozon-step{font-size:11px}.marking-nav-home{max-width:none}.ozon-header-row,.ozon-history-item{align-items:stretch;flex-direction:column}.ozon-history-item .cli-btn{width:100%}}
    /* ── Excel analysis section ── */
    .excel-drop-zone{border:2.5px dashed var(--stroke);border-radius:var(--r);padding:40px 24px;text-align:center;cursor:pointer;transition:.15s border-color,.15s background;background:#fafbfc;}
    .excel-drop-zone:hover,.excel-drop-zone.drag-over{border-color:#16a34a;background:#f0fdf4;}
    .excel-drop-zone-icon{font-size:40px;line-height:1;margin-bottom:10px;}
    .excel-drop-zone-title{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:4px;}
    .excel-drop-zone-sub{font-size:12px;color:var(--muted);}
    .excel-file-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--r-sm);background:#e6f9ee;border:1.5px solid #bbf7d0;font-size:13px;font-weight:600;color:#15803d;margin-top:12px;}
    .excel-file-chip .rm{cursor:pointer;color:#6b7280;font-size:16px;line-height:1;}
    /* ── Analytics sub-panel back header ── */
    .an-sub-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;}
    .an-back-btn{display:flex;align-items:center;gap:5px;padding:7px 14px;border-radius:var(--r-sm);border:1.5px solid var(--stroke);background:#fff;cursor:pointer;font:inherit;font-size:13px;font-weight:600;color:var(--muted);transition:.12s background,.12s color,.12s border-color;flex-shrink:0;}
    .an-back-btn:hover{background:var(--brand-dim);border-color:var(--brand);color:var(--brand);}
    .an-sub-title{font-size:17px;font-weight:800;color:var(--ink);}
    .an-section-hd{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:11px 15px;border-radius:var(--r-sm);margin-bottom:12px;}
    .corrections-hd{background:rgba(255,90,0,.05);border-left:3px solid var(--brand);}
    .trk-hd{background:rgba(37,99,235,.05);border-left:3px solid var(--ai);}
    .an-sec-badge{display:inline-flex;align-items:center;font-size:10px;font-weight:900;padding:3px 10px;border-radius:6px;letter-spacing:.07em;text-transform:uppercase;flex-shrink:0;}
    .corrections-badge{background:var(--brand-dim);color:var(--brand);}
    .trk-badge{background:var(--ai-dim);color:var(--ai);}
    .an-sec-name{font-size:14px;font-weight:800;color:var(--ink);}
    .an-sec-desc{font-size:12px;color:var(--muted);}
    .an-trk-hint{text-align:center;padding:36px 20px;color:var(--muted);font-size:13px;}
    .an-trk-hint b{color:var(--ink);}

    /* ── Rules modal ── */
    .rule-modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:900;display:flex;align-items:center;justify-content:center;padding:16px;backdrop-filter:blur(2px);}
    .rule-modal{background:#fff;border-radius:var(--r);box-shadow:0 8px 40px rgba(0,0,0,.18);width:100%;max-width:440px;padding:24px;}
    .rule-modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;}
    .rule-modal-title{font-size:15px;font-weight:800;color:var(--ink);}
    .rule-modal-close{background:none;border:none;font-size:20px;color:var(--muted);cursor:pointer;line-height:1;padding:0 2px;}
    .rule-modal-close:hover{color:var(--ink);}
    .rule-field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px;}
    .rule-label{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;}
    .rule-input,.rule-select,.rule-textarea{width:100%;box-sizing:border-box;border:1.5px solid var(--stroke);border-radius:var(--r-sm);padding:9px 12px;font:inherit;font-size:13px;color:var(--ink);background:var(--field);outline:none;transition:.12s;}
    .rule-input:focus,.rule-select:focus,.rule-textarea:focus{border-color:var(--ai);}
    .rule-textarea{resize:vertical;min-height:56px;}
    .rule-modal-footer{display:flex;gap:8px;justify-content:flex-end;margin-top:20px;}
    .rule-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:var(--r-sm);font:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:.12s;border:1.5px solid var(--stroke);background:var(--field);color:var(--ink);}
    .rule-btn.primary{background:var(--ai);border-color:var(--ai);color:#fff;box-shadow:0 2px 8px rgba(37,99,235,.25);}
    .rule-btn.primary:hover{filter:brightness(1.07);}
    .rule-btn:disabled{opacity:.5;cursor:not-allowed;filter:none;}
    /* Rules list */
    .rules-list{display:flex;flex-direction:column;gap:8px;}
    .rule-item{display:flex;align-items:flex-start;gap:10px;background:var(--field);border:1px solid var(--stroke);border-radius:var(--r-sm);padding:10px 12px;}
    .rule-item-body{flex:1;min-width:0;}
    .rule-item-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:3px;}
    .rule-tag{display:inline-flex;align-items:center;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;background:var(--brand-dim);color:var(--brand);}
    .rule-tag.field{background:#ede9fe;color:#7c3aed;}
    .rule-arrow{font-size:13px;color:var(--muted);}
    .rule-value{font-size:13px;font-weight:700;color:var(--ink);}
    .rule-item-meta{font-size:11px;color:var(--muted);margin-top:2px;}
    .rule-del{background:none;border:none;color:var(--muted);font-size:16px;cursor:pointer;padding:0 4px;line-height:1;flex-shrink:0;margin-top:1px;}
    .rule-del:hover{color:var(--warn);}
    .rules-empty{text-align:center;padding:18px;color:var(--muted);font-size:13px;}

    /* ── Clients tab ── */
    .cli-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:var(--r-sm);font:inherit;font-size:13px;font-weight:700;cursor:pointer;border:none;transition:.12s filter,.12s transform;}
    .cli-btn:active{transform:scale(.97);}
    .cli-btn-primary{background:var(--brand);color:#fff;box-shadow:0 4px 14px rgba(255,90,0,.28);}
    .cli-btn-primary:hover{filter:brightness(1.07);}
    .cli-btn-outline{background:#fff;color:var(--ink);border:1.5px solid var(--stroke);}
    .cli-btn-outline:hover{border-color:var(--brand);color:var(--brand);}
    .cli-btn-success{background:#16a34a;color:#fff;box-shadow:0 4px 14px rgba(22,163,74,.28);}
    .cli-btn-success:hover{filter:brightness(1.08);}
    .cli-btn-ghost{background:none;color:var(--muted);padding:6px 4px;font-size:12px;}
    .cli-btn-ghost:hover{color:var(--ink);}
    .cli-drop-zone{border:2px dashed var(--stroke);border-radius:var(--r);padding:40px 24px;text-align:center;background:var(--panel);transition:.15s border-color,.15s background;cursor:pointer;min-width:0;}
    .cli-drop-zone:hover{border-color:var(--brand);}
    .cli-drop-zone.drag-over{border-color:var(--brand);background:var(--brand-dim);}
    .cli-drop-icon{font-size:40px;margin-bottom:12px;}
    .cli-drop-title{font-size:15px;font-weight:800;color:var(--ink);margin-bottom:6px;}
    .cli-drop-sub{font-size:12px;color:var(--muted);max-width:50ch;margin:0 auto;}
    .cli-metrics-grid{display:grid;grid-template-columns:repeat(6,1fr);padding:16px 24px;gap:12px;}
    @media(max-width:900px){.cli-metrics-grid{grid-template-columns:repeat(3,1fr);}}
    @media(max-width:560px){.cli-metrics-grid{grid-template-columns:repeat(2,1fr);}}
    .cli-metric{position:relative;background:var(--panel);border:1px solid var(--stroke);border-radius:var(--r-sm);padding:13px 14px 12px;overflow:hidden;transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;}
    .cli-metric::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent;transition:background .18s ease;}
    .cli-metric:hover{border-color:var(--stroke-strong, #d7dde6);box-shadow:0 4px 14px rgba(15,23,42,.06);transform:translateY(-1px);}
    .cli-metric-ok::before{background:var(--ok);}
    .cli-metric-ok .cli-metric-value{color:var(--ok);}
    .cli-metric-warn::before{background:#f59e0b;}
    .cli-metric-warn .cli-metric-value{color:#f59e0b;}
    /* нулевое значение у «ошибочных» метрик — нейтральный, не тревожный вид */
    .cli-metric-zero::before{background:var(--stroke);}
    .cli-metric-zero .cli-metric-value{color:var(--muted);}
    .cli-metric-value{font-size:24px;font-weight:900;color:var(--ink);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.01em;}
    .cli-metric-label{font-size:11px;color:var(--muted);margin-top:5px;font-weight:600;}
    .cli-spin{display:inline-block;width:13px;height:13px;margin-right:7px;vertical-align:-2px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:cli-spin .6s linear infinite;}
    @keyframes cli-spin{to{transform:rotate(360deg)}}
    @media (prefers-reduced-motion: reduce){
      *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;}
      .cli-metric:hover{transform:none!important;}
      .cli-spin{animation:none!important;}
    }
    .cli-status-badge{padding:5px 12px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.02em;}
    .cli-status-ok{background:var(--ok-dim);color:var(--ok);}
    .cli-status-err{background:var(--warn-dim);color:var(--warn);}
    .cli-status-uploading{background:var(--ai-dim);color:var(--ai);}
    .cli-alert{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--r-sm);font-size:13px;font-weight:600;line-height:1.4;}
    .cli-alert-ok{background:var(--ok-dim);color:#166534;}
    .cli-alert-err{background:var(--warn-dim);color:#991b1b;}
    /* ── Template selector ── */
    .cli-tpl-section{margin:14px 0 18px;}
    .cli-tpl-label{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:10px;}
    .cli-tpl-grid{display:flex;flex-direction:column;gap:6px;}
    .cli-tpl-card{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--stroke);border-radius:var(--r-sm);cursor:pointer;transition:border-color .15s,background .15s;background:var(--bg);}
    .cli-tpl-card:hover{border-color:#94a3b8;background:var(--panel);}
    .cli-tpl-card:hover .cli-tpl-peek{opacity:1;}
    .cli-tpl-card.selected{border-color:#16a34a;background:rgba(22,163,74,.05);}
    .cli-tpl-card.disabled{opacity:.45;cursor:default;pointer-events:none;}
    .cli-tpl-radio{width:16px;height:16px;border:1.5px solid var(--stroke);border-radius:50%;flex-shrink:0;transition:border-color .15s,background .15s;}
    .cli-tpl-card.selected .cli-tpl-radio{border-color:#16a34a;background:#16a34a;box-shadow:inset 0 0 0 3px var(--bg);}
    .cli-tpl-name{flex:1;font-size:13px;font-weight:500;color:var(--ink);line-height:1.3;}
    .cli-tpl-tag{font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;background:#fee2e2;color:#991b1b;flex-shrink:0;}
    .cli-tpl-peek{opacity:0;transition:opacity .15s;font-size:12px;color:var(--muted);display:flex;align-items:center;gap:3px;flex-shrink:0;text-decoration:none;white-space:nowrap;}
    .cli-tpl-peek:hover{color:var(--ink);}
    .cli-tpl-none{font-size:13px;color:var(--muted);font-style:italic;}
    /* PDF modal */
    .cli-pdf-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:9000;align-items:center;justify-content:center;}
    .cli-pdf-overlay.open{display:flex;}
    .cli-pdf-box{background:#fff;border-radius:12px;overflow:hidden;width:min(820px,96vw);height:min(90vh,680px);display:flex;flex-direction:column;}
    .cli-pdf-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #e2e8f0;flex-shrink:0;}
    .cli-pdf-title{font-size:13px;font-weight:700;color:#1e293b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
    .cli-pdf-close{background:none;border:none;cursor:pointer;font-size:20px;color:#64748b;line-height:1;padding:2px 6px;}
    .cli-pdf-frame{flex:1;border:none;width:100%;}
    .cli-table{width:100%;border-collapse:collapse;font-size:13px;}
    .cli-table th{padding:10px 14px;text-align:left;font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.04em;border-bottom:1px solid var(--stroke);white-space:nowrap;background:var(--panel);}
    .cli-table td{padding:11px 14px;border-bottom:1px solid var(--stroke);color:var(--ink);vertical-align:middle;}
    .cli-table tbody tr{transition:background .15s ease;}
    .cli-table tr:last-child td{border-bottom:none;}
    .cli-table tbody tr:hover td{background:var(--panel);}
    .cli-hist-status{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:700;}
    .cli-hist-ok{background:var(--ok-dim);color:var(--ok);}
    .cli-hist-err{background:var(--warn-dim);color:var(--warn);}
    .cli-hist-pending{background:var(--ai-dim);color:var(--ai);}
    .cli-hist-partial{background:rgba(245,158,11,.12);color:#b45309;}
    .cli-hist-neutral{background:var(--brand-dim);color:var(--brand);}
    /* ── Settings panel ── */
    .stt-section{background:var(--card);border:1px solid var(--stroke);border-radius:var(--r);overflow:hidden;margin-bottom:12px;}
    .stt-section-head{padding:14px 16px 10px;border-bottom:1px solid var(--stroke);}
    .stt-section-title{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);}
    .stt-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--stroke);}
    .stt-row:last-child{border-bottom:none;}
    .stt-row-label{font-size:13px;font-weight:600;color:var(--ink);}
    .stt-row-sub{font-size:11px;color:var(--muted);margin-top:2px;}
    .stt-row-val{font-size:13px;color:var(--muted);flex:0 0 auto;}
    /* toggle */
    .stt-toggle{position:relative;width:40px;height:22px;flex:0 0 auto;}
    .stt-toggle input{opacity:0;width:0;height:0;position:absolute;}
    .stt-toggle-track{position:absolute;inset:0;background:var(--stroke);border-radius:99px;transition:.18s background;cursor:pointer;}
    .stt-toggle input:checked+.stt-toggle-track{background:var(--brand);}
    .stt-toggle-track::after{content:'';position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:.18s left;}
    .stt-toggle input:checked+.stt-toggle-track::after{left:21px;}
    /* theme picker */
    .stt-theme-group{display:flex;gap:6px;}
    .stt-theme-opt{padding:5px 11px;border-radius:var(--r-sm);border:1.5px solid var(--stroke);background:var(--panel);color:var(--muted);font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:.12s border-color,.12s color;}
    .stt-theme-opt.active{border-color:var(--brand);color:var(--brand);background:var(--brand-dim);}

    #panelSettings{max-width:1200px;margin:0 auto;padding-bottom:24px;}
    #panelSettings [hidden]{display:none!important;}
    #panelSettings .page-header{display:flex;justify-content:space-between;align-items:center;gap:16px;}
    .stt-eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:750;color:var(--muted);margin-bottom:8px;}
    .stt-intro{font-size:13px;line-height:1.6;color:var(--muted);margin:6px 0 0;}
    .stt-save-status{font-size:11px;color:var(--muted);padding:8px 12px;border:1px solid var(--stroke);border-radius:30px;background:var(--card);}
    .stt-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:20px;align-items:start;}
    #panelSettings .stt-section{margin:0;border-radius:22px;box-shadow:0 5px 22px rgba(24,38,70,.035);}
    #panelSettings .stt-section-head{padding:22px 24px 18px;}
    #panelSettings .stt-section-title{font-size:14px;letter-spacing:0;text-transform:none;color:var(--ink);}
    #panelSettings .stt-row{padding:18px 24px;min-height:74px;}
    #panelSettings .stt-row-label{font-size:13px;}
    #panelSettings .stt-row-sub{font-size:12px;line-height:1.55;max-width:290px;margin-top:5px;}
    .stt-profile-hero{display:flex;align-items:center;gap:18px;padding:24px;background:linear-gradient(125deg,rgba(129,103,255,.065),transparent 85%);}
    #sttAvatarPreview{width:72px;height:72px;flex:0 0 72px;border-radius:24px;background:linear-gradient(140deg,#9f8bff,#6650d8);background-size:cover;background-position:center;color:white;font-size:25px;box-shadow:0 5px 16px rgba(105,82,210,.18);}
    .stt-hero-copy{min-width:0;}.stt-hero-copy strong{font-size:19px;color:var(--ink);overflow-wrap:anywhere;}
    .stt-hero-copy p,.stt-provider p,.stt-session p{font-size:12px;line-height:1.6;color:var(--muted);margin:5px 0 12px;}
    .stt-actions{display:flex;gap:8px;flex-wrap:wrap;}
    #panelSettings .stt-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:40px;padding:9px 14px;border-radius:12px;border:1px solid var(--stroke);background:linear-gradient(145deg,rgba(150,145,180,.06),rgba(150,145,180,.015)),var(--card);color:var(--ink);font:inherit;font-size:12px;font-weight:650;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 2px 5px rgba(20,30,60,.04);backdrop-filter:blur(12px);transition:transform .2s,box-shadow .2s;}
    #panelSettings .stt-button:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 5px 12px rgba(20,30,60,.1);transform:translateY(-1px);}
    #panelSettings .stt-button:active{transform:scale(.98);}
    #panelSettings .stt-button:disabled{opacity:.55;cursor:default;transform:none;}
    #panelSettings .stt-quiet{color:var(--muted);box-shadow:none;background:transparent;}
    .stt-details{display:grid;grid-template-columns:1fr 1fr;padding:0 24px;}
    #panelSettings .stt-details .stt-row{display:block;min-width:0;min-height:75px;padding:14px 0;border-bottom:1px solid var(--stroke);}
    #panelSettings .stt-details .stt-row-label{font-size:11px;color:var(--muted);font-weight:500;}
    #panelSettings .stt-details .stt-row-val{margin-top:6px;font-size:13px;color:var(--ink);overflow-wrap:anywhere;}
    .stt-profile-feedback{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 24px;color:var(--muted);font-size:11px;}
    .stt-security-content{padding:24px;}.stt-provider{display:flex;gap:12px;align-items:center;}.stt-provider strong,.stt-session strong{font-size:14px;color:var(--ink);}
    .stt-provider-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:14px;background:#fc3f1d;color:white;font-size:26px;flex-shrink:0;}
    #panelSettings .stt-yandex{width:100%;background:linear-gradient(145deg,#46454f,#19191f);color:white;border-color:rgba(255,255,255,.25);margin:8px 0 0;min-height:46px;}
    .stt-session{border-top:1px solid var(--stroke);margin-top:24px;padding-top:24px;}
    #panelSettings .stt-danger{color:#cd454b;background:rgba(218,71,77,.06);border-color:rgba(218,71,77,.18);}
    #panelSettings .stt-theme-group{padding:4px;gap:2px;border:1px solid var(--stroke);border-radius:13px;background:var(--bg);flex-wrap:wrap;}
    #panelSettings .stt-theme-opt{min-height:36px;border:none;padding:7px 10px;background:transparent;border-radius:9px;}
    #panelSettings .stt-theme-opt.active{background:var(--card);color:var(--ink);box-shadow:0 2px 6px rgba(20,30,60,.1);}
    #panelSettings .stt-toggle{width:44px;height:26px;}#panelSettings .stt-toggle-track::after{width:20px;height:20px;}
    #panelSettings .stt-toggle input:checked+.stt-toggle-track::after{left:21px;}
    #panelSettings :is(button,input):focus-visible{outline:3px solid #9781ec;outline-offset:3px;}
    #panelSettings .stt-toggle:focus-within .stt-toggle-track{outline:3px solid #9781ec;outline-offset:3px;}
    @media(max-width:1050px){.stt-layout{grid-template-columns:1fr;}#panelSettings .stt-row{flex-wrap:wrap;}#panelSettings .page-header{align-items:flex-start;flex-direction:column;}}
    @media(max-width:480px){#panelSettings .stt-section-head,.stt-security-content,.stt-profile-hero{padding:20px;}#panelSettings .stt-row{padding:16px 20px;}.stt-profile-hero{gap:12px;}#sttAvatarPreview{width:56px;height:56px;flex-basis:56px;border-radius:18px;}.stt-hero-copy strong{font-size:17px;}.stt-details{padding:0 20px;}.stt-layout{gap:14px;}}
    @media(prefers-reduced-motion:reduce){#panelSettings *,#panelSettings *::after{transition:none!important;}#panelSettings .stt-button:hover,#panelSettings .stt-button:active{transform:none;}}

    /* dark theme vars (applied to :root when active) */
    body.theme-dark{--bg:#0f172a;--card:#1e293b;--panel:#1e293b;--ink:#f1f5f9;--muted:#94a3b8;--stroke:#334155;--field:#1e293b;}
    /* dark: боковая колонка — тёмное стекло вместо светлого, чтобы совпадала с основным контентом */
    body.theme-dark .sidebar{background:rgba(15,23,42,.90);border-right-color:rgba(255,255,255,.08);}
    body.theme-dark .sidebar-item{color:#cbd5e1;}
    body.theme-dark .sidebar-item:hover{background:rgba(255,255,255,.06);color:#fff;}
    body.theme-dark .sidebar-item.active{background:rgba(255,90,0,.16);box-shadow:inset 0 0 0 1px rgba(255,90,0,.35);color:var(--brand);}
    /* dark: калькулятор — поля ввода и активная пилюля тумблера были захардкожены белыми */
    body.theme-dark .question .form-input,
    body.theme-dark .question .form-select{background:var(--field);}
    body.theme-dark .q-toggle button.active{background:rgba(255,255,255,.12);color:var(--ink);box-shadow:none;}
    body.theme-dark .q-toggle button.active[data-val="yes"]{background:var(--brand);color:#fff;}
    /* dark: приглушаем пастельные иконки-плитки навигации, чтобы не бликовали на тёмных карточках */
    body.theme-dark .an-nav-sub{color:#94a3b8;}
    body.theme-dark .an-nav-card-icon{filter:brightness(.82) saturate(1.05);}
    body.theme-dark .an-nav-card:hover{border-color:var(--brand);}
    body.theme-dark .an-nav-arrow{color:var(--muted);}
    /* dark: экран «Производительность» — светлые пятна на тёмном фоне */
    body.theme-dark .pv-info{background:rgba(37,99,235,.15);color:#bfdbfe;}
    body.theme-dark .pv-kpi-ic,
    body.theme-dark .pv-src-live,body.theme-dark .pv-src-fb,
    body.theme-dark .pv-pill-corr,body.theme-dark .pv-pill-roll,
    body.theme-dark .pv-app-pin,body.theme-dark .pv-app-hit{filter:brightness(.8) saturate(1.15);}
    /* dark: нейтральные белые контролы должны следовать теме (не трогаем splash/authgate/QR/TG-бренд).
       :not() бережёт активные/цветные состояния (period-btn.active, opis-btn-primary и т.п.). */
    body.theme-dark .topbar-btn,
    body.theme-dark .sidebar-toggle-btn,
    body.theme-dark .period-btn:not(.active),
    body.theme-dark .btn-tg,
    body.theme-dark .opis-btn:not(.opis-btn-primary):not(.opis-btn-ok),
    body.theme-dark .rates-sel,
    body.theme-dark .rates-refresh,
    body.theme-dark .service-item,
    body.theme-dark .wh-session-card:not(.active),
    body.theme-dark .wh-act-btn,
    body.theme-dark .wh-pin-badge-btn{background:var(--card);}
    body.theme-dark .wp-search input{background:var(--field);}

    .prod-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;border-bottom:1px solid var(--stroke);padding-bottom:14px}
    .prod-tabs .period-btn{min-height:44px;height:auto;padding:8px 16px;line-height:1.4;transition:background .12s,color .12s,border-color .12s}
    .pr-sec{background:var(--card);border:1px solid var(--stroke);border-radius:14px;padding:16px;margin-bottom:14px}
    .pr-sec-h{font-size:14px;font-weight:800;color:var(--ink);margin-bottom:10px}
    /* KPI-карточки и секции отчётов (те же значения, что в отчёте периода —
       нужны глобально, т.к. экран «Выходные» рисуется без его <style>) */
    .pr-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:20px 0}
    .pr-kpi{background:var(--card);border:1px solid var(--stroke);border-radius:16px;padding:18px;min-width:0}
    .pr-kpi-v{font-size:28px;font-weight:800;color:var(--ink);letter-spacing:-.035em;font-variant-numeric:tabular-nums;margin:10px 0 6px}
    .pr-kpi-l{font-size:12px;color:var(--muted);font-weight:700}
    .pr-kpi-hint{font-size:12px;color:var(--muted);line-height:1.5}
    .pr-kpi-primary{border-color:#a8dbbd}.pr-kpi-primary .pr-kpi-v{color:#16854b}
    .pr-report-section{padding:22px}
    .pr-section-head{display:flex;align-items:start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
    .pr-section-head h3{margin:0 0 5px;font-size:17px;line-height:1.4}
    .pr-section-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}
    .pr-empty{padding:28px;text-align:center;color:var(--muted);font-size:13px}
    @media(max-width:1100px){.pr-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
    @media(max-width:700px){
      .pr-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
      .pr-kpi{padding:14px}.pr-kpi:first-child{grid-column:1/-1}.pr-kpi-v{font-size:26px}
      .pr-report-section{padding:16px}
    }
    /* Работа в выходные дни */
    .wk-controls{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end}
    .wk-controls label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:650;color:var(--muted)}
    .wk-controls input[type=date]{height:40px;font:inherit;font-size:13px;border:1.5px solid var(--stroke);border-radius:10px;padding:0 12px;background:var(--card);color:var(--ink);min-width:150px}
    .wk-controls input:invalid{border-color:#ef4444}
    .wk-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
    .wk-actions button{height:40px;padding:0 16px;font-size:13px}
    .wk-warn{border:1px solid #fcd34d;background:#fffbeb;color:#92400e;border-radius:12px;padding:14px 16px;font-size:13px;line-height:1.55;margin-bottom:14px}
    .wk-warn-fix{border-color:#bfdbfe;background:#eff6ff;color:#1e40af}
    .wk-warn-fix code{background:#dbeafe;border-radius:5px;padding:1px 5px;font-size:12px}
    .wk-error{border:1px solid #fecaca;background:#fef2f2;color:#b91c1c;border-radius:12px;padding:14px 16px;font-size:13px;margin-bottom:14px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
    .wk-table-wrap{overflow-x:auto}
    table.wk-table{width:100%;border-collapse:collapse;font-size:13px;min-width:820px}
    .wk-table th{text-align:right;font-size:11px;color:var(--muted);font-weight:600;padding:12px 10px;border-bottom:1px solid var(--stroke);white-space:nowrap}
    .wk-table th:first-child,.wk-table th.wk-l{text-align:left}
    .wk-table td{padding:13px 10px;text-align:right;border-bottom:1px solid var(--stroke);font-variant-numeric:tabular-nums;vertical-align:top}
    .wk-table td:first-child,.wk-table td.wk-l{text-align:left}
    .wk-table tbody tr:hover{background:var(--bg)}
    .wk-table td.wk-name{font-weight:700;color:var(--ink)}
    .wk-sort{border:0;background:none;font:inherit;font-size:11px;font-weight:600;color:var(--muted);cursor:pointer;padding:0;text-transform:uppercase;letter-spacing:.04em}
    .wk-sort:hover,.wk-sort[aria-sort]{color:var(--brand)}
    .wk-chips{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}
    .wk-table td.wk-l .wk-chips{justify-content:flex-start}
    .wk-chip{display:inline-block;border:1px solid var(--stroke);border-radius:7px;padding:2px 7px;font-size:11px;color:var(--muted);background:var(--bg)}
    @media(max-width:700px){
      .wk-controls{gap:10px}.wk-controls label{flex:1 1 140px}.wk-controls input[type=date]{width:100%;min-width:0}
      .wk-actions{width:100%}.wk-actions button{flex:1}
      .wk-table-wrap{-webkit-overflow-scrolling:touch}
    }
    /* 📊 Средняя производительность */
    .pr-kpi{position:relative}
    /* Место под значок в углу. Без :has() — селектор поддержан не везде,
       а лишние 20px справа у коротких подписей ничего не меняют. */
    #anProdAverage .pr-kpi-l{padding-right:20px}
    .av-info{position:absolute;top:14px;right:14px;display:inline-flex;align-items:center;
      justify-content:center;width:16px;height:16px;padding:0;border:1.5px solid var(--stroke);
      border-radius:50%;background:#fff;color:var(--muted);font:inherit;font-size:10px;font-weight:800;
      font-style:italic;line-height:1;cursor:pointer;transition:.15s}
    .av-info:hover{border-color:var(--brand,#5b53d6);color:var(--brand,#5b53d6)}
    .av-info[aria-expanded="true"]{border-color:var(--brand,#5b53d6);background:var(--brand,#5b53d6);color:#fff}
    .av-info:focus-visible{outline:3px solid #2563eb;outline-offset:2px}
    .av-pop{position:absolute;z-index:50;top:calc(100% - 4px);left:12px;right:12px;min-width:240px;
      padding:12px 14px;background:#fff;border:1.5px solid var(--stroke);border-radius:12px;
      box-shadow:0 14px 34px rgba(15,23,42,.18);font-size:12.5px;line-height:1.55;color:var(--ink);
      text-align:left;white-space:normal}
    .av-pop>b{display:block;margin-bottom:6px;font-size:13px}
    .av-pop p b{display:inline;font-size:inherit;margin:0}
    .av-pop p{margin:0 0 7px}
    .av-pop p:last-child{margin-bottom:0}
    @media(min-width:760px){.av-pop{left:12px;right:auto;width:330px}}
    @media(max-width:520px){.av-pop{left:8px;right:8px;width:auto;min-width:0}
      .av-info{top:10px;right:10px}}
    .av-select{position:relative;display:inline-block}
    .av-select-btn{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 10px;
      border:1.5px solid var(--stroke);border-radius:9px;background:#fff;color:var(--ink);
      font:inherit;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:.15s}
    .av-select-btn:hover{border-color:var(--brand,#5b53d6)}
    .av-select-btn[aria-expanded="true"]{border-color:var(--brand,#5b53d6);box-shadow:0 0 0 3px rgba(91,83,214,.15)}
    .av-select-btn:focus-visible{outline:3px solid #2563eb;outline-offset:2px}
    .av-select-caret{font-size:10px;color:var(--muted);transition:transform .15s}
    .av-select-btn[aria-expanded="true"] .av-select-caret{transform:rotate(180deg)}
    .av-select-menu{position:absolute;z-index:40;top:calc(100% + 6px);right:0;min-width:210px;margin:0;
      padding:5px;list-style:none;background:#fff;border:1.5px solid var(--stroke);border-radius:11px;
      box-shadow:0 12px 30px rgba(15,23,42,.14)}
    .av-select-menu li{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;
      font-size:13px;color:var(--ink);cursor:pointer;white-space:nowrap}
    .av-select-menu li::before{content:"";width:14px;flex:none;color:var(--brand,#5b53d6);font-weight:800}
    .av-select-menu li[aria-selected="true"]{font-weight:700}
    .av-select-menu li[aria-selected="true"]::before{content:"✓"}
    .av-select-menu li:hover,.av-select-menu li.av-active{background:var(--bg)}
    @media(max-width:520px){.av-select,.av-select-btn{width:100%}
      .av-select-btn{justify-content:space-between}.av-select-menu{left:0;right:0;min-width:0}}
    .av-up{color:#15803d;font-weight:700}
    .av-down{color:#b91c1c;font-weight:700}
    .pr-kpi-u{font-size:12px;font-weight:600;color:var(--muted)}
    .av-badge{display:inline-block;margin-left:6px;border-radius:7px;padding:2px 7px;font-size:10px;font-weight:700;
      background:#fef3c7;color:#92400e;border:1px solid #fcd34d;vertical-align:middle;white-space:nowrap}
    .av-badge-mute{background:var(--bg);color:var(--muted);border-color:var(--stroke);font-weight:600}
    .wk-table tr.av-row{cursor:pointer}
    .wk-table tr.av-row:focus-visible{outline:3px solid #2563eb;outline-offset:-3px}
    .wk-table tr.av-weak td{color:var(--muted)}
    .wk-table tr.av-detail-row>td{background:var(--bg);padding:0}
    .av-detail{padding:16px}
    .av-d-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px 22px}
    .av-d-row{display:flex;justify-content:space-between;gap:12px;font-size:13px;padding:6px 0;border-bottom:1px dashed var(--stroke)}
    .av-d-row span{color:var(--muted)}
    .av-chart{margin-top:14px}
    .av-chart h4{margin:0 0 6px;font-size:13px;color:var(--ink)}
    .av-spark{display:block;overflow:visible}
    .av-spark-wrap{width:100%;min-width:0}
    .av-ax{font-size:11px;fill:var(--muted)}
    .av-ax-we{font-weight:600}
    .av-ax-hot{font-size:12px;font-weight:700}
    .av-legend{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center}
    .av-lg{display:inline-flex;align-items:center;gap:6px}
    .av-lg::before{content:'';width:14px;height:0;border-top:2px solid var(--brand,#5b53d6);flex:none}
    .av-lg-ref::before{border-top-style:dashed}
    .av-lg-max::before,.av-lg-min::before{width:9px;height:9px;border:0;border-radius:50%;background:var(--ok,#16a34a)}
    .av-lg-min::before{background:var(--bad,#dc2626)}
    .av-dist{padding:6px 0 2px}
    .av-dist-bar{position:relative;height:10px;border-radius:6px;background:var(--bg);border:1px solid var(--stroke)}
    .av-dist-fill{position:absolute;top:0;bottom:0;border-radius:6px;background:rgba(91,83,214,.25)}
    .av-dist-mark{position:absolute;top:-4px;width:3px;height:18px;border-radius:2px;background:var(--brand,#5b53d6);transform:translateX(-1px)}
    .av-dist-legend{display:flex;justify-content:space-between;margin-top:10px;gap:10px}
    .av-dist-legend span{display:flex;flex-direction:column;font-size:13px;font-variant-numeric:tabular-nums}
    .av-dist-legend b{font-size:16px;color:var(--ink)}
    .av-dist-legend em{font-style:normal;font-size:11px;color:var(--muted)}
    .av-dist-legend span:nth-child(2){align-items:center}
    .av-dist-legend span:last-child{align-items:flex-end}
    .av-app-periods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
    .av-app-period{min-width:0;border:1px solid var(--stroke);border-radius:14px;padding:16px;background:var(--bg)}
    .av-app-period h4{margin:0 0 13px;font-size:14px;color:var(--ink)}
    .av-app-period dl{margin:0;display:grid;gap:10px}
    .av-app-period dl>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-bottom:1px dashed var(--stroke);padding-bottom:8px}
    .av-app-period dt{font-size:11px;color:var(--muted)}
    .av-app-period dd{margin:0;text-align:right;font-size:22px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
    .av-app-period dd small{font-size:11px;font-weight:600;color:var(--muted)}
    .av-app-period p{margin:10px 0 0;font-size:11px;line-height:1.45;color:var(--muted)}
    .av-app-period.av-app-error{border-color:#fecaca;background:#fef2f2}
    .av-app-period.av-app-error p{color:#b91c1c}
    .av-app-note{margin:12px 0 0}
    @media(max-width:820px){.av-app-periods{grid-template-columns:1fr}}
    .prod-hint{font-size:13px;color:var(--muted);margin:0 0 14px;line-height:1.5}
    .prod-day-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
    .prod-day-controls input,.prod-day-controls button{min-height:40px}
    .prod-tabs button:focus-visible,.prod-day-controls :focus-visible{outline:3px solid #2563eb;outline-offset:3px}
    .prod-day-controls button:disabled{opacity:.45;cursor:default}
    .pr-sec.pr-ai-hero{border:1px solid #b9ccff;background:linear-gradient(120deg,#eef4ff,var(--card));padding:20px}
    .pr-ai-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
    .pr-ai-hero .pr-sec-h{font-size:18px;margin-bottom:6px}
    .pr-ai-hero .btn-ai{min-height:42px;white-space:normal}
    .pr-ai-hero .prod-hint{margin:0}
    #prodReportAiBody:not(:empty){margin-top:22px;font-size:14px}

    .prod-analysis-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;text-align:left}
    .prod-analysis-card{min-width:0;background:var(--card);border:1px solid var(--stroke);border-radius:16px;padding:24px;color:var(--ink);font-size:14px;line-height:1.75;overflow-wrap:anywhere;white-space:normal}
    .prod-analysis-card h3{margin:0 0 18px;font-size:17px;line-height:1.35;font-weight:800;letter-spacing:-.015em}
    .prod-analysis-card h4{font-size:13px;margin:20px 0 8px;font-weight:800;color:var(--muted)}
    .prod-analysis-card p{margin:0 0 14px;max-width:80ch}
    .prod-analysis-card ul,.prod-analysis-card ol{margin:0;padding-left:22px}
    .prod-analysis-card li{padding-left:4px;margin:0 0 12px}
    .prod-analysis-card li::marker{color:#5274c6;font-weight:800}
    .prod-analysis-card strong{font-weight:750}
    .prod-analysis-card>:last-child,.prod-analysis-card li:last-child{margin-bottom:0}
    .prod-analysis-summary{grid-column:1/-1;border-left:4px solid #5274ed;font-size:16px}
    .prod-analysis-summary h3{color:#5274ed;font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}
    .prod-analysis-actions{grid-column:1/-1}
    .prod-analysis-actions>ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;padding:0;counter-reset:action}
    .prod-analysis-actions>ol>li{counter-increment:action;background:var(--bg);border-radius:12px;padding:16px;margin:0}
    .prod-analysis-actions>ol>li:before{content:counter(action,decimal-leading-zero);display:block;color:#5274ed;font-weight:800;font-size:18px;margin-bottom:8px}
    @media(min-width:1500px){.prod-analysis-card{padding:28px;font-size:15px}}
    @media(max-width:1100px){.prod-analysis-grid{grid-template-columns:1fr}.prod-analysis-card{padding:18px}.prod-analysis-actions>ol{grid-template-columns:1fr}}

    @media(max-width:600px){.prod-tabs{gap:6px}.prod-tabs .period-btn{flex:1;padding:8px;font-size:12px}.pr-ai-top>.btn-ai{width:100%}.pr-day{flex-wrap:wrap}.pr-day-v{width:100%}.pr-ai-hero{padding:16px}}


    /* Grouped navigation; existing labels, brand and handlers are preserved. */
    .nav-group-label,.calc-launch-arrow{display:none;}
    @media(min-width:769px){
      .sidebar{background:#fff;border-right-color:#e9edf5;}
      .sidebar-nav{display:flex;flex-direction:column;gap:4px;min-height:0;margin:0;padding:18px 14px 10px;}
      .sidebar-nav>li{flex-shrink:0;}
      .sidebar-item{min-height:44px;padding:11px 12px;border-radius:10px;font-size:14px;line-height:1.3;gap:12px;}
      .sidebar-item:hover{background:#f5f3ff;color:#6740db;}
      .sidebar-item.active{position:relative;background:#f0ecff;color:#6339d7;box-shadow:none;}
      .sidebar-item.active::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:3px;background:#7852ee;}
      .nav-group-label{display:block;padding:19px 12px 7px;font-size:10px;letter-spacing:.09em;text-transform:uppercase;font-weight:700;color:#8b97ac;}
      #importCalcNav{margin-bottom:4px;}
      #importCalcNav[hidden]{display:none;}
      #importCalcNav .sidebar-item{display:grid;grid-template-columns:38px minmax(0,1fr) 14px;gap:10px;padding:16px 12px;border:1px solid #d6caff;background:linear-gradient(120deg,#f9f7ff,#efebff);box-shadow:0 3px 12px #6846c508;border-radius:13px;color:#222640;font-weight:700;font-size:13px;line-height:1.45;}
      #importCalcNav .sidebar-item:hover{border-color:#a48af1;background:#ede7ff;}
      #importCalcNav .si-icon{width:38px;height:42px;background:#fff;border-radius:10px;color:#7650e7;}
      #importCalcNav .calc-launch-arrow{display:block;align-self:start;font-size:17px;color:#7650e7;line-height:1;}
      .nav-settings-start{margin-top:auto;padding-top:18px;}
      .nav-settings-start::before{content:"";display:block;height:1px;background:#e9edf5;margin:0 4px 12px;}
      .sidebar-footer{padding:12px 14px;border-top:0;background:#fff;}
      .sidebar-footer .manager-card-side{background:#f7f8fc;border:0;border-radius:12px;}
      body.theme-dark .sidebar,body.theme-dark .sidebar-footer{background:#111a2b;}
      body.theme-dark .sidebar-item{color:#c8d1e4;}
      body.theme-dark .sidebar-item.active{background:#2a2349;color:#c4afff;}
      body.theme-dark #importCalcNav .sidebar-item{background:#25203d;border-color:#514272;color:#eee7ff;}
      body.theme-dark #importCalcNav .si-icon{background:#33294f;color:#cab5ff;}
      body.theme-dark .sidebar-footer .manager-card-side{background:#1d273b;}
    }

    /* ── Боковое меню: полировка свёрнутого «рельса» ──────────────────────────
       Блок объявлен ПОСЛЕ grouped-navigation, иначе его правила проигрывают по
       порядку каскада (а #importCalcNav .sidebar-item — ещё и по специфичности,
       из-за чего в свёрнутом виде разъезжался текст карточки калькулятора). */
    @media(min-width:769px){
      body.sidebar-collapsed{--sidebar-w:72px;}
      .sidebar{
        transition:width .22s cubic-bezier(.22,.61,.36,1),box-shadow .22s ease;
        will-change:width;
      }
      .sidebar-nav{scrollbar-width:none;}
      .sidebar-nav::-webkit-scrollbar{width:0;height:0;}

      /* ── общий вид пунктов (и развёрнуто, и свёрнуто) ── */
      .sidebar-item{
        position:relative;font-weight:600;
        transition:background .16s ease,color .16s ease,transform .16s ease;
      }
      .sidebar-item .si-icon{transition:transform .18s cubic-bezier(.34,1.56,.64,1);}
      .sidebar-item:hover .si-icon{transform:translateY(-1px) scale(1.06);}
      .sidebar-item:active{transform:scale(.97);}
      .sidebar-item.active{
        background:linear-gradient(120deg,#f3efff,#eae3ff);
        color:#5b34d4;font-weight:750;
        box-shadow:0 2px 10px rgba(104,70,197,.10);
      }

      /* ── свёрнутый рельс ── */
      body.sidebar-collapsed .sidebar-nav{padding:14px 12px 10px;gap:6px;}
      body.sidebar-collapsed .sidebar-item,
      body.sidebar-collapsed #importCalcNav .sidebar-item{
        display:flex;align-items:center;justify-content:center;
        width:48px;height:44px;min-height:44px;margin:0 auto;
        padding:0;gap:0;border:0;border-radius:13px;
        font-size:0;line-height:0;letter-spacing:0;
        background:transparent;box-shadow:none;overflow:hidden;
      }
      body.sidebar-collapsed .sidebar-item .si-icon,
      body.sidebar-collapsed #importCalcNav .si-icon{
        width:22px;height:22px;font-size:15px;background:none;border-radius:0;
        color:inherit;flex:0 0 auto;
      }
      body.sidebar-collapsed .sidebar-item:hover{background:#f3efff;color:#6740db;}
      body.sidebar-collapsed .sidebar-item.active{
        background:linear-gradient(140deg,#7c56f0,#6339d7);
        color:#fff;box-shadow:0 6px 16px rgba(99,57,215,.34);
      }
      body.sidebar-collapsed .sidebar-item.active::before{
        content:"";position:absolute;left:-12px;top:50%;translate:0 -50%;
        width:3px;height:18px;border-radius:0 3px 3px 0;background:#7852ee;
      }
      body.sidebar-collapsed #importCalcNav .sidebar-item{
        background:linear-gradient(140deg,#f6f2ff,#e9e1ff);
        box-shadow:inset 0 0 0 1px #ddd0ff;color:#6b45de;
      }
      body.sidebar-collapsed #importCalcNav .sidebar-item:hover{background:#e6dcff;}
      body.sidebar-collapsed #importCalcNav .calc-launch-arrow{display:none;}

      /* заголовки групп в рельсе — тонкий разделитель вместо переносов текста */
      body.sidebar-collapsed .nav-group-label{
        font-size:0;line-height:0;padding:0;margin:10px auto 4px;
        width:22px;height:1px;background:#e5e9f2;overflow:hidden;
      }
      body.sidebar-collapsed .nav-settings-start{padding-top:12px;}
      body.sidebar-collapsed .nav-settings-start::before{margin:0 auto 10px;width:22px;}

      /* логотип и низ меню */
      body.sidebar-collapsed .sidebar-logo{justify-content:center;padding:0;}
      body.sidebar-collapsed .pm-mark{width:34px;height:34px;}
      body.sidebar-collapsed .sidebar-footer{
        display:block;padding:10px 0 12px;border-top:0;
      }
      body.sidebar-collapsed .sidebar-footer .manager-card-side{
        width:40px;height:40px;margin:0 auto;padding:0;
        justify-content:center;background:none;border:0;box-shadow:none;
      }
      body.sidebar-collapsed .sidebar-footer .mgr-info{display:none;}
      body.sidebar-collapsed .sidebar-pin{
        width:40px;height:32px;margin:0 auto;padding:0;
        border:0;border-radius:10px;opacity:.5;transition:.16s opacity,.16s background;
      }
      body.sidebar-collapsed .sidebar-pin:hover{opacity:1;background:#f3efff;}
      body.sidebar-collapsed .sidebar-pin .sp-label{display:none;}

      /* ── раскрытие по наведению ── */
      @media(hover:hover){
        body.sidebar-collapsed .sidebar:hover,
        body.sidebar-collapsed .sidebar:focus-within{
          width:252px;
          box-shadow:24px 0 60px -28px rgba(15,23,42,.35);
        }
        body.sidebar-collapsed .sidebar:hover .sidebar-item,
        body.sidebar-collapsed .sidebar:focus-within .sidebar-item{
          width:100%;height:auto;min-height:44px;margin:0;
          justify-content:flex-start;padding:11px 12px;gap:12px;
          font-size:14px;line-height:1.3;border-radius:10px;
        }
        body.sidebar-collapsed .sidebar:hover .sidebar-item.active,
        body.sidebar-collapsed .sidebar:focus-within .sidebar-item.active{
          background:linear-gradient(120deg,#f3efff,#eae3ff);color:#5b34d4;
          box-shadow:0 2px 10px rgba(104,70,197,.10);
        }
        body.sidebar-collapsed .sidebar:hover .sidebar-item.active::before,
        body.sidebar-collapsed .sidebar:focus-within .sidebar-item.active::before{
          left:0;height:auto;top:12px;bottom:12px;translate:0 0;
        }
        body.sidebar-collapsed .sidebar:hover #importCalcNav .sidebar-item,
        body.sidebar-collapsed .sidebar:focus-within #importCalcNav .sidebar-item{
          display:grid;grid-template-columns:38px minmax(0,1fr) 14px;
          /* ширину/поля/обрезку задаёт правило свёрнутого рельса с тем же id —
             без их явного сброса карточка остаётся 48px и текст ломается */
          width:100%;margin:0;overflow:visible;
          height:auto;min-height:0;padding:16px 12px;gap:10px;border-radius:13px;
          font-size:13px;line-height:1.45;font-weight:700;color:#222640;
          background:linear-gradient(120deg,#f9f7ff,#efebff);
          box-shadow:inset 0 0 0 1px #d6caff;
        }
        body.sidebar-collapsed .sidebar:hover #importCalcNav .si-icon,
        body.sidebar-collapsed .sidebar:focus-within #importCalcNav .si-icon{
          width:38px;height:42px;background:#fff;border-radius:10px;color:#7650e7;
        }
        body.sidebar-collapsed .sidebar:hover #importCalcNav .calc-launch-arrow,
        body.sidebar-collapsed .sidebar:focus-within #importCalcNav .calc-launch-arrow{
          display:block;align-self:start;font-size:17px;color:#7650e7;line-height:1;
        }
        body.sidebar-collapsed .sidebar:hover .nav-group-label,
        body.sidebar-collapsed .sidebar:focus-within .nav-group-label{
          width:auto;height:auto;background:none;margin:0;
          padding:19px 12px 7px;font-size:10px;line-height:1.2;
        }
        body.sidebar-collapsed .sidebar:hover .sidebar-footer,
        body.sidebar-collapsed .sidebar:focus-within .sidebar-footer{padding:12px 14px;}
        body.sidebar-collapsed .sidebar:hover .sidebar-footer .manager-card-side,
        body.sidebar-collapsed .sidebar:focus-within .sidebar-footer .manager-card-side{
          width:100%;height:auto;padding:10px;justify-content:flex-start;
          background:#f7f8fc;border-radius:12px;
        }
        body.sidebar-collapsed .sidebar:hover .sidebar-footer .mgr-info,
        body.sidebar-collapsed .sidebar:focus-within .sidebar-footer .mgr-info{display:block;}
        body.sidebar-collapsed .sidebar:hover .sidebar-pin,
        body.sidebar-collapsed .sidebar:focus-within .sidebar-pin{
          width:100%;height:auto;padding:9px 12px;border-radius:0;opacity:1;
        }
        body.sidebar-collapsed .sidebar:hover .sidebar-pin .sp-label,
        body.sidebar-collapsed .sidebar:focus-within .sidebar-pin .sp-label{display:inline;}
        body.sidebar-collapsed .sidebar:hover .pm-mark,
        body.sidebar-collapsed .sidebar:focus-within .pm-mark{width:40px;height:40px;}
      }

      /* тёмная тема */
      body.theme-dark.sidebar-collapsed .sidebar-item:hover{background:rgba(255,255,255,.07);color:#fff;}
      body.theme-dark.sidebar-collapsed .sidebar-item.active{
        background:linear-gradient(140deg,#6b4ad6,#4f31ab);color:#fff;
        box-shadow:0 6px 16px rgba(60,32,140,.45);
      }
      body.theme-dark.sidebar-collapsed .nav-group-label{background:rgba(255,255,255,.10);}
      body.theme-dark.sidebar-collapsed #importCalcNav .sidebar-item{
        background:#25203d;box-shadow:inset 0 0 0 1px #514272;color:#cab5ff;
      }
      body.theme-dark.sidebar-collapsed .sidebar-pin:hover{background:rgba(255,255,255,.08);}
    }
    @media(prefers-reduced-motion:reduce){
      .sidebar,.sidebar-item,.sidebar-item .si-icon{transition:none!important;}
    }

/* Решения по ПИН: качество оснований (pin-insights.js) */
.pin-card{margin-top:12px}
.pin-card-title{margin:0 0 10px;font-size:15px}
.pin-row{border-top:1px solid var(--stroke);padding:12px 0}
.pin-row:first-of-type{border-top:none}
.pin-row-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.pin-row-stat{font-size:13px;color:var(--muted);margin-top:2px}
.pin-ev-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 18px;font-size:13px}
.pin-ev-icon{display:inline-block;width:14px}
.pin-row-actions{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}
.pin-row-details{margin-top:8px}
.pin-row-why{font-size:13px;color:var(--muted);margin:6px 0}
.pin-row-codes{font-size:11px;margin-top:6px}
.pin-row-msg{margin-top:8px;font-size:13px}
.pin-groups{width:100%;border-collapse:collapse;font-size:12px;margin-top:6px;display:block;overflow-x:auto}
.pin-groups th,.pin-groups td{border:1px solid var(--stroke);padding:4px 6px;text-align:left;white-space:nowrap}
.pin-ev-group{margin-top:14px}
.pin-ev-case{border:1px solid var(--stroke);border-radius:8px;padding:8px;margin-top:8px}
.pin-ev-case-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13px}
.pin-ev-q{margin-top:4px;font-size:13px}
.pin-ev-a,.pin-ev-sig{font-size:12px;margin-top:2px}
.opis-btn-sm{padding:2px 8px;font-size:11px}
.kc-sev-success{color:#22c55e}.kc-sev-warning{color:#f59e0b}.kc-sev-danger{color:#d63031}

/* TRK operations workspace */
#anBlockTrk>#trkPeriodControls{display:none}
#anTrkBody{min-width:0}.trk-ux{--trk-accent:#3759d8;--trk-soft:#eef2ff;max-width:1440px;margin:auto;color:var(--ink,#172033);font-size:14px;line-height:1.5}.trk-ux *{box-sizing:border-box}.trk-ux [hidden]{display:none!important}.trk-ux h2,.trk-ux h3,.trk-ux p{margin:0}.trk-ux h2{font-size:28px;letter-spacing:-.8px;line-height:1.25}.trk-ux h3{font-size:17px;letter-spacing:-.25px}.trk-ux p{color:var(--muted,#65738c);margin-top:5px}.trk-top{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:6px 0 24px}.trk-eyebrow{font-size:10px;font-weight:800;letter-spacing:1.8px;color:#6d7e9b;margin-bottom:9px}.trk-sync{display:flex;gap:7px;align-items:flex-end;flex-direction:column;font-size:11px;color:var(--muted)}.trk-badge{display:inline-flex;align-items:center;background:#f1f4f8;color:#52617a;border-radius:6px;padding:5px 9px;font-size:11px;font-weight:650;line-height:1.4}.trk-badge.green{background:#eaf6ef;color:#237348}.trk-badge.amber{background:#fff3dd;color:#8c5b0a}.trk-badge.blue{background:#edf2ff;color:#3657bf}.trk-button{font:inherit;font-size:12px;font-weight:650;border:1px solid var(--stroke,#dbe2ed);border-radius:9px;min-height:38px;padding:8px 13px;background:var(--card,#fff);color:var(--ink);cursor:pointer;transition:background .15s,border-color .15s}.trk-button:hover{background:#eef2ff;border-color:#b7c4f4}.trk-button:disabled{opacity:.45;cursor:default}.trk-ux button:focus-visible,.trk-ux input:focus-visible,.trk-ux select:focus-visible,.trk-ux summary:focus-visible{outline:3px solid #a4b8ff;outline-offset:3px}.trk-tabs{display:flex;gap:28px;border-bottom:1px solid var(--stroke,#dbe2ed);margin-bottom:24px}.trk-tabs button{font:inherit;font-weight:650;border:0;background:none;color:var(--muted);padding:0 0 14px;border-bottom:3px solid transparent;cursor:pointer}.trk-tabs button[aria-selected=true]{color:var(--trk-accent);border-bottom-color:var(--trk-accent)}.trk-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 24px}.trk-kpi,.trk-metric{font:inherit;text-align:left;background:var(--card,#fff);border:1px solid var(--stroke,#dbe2ed);border-radius:15px;padding:20px;min-width:0;box-shadow:0 3px 12px #1d355705}.trk-kpi{cursor:pointer;position:relative;transition:border-color .15s,box-shadow .15s;--tone:#365cce}.trk-kpi.amber{--tone:#a96a10}.trk-kpi.violet{--tone:#7960b5}.trk-kpi.red{--tone:#c54545}.trk-kpi:hover,.trk-kpi[aria-pressed=true]{border-color:var(--tone);box-shadow:0 0 0 2px color-mix(in srgb,var(--tone) 10%,transparent)}.trk-kpi-top{display:flex;align-items:center;justify-content:space-between;gap:4px;color:var(--muted);font-size:12px;font-weight:600}.trk-kpi-top>span{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:color-mix(in srgb,var(--tone) 9%,white);color:var(--tone);font-size:16px}.trk-kpi strong,.trk-metric strong{display:block;font-size:34px;letter-spacing:-1px;font-weight:750;color:var(--ink);margin:8px 0}.trk-kpi.red strong{color:var(--tone)}.trk-kpi-foot,.trk-metric small{font-size:11px;color:var(--muted)}.trk-workspace,.trk-chart-card{background:var(--card,#fff);border:1px solid var(--stroke,#dbe2ed);border-radius:16px;overflow:hidden;margin-bottom:14px;box-shadow:0 4px 18px #24365104}.trk-section-head{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:22px 24px}.trk-section-head p{font-size:12px}.trk-list-tools{display:flex;gap:10px;padding:0 24px 14px;flex-wrap:wrap}.trk-search{display:flex;align-items:center;gap:8px;flex:1;min-width:210px;border:1px solid var(--stroke,#dbe2ed);border-radius:9px;padding:0 11px;background:var(--bg,#f8fafc)}.trk-search>span{font-size:24px;color:#7585a0}.trk-search input{font:inherit;font-size:13px;background:transparent;border:0;min-width:0;width:100%;height:40px;color:var(--ink)}.trk-search input:focus{outline:none}.trk-search:focus-within{outline:2px solid #a4b8ff;outline-offset:1px}.trk-list-tools select{font:inherit;font-size:12px;color:var(--ink);background:var(--card,#fff);border:1px solid var(--stroke,#dbe2ed);border-radius:9px;min-height:42px;padding:8px 30px 8px 12px;max-width:100%}.trk-list-count{font-size:11px;color:var(--muted);padding:0 24px 13px}.trk-table-scroll{overflow-x:auto}.trk-ux table{border-collapse:collapse;width:100%;text-align:left;font-size:12px}.trk-ux th{background:#f7f9fc;color:#687993;font-weight:600;font-size:10px;letter-spacing:.3px;padding:11px 24px;white-space:nowrap;border-block:1px solid var(--stroke,#dbe2ed)}.trk-ux td{padding:14px 24px;border-bottom:1px solid #edf0f5;vertical-align:middle}.trk-ux td small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.trk-ux td strong{font-size:13px;letter-spacing:.2px}.trk-ux tbody tr:hover{background:#f9faff}.trk-quiet{border-color:transparent;background:transparent;color:#6e7c96;font-weight:500;min-height:34px}.trk-overdue{color:#bc3f40;font-weight:700;white-space:nowrap}.trk-pagination{display:flex;justify-content:space-between;align-items:center;padding:15px 24px;font-size:11px;color:var(--muted)}.trk-pagination>div{display:flex;gap:12px;align-items:center}.trk-list-note{padding:13px 24px;background:#f8fafc;border-top:1px solid var(--stroke,#dbe2ed);font-size:11px;color:var(--muted)}.trk-context{color:var(--muted);font-size:11px;display:flex;gap:9px;flex-wrap:wrap;padding:3px 2px 18px}.trk-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:160px;padding:30px;text-align:center;color:var(--muted);font-size:12px}.trk-empty strong{font-size:16px;color:var(--ink)}.trk-notice{font-size:12px;color:#3b5cb2;background:#eef3ff;border:1px solid #d7e2ff;border-radius:10px;padding:12px 16px;margin-bottom:18px}.trk-notice:empty{display:none}.trk-notice.warning{color:#86611e;background:#fff9eb;border-color:#f1e2bf}.trk-metric>span{font-size:12px;color:var(--muted)}.trk-metric small{display:block;line-height:1.5}.trk-chart{height:240px;padding:0 24px 20px}.trk-details{border:1px solid var(--stroke,#dbe2ed);border-radius:12px;background:var(--card,#fff);margin:10px 0;overflow:hidden}.trk-details>summary{cursor:pointer;padding:16px 20px;font-size:12px;font-weight:650;color:var(--ink)}.trk-details>p,.trk-details>details{padding:0 20px 16px;font-size:12px}.trk-details pre{font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted)}.trk-funnel-row{display:flex;justify-content:space-between;padding:10px 20px;border-top:1px solid var(--stroke);font-size:12px}.trk-quality{margin-top:22px;background:transparent;border-style:dashed}.trk-quality>summary{color:var(--muted);font-weight:500}.trk-loading{padding:50px;text-align:center;color:var(--muted)}#trkPeriodSlot #trkPeriodControls{box-shadow:none;border:0;padding:0 0 20px;margin:0;background:transparent}#trkPeriodControls #anAppsBtn{display:none}#trkHistoryPane>.trk-section-head{padding:0 0 20px}.trk-ux .sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.trk-ux .trk-app-table th:last-child{width:90px}
@media(max-width:760px){.trk-top{align-items:flex-start;gap:12px}.trk-ux h2{font-size:23px}.trk-top p{font-size:12px}.trk-sync{max-width:165px;flex-shrink:0}.trk-sync>span:nth-child(2){font-size:10px}.trk-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.trk-kpi,.trk-metric{padding:15px}.trk-kpi strong,.trk-metric strong{font-size:28px}.trk-section-head{padding:18px 16px}.trk-section-head>.trk-badge{display:none}.trk-list-tools{padding:0 16px 12px;gap:8px}.trk-search{flex-basis:100%}.trk-list-tools select{flex:1;min-width:0;width:45%;font-size:11px}.trk-list-count{padding-left:16px}.trk-ux td,.trk-ux th{padding:12px 16px}.trk-app-table thead{display:none}.trk-app-table tbody{display:block}.trk-app-table tr{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;padding:14px 16px;border-top:1px solid var(--stroke)}.trk-app-table td{padding:0;border:0}.trk-app-table td:nth-child(2){grid-column:2;grid-row:1/3;text-align:right;align-self:start}.trk-app-table td:nth-child(3){font-size:11px;color:var(--muted)}.trk-app-table td:nth-child(3):before{content:'В статусе: '}.trk-app-table td:nth-child(4){grid-column:1}.trk-app-table td:nth-child(5){grid-column:2;text-align:right}.trk-pagination{padding:12px 16px}.trk-list-note{padding:12px 16px}.trk-tabs{gap:22px}.trk-tabs button{font-size:12px}.trk-chart{padding:0 14px 18px}.trk-kpi-foot{font-size:10px}}
.trk-button.trk-refresh{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;min-width:132px;background:#f97316;border-color:#f97316;color:#241307;box-shadow:0 3px 9px #ea580c24;transition:background .18s,box-shadow .18s,transform .18s}.trk-refresh::before{content:'↻';display:inline-block;font-size:19px;line-height:1}.trk-button.trk-refresh:hover:not(:disabled){background:#fb923c;border-color:#fb923c;box-shadow:0 5px 14px #ea580c33;transform:translateY(-1px)}.trk-button.trk-refresh:active:not(:disabled){background:#ea580c;transform:translateY(1px);box-shadow:none}.trk-ux .trk-refresh:focus-visible{outline-color:#fb923c}.trk-button.trk-refresh:disabled{opacity:.8;cursor:wait}.trk-refresh[aria-busy=true]::before{animation:trk-refresh-spin .8s linear infinite}@keyframes trk-refresh-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.trk-button.trk-refresh{transition:none}.trk-refresh[aria-busy=true]::before{animation:none}}
@media(max-width:420px){.trk-top{flex-direction:column}.trk-sync{align-items:flex-start;max-width:none;display:grid;grid-template-columns:1fr auto;width:100%}.trk-sync .trk-button{grid-column:2;grid-row:1/3}.trk-eyebrow{font-size:9px}.trk-kpi-top{font-size:11px}.trk-kpi-top>span{width:22px;height:22px}.trk-kpi,.trk-metric{padding:12px}.trk-ux h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){.trk-ux *{scroll-behavior:auto!important;transition:none!important}}


.trk-dropdown{position:relative;min-width:190px}.trk-dropdown select[hidden]{display:none!important}.trk-dropdown-trigger{width:100%;min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border:1px solid var(--stroke,#dbe2ed);border-radius:9px;background:var(--card,#fff);color:var(--ink,#172033);font:inherit;font-size:12px;text-align:left;cursor:pointer}.trk-dropdown-trigger>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trk-dropdown-trigger:hover{border-color:#aabbed;background:#f8faff}.trk-dropdown-trigger[aria-expanded=true]{border-color:#5572ec;box-shadow:0 0 0 3px #5572ec18}.trk-dropdown-chevron{font-size:18px;color:#70809b;line-height:1;transition:transform .15s}.trk-dropdown-trigger[aria-expanded=true] .trk-dropdown-chevron{transform:rotate(180deg)}.trk-dropdown-menu{position:fixed;z-index:10050;box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;padding:6px;background:var(--card,#fff);color:var(--ink,#172033);border:1px solid var(--stroke,#dbe2ed);border-radius:12px;box-shadow:0 12px 40px #22334d26,0 2px 8px #22334d0a;font-family:inherit;font-size:13px}.trk-dropdown-option{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:42px;padding:10px 12px;border-radius:7px;cursor:pointer;line-height:1.4}.trk-dropdown-option:hover,.trk-dropdown-option.is-active{background:#f0f4fc}.trk-dropdown-option[aria-selected=true]{background:#edf2ff;color:#3759d8;font-weight:650}.trk-dropdown-check{min-width:16px;color:#3759d8;font-weight:700}@media(max-width:760px){.trk-dropdown{flex:1;min-width:0;width:45%}.trk-dropdown-trigger{font-size:11px;gap:8px}.trk-dropdown-option{min-height:46px}}

#opisModuleSkanPrint{--sp-brand:#783deb;--sp-brand-ink:#5721b8;--sp-brand-bg:#f6f2ff;--sp-line:#e3e5ed;--sp-ink:#262b38;--sp-muted:#70788f;--sp-ok:#2bab66;--sp-ok-ink:#1a7345;--sp-ok-bg:#f0fcf5;--sp-warn-bg:#fff2ed;--sp-warn-ink:#c2421f;}
            #opisModuleSkanPrint .sp-shell{display:flex;gap:16px;align-items:flex-start;}
            #opisModuleSkanPrint .sp-sidebar{width:340px;flex:0 0 340px;background:var(--card,#fff);border:1px solid var(--sp-line);border-radius:14px;padding:16px 14px;display:flex;flex-direction:column;max-height:calc(100vh - 140px);position:sticky;top:12px;}
            #opisModuleSkanPrint .sp-side-title{font-size:18px;font-weight:700;color:var(--sp-ink);}
            #opisModuleSkanPrint .sp-side-count{font-size:12px;color:var(--sp-muted);margin-top:3px;}
            #opisModuleSkanPrint .sp-search{width:100%;margin-top:12px;padding:9px 12px;border:1px solid #dbdee8;border-radius:10px;font-size:13px;box-sizing:border-box;}
            #opisModuleSkanPrint .sp-cbox{position:relative;margin-top:6px;}
            #opisModuleSkanPrint .sp-cbox-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid #dbdee8;border-radius:10px;background:#fff;font-size:13px;color:var(--sp-ink);cursor:pointer;box-sizing:border-box;text-align:left;transition:border-color .12s,box-shadow .12s;}
            #opisModuleSkanPrint .sp-cbox-btn:hover{border-color:var(--sp-brand);}
            #opisModuleSkanPrint .sp-cbox.open .sp-cbox-btn{border-color:var(--sp-brand);box-shadow:0 0 0 3px rgba(120,61,235,.14);}
            #opisModuleSkanPrint .sp-cbox-btn .lbl{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
            #opisModuleSkanPrint .sp-cbox-btn .chev{flex:0 0 auto;color:var(--sp-muted);transition:transform .15s;}
            #opisModuleSkanPrint .sp-cbox.open .sp-cbox-btn .chev{transform:rotate(180deg);}
            #opisModuleSkanPrint .sp-cbox-menu{display:none;position:absolute;left:0;right:0;top:calc(100% + 5px);z-index:5;background:#fff;border:1px solid var(--sp-line);border-radius:12px;box-shadow:0 16px 40px rgba(20,22,40,.22);padding:5px;max-height:300px;overflow:auto;}
            #opisModuleSkanPrint .sp-cbox.open .sp-cbox-menu{display:block;}
            #opisModuleSkanPrint .sp-cbox-opt{display:flex;align-items:center;gap:8px;padding:9px 11px;border-radius:8px;font-size:13px;color:var(--sp-ink);cursor:pointer;white-space:normal;line-height:1.35;}
            #opisModuleSkanPrint .sp-cbox-opt:hover{background:var(--sp-brand-bg);}
            #opisModuleSkanPrint .sp-cbox-opt.sel{background:var(--sp-brand-bg);color:var(--sp-brand-ink);font-weight:600;}
            #opisModuleSkanPrint .sp-cbox-opt .ck{flex:0 0 14px;color:var(--sp-brand);opacity:0;}
            #opisModuleSkanPrint .sp-cbox-opt.sel .ck{opacity:1;}
            #opisModuleSkanPrint .sp-cbox-opt.new{color:var(--sp-brand-ink);font-weight:600;border-top:1px solid var(--sp-line);border-radius:0 0 8px 8px;margin-top:3px;}
            #opisModuleSkanPrint .sp-cbox-opt.muted{color:var(--sp-muted);cursor:default;}
            #opisModuleSkanPrint .sp-cbox-opt.muted:hover{background:none;}
            #opisModuleSkanPrint .sp-filters{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap;}
            #opisModuleSkanPrint .sp-chip{border:1px solid #dbdee8;background:#fff;border-radius:17px;padding:6px 12px;font-size:12px;font-weight:600;color:#454a59;cursor:pointer;display:flex;gap:6px;align-items:center;}
            #opisModuleSkanPrint .sp-chip .n{color:#7a8091;font-weight:700;}
            #opisModuleSkanPrint .sp-chip.active{background:var(--sp-brand-bg);border-color:var(--sp-brand);color:var(--sp-brand-ink);}
            #opisModuleSkanPrint .sp-chip.active .n{color:var(--sp-brand-ink);}
            #opisModuleSkanPrint .sp-app-list{margin-top:14px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:10px;padding-right:2px;}
            #opisModuleSkanPrint .sp-app{position:relative;border:1px solid var(--sp-line);background:#fff;border-radius:12px;padding:13px 15px;cursor:pointer;transition:border-color .12s;}
            #opisModuleSkanPrint .sp-app:hover{border-color:#c9bdf3;}
            #opisModuleSkanPrint .sp-app.active{border-color:var(--sp-brand);background:var(--sp-brand-bg);}
            #opisModuleSkanPrint .sp-app.active::before{content:"";position:absolute;left:-1px;top:14px;bottom:14px;width:4px;border-radius:2px;background:var(--sp-brand);}
            #opisModuleSkanPrint .sp-app-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px;}
            #opisModuleSkanPrint .sp-app-num{font-size:15px;font-weight:700;color:var(--sp-ink);}
            #opisModuleSkanPrint .sp-app-files{font-size:11px;color:#73788c;}
            #opisModuleSkanPrint .sp-app-client{font-size:12px;font-weight:600;color:#6b7085;margin-top:3px;}
            #opisModuleSkanPrint .sp-app-frac{font-size:12px;font-weight:600;color:var(--sp-ink);margin-top:10px;display:flex;justify-content:space-between;}
            #opisModuleSkanPrint .sp-app-act{margin-top:8px;display:flex;justify-content:flex-end;}
            #opisModuleSkanPrint .sp-app-arch{background:none;border:0;color:#8a90a2;font-size:11px;font-weight:600;cursor:pointer;padding:2px 4px;border-radius:6px;transition:background .12s,color .12s;}
            #opisModuleSkanPrint .sp-app-arch:hover{background:#f3eefe;color:var(--sp-brand-ink);}
            #opisModuleSkanPrint .sp-bar{height:6px;border-radius:3px;background:#e5e8f0;margin-top:7px;overflow:hidden;}
            #opisModuleSkanPrint .sp-bar>i{display:block;height:100%;border-radius:3px;background:var(--sp-brand);}
            #opisModuleSkanPrint .sp-bar.done>i{background:var(--sp-ok);}
            #opisModuleSkanPrint .sp-pct{font-weight:700;}
            #opisModuleSkanPrint .sp-archive-link{margin-top:12px;border:0;background:transparent;border-top:1px solid var(--sp-line);padding-top:12px;text-align:left;font-size:13px;font-weight:600;color:#63697a;cursor:pointer;display:flex;justify-content:space-between;}
            #opisModuleSkanPrint .sp-work{flex:1;min-width:0;display:flex;flex-direction:column;gap:16px;}
            #opisModuleSkanPrint .sp-card{background:var(--card,#fff);border:1px solid var(--sp-line);border-radius:16px;padding:22px 24px;}
            #opisModuleSkanPrint .sp-wh{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;}
            #opisModuleSkanPrint .sp-wh h2{margin:0;font-size:22px;font-weight:700;color:var(--sp-ink);}
            #opisModuleSkanPrint .sp-wh .sub{font-size:13px;color:#6e758a;margin-top:6px;}
            #opisModuleSkanPrint .sp-add{background:var(--sp-brand);color:#fff;border:0;border-radius:12px;padding:13px 20px;font-size:14px;font-weight:600;cursor:pointer;}
            #opisModuleSkanPrint .sp-add:disabled{opacity:.5;cursor:not-allowed;}
            #opisModuleSkanPrint .sp-sec-title{font-size:18px;font-weight:700;color:var(--sp-ink);}
            #opisModuleSkanPrint .sp-seg{display:flex;background:#f9f9fb;border:1px solid #e0e3eb;border-radius:20px;padding:3px;gap:2px;}
            #opisModuleSkanPrint .sp-seg button{border:0;background:transparent;border-radius:16px;padding:7px 14px;font-size:11px;font-weight:600;color:#6b7082;cursor:pointer;}
            #opisModuleSkanPrint .sp-seg button.on{background:var(--sp-brand-bg);color:var(--sp-brand-ink);}
            #opisModuleSkanPrint .sp-scan-in{width:100%;box-sizing:border-box;margin-top:14px;padding:20px 18px;border:1px solid var(--sp-brand);border-radius:12px;font-size:15px;}
            #opisModuleSkanPrint .sp-status{margin-top:14px;border-radius:10px;padding:15px 17px;font-size:14px;font-weight:600;display:none;}
            #opisModuleSkanPrint .sp-status.ok{background:var(--sp-ok-bg);border:1px solid #a8e5bf;color:var(--sp-ok-ink);display:block;}
            #opisModuleSkanPrint .sp-status.warn{background:var(--sp-warn-bg);border:1px solid #f4c4b4;color:var(--sp-warn-ink);display:block;}
            #opisModuleSkanPrint .sp-status.muted{background:#f6f7fa;border:1px solid var(--sp-line);color:#5a6072;display:block;}
            #opisModuleSkanPrint .sp-status .act{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap;}
            #opisModuleSkanPrint .sp-status .act button{border:0;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;}
            #opisModuleSkanPrint .sp-btn-primary{background:var(--sp-brand);color:#fff;}
            #opisModuleSkanPrint .sp-btn-ghost{background:#fff;border:1px solid var(--sp-line)!important;color:var(--sp-ink);}
            #opisModuleSkanPrint .sp-scan-foot{display:grid;grid-template-columns:1fr 1fr 1.05fr;gap:16px;margin-top:16px;}
            #opisModuleSkanPrint .sp-tile{background:#f9f9fb;border-radius:12px;padding:12px 16px;}
            #opisModuleSkanPrint .sp-tile .lbl{font-size:11px;color:#73788a;}
            #opisModuleSkanPrint .sp-tile .val{font-size:14px;font-weight:700;color:var(--sp-ink);margin-top:5px;word-break:break-all;}
            #opisModuleSkanPrint .sp-print-btn{background:var(--sp-brand);color:#fff;border:0;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;}
            #opisModuleSkanPrint .sp-print-btn:disabled{opacity:.45;cursor:not-allowed;}
            /* ── «Стеклянные» кнопки печати (аврора в палитре блока) ── */
            #opisModuleSkanPrint .sp-glass{position:relative;overflow:hidden;isolation:isolate;border:0!important;border-radius:999px;color:#fff!important;background:transparent!important;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;-webkit-tap-highlight-color:transparent;transition:transform .12s ease,box-shadow .2s ease,filter .2s ease;}
            #opisModuleSkanPrint .sp-glass:active{transform:translateY(1px) scale(.99);}
            #opisModuleSkanPrint .sp-glass svg{width:1.15em;height:1.15em;flex:0 0 auto;}
            #opisModuleSkanPrint .sp-glass::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(120% 160% at 15% 120%,#a855f7 0%,transparent 55%),radial-gradient(120% 160% at 85% 130%,#6d28d9 0%,transparent 55%),radial-gradient(140% 200% at 50% 140%,#c084fc 0%,transparent 60%),linear-gradient(180deg,#5b21b6 0%,#7c3aed 60%,#4c1d95 100%);background-size:200% 200%;animation:spAur 7s ease-in-out infinite;}
            #opisModuleSkanPrint .sp-glass::after{content:"";position:absolute;left:0;right:0;top:0;height:52%;z-index:-1;border-radius:999px 999px 60% 60%/999px 999px 40% 40%;background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,.06));opacity:.9;pointer-events:none;}
            #opisModuleSkanPrint .sp-glass:disabled{opacity:.5;cursor:not-allowed;filter:saturate(.6);}
            @keyframes spAur{0%{background-position:0% 50%;}50%{background-position:100% 50%;}100%{background-position:0% 50%;}}
            @media (prefers-reduced-motion:reduce){#opisModuleSkanPrint .sp-glass::before{animation:none;}}
            #opisModuleSkanPrint .sp-glass-lg{font-size:15px;padding:18px 26px;box-shadow:0 10px 26px rgba(88,33,182,.35),inset 0 1px 0 rgba(255,255,255,.5),inset 0 -6px 14px rgba(43,16,110,.45);}
            #opisModuleSkanPrint .sp-glass-md{font-size:14px;padding:13px 22px;box-shadow:0 8px 18px rgba(88,33,182,.30),inset 0 1px 0 rgba(255,255,255,.5),inset 0 -5px 12px rgba(43,16,110,.4);}
            #opisModuleSkanPrint .sp-glass-sm{font-size:12px;padding:9px 15px;box-shadow:0 5px 12px rgba(88,33,182,.28),inset 0 1px 0 rgba(255,255,255,.45),inset 0 -4px 9px rgba(43,16,110,.38);}
            #opisModuleSkanPrint .sp-scan-foot .sp-glass{width:100%;}
            #opisModuleSkanPrint .sp-zebra{display:none;gap:8px;align-items:center;margin-top:10px;flex-wrap:wrap;}
            #opisModuleSkanPrint .sp-zebra select{flex:1;min-width:160px;padding:7px 8px;border:1px solid var(--sp-line);border-radius:8px;font-size:13px;}
            #opisModuleSkanPrint .sp-sess-head{display:flex;justify-content:space-between;align-items:center;}
            #opisModuleSkanPrint .sp-sess-row{display:flex;align-items:center;gap:12px;background:#fcfcfd;border-radius:8px;padding:11px 14px;margin-top:9px;font-size:13px;}
            #opisModuleSkanPrint .sp-sess-row .t{color:#73788a;font-size:12px;width:44px;flex:0 0 44px;}
            #opisModuleSkanPrint .sp-sess-row .bc{font-weight:700;color:var(--sp-ink);flex:0 0 200px;}
            #opisModuleSkanPrint .sp-sess-row .src{color:#61667a;font-size:12px;flex:1;}
            #opisModuleSkanPrint .sp-badge{font-size:11px;font-weight:700;border-radius:14px;padding:6px 12px;white-space:nowrap;}
            #opisModuleSkanPrint .sp-badge.ok{background:#ebfaf0;color:#1a7a45;}
            #opisModuleSkanPrint .sp-badge.err{background:var(--sp-warn-bg);color:var(--sp-warn-ink);}
            #opisModuleSkanPrint .sp-badge.rep{background:var(--sp-brand-bg);color:var(--sp-brand-ink);}
            #opisModuleSkanPrint .sp-files-grid{display:flex;gap:14px;flex-wrap:wrap;margin-top:14px;}
            #opisModuleSkanPrint .sp-file{flex:1 1 280px;min-width:240px;border:1px solid var(--sp-line);background:#fcfcfe;border-radius:12px;padding:13px 15px;cursor:pointer;}
            #opisModuleSkanPrint .sp-file.active{border-color:var(--sp-brand);background:var(--sp-brand-bg);}
            #opisModuleSkanPrint .sp-file-top{display:flex;justify-content:space-between;align-items:baseline;}
            #opisModuleSkanPrint .sp-file-name{font-size:14px;font-weight:700;color:var(--sp-ink);word-break:break-all;}
            #opisModuleSkanPrint .sp-empty{text-align:center;color:var(--sp-muted);padding:40px 20px;font-size:14px;}
            #opisModuleSkanPrint .sp-hamb{display:none;}
            @media (max-width:1100px){
              #opisModuleSkanPrint .sp-sidebar{position:fixed;left:0;top:0;bottom:0;z-index:60;transform:translateX(-105%);transition:transform .2s;box-shadow:0 0 40px rgba(0,0,0,.25);border-radius:0;max-height:none;width:300px;flex-basis:300px;}
              #opisModuleSkanPrint .sp-shell.drawer-open .sp-sidebar{transform:translateX(0);}
              #opisModuleSkanPrint .sp-hamb{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--sp-line);border-radius:10px;padding:8px 12px;font-size:13px;font-weight:600;cursor:pointer;margin-bottom:12px;}
              #opisModuleSkanPrint .sp-scan-foot{grid-template-columns:1fr;}
            }

#opisModulePdfKm{--pk-brand:#4338ca;--pk-brand-bg:#eef2ff;--pk-line:#e3e5ed;--pk-ink:#262b38;--pk-muted:#6b7085;--pk-ok:#2bab66;--pk-ok-bg:#f0fcf5;--pk-warn-bg:#fff7ed;--pk-warn-ink:#b45309;--pk-err-bg:#fef2f2;--pk-err-ink:#b91c1c;}
            #opisModulePdfKm .pk-card{background:var(--card,#fff);border:1px solid var(--pk-line);border-radius:16px;padding:22px 24px;margin-bottom:16px;}
            #opisModulePdfKm h1{margin:0;font-size:24px;font-weight:700;color:var(--pk-ink);}
            #opisModulePdfKm .pk-sub{font-size:14px;color:var(--pk-muted);margin-top:8px;line-height:1.5;}
            #opisModulePdfKm .pk-drop{border:2px dashed #c7ccdb;border-radius:14px;padding:34px 20px;text-align:center;transition:border-color .15s,background .15s;cursor:pointer;background:#fafbff;}
            #opisModulePdfKm .pk-drop.drag{border-color:var(--pk-brand);background:var(--pk-brand-bg);}
            #opisModulePdfKm .pk-drop-ic{font-size:40px;}
            #opisModulePdfKm .pk-drop-t{font-size:15px;font-weight:600;color:var(--pk-ink);margin-top:10px;}
            #opisModulePdfKm .pk-drop-s{font-size:12px;color:var(--pk-muted);margin-top:4px;}
            #opisModulePdfKm .pk-btn{border:0;border-radius:12px;padding:12px 22px;font-size:14px;font-weight:600;cursor:pointer;}
            #opisModulePdfKm .pk-btn-primary{background:var(--pk-brand);color:#fff;}
            #opisModulePdfKm .pk-btn-primary:disabled{opacity:.5;cursor:not-allowed;}
            #opisModulePdfKm .pk-btn-ghost{background:#fff;border:1px solid #d4d8e4;color:#40465a;}
            #opisModulePdfKm .pk-btn-danger{background:#fff;border:1px solid #f0b4b4;color:var(--pk-err-ink);}
            #opisModulePdfKm .pk-btn-ok{background:var(--pk-ok);color:#fff;}
            #opisModulePdfKm .pk-file{display:flex;align-items:center;gap:10px;margin-top:16px;padding:12px 14px;border:1px solid var(--pk-line);border-radius:10px;font-size:13px;color:var(--pk-ink);background:#fff;}
            #opisModulePdfKm .pk-file .nm{font-weight:600;word-break:break-all;}
            #opisModulePdfKm .pk-file .sz{color:var(--pk-muted);white-space:nowrap;}
            #opisModulePdfKm .pk-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;}
            #opisModulePdfKm .pk-bar{height:10px;border-radius:5px;background:#e5e8f0;overflow:hidden;margin-top:14px;}
            #opisModulePdfKm .pk-bar>i{display:block;height:100%;background:var(--pk-brand);width:0;transition:width .3s;}
            #opisModulePdfKm .pk-bar.done>i{background:var(--pk-ok);}
            #opisModulePdfKm .pk-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-top:18px;}
            #opisModulePdfKm .pk-stat{border:1px solid var(--pk-line);border-radius:12px;padding:12px 14px;background:#fff;}
            #opisModulePdfKm .pk-stat .v{font-size:22px;font-weight:700;color:var(--pk-ink);}
            #opisModulePdfKm .pk-stat .l{font-size:12px;color:var(--pk-muted);margin-top:3px;}
            #opisModulePdfKm .pk-status{font-size:14px;font-weight:600;color:var(--pk-brand);margin-top:14px;display:flex;align-items:center;gap:8px;}
            #opisModulePdfKm .pk-note{border-radius:10px;padding:12px 14px;font-size:13px;line-height:1.5;margin-top:14px;}
            #opisModulePdfKm .pk-note.warn{background:var(--pk-warn-bg);color:var(--pk-warn-ink);}
            #opisModulePdfKm .pk-note.err{background:var(--pk-err-bg);color:var(--pk-err-ink);}
            #opisModulePdfKm .pk-note.ok{background:var(--pk-ok-bg);color:#1a7345;}
            #opisModulePdfKm .pk-hidden{display:none !important;}

#opisModulePinPolicy .pp-action-picker{position:relative;margin-top:6px}
#opisModulePinPolicy .pp-action-picker select[hidden]{display:none}
#opisModulePinPolicy .pp-action-trigger{position:relative;display:block;width:100%;box-sizing:border-box;text-align:left;white-space:normal;overflow-wrap:anywhere;padding-right:38px;cursor:pointer;font:inherit;font-size:14px;font-weight:400;color:#262b38;line-height:1.45;background:white}
#opisModulePinPolicy .pp-action-trigger::after{content:'⌄';position:absolute;right:13px;top:10px;color:#737b90}
#opisModulePinPolicy .pp-action-open{z-index:25}
#opisModulePinPolicy .pp-action-options{position:absolute;top:calc(100% + 5px);left:0;right:0;max-height:260px;overflow:auto;background:white;border:1px solid var(--pp-line);border-radius:12px;box-shadow:0 8px 24px #18243b26;padding:5px;z-index:25}
#opisModulePinPolicy .pp-action-options[hidden]{display:none}
#opisModulePinPolicy .pp-action-options button{display:block;width:100%;box-sizing:border-box;text-align:left;white-space:normal;overflow-wrap:anywhere;padding:11px 12px;border:0;border-radius:8px;background:white;color:inherit;font:inherit;font-size:14px;font-weight:400;color:#262b38;line-height:1.45;cursor:pointer}
#opisModulePinPolicy .pp-action-options button:hover,#opisModulePinPolicy .pp-action-options .pp-option-active{background:#fff0e7;color:#ed570e}
#opisModulePinPolicy .pp-action-options button[aria-selected="true"]{font-weight:700}
#opisModulePinPolicy .pp-manager{position:relative;margin-top:8px}
#opisModulePinPolicy .pp-manager .pp-input{box-sizing:border-box;width:100%;padding-right:46px}
#opisModulePinPolicy .pp-manager-toggle{position:absolute;right:4px;top:4px;width:36px;height:36px;border:0;background:transparent;color:#737b90;cursor:pointer;font-size:24px}
#opisModulePinPolicy #ppManagerOptions{position:absolute;top:calc(100% + 6px);left:0;right:0;max-height:240px;overflow:auto;background:white;border:1px solid var(--pp-line);border-radius:12px;box-shadow:0 8px 24px #18243b26;z-index:20;padding:5px}
#opisModulePinPolicy #ppManagerOptions[hidden]{display:none}
#opisModulePinPolicy #ppManagerOptions button{display:block;width:100%;text-align:left;padding:11px 12px;border:0;border-radius:8px;background:white;color:inherit;font:inherit;cursor:pointer;overflow-wrap:anywhere}
#opisModulePinPolicy #ppManagerOptions button:hover,#opisModulePinPolicy #ppManagerOptions button[aria-selected="true"]{background:#fff0e7;color:#ed570e}

            #opisModulePinPolicy{--pp-brand:#e9510b;--pp-brand-bg:#fff4ed;--pp-line:#e3e5ed;--pp-ink:#262b38;--pp-muted:#6b7085;--pp-ok:#2bab66;--pp-ok-bg:#f0fcf5;--pp-warn-bg:#fff7ed;--pp-warn-ink:#b45309;}
            #opisModulePinPolicy .pp-card{background:var(--card,#fff);border:1px solid var(--pp-line);border-radius:14px;padding:16px 18px;margin-bottom:14px;}
            #opisModulePinPolicy h1{margin:0;font-size:22px;font-weight:700;color:var(--pp-ink);}
            #opisModulePinPolicy .pp-sub{font-size:13px;color:var(--pp-muted);margin-top:6px;line-height:1.5;}
            #opisModulePinPolicy .pp-shell{display:flex;gap:16px;align-items:flex-start;}
            #opisModulePinPolicy .pp-side{width:300px;flex:0 0 300px;background:var(--card,#fff);border:1px solid var(--pp-line);border-radius:14px;padding:14px 12px;position:sticky;top:12px;max-height:calc(100vh - 150px);display:flex;flex-direction:column;}
            #opisModulePinPolicy .pp-search{width:100%;padding:9px 12px;border:1px solid #dbdee8;border-radius:10px;font-size:13px;box-sizing:border-box;}
            #opisModulePinPolicy .pp-count{font-size:12px;color:var(--pp-muted);margin:10px 2px 6px;}
            #opisModulePinPolicy .pp-list{overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:6px;padding-right:2px;}
            #opisModulePinPolicy .pp-pin{border:1px solid var(--pp-line);border-radius:10px;padding:9px 12px;cursor:pointer;transition:border-color .12s;}
            #opisModulePinPolicy .pp-pin:hover{border-color:#c9bdf3;}
            #opisModulePinPolicy .pp-pin.active{border-color:var(--pp-brand);background:var(--pp-brand-bg);}
            #opisModulePinPolicy .pp-pin-name{font-weight:700;color:var(--pp-ink);font-size:14px;}
            #opisModulePinPolicy .pp-pin-meta{font-size:11px;color:var(--pp-muted);margin-top:2px;}
            #opisModulePinPolicy .pp-badge{display:inline-block;font-size:10px;font-weight:700;padding:2px 7px;border-radius:9px;background:var(--pp-warn-bg);color:var(--pp-warn-ink);margin-left:6px;}
            #opisModulePinPolicy .pp-main{flex:1;min-width:0;}
            #opisModulePinPolicy .pp-ev{border-top:1px solid var(--pp-line);padding:10px 2px;}
            #opisModulePinPolicy .pp-ev:first-child{border-top:0;}
            #opisModulePinPolicy .pp-ev-name{font-weight:600;color:var(--pp-ink);font-size:14px;}
            #opisModulePinPolicy .pp-ev-sec{font-size:10px;color:var(--pp-muted);text-transform:uppercase;letter-spacing:.04em;}
            #opisModulePinPolicy .pp-act{display:inline-block;margin:5px 6px 0 0;padding:5px 11px;border-radius:9px;background:var(--pp-ok-bg);color:var(--pp-ok);border:1px solid #cdeedd;font-size:13px;font-weight:600;}
            #opisModulePinPolicy .pp-act .nt{color:var(--pp-muted);font-weight:500;font-size:12px;}
            #opisModulePinPolicy .pp-act.none{background:#f5f6f8;color:var(--pp-muted);border-color:#e3e5ed;}
            #opisModulePinPolicy .pp-tag-trig{font-size:10px;font-weight:700;color:var(--pp-brand);background:var(--pp-brand-bg);border-radius:8px;padding:1px 6px;margin-left:6px;}
            #opisModulePinPolicy .pp-inline{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
            #opisModulePinPolicy .pp-input{padding:8px 11px;border:1px solid #dbdee8;border-radius:9px;font-size:13px;}
            #opisModulePinPolicy .pp-btn{border:0;border-radius:10px;padding:9px 16px;font-size:13px;font-weight:600;cursor:pointer;background:var(--pp-brand);color:#fff;}
            #opisModulePinPolicy .pp-btn.ghost{background:#fff;border:1px solid #d4d8e4;color:#40465a;}
            #opisModulePinPolicy .pp-hint{margin-top:12px;padding:12px 14px;border-radius:11px;background:var(--pp-brand-bg);border:1px solid #c7cff5;}
            #opisModulePinPolicy .pp-hint .h{font-size:12px;color:var(--pp-muted);}
            #opisModulePinPolicy .pp-hint .a{font-size:15px;font-weight:700;color:var(--pp-ink);margin-top:4px;}
            #opisModulePinPolicy .pp-muted{color:var(--pp-muted);font-size:13px;}
            #opisModulePinPolicy .pp-tabs{display:flex;gap:6px;margin:14px 0 0;}
            #opisModulePinPolicy .pp-tab{border:1px solid var(--pp-line);background:#fff;color:var(--pp-muted);border-radius:10px;padding:8px 16px;font-size:13px;font-weight:600;cursor:pointer;}
            #opisModulePinPolicy .pp-tab.active{background:var(--pp-brand);border-color:var(--pp-brand);color:#fff;}
            #opisModulePinPolicy .pp-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;}
            #opisModulePinPolicy .pp-kpi{border:1px solid var(--pp-line);border-radius:12px;padding:12px 14px;background:#fff;}
            #opisModulePinPolicy .pp-kpi .v{font-size:24px;font-weight:700;color:var(--pp-ink);line-height:1.15;}
            #opisModulePinPolicy .pp-kpi .l{font-size:12px;color:var(--pp-muted);margin-top:3px;}
            #opisModulePinPolicy .pp-kpi.warn .v{color:var(--pp-warn-ink);}
            #opisModulePinPolicy .pp-kpi.ok .v{color:var(--pp-ok);}
            #opisModulePinPolicy .pp-tbl{width:100%;border-collapse:collapse;font-size:13px;}
            #opisModulePinPolicy .pp-tbl th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--pp-muted);padding:6px 8px;border-bottom:1px solid var(--pp-line);font-weight:600;}
            #opisModulePinPolicy .pp-tbl td{padding:7px 8px;border-bottom:1px solid #f0f1f5;color:var(--pp-ink);}
            #opisModulePinPolicy .pp-tbl tr:last-child td{border-bottom:0;}
            #opisModulePinPolicy .pp-tbl .num{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;}
            #opisModulePinPolicy .pp-report-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px;}
            #opisModulePinPolicy .pp-send-status{font-size:12px;color:var(--pp-muted);}
            #opisModulePinPolicy .pp-h2{font-size:15px;font-weight:700;color:var(--pp-ink);margin:0 0 8px;}
            #opisModulePinPolicy .pp-bar{height:8px;border-radius:5px;background:#eef0f5;overflow:hidden;display:flex;}
            #opisModulePinPolicy .pp-bar i{display:block;height:100%;}
            #opisModulePinPolicy .pp-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--pp-muted);margin-top:7px;}
            #opisModulePinPolicy .pp-legend i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:5px;vertical-align:-1px;}
            #opisModulePinPolicy .pp-editor-only{display:none;}
            #opisModulePinPolicy.pp-can-edit .pp-editor-only{display:block;}
            @media(max-width:900px){#opisModulePinPolicy .pp-shell{flex-direction:column;}#opisModulePinPolicy .pp-side{width:auto;flex:1 1 auto;position:static;max-height:none;}}

            #opisModulePinPolicy[hidden],#opisModulePinPolicy [hidden]{display:none!important;}
            #opisModulePinPolicy .pp-header{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;margin:8px 0 20px;}
            #opisModulePinPolicy .pp-tabs{margin:0 0 20px;border-bottom:1px solid var(--pp-line);gap:24px;overflow-x:auto;}
            #opisModulePinPolicy .pp-tab{border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;padding:12px 2px;white-space:nowrap;}
            #opisModulePinPolicy .pp-tab.active{background:transparent;color:var(--pp-brand);border-color:var(--pp-brand);}
            #opisModulePinPolicy .pp-input,#opisModulePinPolicy .pp-search,#opisModulePinPolicy .pp-btn{min-height:44px;box-sizing:border-box;font:inherit;font-size:14px;border-radius:10px;}
            #opisModulePinPolicy select.pp-input{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7085' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center;padding-right:36px;width:100%;}
            #opisModulePinPolicy #ppAnDays{width:auto;min-width:140px;}
            #opisModulePinPolicy .pp-input{width:100%;background-color:#fff;color:var(--pp-ink);}
            #opisModulePinPolicy .pp-resolve-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1.4fr) auto;gap:12px;align-items:end;margin-top:20px;}
            #opisModulePinPolicy label{display:block;font-size:12px;font-weight:600;color:var(--pp-muted);}
            #opisModulePinPolicy label .pp-input{margin-top:7px;}
            #opisModulePinPolicy .pp-pin{background:#fff;text-align:left;font:inherit;width:100%;}
            #opisModulePinPolicy .pp-pin[aria-current=true]{border-color:var(--pp-brand);background:var(--pp-brand-bg);}
            #opisModulePinPolicy .pp-side{width:280px;flex-basis:280px;max-height:70vh;}
            #opisModulePinPolicy .pp-list{min-height:180px;}
            #opisModulePinPolicy .pp-card{overflow-x:auto;}
            #opisModulePinPolicy .pp-empty{padding:36px 18px;text-align:center;color:var(--pp-muted);line-height:1.7;}
            #opisModulePinPolicy .pp-loading{padding:20px;color:var(--pp-muted);}
            #opisModulePinPolicy .pp-loading:after{content:'';display:block;height:80px;margin-top:16px;border-radius:8px;background:linear-gradient(#f0f1f5 0 18px,transparent 18px 30px,#f0f1f5 30px 48px,transparent 48px 60px,#f0f1f5 60px);}
            #opisModulePinPolicy button:disabled{opacity:.6;cursor:wait;}
            #opisModulePinPolicy :focus-visible{outline:3px solid #f9b38f;outline-offset:3px;}
            @media(max-width:900px){#opisModulePinPolicy .pp-side{width:100%;flex-basis:auto;box-sizing:border-box;max-height:300px;}#opisModulePinPolicy .pp-main{width:100%;}}
            @media(max-width:600px){#opisModulePinPolicy .pp-resolve-form{grid-template-columns:1fr;}#opisModulePinPolicy .pp-tabs{gap:20px;}#opisModulePinPolicy .pp-header{align-items:flex-start;}#opisModulePinPolicy .pp-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}}

#opisModulePdfKm .pk-hrow{display:flex;align-items:center;gap:14px;padding:12px 4px;border-top:1px solid var(--pk-line);flex-wrap:wrap;}
          #opisModulePdfKm .pk-hrow:first-child{border-top:0;}
          #opisModulePdfKm .pk-hmain{flex:1;min-width:180px;}
          #opisModulePdfKm .pk-hname{font-weight:600;color:var(--pk-ink);word-break:break-all;}
          #opisModulePdfKm .pk-hmeta{font-size:12px;color:var(--pk-muted);margin-top:3px;}
          #opisModulePdfKm .pk-badge{font-size:12px;font-weight:600;padding:4px 10px;border-radius:20px;white-space:nowrap;}
          #opisModulePdfKm .pk-badge.queued{background:#eef2ff;color:#4338ca;}
          #opisModulePdfKm .pk-badge.processing{background:#fef9c3;color:#a16207;}
          #opisModulePdfKm .pk-badge.completed{background:var(--pk-ok-bg);color:#1a7345;}
          #opisModulePdfKm .pk-badge.failed{background:var(--pk-err-bg);color:var(--pk-err-ink);}
          #opisModulePdfKm .pk-badge.cancelled{background:#f3f4f6;color:#6b7280;}
          #opisModulePdfKm .pk-hbtn{border:1px solid #d4d8e4;background:#fff;border-radius:9px;padding:7px 14px;font-size:13px;font-weight:600;color:#40465a;cursor:pointer;}
          #opisModulePdfKm .pk-hbtn.ok{border-color:var(--pk-ok);color:var(--pk-ok);}
          #opisModulePdfKm .pk-hempty{color:var(--pk-muted);font-size:13px;padding:10px 4px;}

#agForm[hidden]{display:none !important;}

/* ── AI-агенты: редизайн по Figma ── */
          #panelAgents{max-width:1440px;}
          @media(min-width:1700px){#panelAgents{max-width:1720px;}}
          .ag-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;}
          .ag-header-actions{display:flex;gap:10px;flex-wrap:wrap;}
          .ag-btn{font-size:13px;font-weight:600;padding:9px 16px;border-radius:10px;cursor:pointer;border:1px solid var(--stroke);background:var(--card);color:var(--ink);white-space:nowrap;transition:.15s background,.15s border-color,.15s opacity;line-height:1;}
          .ag-btn:hover{background:var(--panel);}
          .ag-btn:focus-visible{outline:2px solid var(--ai);outline-offset:2px;}
          .ag-btn-primary{background:var(--brand);border-color:var(--brand);color:#fff;}
          .ag-btn-primary:hover{background:var(--brand-strong);border-color:var(--brand-strong);}
          .ag-btn[disabled]{opacity:.55;cursor:not-allowed;}
          /* Переключатель агентов */
          .ag-switcher{display:flex;gap:6px;margin:18px 0 14px;overflow-x:auto;padding:6px;border:1px solid var(--stroke);border-radius:14px;background:var(--panel);scrollbar-width:thin;}
          .ag-tab{flex:1 1 0;min-width:210px;display:flex;align-items:center;gap:10px;text-align:left;padding:11px 14px;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--ink);cursor:pointer;transition:.15s background,.15s border-color,.15s box-shadow,.15s color;font-family:inherit;}
          .ag-tab:hover{background:rgba(255,255,255,.7);border-color:var(--stroke);}
          .ag-tab:focus-visible{outline:2px solid var(--ai);outline-offset:2px;}
          .ag-tab.active{background:var(--card);border-color:var(--stroke);color:var(--ai);box-shadow:0 2px 8px rgba(15,23,42,.08);}
          .ag-tab-dot{width:8px;height:8px;border-radius:50%;background:var(--muted);flex-shrink:0;}
          .ag-tab.active .ag-tab-dot{background:var(--ai);box-shadow:0 0 0 3px var(--ai-dim);}
          .ag-tab-txt{display:flex;flex-direction:column;gap:2px;min-width:0;}
          .ag-tab-title{font-size:14px;font-weight:700;line-height:1.15;}
          .ag-tab-sub{font-size:11.5px;opacity:.8;line-height:1.15;}
          .ag-tab.active .ag-tab-sub{color:var(--muted);opacity:1;}
          .ag-tab-add{flex:0 0 auto;min-width:0;justify-content:center;font-weight:700;color:var(--muted);border:1px dashed transparent;}
          .ag-tab-add.active{color:var(--ai);border-style:solid;}
          /* KPI-карточки */
          .ag-kpi-row{display:none!important;}
          @media(max-width:1100px){.ag-kpi-row{grid-template-columns:repeat(2,1fr);}}
          @media(max-width:560px){.ag-kpi-row{grid-template-columns:1fr;}}
          .ag-kpi{border:1px solid var(--stroke);border-radius:14px;background:var(--card);padding:18px 20px;box-shadow:var(--shadow);}
          .ag-kpi-val{font-size:26px;font-weight:800;color:var(--ink);letter-spacing:-.02em;line-height:1.1;overflow-wrap:anywhere;}
          .ag-kpi-val.blue{color:var(--ai);}
          .ag-kpi-val.green{color:var(--ok);}
          .ag-kpi-lbl{font-size:12.5px;color:var(--muted);margin-top:6px;}
          /* Карточка выбранного агента */
          .ag-selected{border:1px solid var(--stroke);border-radius:16px;background:var(--card);box-shadow:var(--shadow);padding:0;margin-bottom:14px;overflow:hidden;}
          .ag-selected-main{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:22px 24px 18px;}
          .ag-selected-id{display:flex;align-items:flex-start;gap:14px;min-width:0;}
          .ag-selected-icon{width:42px;height:42px;border-radius:12px;background:var(--ai-dim);color:var(--ai);display:flex;align-items:center;justify-content:center;font-size:20px;flex:0 0 auto;}
          .ag-selected-heading{display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
          .ag-selected .as-badge{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ai);background:var(--ai-dim);padding:3px 9px;border-radius:6px;display:inline-block;}
          .ag-selected .as-title{font-size:20px;font-weight:800;color:var(--ink);margin:0;letter-spacing:-.01em;}
          .ag-selected .as-desc{font-size:13.5px;color:var(--muted);max-width:640px;line-height:1.5;}
          .ag-selected .as-meta{display:flex;gap:16px;flex-wrap:wrap;margin-top:9px;font-size:12px;color:var(--muted);}
          .ag-selected .as-meta b{color:var(--ink);font-weight:600;}
          .ag-selected .as-actions{display:flex;align-items:center;gap:9px;flex-shrink:0;}
          .ag-selected .as-actions .ag-btn{text-align:center;padding:11px 16px;}
          .ag-command-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--stroke);background:var(--panel);}
          .ag-command-stat{padding:13px 18px;border-right:1px solid var(--stroke);min-width:0;}
          .ag-command-stat:last-child{border-right:none;}
          .ag-command-value{font-size:14px;font-weight:750;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
          .ag-command-label{font-size:10.5px;color:var(--muted);margin-top:3px;text-transform:uppercase;letter-spacing:.045em;}
          .ag-command-progress{padding:12px 24px 15px;border-top:1px solid var(--stroke);background:var(--ai-dim);}
          .ag-command-progress-head{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--ink);margin-bottom:7px;}
          .ag-command-progress-head b{font-weight:700;}
          .ag-command-bar{height:6px;border-radius:99px;background:rgba(37,99,235,.14);overflow:hidden;}
          .ag-command-bar span{display:block;height:100%;border-radius:99px;background:var(--ai);transition:width .3s ease;}
          .pl-config-card{border-radius:14px!important;box-shadow:none!important;}
          .pl-config-card>.pl-node-head{padding:12px 16px!important;background:var(--card)!important;}
          .pl-section-title{padding:9px 16px;font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;background:var(--panel);border-bottom:1px solid var(--stroke);}
          .pl-params-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-bottom:1px solid var(--stroke);}
          .pl-param-card{display:flex!important;align-items:center!important;justify-content:space-between;gap:18px;padding:16px!important;border-bottom:1px solid var(--stroke)!important;background:var(--card);min-width:0;}
          .pl-param-card:nth-child(odd){border-right:1px solid var(--stroke);}
          .pl-param-card:nth-last-child(-n+2){border-bottom:none!important;}
          .pl-param-card>div:first-child{width:auto!important;min-width:0;}
          .pl-param-card .form-input{width:112px;max-width:112px!important;flex:0 0 112px!important;}
          .pl-param-card label{flex:0 0 auto;}
          .pl-auto-source{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;background:var(--ok-dim);color:var(--ok);font-size:11px;font-weight:700;white-space:nowrap;}
          @media(max-width:780px){
            .ag-selected-main{flex-direction:column;padding:18px;}
            .ag-selected .as-actions{width:100%;}
            .ag-selected .as-actions .ag-btn{flex:1;}
            .ag-command-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
            .ag-command-stat:nth-child(2){border-right:none;}
            .ag-command-stat:nth-child(-n+2){border-bottom:1px solid var(--stroke);}
          }
          @media(max-width:520px){
            .ag-selected .as-actions{flex-direction:column-reverse;align-items:stretch;}
            .ag-selected .as-actions .ag-btn{width:100%;flex:none;}
            .pl-params-grid{grid-template-columns:1fr;}
            .pl-param-card:nth-child(odd){border-right:none;}
            .pl-param-card:nth-last-child(2){border-bottom:1px solid var(--stroke)!important;}
            .pl-param-card{align-items:flex-start!important;flex-direction:column;gap:10px;}
            .pl-param-card .form-input{width:100%;max-width:none!important;flex:auto!important;}
            .pl-auto-source{white-space:normal;}
          }
          /* Панели агентов */
          .ag-panel[hidden]{display:none;}
          /* Блок текущего расследования (дружелюбный) */
          .ag-run-card{border:1px solid var(--stroke);border-radius:16px;background:var(--card);box-shadow:var(--shadow);overflow:hidden;margin-bottom:20px;}
          .ag-run-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:20px 24px 0;}
          .ag-run-head h3{font-size:18px;font-weight:800;color:var(--ink);margin:0;letter-spacing:-.01em;}
          .ag-run-sub{font-size:12.5px;color:var(--muted);margin-top:4px;}
          .ag-run-head-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
          .ag-state-chip{font-size:12px;font-weight:700;padding:4px 12px;border-radius:999px;background:var(--ai-dim);color:var(--ai);white-space:nowrap;}
          .ag-state-chip.green{background:var(--ok-dim);color:var(--ok);}
          .ag-state-chip.red{background:var(--warn-dim);color:var(--warn);}
          .ag-state-chip.gray{background:var(--panel);color:var(--muted);}
          .ag-state-chip.orange{background:rgba(230,126,34,.12);color:#c2691a;}
          .ag-stop-btn{font-size:12.5px;font-weight:600;color:var(--warn);background:var(--card);border:1px solid var(--warn);border-radius:8px;padding:6px 14px;cursor:pointer;}
          .ag-stop-btn:hover{background:var(--warn-dim);}
          .ag-progress{padding:16px 24px 4px;}
          .ag-progress-top{display:flex;justify-content:space-between;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:8px;}
          .ag-progress-top .pct{color:var(--ai);}
          .ag-bar{height:8px;border-radius:99px;background:var(--stroke);overflow:hidden;}
          .ag-bar > span{display:block;height:100%;width:0;background:var(--ai);border-radius:99px;transition:width .5s ease;}
          .ag-bar.green > span{background:var(--ok);} .ag-bar.red > span{background:var(--warn);}
          .ag-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;padding:16px 24px;}
          @media(max-width:900px){.ag-metrics{grid-template-columns:repeat(2,1fr);}}
          .ag-metric{border:1px solid var(--stroke);border-radius:12px;background:var(--panel);padding:12px 14px;}
          .ag-metric-val{font-size:18px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums;}
          .ag-metric-lbl{font-size:11.5px;color:var(--muted);margin-top:3px;}
          .ag-run-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:8px 24px 24px;}
          @media(max-width:900px){.ag-run-grid{grid-template-columns:1fr;}}
          .ag-sub-card{border:1px solid var(--stroke);border-radius:12px;background:var(--card);padding:16px 18px;}
          .ag-sub-card h4{font-size:13px;font-weight:800;color:var(--ink);margin:0 0 14px;letter-spacing:-.01em;}
          .ag-stage{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--stroke);}
          .ag-stage:last-child{border-bottom:none;}
          .ag-stage-dot{width:10px;height:10px;border-radius:50%;background:var(--muted);flex-shrink:0;}
          .ag-stage-dot.done{background:var(--ok);} .ag-stage-dot.active{background:var(--ai);}
          .ag-stage-dot.warn{background:#e67e22;} .ag-stage-dot.error{background:var(--warn);}
          .ag-stage-name{font-size:13.5px;color:var(--ink);flex:1;}
          .ag-stage-status{font-size:12.5px;color:var(--muted);margin-left:auto;white-space:nowrap;}
          .ag-result-status{font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:6px;background:rgba(230,126,34,.12);color:#c2691a;}
          .ag-result-status.green{background:var(--ok-dim);color:var(--ok);}
          .ag-result-status.red{background:var(--warn-dim);color:var(--warn);}
          .ag-result-status.blue{background:var(--ai-dim);color:var(--ai);}
          .ag-result-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;}
          .ag-result-head h4{margin:0;}
          .ag-result-text{font-size:13px;color:var(--ink);line-height:1.55;}
          .ag-result-next{margin-top:14px;}
          .ag-result-next .cap{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:6px;}
          .ag-result-next ul{margin:0;padding-left:18px;font-size:12.5px;color:var(--muted);line-height:1.7;}
          .ag-collapsible[hidden]{display:none;}

/* ── AI-аналитика чата: редизайн по Figma ── */
        .qa-page{display:flex;flex-direction:column;gap:20px;max-width:1440px;}
        .qa-page[hidden]{display:none;}
        .qa-page-header{margin-bottom:0;padding-bottom:16px;border-bottom:1px solid var(--stroke);}
        /* фильтры */
        .qa-filters{display:flex;flex-direction:column;gap:0;padding:0;overflow:hidden;}
        .qa-filters-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px 16px;padding:18px 20px;}
        .qa-field{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;min-width:0;}
        .qa-field .form-input,.qa-field .form-select{width:100%;min-width:0;}
        /* панель переключателей */
        .qa-filters-checks{display:flex;flex-wrap:wrap;gap:10px;padding:0 20px 16px;}
        .qa-check{display:inline-flex;gap:8px;align-items:center;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer;text-transform:none;letter-spacing:0;padding:7px 12px;border:1.5px solid var(--stroke);border-radius:999px;background:#fff;transition:.12s;user-select:none;}
        .qa-check:hover{border-color:var(--brand);}
        .qa-check:has(input:checked){border-color:var(--brand);background:var(--brand-dim);color:var(--brand);}
        .qa-check input{width:16px;height:16px;accent-color:var(--brand);cursor:pointer;margin:0;}
        /* нижняя панель действий */
        .qa-filters-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:14px 20px;border-top:1px solid var(--stroke);background:var(--soft,#f7f8fb);}
        .qa-filters-actions .qa-actions-spacer{flex:1 1 auto;}
        .qa-filters-actions .opis-btn,.qa-filters-actions .opis-btn-primary{min-height:38px;display:inline-flex;align-items:center;justify-content:center;}
        .qa-btn-ghost{background:transparent;border-color:transparent;color:var(--muted);}
        .qa-btn-ghost:hover{background:#fff;border-color:var(--stroke);color:var(--ink);}
        @media(max-width:720px){
          .qa-filters-actions{flex-direction:column;align-items:stretch;}
          .qa-filters-actions .qa-actions-spacer{display:none;}
          .qa-filters-actions .opis-btn,.qa-filters-actions .opis-btn-primary{width:100%;text-align:center;}
        }
        .qa-more-filters{display:none;}
        .qa-extra-filters .qa-filters-row{padding-top:0;}
        /* KPI */
        .qa-kpi-grid{margin-bottom:0;}
        .qa-kpi-grid .kpi{padding:16px 18px;gap:12px;}
        .qa-kpi-grid .kpi-value{font-size:30px;}
        .qa-kpi-grid .kpi-value.sm{font-size:20px;}
        .qa-kpi-grid .kpi-value.info{color:var(--ai);}
        .qa-kpi-grid .kpi-value.orange{color:var(--brand);}
        .qa-kpi-time{margin-bottom:0;padding:10px 16px;}
        /* аналитический ряд из трёх карточек */
        .qa-analytics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
        @media(max-width:900px){.qa-analytics-grid{grid-template-columns:1fr;}}
        .qa-chart-card{padding:18px 20px;}
        .qa-card-title{margin:0 0 14px;font-size:15px;font-weight:800;color:var(--ink);letter-spacing:-.01em;}
        .qa-chart-box{position:relative;height:210px;}
        .qa-top-apps{font-size:13px;max-height:210px;overflow-y:auto;overscroll-behavior:contain;}
        .qa-app-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--stroke);}
        .qa-app-item:last-child{border-bottom:none;}
        .qa-app-item a{color:var(--brand);font-weight:700;text-decoration:none;font-size:14px;}
        .qa-app-item a:hover{text-decoration:underline;}
        .qa-app-item .qa-app-n{font-weight:800;color:var(--ink);}
        .qa-empty{color:var(--muted);font-size:13px;}
        /* кейсы */
        .qa-cases{padding:20px;}
        .qa-cases-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;}
        .qa-cases-title{margin:0;font-size:17px;font-weight:800;color:var(--ink);letter-spacing:-.01em;}
        .qa-cases-count{font-size:13px;font-weight:700;color:var(--ai);}
        .qa-case-row{padding:16px 0;border-bottom:1px solid var(--stroke);cursor:pointer;transition:.12s background;}
        .qa-case-row:last-child{border-bottom:none;}
        .qa-case-row:hover{background:var(--panel);}
        .qa-case-top{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
        .qa-case-date{margin-left:auto;font-size:12px;color:var(--muted);white-space:nowrap;}
        .qa-case-q{margin-top:10px;font-size:14px;line-height:1.5;color:var(--ink);font-weight:500;}
        .qa-case-meta{font-size:12px;color:var(--muted);margin-top:10px;}
        /* пилюли-бейджи (светлый фон) */
        .qa-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.4;white-space:nowrap;}
        .qa-badge--danger{background:var(--warn-dim);color:var(--warn);}
        .qa-badge--info{background:var(--ai-dim);color:var(--ai);}
        .qa-badge--ok{background:var(--ok-dim);color:var(--ok);}
        .qa-badge--warn{background:var(--brand-dim);color:var(--brand);}
        .qa-badge--app{background:var(--panel);color:var(--muted);border:1px solid var(--stroke);}
        .qa-badge--muted{background:var(--panel);color:var(--muted);}
        /* пагинация */
        .qa-pager{display:flex;gap:10px;margin-top:16px;align-items:center;}
        .qa-pager .opis-btn{min-width:40px;display:inline-flex;align-items:center;justify-content:center;}
        .qa-pager .qa-pager-info{font-weight:700;}
        /* ── модалка кейса ── */
        .qa-modal-overlay{padding:24px 16px;}
        .qa-modal-card{position:relative;background:var(--card);width:100%;max-width:960px;margin:0 auto;border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:28px;font-size:14px;color:var(--ink);}
        @media(max-width:720px){.qa-modal-card{padding:20px;}}
        .qa-modal-close{position:absolute;top:22px;right:22px;width:40px;height:40px;border:1.5px solid var(--stroke);border-radius:12px;background:#fff;color:var(--muted);font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.12s;z-index:2;}
        #kcModalBody > h2:first-child,#kcModalBody > h2{padding-right:56px;line-height:1.3;}
        #kcModalBody .kc-table td:nth-child(2){white-space:normal;word-break:break-word;}
        #kcModalBody .kc-table td:first-child{max-width:none;white-space:nowrap;}
        .qa-modal-close:hover{border-color:var(--brand);color:var(--brand);}
        /* шапка */
        .qa-m-header{padding-bottom:18px;border-bottom:1px solid var(--stroke);margin-bottom:20px;padding-right:52px;}
        .qa-m-title{font-size:26px;font-weight:900;letter-spacing:-.02em;color:var(--ink);line-height:1.15;}
        .qa-m-sub{margin-top:4px;font-size:14px;color:var(--muted);}
        .qa-m-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;}
        .qa-badge--solid-danger{background:var(--warn);color:#fff;}
        .qa-badge--solid-brand{background:var(--brand);color:#fff;}
        .qa-badge--solid-ok{background:var(--ok);color:#fff;}
        .qa-badge--solid-info{background:var(--ai);color:#fff;}
        .qa-badge--solid-muted{background:var(--muted);color:#fff;}
        .qa-badge--lg{padding:5px 14px;font-size:13px;font-weight:700;}
        /* сетка сводки 2×2 */
        .qa-m-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;}
        @media(max-width:760px){.qa-m-grid{grid-template-columns:1fr;}}
        .qa-m-cell{background:var(--panel);border:1px solid var(--stroke);border-radius:14px;padding:16px 18px;}
        .qa-m-cell-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;}
        .qa-m-cell-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);}
        .qa-m-llm-tag{font-size:12px;font-weight:700;color:var(--ai);white-space:nowrap;}
        .qa-m-edit{width:100%;border:none;background:transparent;resize:vertical;font:inherit;font-size:16px;font-weight:700;color:var(--ink);line-height:1.4;padding:0;outline:none;min-height:40px;}
        .qa-m-edit:focus{outline:2px solid var(--brand-dim);outline-offset:4px;border-radius:6px;}
        .qa-m-edit--answer{color:var(--ok);font-size:20px;}
        .qa-m-hint{margin-top:8px;font-size:13px;color:var(--muted);}
        .qa-m-text{font-size:14px;line-height:1.55;color:var(--ink);}
        .qa-m-text.qa-empty{color:var(--muted);}
        .qa-m-foot{margin-top:10px;font-size:12px;color:var(--muted);}
        /* переписка */
        .qa-conv{border:1px solid var(--stroke);border-radius:16px;padding:20px;margin-bottom:20px;}
        .qa-conv-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
        .qa-conv-title{font-size:17px;font-weight:800;color:var(--ink);}
        .qa-conv-count{font-size:13px;font-weight:600;color:var(--muted);}
        .qa-conv-legend{margin:-4px 0 14px;padding:9px 12px;border-radius:10px;background:var(--panel);font-size:12px;line-height:1.45;color:var(--muted);}
        .qa-conv-list{max-height:440px;overflow:auto;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth;}
        .qa-msg{display:flex;gap:12px;cursor:default;align-items:flex-start;padding:10px;border:1px solid transparent;border-radius:12px;transition:.18s ease;}
        .qa-msg--reply{margin-left:34px;border-left:3px solid var(--ai);background:color-mix(in srgb,var(--ai) 4%,transparent);}
        .qa-msg--target{border-color:var(--ai);background:color-mix(in srgb,var(--ai) 10%,transparent);}
        .qa-msg--q{border-left:3px solid var(--brand);}
        .qa-msg--fa{border-left:3px solid var(--ok,#2e9e5b);background:color-mix(in srgb,var(--ok,#2e9e5b) 6%,transparent);}
        .qa-msg--final{border-left:3px solid var(--warn);background:color-mix(in srgb,var(--warn) 6%,transparent);}
        .qa-msg-role{display:inline-block;padding:0 7px;border-radius:8px;font-size:11px;font-weight:800;}
        .qa-msg-role--q{background:var(--brand-dim);color:var(--brand-strong);}
        .qa-msg-role--fa{background:color-mix(in srgb,var(--ok,#2e9e5b) 16%,transparent);color:var(--ok,#2e9e5b);}
        .qa-msg-role--final{background:var(--warn-dim);color:var(--warn);}
        .qa-metric-approx{font-size:11px;font-weight:700;color:var(--warn);}
        .qa-msg-pick{margin-top:12px;flex:0 0 auto;cursor:pointer;accent-color:var(--brand);}
        .qa-msg-app{display:inline-block;padding:0 7px;border-radius:8px;background:var(--brand-dim);color:var(--brand-strong);font-size:11px;font-weight:700;}
        .qa-msg-seq{display:inline-flex;align-items:center;justify-content:center;min-width:25px;height:20px;padding:0 6px;border-radius:7px;background:var(--panel);border:1px solid var(--stroke);color:var(--muted);font-size:11px;font-weight:800;}
        .qa-msg-reply{color:var(--ai);font-size:11px;font-weight:700;}
        .qa-msg-av{width:38px;height:38px;flex:0 0 auto;border-radius:50%;background:var(--panel);border:1px solid var(--stroke);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:var(--muted);}
        .qa-msg-body{flex:1;min-width:0;}
        .qa-msg-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;}
        .qa-msg-name{font-weight:700;color:var(--ink);}
        .qa-msg-date{color:var(--muted);}
        .qa-msg-link{color:var(--ai);font-weight:600;text-decoration:none;}
        .qa-msg-link:hover{text-decoration:underline;}
        .qa-msg-text{margin-top:3px;font-size:14px;color:var(--ink);line-height:1.5;word-break:break-word;}
        .qa-msg-parent{display:block;width:100%;margin:7px 0 2px;padding:8px 10px;border:0;border-left:3px solid var(--ai);border-radius:8px;background:var(--panel);text-align:left;color:var(--ink);cursor:pointer;}
        .qa-msg-parent:hover{background:var(--brand-dim);}
        .qa-msg-parent-title{font-size:11px;font-weight:800;color:var(--ai);}
        .qa-msg-parent-text{display:block;margin-top:3px;font-size:12px;line-height:1.35;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
        .qa-msg-parent--external{border-left-color:var(--warn);cursor:default;}
        .qa-msg-parent--external .qa-msg-parent-title{color:var(--warn);}
        .qa-msg-unlinked{margin-top:5px;font-size:11px;color:var(--muted);}
        @media(max-width:760px){.qa-msg--reply{margin-left:12px}.qa-conv{padding:12px}.qa-conv-list{max-height:520px}}
        /* модерация */
        .qa-mod{background:var(--panel);border:1px solid var(--stroke);border-radius:16px;padding:20px;}
        .qa-mod-title{font-size:17px;font-weight:800;color:var(--ink);margin-bottom:14px;}
        .qa-mod-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px;}
        .qa-mod-row:last-of-type{margin-bottom:0;}
        .qa-btn-ok{background:var(--ok);border-color:var(--ok);color:#fff;}
        .qa-btn-ok:hover{filter:brightness(.94);color:#fff;border-color:var(--ok);}
        .qa-btn-warn2{background:var(--brand);border-color:var(--brand);color:#fff;}
        .qa-btn-warn2:hover{background:var(--brand-strong);color:#fff;}
        .qa-btn-danger{background:#fff;border-color:var(--warn);color:var(--warn);}
        .qa-btn-danger:hover{background:var(--warn);color:#fff;}
        .opis-btn:disabled{opacity:.55;cursor:default;pointer-events:none;}
        .qa-mod-history{margin-top:16px;background:#fff;border:1px solid var(--stroke);border-radius:12px;padding:14px 16px;}
        .qa-mod-history-title{font-size:14px;font-weight:800;color:var(--ink);margin-bottom:8px;}
        .qa-mod-history-row{font-size:12px;color:var(--muted);padding:2px 0;}
        .qa-kb-status{margin-top:12px;padding:10px 12px;border:1px solid var(--stroke);border-radius:var(--r-sm);background:var(--card);font-size:13px;}
        .qa-kb-status-title{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;}
        .qa-kb-meta{color:var(--muted);font-size:12px;word-break:break-all;}
        .qa-kb-err{color:var(--warn);font-size:12px;margin-top:4px;word-break:break-word;}
        .qa-split-warn{margin-bottom:14px;padding:12px 14px;border:1px solid var(--warn);border-radius:var(--r-sm);background:var(--warn-dim);color:var(--warn);font-weight:700;font-size:13px;}
        .qa-dup{margin-bottom:14px;border:1px solid var(--stroke);border-radius:var(--r-sm);padding:10px 12px;background:var(--panel);}
        .qa-dup-title{font-weight:700;font-size:13px;margin-bottom:8px;}
        .qa-dup-item{border-top:1px solid rgba(128,128,128,.15);padding:8px 0;}
        .qa-dup-item:first-of-type{border-top:none;}
        .qa-dup-head{font-size:12px;color:var(--muted);}
        .qa-dup-q{font-size:13px;color:var(--ink);margin:3px 0;}
        .qa-dup-a{font-size:12px;color:var(--muted);}
        .qa-dup-actions{margin-top:6px;display:flex;gap:8px;flex-wrap:wrap;}
        .qa-dup-st{font-size:12px;font-weight:700;color:var(--muted);}
        .qa-split-warn-text{margin-top:4px;font-weight:500;color:var(--ink);font-size:12px;line-height:1.5;}
        .qa-kb-actions:not(:empty){margin-top:12px;}
        /* ── тёмная тема: убираем захардкоженные светлые поверхности (#fff / --soft) ── */
        body.theme-dark .qa-check{background:rgba(255,255,255,.04);}
        body.theme-dark .qa-filters-actions{background:rgba(255,255,255,.03);}
        body.theme-dark .qa-btn-ghost:hover{background:rgba(255,255,255,.06);}
        body.theme-dark .qa-modal-close{background:rgba(255,255,255,.04);}
        body.theme-dark .qa-btn-danger{background:transparent;}
        body.theme-dark .qa-mod-history{background:rgba(255,255,255,.03);}
        body.theme-dark .kc-warn{background:color-mix(in srgb,var(--kc-hot,#fb923c) 14%,transparent);border-color:color-mix(in srgb,var(--kc-hot,#fb923c) 32%,transparent);border-left-color:var(--kc-hot,#fb923c);color:#fbd7b0;}
        body.theme-dark .kc-kpi{background:rgba(255,255,255,.02);}
        /* ── Knowledge Center (Этап 5) ── */
        /* привязываем «сиротские» токены kc-* к теме приложения: убираем чужой фиолетовый #5b5bd6,
           чиним неопределённые --border/--text (иначе рамки резолвятся в currentColor) */
        #panelQaChat{--accent:var(--brand);--border:var(--stroke);--text:var(--ink);--kc-hot:#c2410c;}
        body.theme-dark #panelQaChat{--kc-hot:#fb923c;}
        .kc-subnav{display:flex;gap:4px;flex-wrap:wrap;margin:0 0 16px;border-bottom:1px solid var(--border);}
        .kc-tab{appearance:none;background:none;border:none;padding:9px 14px;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;}
        .kc-tab:hover{color:var(--text);}
        .kc-tab.active{color:var(--accent,#5b5bd6);border-bottom-color:var(--accent,#5b5bd6);}
        .kc-kpi-section{margin:0 0 22px;}
        .kc-kpi-section h4{display:flex;align-items:center;gap:9px;font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:0 0 12px;font-weight:800;}
        .kc-kpi-section h4::before{content:"";width:3px;height:14px;border-radius:2px;background:var(--brand);opacity:.9;flex:0 0 auto;}
        .kc-kpi-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;}
        .kc-kpi{position:relative;background:var(--card,#fff);border:1px solid var(--border);border-radius:14px;padding:16px 16px 15px;min-height:82px;cursor:default;transition:border-color .15s,box-shadow .15s,transform .15s;}
        .kc-kpi.clickable{cursor:pointer;}
        .kc-kpi.clickable:hover{border-color:var(--accent);box-shadow:0 6px 18px rgba(15,23,42,.09);transform:translateY(-2px);}
        .kc-kpi.clickable::after{content:"";position:absolute;top:14px;right:14px;width:6px;height:6px;border-top:1.5px solid var(--muted);border-right:1.5px solid var(--muted);transform:rotate(45deg);opacity:.3;transition:opacity .15s,border-color .15s;}
        .kc-kpi.clickable:hover::after{opacity:.85;border-color:var(--accent);}
        .kc-kpi .kc-kpi-val{font-size:28px;font-weight:800;line-height:1.02;letter-spacing:-.025em;font-variant-numeric:tabular-nums;color:var(--ink,#0f172a);}
        .kc-kpi .kc-kpi-val.zero{color:var(--muted);font-weight:700;opacity:.42;}
        .kc-kpi .kc-kpi-val.hot{color:var(--kc-hot);}
        .kc-kpi .kc-kpi-lbl{font-size:12px;line-height:1.32;color:var(--muted);margin-top:6px;font-weight:600;}
        .kc-kpi.risk{background:linear-gradient(180deg,color-mix(in srgb,var(--kc-hot) 6%,transparent),transparent 62%);border-color:color-mix(in srgb,var(--kc-hot) 22%,var(--border));}
        .kc-kpi.risk .kc-kpi-val:not(.zero){color:var(--kc-hot);}
        .kc-cov-bar{display:flex;height:20px;border-radius:999px;overflow:hidden;background:rgba(120,120,150,.10);box-shadow:inset 0 0 0 1px var(--border);gap:1px;}
        .kc-cov-seg{min-width:3px;transition:opacity .15s;cursor:default;}
        .kc-cov-seg:hover{opacity:.82;}
        .kc-cov-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;font-size:12px;}
        .kc-cov-legend span{display:inline-flex;align-items:center;gap:7px;color:var(--muted);background:var(--panel);border:1px solid var(--stroke);padding:5px 11px;border-radius:999px;font-weight:600;line-height:1.3;}
        .kc-cov-legend span b{color:var(--ink,#0f172a);font-weight:800;font-variant-numeric:tabular-nums;}
        .kc-dot{width:9px;height:9px;border-radius:3px;display:inline-block;flex:0 0 auto;}
        .kc-table{width:100%;border-collapse:collapse;font-size:13px;}
        .kc-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:9px 12px;border-bottom:1.5px solid var(--border);font-weight:700;}
        .kc-table td{padding:11px 12px;border-bottom:1px solid var(--border);vertical-align:middle;line-height:1.4;}
        .kc-table tbody tr:last-child td{border-bottom:none;}
        .kc-table tbody tr.clickable{cursor:pointer;transition:background .12s;}
        .kc-table tr.clickable:hover td{background:rgba(120,120,160,.06);}
        .kc-table td:first-child{max-width:420px;font-weight:600;color:var(--ink,#0f172a);}
        .kc-badge.sev-danger{background:#fef2f2;border-color:#fecaca;color:#b42318;}
        .kc-badge.sev-warning{background:#fffaeb;border-color:#fde68a;color:#b45309;}
        .kc-badge.sev-success{background:#ecfdf3;border-color:#a7f3d0;color:#027a48;}
        .kc-badge.sev-info{background:var(--surface,#f8fafc);color:var(--muted);}
        .kc-state-explain{font-size:13px;color:var(--muted);margin:0 0 10px;}
        .kc-metrics{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 14px;}
        .kc-metric{border:1px solid var(--border);border-radius:10px;padding:6px 10px;min-width:120px;}
        .kc-metric-label{display:block;font-size:11px;color:var(--muted);}
        .kc-metric b{font-size:15px;}
        .kc-metric b.sev-danger{color:#b42318;} .kc-metric b.sev-warning{color:#b45309;}
        .kc-metric b.sev-success{color:#027a48;}
        .kc-tech{margin:14px 0;font-size:12px;color:var(--muted);}
        .kc-tech pre{white-space:pre-wrap;overflow-wrap:anywhere;}
        .kc-wizard-steps{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px;}
        .kc-wizard-step{font-size:11px;padding:3px 8px;border-radius:999px;border:1px solid var(--border);color:var(--muted);}
        .kc-wizard-step.active{border-color:#2563eb;color:#2563eb;font-weight:700;}
        .kc-wizard-step.done{color:#027a48;border-color:#a7f3d0;}
        .kc-wizard-body{margin:0 0 14px;}
        .kc-case-quick{font-size:11px;padding:2px 4px;}
        .kc-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;border:1px solid var(--border);white-space:nowrap;}
        .kc-badge.st-RULE_PUBLISHED{background:#e6f6ec;color:#1a7f43;border-color:#bce4cb;}
        .kc-badge.st-RULE_APPROVED{background:#e8f0fe;color:#1a56b3;border-color:#c3d6f7;}
        .kc-badge.st-SIMILAR_QA{background:#eef2f7;color:#41618a;border-color:#d3dded;}
        .kc-badge.st-RULE_CANDIDATE{background:#fff6e5;color:#a5680a;border-color:#f0dcae;}
        .kc-badge.st-NO_KNOWLEDGE{background:#f1f1f4;color:#6b6b78;border-color:#dcdce2;}
        .kc-badge.st-STALE{background:#fdf0e2;color:#a2560d;border-color:#f2d4ac;}
        .kc-badge.st-CONFLICT{background:#fdeaea;color:#b42318;border-color:#f3c4c0;}
        .kc-badge.rs-candidate{background:#fff6e5;color:#a5680a;}
        .kc-badge.rs-review{background:#e8f0fe;color:#1a56b3;}
        .kc-badge.rs-approved{background:#e6f6ec;color:#1a7f43;}
        .kc-badge.rs-published{background:#d9f2e3;color:#0f6b39;}
        .kc-badge.rs-outdated{background:#fdf0e2;color:#a2560d;}
        .kc-badge.rs-rejected,.kc-badge.rs-draft{background:#f1f1f4;color:#6b6b78;}
        .kc-badge.ev-support{background:#e6f6ec;color:#1a7f43;}
        .kc-badge.ev-exception{background:#fff6e5;color:#a5680a;}
        .kc-badge.ev-conflict{background:#fdeaea;color:#b42318;}
        .kc-chips{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px;}
        .kc-chip{appearance:none;border:1px solid var(--border);background:var(--card,#fff);border-radius:999px;padding:5px 12px;font-size:12px;cursor:pointer;color:var(--muted);}
        .kc-chip.active{border-color:var(--accent,#5b5bd6);color:var(--accent,#5b5bd6);font-weight:600;}
        .kc-state{padding:34px 16px;text-align:center;color:var(--muted);font-size:13px;}
        .kc-skel{height:14px;border-radius:6px;background:linear-gradient(90deg,rgba(140,140,160,.12),rgba(140,140,160,.22),rgba(140,140,160,.12));background-size:200% 100%;animation:kcsk 1.2s infinite;margin:8px 0;}
        @keyframes kcsk{0%{background-position:200% 0;}100%{background-position:-200% 0;}}
        .kc-rule-block{margin:0 0 14px;}
        .kc-rule-block h5{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 4px;font-weight:700;}
        .kc-rule-block ul{margin:4px 0 0;padding-left:18px;}
        .kc-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0;}
        .kc-warn{background:#fdf0e2;border:1px solid #f2d4ac;border-left:3px solid #d98a2b;color:#8a4b09;border-radius:8px;padding:10px 13px;font-size:13px;line-height:1.45;margin:0 0 14px;}
        .kc-diff{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
        .kc-diff .kc-diff-col{border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:12px;}
        .kc-tip{cursor:help;border-bottom:1px dotted var(--muted);}
        @media(max-width:720px){.kc-diff{grid-template-columns:1fr;}}
        /* ── RAG / База знаний ── */
        .rag-chips{display:flex;gap:8px;flex-wrap:wrap;}
        .rag-chip{appearance:none;border:1px solid var(--border);background:var(--card,#fff);color:var(--muted);border-radius:999px;padding:6px 13px;font-size:12px;font-weight:600;cursor:pointer;transition:all .12s;line-height:1.2;}
        .rag-chip:hover{color:var(--text);border-color:var(--accent);}
        .rag-chip.active{background:var(--accent,#5b5bd6);border-color:var(--accent,#5b5bd6);color:#fff;}
        .rag-chip .rag-chip-n{opacity:.7;margin-left:6px;font-weight:700;font-variant-numeric:tabular-nums;}
        .rag-chip.active .rag-chip-n{opacity:.85;}
        /* единый поисковый ряд: поле тянется, кнопка — натуральной ширины, всё выровнено по низу */
        .rag-searchbar{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;}
        .rag-searchbar .qa-field{flex:1 1 240px;min-width:0;}
        .rag-searchbar .qa-field--sm{flex:0 1 160px;}
        .rag-searchbar .opis-btn,.rag-searchbar .opis-btn-primary{flex:0 0 auto;min-height:38px;display:inline-flex;align-items:center;justify-content:center;}
        /* статус-бейдж записи KB — на токенах, безопасен в тёмной теме, в одной палитре с .qa-badge */
        .kb-status{display:inline-flex;align-items:center;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:3px 9px;border-radius:999px;line-height:1.3;white-space:nowrap;}
        .kb-status.DRAFT{background:var(--panel);color:var(--muted);box-shadow:inset 0 0 0 1px var(--stroke);}
        .kb-status.APPROVED{background:var(--ai-dim);color:var(--ai);}
        .kb-status.PUBLISHED{background:var(--ok-dim);color:var(--ok);}
        .kb-status.STALE{background:var(--brand-dim);color:var(--brand);}
        .kb-status.ERROR{background:var(--warn-dim);color:var(--warn);}
        .kb-status.DEACTIVATED{background:var(--panel);color:var(--muted);box-shadow:inset 0 0 0 1px var(--stroke);}
        .rag-statusbar{display:flex;gap:8px 20px;flex-wrap:wrap;align-items:center;font-size:12.5px;color:var(--muted);background:var(--card,#fff);border:1px solid var(--border);border-radius:12px;padding:12px 16px;margin-bottom:16px;}
        .rag-statusbar b{font-size:15px;color:var(--text);font-variant-numeric:tabular-nums;}
        .rag-statusbar .rag-dot{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:7px;vertical-align:middle;}
        .rag-statusbar .rag-dot.on{background:var(--ok);}
        .rag-statusbar .rag-dot.off{background:var(--warn);}
        .rag-res{border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin-bottom:10px;background:var(--card,#fff);}
        .rag-res-head{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin-bottom:8px;}
        .rag-res-head .rag-res-title{font-weight:700;font-size:14px;color:var(--ink,#0f172a);}
        .rag-res-type{font-size:11px;font-weight:700;background:var(--panel);color:var(--muted);box-shadow:inset 0 0 0 1px var(--stroke);border-radius:6px;padding:2px 8px;text-transform:uppercase;}
        .rag-res-scores{margin-left:auto;display:flex;gap:12px;font-size:11.5px;color:var(--muted);}
        .rag-res-scores b{color:var(--accent,#5b5bd6);font-variant-numeric:tabular-nums;}
        .rag-res-excerpt{font-size:12.5px;line-height:1.5;color:var(--text);white-space:pre-wrap;background:rgba(120,120,160,.05);border-radius:8px;padding:10px 12px;margin-top:6px;}
        .rag-res-meta{font-size:11px;color:var(--muted);margin-top:8px;}
        .rag-hint{font-size:12px;line-height:1.5;color:var(--muted);margin:0 0 12px;}
        /* KB-таблица: на узких экранах горизонтальный скролл вместо схлопывания колонок */
        #ragKbList .kc-table{min-width:760px;}
        #ragKbList .kc-table td:first-child{white-space:normal;word-break:break-word;min-width:300px;}
        #ragKbList .kc-table th:first-child{min-width:300px;}
        #ragKbList .kc-table td:not(:first-child){white-space:nowrap;}
        .rag-md{white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.55;background:rgba(120,120,160,.05);border:1px solid var(--border);border-radius:8px;padding:14px 16px;overflow-x:auto;}
        .kb-detail dl{display:grid;grid-template-columns:150px 1fr;gap:6px 14px;font-size:13px;margin:0 0 14px;}
        .kb-detail dt{color:var(--muted);font-weight:600;}
        .kb-detail dd{margin:0;word-break:break-word;}
        .kb-detail h4{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:16px 0 5px;}
        .kb-detail .kb-text{font-size:13px;line-height:1.5;white-space:pre-wrap;}
        .rag-tabbtn{margin:0 0 12px;}
        @media(max-width:720px){.kb-detail dl{grid-template-columns:1fr;gap:2px;}.kb-detail dt{margin-top:8px;}}
        /* Mobile: keep actions compact and reserve the app navigation safe area. */
        @media(max-width:720px){
          #panelQaChat{gap:14px;min-width:0;}
          #panelQaChat .qa-page-header{padding-bottom:12px;}
          #panelQaChat .page-title{font-size:23px;line-height:1.2;overflow-wrap:anywhere;}
          #panelQaChat .page-sub{font-size:14px;line-height:1.45;margin-top:6px;}
          #panelQaChat .card,#panelQaChat .kc-view,#panelQaChat .qa-analytics-grid>*{min-width:0;max-width:100%;}
          #panelQaChat .qa-filters-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px;padding:14px;}
          #panelQaChat .qa-field{font-size:11px;line-height:1.3;letter-spacing:.025em;}
          #panelQaChat .qa-field-wide{grid-column:1/-1;}
          #panelQaChat .form-input,#panelQaChat .form-select{min-width:0;max-width:100%;min-height:44px;font-size:16px;line-height:1.25;}
          #panelQaChat input[type="date"]{display:block;min-width:0;padding:8px;}
          #panelQaChat input[type="date"]::-webkit-date-and-time-value{text-align:left;min-height:20px;}
          #panelQaChat .qa-more-filters{display:flex;align-items:center;gap:6px;width:100%;min-height:44px;padding:10px 14px;border:0;border-top:1px solid var(--stroke);background:var(--panel);color:var(--ink);font:inherit;font-size:14px;font-weight:600;text-align:left;cursor:pointer;}
          #panelQaChat .qa-more-arrow{margin-left:auto;}
          #panelQaChat .qa-more-filters[aria-expanded="true"] .qa-more-arrow{transform:rotate(180deg);}
          #panelQaChat .qa-extra-filters:not(.is-expanded){display:none;}
          #panelQaChat .qa-filters-checks{display:grid;gap:8px;padding:0 14px 14px;}
          #panelQaChat .qa-check{width:100%;min-height:44px;border-radius:10px;font-size:14px;line-height:1.35;padding:9px 10px;}
          #panelQaChat .qa-check input{flex:0 0 20px;width:20px;height:20px;}
          #panelQaChat .qa-filters-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px 14px;}
          #panelQaChat .opis-btn,#panelQaChat .kc-tab,#panelQaChat .kc-chip,#panelQaChat .rag-chip{min-height:44px;white-space:normal;overflow-wrap:anywhere;line-height:1.3;}
          #panelQaChat .qa-filters-actions .opis-btn{min-width:0;font-size:14px;padding:10px 8px;}
          #panelQaChat .qa-filters-actions [hidden]{display:none!important;}
          #qaLlmToggle,#ragAnswerBtn{grid-column:1/-1;}
          #panelQaChat .kc-subnav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:0;padding-bottom:10px;}
          #panelQaChat .kc-tab{padding:9px 8px;border:1px solid var(--stroke);border-radius:10px;margin:0;background:var(--card);font-size:13px;}
          #panelQaChat .kc-tab.active{border-color:var(--brand);background:var(--brand-dim);}
          #panelQaChat .kc-kpi-row,#panelQaChat .qa-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
          #panelQaChat .kc-kpi,#panelQaChat .qa-kpi-grid .kpi{min-width:0;padding:12px;}
          #panelQaChat .kc-kpi-val,#panelQaChat .qa-kpi-grid .kpi-value{font-size:26px;}
          #panelQaChat .qa-cases,#panelQaChat .qa-chart-card{padding:14px;}
          #panelQaChat .qa-chart-box canvas{max-width:100%;}
          #qaKpiTime{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px;}
          #qaKpiTime .kpi-s-chip{min-width:0;padding:0;align-items:flex-start;}
          #qaKpiTime .kpi-s-lbl{white-space:normal;font-size:11px;line-height:1.35;}
          #qaKpiTime .kpi-s-sep{display:none;}
          #panelQaChat .qa-cases-head{flex-wrap:wrap;gap:8px;}
          #panelQaChat .qa-case-date{margin-left:0;}
          #panelQaChat .qa-case-q,#panelQaChat .qa-case-meta,#panelQaChat .qa-m-text{overflow-wrap:anywhere;}
          #panelQaChat .qa-badge,#panelQaChat .kc-badge{max-width:100%;white-space:normal;overflow-wrap:anywhere;}
          #panelQaChat .qa-pager{flex-wrap:wrap;}
          #qaHealthBody>div{flex-wrap:wrap;gap:4px 12px;}
          #qaHealthBody>div>*{min-width:0;overflow-wrap:anywhere;}
          #qaPinCard .qa-cases-head>div{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;margin-left:0!important;}
          #qaPinCard .form-input,#qaPinCard .form-select{max-width:none!important;}
          #qaPinCategory{grid-column:1/-1;grid-row:2;}
          #qaPinFilter{grid-column:1/-1;}
          #panelQaChat .rag-searchbar{display:flex;align-items:stretch;}
          #panelQaChat .rag-searchbar .qa-field,#panelQaChat .rag-searchbar .opis-btn{flex:1 1 100%;}
          #panelQaChat .qa-modal-overlay{padding:calc(12px + var(--tg-inset-top,env(safe-area-inset-top,0px))) 10px calc(16px + var(--tg-inset-bottom,env(safe-area-inset-bottom,0px)));overscroll-behavior:contain;}
          #panelQaChat .qa-modal-card{min-width:0;padding:16px;border-radius:16px;overflow-wrap:anywhere;}
          #panelQaChat .qa-modal-close{top:12px;right:12px;width:44px;height:44px;}
          #panelQaChat .qa-m-title{font-size:22px;}
          #panelQaChat .qa-m-cell,#panelQaChat .qa-conv,#panelQaChat .qa-mod{padding:12px;min-width:0;}
          #panelQaChat .qa-m-cell-head,#panelQaChat .qa-conv-head{flex-wrap:wrap;gap:8px;}
          #panelQaChat .qa-msg{gap:8px;padding:8px 4px;}
          #panelQaChat .qa-msg-av{width:28px;height:28px;font-size:11px;}
          #panelQaChat .qa-msg--reply{margin-left:10px;}
          #panelQaChat .qa-mod-row,#panelQaChat .kc-actions{display:flex;flex-wrap:wrap;}
          #panelQaChat .qa-mod-row .form-input,#panelQaChat .qa-mod-row .form-select{flex:1 1 100%;max-width:100%!important;}
          #panelQaChat .qa-mod-row>.opis-btn,#panelQaChat .kc-actions>.opis-btn{flex:1 1 160px;min-width:0;}
        }
        @media(max-width:359px){
          #panelQaChat .qa-filters-row{grid-template-columns:minmax(0,1fr);}
          #panelQaChat .qa-field-wide{grid-column:auto;}
        }

.spec-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 18px;margin-bottom:14px;border-radius:14px;background:linear-gradient(180deg,var(--ai-dim,#eef2ff),#fff);border:1px solid var(--stroke);}
            .spec-head-ico{width:34px;height:34px;border-radius:10px;background:#fff;border:1px solid var(--stroke);display:flex;align-items:center;justify-content:center;font-size:17px;}
            .spec-card{border:1px solid var(--stroke);border-radius:14px;padding:16px 18px;margin-bottom:12px;background:#fff;box-shadow:0 1px 3px rgba(16,24,40,.05);transition:box-shadow .15s;}
            .spec-card:hover{box-shadow:0 4px 16px rgba(16,24,40,.08);}
            .spec-card.is-done{border-color:#d7eadf;background:#fcfffd;}
            .spec-card.is-nodm{background:#fafafa;}
            .spec-card-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;}
            .spec-card-kod{font-size:15px;font-weight:800;color:var(--ink);}
            .spec-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;}
            .spec-chip{display:inline-flex;align-items:center;gap:6px;background:var(--soft,#f4f6fb);border-radius:999px;padding:5px 11px;font-size:12px;color:var(--muted);}
            .spec-chip b{font-weight:800;color:var(--ink);}
            .spec-actions{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;}
            .spec-pin-field{flex:1;min-width:220px;max-width:360px;}
            .spec-pin-lbl{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.02em;margin-bottom:5px;display:block;}
            .spec-pin-wrap{position:relative;}
            .spec-pin-input{width:100%;padding:10px 12px;border:1px solid var(--stroke);border-radius:10px;font-size:13px;background:#fff;box-sizing:border-box;}
            .spec-pin-input:focus{outline:none;border-color:var(--accent,#f97316);box-shadow:0 0 0 3px rgba(249,115,22,.12);}
            .spec-template-panel{padding:16px 18px;margin:-4px 0 14px;background:#fff;border:1px solid var(--stroke);border-radius:14px;box-shadow:0 1px 3px rgba(16,24,40,.04);}
            .spec-template-panel-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
            .spec-template-panel-icon{width:32px;height:32px;border-radius:9px;background:var(--brand-dim,#fff1e8);color:var(--brand,#f97316);display:flex;align-items:center;justify-content:center;font-size:15px;flex:0 0 auto;}
            .spec-template-panel-icon svg{width:16px;height:16px;display:block;}
            .spec-template-panel-title{font-size:13px;font-weight:800;color:var(--ink);line-height:1.25;}
            .spec-template-panel-sub{font-size:11px;color:var(--muted);margin-top:2px;}
            .spec-template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,480px));gap:12px;}
            .spec-template-group{padding:12px;background:var(--field,#f8fafc);border:1px solid #e6eaf0;border-radius:11px;}
            .spec-template-group-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px;}
            .spec-template-group-label{font-size:11px;font-weight:750;color:var(--muted);letter-spacing:.02em;}
            .spec-template-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 7px;border-radius:999px;background:#fff;border:1px solid var(--stroke);font-size:10px;font-weight:800;color:var(--ink);}
            .spec-template-field{min-width:280px;max-width:460px;}
            .spec-pin-menu{position:absolute;top:calc(100% + 5px);left:0;right:0;max-height:240px;overflow:auto;background:#fff;border:1px solid var(--stroke);border-radius:10px;box-shadow:0 10px 34px rgba(16,24,40,.16);z-index:60;}
            .spec-pin-opt{padding:9px 12px;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer;}
            .spec-pin-opt:hover{background:var(--ai-dim,#eef2ff);}
            .spec-pin-empty{padding:11px 12px;color:var(--muted);font-size:12px;}
            /* ── Кастомный дропдаун выбора шаблона 1С (в стиле сайта вместо нативного <select>) ── */
            .ct-dd{position:relative;display:block;width:100%;}
            .ct-dd-trigger{position:relative;display:flex;align-items:center;width:100%;height:42px;padding:0 40px 0 13px;border:1px solid #d7dee8;border-radius:10px;background:#fff;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:13px;font-weight:600;line-height:1.2;text-align:left;box-sizing:border-box;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s;}
            .ct-dd-trigger:hover:not(:disabled){border-color:#aeb9c8;}
            .ct-dd-trigger:focus-visible{outline:none;border-color:var(--accent,#f97316);box-shadow:0 0 0 3px rgba(249,115,22,.12);}
            .ct-dd.is-open .ct-dd-trigger{border-color:var(--accent,#f97316);box-shadow:0 0 0 3px rgba(249,115,22,.12);}
            .ct-dd-trigger:disabled{color:#475569;background:#f5f7fa;border-color:#e0e5ec;cursor:default;}
            .ct-dd-value{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
            .ct-dd-value.is-placeholder{color:#94a3b8;font-weight:500;}
            .ct-dd-caret{position:absolute;right:13px;top:50%;width:16px;height:16px;transform:translateY(-50%);color:#64748b;pointer-events:none;transition:transform .18s;}
            .ct-dd.is-open .ct-dd-caret{transform:translateY(-50%) rotate(180deg);}
            .ct-dd-caret svg{width:16px;height:16px;display:block;}
            .ct-dd-menu{position:absolute;z-index:60;top:calc(100% + 6px);left:0;right:0;max-height:288px;overflow-y:auto;padding:6px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 14px 38px -10px rgba(16,24,40,.28),0 2px 8px rgba(16,24,40,.08);opacity:0;transform:translateY(-4px);pointer-events:none;visibility:hidden;transition:opacity .14s,transform .14s;}
            .ct-dd.is-open .ct-dd-menu{opacity:1;transform:none;pointer-events:auto;visibility:visible;}
            .ct-dd-opt{display:flex;align-items:center;gap:8px;width:100%;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:var(--ink);font-family:inherit;font-size:13px;font-weight:500;line-height:1.25;text-align:left;cursor:pointer;transition:background .12s;}
            .ct-dd-opt:hover{background:#f1f5f9;}
            .ct-dd-opt:focus{outline:none;}
            .ct-dd-opt:focus-visible{background:#f1f5f9;box-shadow:inset 0 0 0 1.5px var(--accent,#f97316);}
            .ct-dd-opt.is-selected{font-weight:700;color:var(--accent,#f97316);}
            .ct-dd-check{width:16px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;color:var(--accent,#f97316);}
            .ct-dd-check svg{width:15px;height:15px;display:block;}
            .ct-dd-opt-label{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
            .ct-dd-opt-pin{flex:0 0 auto;font-size:11px;font-weight:600;color:var(--muted);}
            .spec-card .cli-btn{margin-left:auto;}
            .spec-card .cli-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;}
            @media(max-width:700px){.spec-template-grid{grid-template-columns:1fr}.spec-template-field{min-width:100%;max-width:none}.spec-template-panel{padding:14px}.spec-actions{align-items:stretch}.spec-card .cli-btn{width:100%;margin-left:0}}

#markingDater{--dr-brand:#4338ca;--dr-brand-bg:#eef2ff;--dr-line:#e3e5ed;--dr-ink:#262b38;--dr-muted:#6b7085;--dr-ok:#2bab66;--dr-ok-bg:#f0fcf5;--dr-warn-bg:#fff7ed;--dr-warn-ink:#b45309;--dr-err-bg:#fef2f2;--dr-err-ink:#b91c1c;}
            #markingDater .dr-card{background:var(--card,#fff);border:1px solid var(--dr-line);border-radius:16px;padding:22px 24px;margin-bottom:16px;}
            #markingDater h1{margin:0;font-size:24px;font-weight:700;color:var(--dr-ink);}
            #markingDater .dr-sub{font-size:14px;color:var(--dr-muted);margin-top:8px;line-height:1.5;}
            #markingDater .dr-drop{border:2px dashed #c7ccdb;border-radius:14px;padding:30px 20px;text-align:center;transition:border-color .15s,background .15s;cursor:pointer;background:#fafbff;}
            #markingDater .dr-drop.drag{border-color:var(--dr-brand);background:var(--dr-brand-bg);}
            #markingDater .dr-drop-ic{font-size:38px;}
            #markingDater .dr-drop-t{font-size:15px;font-weight:600;color:var(--dr-ink);margin-top:10px;}
            #markingDater .dr-drop-s{font-size:12px;color:var(--dr-muted);margin-top:4px;}
            #markingDater .dr-file{display:flex;align-items:center;gap:10px;margin-top:14px;padding:12px 14px;border:1px solid var(--dr-line);border-radius:10px;font-size:13px;color:var(--dr-ink);background:#fff;}
            #markingDater .dr-file .nm{font-weight:600;word-break:break-all;}
            #markingDater .dr-file .sz{color:var(--dr-muted);white-space:nowrap;margin-left:auto;}
            #markingDater .dr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-top:16px;}
            #markingDater label.dr-lbl{display:block;font-size:13px;font-weight:600;color:var(--dr-ink);margin-bottom:6px;}
            #markingDater .dr-hint{font-size:11px;color:var(--dr-muted);font-weight:400;}
            #markingDater input.dr-inp{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #d4d8e4;border-radius:10px;font-size:14px;color:var(--dr-ink);background:#fff;font-variant-numeric:tabular-nums;}
            #markingDater input.dr-inp:focus{outline:none;border-color:var(--dr-brand);box-shadow:0 0 0 3px var(--dr-brand-bg);}
            #markingDater input.dr-inp.bad{border-color:#f0b4b4;}
            #markingDater .dr-pairs-head{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr)) 34px;gap:8px;margin:16px 0 6px;font-size:13px;font-weight:600;color:var(--dr-ink);}
            #markingDater .dr-pairs-head span{flex:1;min-width:130px;}
            #markingDater .dr-pairs-head span:last-child{max-width:none;}
            #markingDater .dr-pair-row{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr)) 34px;align-items:start;gap:8px;margin-bottom:10px;}
            #markingDater .dr-field-hint{display:block;font-size:11px;color:var(--dr-muted);margin:3px 2px 0;line-height:1.35;}
            #markingDater .dr-arrow{color:var(--dr-muted);font-weight:700;flex:0 0 auto;}
            #markingDater .dr-rm{border:1px solid var(--dr-line);background:#fff;color:var(--dr-err-ink);border-radius:8px;width:34px;height:40px;cursor:pointer;flex:0 0 auto;font-size:15px;line-height:1;}
            #markingDater .dr-rm[hidden]{display:none;}
            #markingDater .dr-btn{border:0;border-radius:12px;padding:12px 22px;font-size:14px;font-weight:600;cursor:pointer;}
            #markingDater .dr-btn-primary{background:var(--dr-brand);color:#fff;}
            #markingDater .dr-btn-primary:disabled{opacity:.5;cursor:not-allowed;}
            #markingDater .dr-btn-ghost{background:#fff;border:1px solid #d4d8e4;color:#40465a;}
            #markingDater .dr-btn-danger{background:#fff;border:1px solid #f0b4b4;color:var(--dr-err-ink);}
            #markingDater .dr-btn-ok{background:var(--dr-ok);color:#fff;}
            #markingDater .dr-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;}
            #markingDater .dr-bar{height:10px;border-radius:5px;background:#e5e8f0;overflow:hidden;margin-top:14px;}
            #markingDater .dr-bar>i{display:block;height:100%;background:var(--dr-brand);width:0;transition:width .3s;}
            #markingDater .dr-bar.done>i{background:var(--dr-ok);}
            #markingDater .dr-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-top:18px;}
            #markingDater .dr-stat{border:1px solid var(--dr-line);border-radius:12px;padding:12px 14px;background:#fff;}
            #markingDater .dr-stat .v{font-size:22px;font-weight:700;color:var(--dr-ink);font-variant-numeric:tabular-nums;}
            #markingDater .dr-stat .l{font-size:12px;color:var(--dr-muted);margin-top:3px;}
            #markingDater .dr-status{font-size:14px;font-weight:600;color:var(--dr-brand);margin-top:14px;}
            #markingDater .dr-note{border-radius:10px;padding:12px 14px;font-size:13px;line-height:1.5;margin-top:14px;}
            #markingDater .dr-note.warn{background:var(--dr-warn-bg);color:var(--dr-warn-ink);}
            #markingDater .dr-note.err{background:var(--dr-err-bg);color:var(--dr-err-ink);}
            #markingDater .dr-note.ok{background:var(--dr-ok-bg);color:#1a7345;}
            #markingDater .dr-note.info{background:var(--dr-brand-bg);color:#3730a3;}
            #markingDater .dr-hidden{display:none !important;}
            #markingDater .dr-probe{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:12px;font-size:13px;color:var(--dr-ink);}
            #markingDater .dr-probe b{font-variant-numeric:tabular-nums;}
            #markingDater .dr-failpages{font-size:13px;color:var(--dr-err-ink);word-break:break-word;line-height:1.6;margin-top:6px;font-variant-numeric:tabular-nums;}
            #markingDater .dr-job-rules{font-size:12px;color:var(--dr-muted);line-height:1.55;margin-top:8px;}
            #markingDater .dr-hist-item{border:1px solid var(--dr-line);border-radius:12px;padding:12px 14px;margin-bottom:10px;background:#fff;display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;}
            #markingDater .dr-hist-main{flex:1;min-width:180px;}
            #markingDater .dr-hist-nm{font-size:13px;font-weight:600;color:var(--dr-ink);word-break:break-all;}
            #markingDater .dr-hist-meta{font-size:11.5px;color:var(--dr-muted);margin-top:4px;line-height:1.5;}
            #markingDater .dr-hist-rules{margin-top:6px;display:flex;flex-direction:column;gap:3px;}
            #markingDater .dr-hist-rule{font-size:11.5px;color:var(--dr-ink);background:var(--dr-brand-bg);border-radius:7px;padding:3px 8px;display:inline-block;width:fit-content;max-width:100%;font-variant-numeric:tabular-nums;line-height:1.45;}
            #markingDater .dr-hist-rule.legacy{background:#f3f4f6;color:var(--dr-muted);}
            #markingDater .dr-hist-more{border:0;background:none;padding:2px 0;font-size:11.5px;color:var(--dr-brand);cursor:pointer;text-align:left;width:fit-content;text-decoration:underline;}
            #markingDater .dr-hist-badge{display:inline-block;font-size:11px;font-weight:600;padding:2px 9px;border-radius:20px;white-space:nowrap;}
            #markingDater .dr-hist-badge.ok{background:var(--dr-ok-bg);color:#1a7345;}
            #markingDater .dr-hist-badge.err{background:var(--dr-err-bg);color:var(--dr-err-ink);}
            #markingDater .dr-hist-badge.warn{background:var(--dr-warn-bg);color:var(--dr-warn-ink);}
            #markingDater .dr-hist-badge.info{background:var(--dr-brand-bg);color:#3730a3;}
            #markingDater .dr-hist-act{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
            #markingDater .dr-hist-dl{border:0;border-radius:9px;padding:8px 14px;font-size:12.5px;font-weight:600;cursor:pointer;background:var(--dr-ok);color:#fff;}
            #markingDater .dr-hist-del{border:1px solid var(--dr-line);border-radius:9px;padding:8px 12px;font-size:12.5px;font-weight:600;cursor:pointer;background:#fff;color:var(--dr-err-ink);}
            #markingDater .dr-hist-del:hover{background:var(--dr-err-bg);border-color:#f0b4b4;}
            #markingDater .dr-hist-del:disabled{opacity:.55;cursor:not-allowed;}
            #markingDater .dr-hist-empty{font-size:13px;color:var(--dr-muted);padding:6px 2px;}
            #markingDater [hidden]{display:none !important;}
            #markingDater .dr-tabs{display:flex;gap:8px;margin:0 0 16px;flex-wrap:wrap;}
            #markingDater .dr-tab{border:1px solid var(--dr-line);background:#fff;color:#40465a;border-radius:12px;padding:10px 18px;font-size:14px;font-weight:600;cursor:pointer;}
            #markingDater .dr-tab.active{background:var(--dr-brand);border-color:var(--dr-brand);color:#fff;}
            #markingDater .dr-groups{display:flex;flex-direction:column;gap:12px;margin-top:14px;}
            #markingDater .dr-group{border:1px solid var(--dr-line);border-radius:12px;padding:12px 14px;display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap;background:#fff;}
            #markingDater .dr-group.off{opacity:.5;}
            #markingDater .dr-group img{max-width:230px;border:1px solid var(--dr-line);border-radius:8px;background:#fff;}
            #markingDater .dr-group-body{flex:1;min-width:200px;}
            #markingDater .dr-group-t{font-size:13px;font-weight:600;color:var(--dr-ink);}
            #markingDater .dr-group-m{font-size:12px;color:var(--dr-muted);margin-top:3px;line-height:1.5;}
            #markingDater .dr-group-letter{display:inline-block;font-size:11px;font-weight:700;background:var(--dr-brand-bg);color:#3730a3;border-radius:6px;padding:2px 8px;margin-right:6px;}
            #markingDater .dr-inline{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin-top:10px;}
            #markingDater .dr-inline label{font-size:12px;color:var(--dr-muted);display:block;margin-bottom:4px;}
            #markingDater .dr-inline input.dr-inp,#markingDater .dr-inline select.dr-inp{width:auto;min-width:110px;padding:8px 10px;font-size:13px;}
            #markingDater select.dr-inp{border:1px solid #d4d8e4;border-radius:10px;background:#fff;color:var(--dr-ink);}
            #markingDater .dr-sel-label{display:block;font-size:12px;color:var(--dr-muted);margin-bottom:4px;}
            #markingDater .dr-sel{position:relative;min-width:170px;}
            #markingDater .dr-sel-btn{display:flex;align-items:center;gap:10px;width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid #d4d8e4;border-radius:10px;background:#fff;color:var(--dr-ink);font-size:13px;font-weight:500;cursor:pointer;text-align:left;}
            #markingDater .dr-sel-btn:hover{border-color:#b9c0d4;}
            #markingDater .dr-sel-btn:focus-visible{outline:none;border-color:var(--dr-brand);box-shadow:0 0 0 3px var(--dr-brand-bg);}
            #markingDater .dr-sel-arr{margin-left:auto;color:var(--dr-muted);font-size:11px;transition:transform .15s;}
            #markingDater .dr-sel.open .dr-sel-btn{border-color:var(--dr-brand);box-shadow:0 0 0 3px var(--dr-brand-bg);}
            #markingDater .dr-sel.open .dr-sel-arr{transform:rotate(180deg);}
            #markingDater .dr-sel-list{position:absolute;z-index:30;top:calc(100% + 6px);left:0;right:0;margin:0;padding:6px;list-style:none;background:#fff;border:1px solid var(--dr-line);border-radius:12px;box-shadow:0 12px 28px rgba(28,32,48,.14);max-height:260px;overflow:auto;}
            #markingDater .dr-sel-list li{padding:9px 10px 9px 30px;border-radius:8px;font-size:13px;color:var(--dr-ink);cursor:pointer;position:relative;white-space:nowrap;}
            #markingDater .dr-sel-list li:hover,#markingDater .dr-sel-list li.active{background:var(--dr-brand-bg);}
            #markingDater .dr-sel-list li[aria-selected="true"]{font-weight:600;}
            #markingDater .dr-sel-list li[aria-selected="true"]::before{content:'✓';position:absolute;left:10px;color:var(--dr-brand);font-weight:700;}
            #markingDater .dr-check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--dr-ink);margin-top:12px;}
            #markingDater .dr-files{display:flex;flex-direction:column;gap:8px;margin-top:12px;}
            #markingDater .dr-file-row{display:flex;gap:10px;align-items:center;justify-content:space-between;border:1px solid var(--dr-line);border-radius:10px;padding:10px 12px;font-size:13px;flex-wrap:wrap;}
            @media(max-width:640px){
              #markingDater .dr-pairs-head{display:none;}
              #markingDater .dr-pair-row{grid-template-columns:1fr 34px;padding:12px;border:1px solid var(--dr-line);border-radius:12px;}
              #markingDater .dr-pair-field{grid-column:1 / -1;}
              #markingDater .dr-pair-row .dr-rm{grid-column:2;grid-row:1;justify-self:end;}
            }

.mobile-nav{display:none;}
  .mobile-menu{border:1px solid var(--stroke);border-radius:22px 22px 0 0;padding:0;color:var(--ink);background:var(--card);width:min(100%,520px);max-width:100%;max-height:80vh;max-height:80dvh;margin:auto auto 0;box-sizing:border-box;}
  .mobile-menu::backdrop{background:rgba(15,23,42,.45);}
  .mobile-menu-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--stroke);}
  .mobile-menu-head h2{font-size:18px;margin:0;}
  .mobile-menu-close{width:44px;height:44px;border:1px solid var(--stroke);border-radius:12px;background:var(--panel);color:inherit;font:inherit;font-size:24px;cursor:pointer;}
  .mobile-menu-list{min-height:0;padding:8px 12px max(16px,env(safe-area-inset-bottom,0px),var(--tg-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain;}
  .mobile-menu[open]{display:flex;flex-direction:column;}
  .mobile-menu-item{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:12px;border:0;border-radius:12px;background:none;color:inherit;font:inherit;font-size:15px;line-height:1.4;text-align:left;cursor:pointer;}
  .mobile-menu-item span:last-child{min-width:0;overflow-wrap:anywhere;}
  .mobile-menu-item.active{background:var(--brand-dim);color:var(--brand);font-weight:700;}
  .mobile-menu-item:disabled{opacity:.45;cursor:default;}
  .mobile-menu-item .si-icon{flex:0 0 28px;min-width:28px;}
  @media(max-width:768px){
    body.mobile-nav-ready .sidebar{display:none;}
    body.mobile-nav-ready{--mobile-nav-height:72px;--mobile-nav-safe:max(env(safe-area-inset-bottom,0px),var(--tg-inset-bottom,0px));}
    .mobile-nav{position:fixed;inset:auto 0 0;z-index:120;display:flex;gap:2px;padding:6px max(4px,env(safe-area-inset-right,0px)) calc(6px + var(--mobile-nav-safe)) max(4px,env(safe-area-inset-left,0px));background:rgba(255,255,255,.97);border-top:1px solid var(--stroke);box-shadow:0 -4px 20px rgba(15,23,42,.06);}
    .mobile-nav-button{flex:1 1 0;min-width:0;min-height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:3px 0;border:0;border-radius:12px;background:none;color:#536278;font:inherit;font-size:11px;font-weight:600;line-height:15px;cursor:pointer;}
    .mobile-nav-button .si-icon{width:40px;min-width:40px;height:28px;border-radius:10px;}
    .mobile-nav-button svg{width:22px;height:22px;}
    .mobile-nav-button.active{color:var(--brand);}
    .mobile-nav-button.active .si-icon{background:var(--brand-dim);}
    .mobile-nav-button:focus-visible,.mobile-menu-item:focus-visible{outline:2px solid var(--brand);outline-offset:-2px;}
    body.mobile-nav-ready .page-content{padding-bottom:calc(var(--mobile-nav-height) + var(--mobile-nav-safe) + 20px);}
    body.mobile-nav-ready .mobile-actionbar{bottom:calc(var(--mobile-nav-height) + var(--mobile-nav-safe));}
    body.mobile-nav-ready .page-content:has(#panelClient:not([hidden])){padding-bottom:calc(var(--mobile-nav-height) + var(--mobile-nav-safe) + 100px);}
    body.mobile-nav-ready #admPanel{bottom:calc(var(--mobile-nav-height) + var(--mobile-nav-safe));}
    html{scroll-padding-bottom:calc(92px + max(env(safe-area-inset-bottom,0px),var(--tg-inset-bottom,0px)));}
  }
  @media(max-width:360px){.mobile-nav-button{font-size:10px;}}

.mobile-edit-bar{display:none;}
  @media(max-width:768px){
    input:not([type=checkbox]):not([type=radio]),textarea,select{font-size:16px!important;}
    .mobile-edit-bar:not([hidden]){position:fixed;left:0;right:0;z-index:2100;display:flex;gap:8px;align-items:center;padding:8px 12px;background:var(--card,#fff);border-top:1px solid var(--stroke,#ddd);box-shadow:0 -4px 16px #0f172a12;box-sizing:border-box;}
    .mobile-edit-bar button{min-height:44px;flex:1;min-width:0;padding:8px;border:1px solid var(--stroke,#ddd);border-radius:12px;background:var(--panel,#f7f8fa);color:var(--ink,#172033);font:inherit;font-size:14px;font-weight:700;line-height:18px;}
    .mobile-edit-bar button[data-save]{background:var(--brand,#ff5a00);border-color:var(--brand,#ff5a00);color:#fff;}
    .mobile-edit-bar button:disabled{opacity:.5;}
    body.mobile-editing .mobile-nav{visibility:hidden;}
    body.mobile-editing .page-content{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px));}
    body.mobile-keyboard .wr-overlay{top:var(--edit-view-top,0px);bottom:auto;height:var(--edit-view-height,100dvh);}
    body.mobile-keyboard .wr-body{min-height:0;padding-bottom:24px;}
    body.mobile-keyboard .wr-foot{display:none;}
    body.mobile-keyboard .wr-head{padding-top:10px;}
  }
