/* Новый стиль «как ЛК Ozon» (пилот). Действует ТОЛЬКО при html.ozv2.
   Включить: ?ozv2=1, выключить: ?ozv2=0 (запоминается в браузере).
   Разделы: Дашборд, Фулфилмент, Товары, Расчёт потребности, Защита от копий, Этикетки, Тарифы, Настройки бронирований, Инструкции, Рефералка, Техподдержка, Новости, Обратная связь. */
@import url('https://fonts.googleapis.com/css2?family=Onest:wght@400;500;600;700&display=swap');

html.ozv2 {
    --v2-tray: rgba(171, 188, 213, .12);
    --v2-ink: #070707;
    --v2-mut: rgba(0, 26, 51, .6);
    --v2-line: rgba(124, 155, 181, .23);
    --v2-blue: #005bff;
    --v2-blue-soft: rgba(55, 175, 255, .1);
    --v2-red: #df2059;
    --v2-red-soft: #fde5ec;
    --v2-r-card: 24px;
    --v2-r-plate: 20px;
    --v2-r-row: 12px;
    --v2-r-ctl: 8px;
}

/* ---------- Общая типографика разделов ---------- */
html.ozv2 #main-tabs, html.ozv2 .sub-tabs, html.ozv2 #dashboard-mode-plaque,
html.ozv2 #panel-history, html.ozv2 #panel-archive, html.ozv2 #panel-ozon,
html.ozv2 .ff-page {
    font-family: Onest, -apple-system, system-ui, sans-serif;
    color: var(--v2-ink);
}

/* ---------- Табы: подчёркивание inset-тенью ---------- */
html.ozv2 #main-tabs, html.ozv2 .sub-tabs:not(.hidden) {
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: inset 0 -2px 0 rgba(149, 166, 182, .18);
    padding: 0;
    gap: 24px;
    margin-bottom: 16px;
}
html.ozv2 .main-tab, html.ozv2 .sub-tab {
    flex: 0 0 auto;
    min-width: 0;
    padding: 10px 0;
    font-size: 16px;
    font-weight: 400;
    color: var(--v2-mut);
    border: none;
    border-bottom: 2px solid transparent;
}
html.ozv2 .main-tab:hover, html.ozv2 .sub-tab:hover { color: var(--v2-ink); }
html.ozv2 .main-tab.active, html.ozv2 .sub-tab.active {
    color: var(--v2-ink);
    font-weight: 500;
    border-bottom-color: var(--v2-blue);
}

/* ---------- Плашка-подсказка ---------- */
html.ozv2 #dashboard-mode-plaque {
    background: var(--v2-tray);
    border: none;
    border-radius: var(--v2-r-card);
    padding: 16px 20px;
    color: var(--v2-mut);
    font-size: 15px;
    box-shadow: none;
}

/* ---------- Карточка-лоток: подложка + белые плитки ---------- */
html.ozv2 #panel-history, html.ozv2 #panel-archive, html.ozv2 #panel-ozon,
html.ozv2 .ff-panel {
    background: var(--v2-tray);
    border: none;
    border-radius: var(--v2-r-card);
    box-shadow: none;
    padding: 4px;
}
html.ozv2 #panel-history .ozon-panel-toolbar,
html.ozv2 #panel-archive .ozon-panel-toolbar,
html.ozv2 #panel-ozon .ozon-panel-toolbar {
    background: #fff;
    border-radius: var(--v2-r-plate);
    padding: 12px 16px;
    margin-bottom: 4px;
}
html.ozv2 #panel-history .ozon-table-wrap,
html.ozv2 #panel-archive .ozon-table-wrap,
html.ozv2 #panel-ozon .ozon-table-wrap {
    background: #fff;
    border-radius: var(--v2-r-plate);
    padding: 4px 8px;
}

/* ---------- Поиск, даты, селекты ---------- */
html.ozv2 #panel-history .ozon-search-wrap, html.ozv2 #panel-archive .ozon-search-wrap,
html.ozv2 #panel-ozon .ozon-search-wrap {
    border: none;
    border-radius: var(--v2-r-row);
    background: var(--v2-tray);
    padding: 9px 12px;
}
html.ozv2 #panel-history .ozon-search-input, html.ozv2 #panel-archive .ozon-search-input,
html.ozv2 #panel-ozon .ozon-search-input { background: transparent; font-family: inherit; }
html.ozv2 #panel-history .ozon-date-filter-input, html.ozv2 #panel-archive .ozon-date-filter-input,
html.ozv2 #panel-ozon .ozon-date-filter-input,
html.ozv2 .ff-page .ff-input {
    border: none;
    border-radius: var(--v2-r-row);
    background: var(--v2-tray);
    box-shadow: inset 0 0 0 1px transparent;
    font-family: inherit;
    transition: box-shadow .15s, background .15s;
}
html.ozv2 #panel-history .ozon-date-filter-input:focus, html.ozv2 #panel-archive .ozon-date-filter-input:focus,
html.ozv2 #panel-ozon .ozon-date-filter-input:focus,
html.ozv2 .ff-page .ff-input:focus {
    background: #fff;
    box-shadow: inset 0 0 0 1px var(--v2-blue);
    outline: none;
}
html.ozv2 .ff-page .ff-input.ff-input-warn { box-shadow: inset 0 0 0 1px #e59900; background: #fff7d1; }

/* ---------- Таблицы: строки с inset-разделителем ---------- */
html.ozv2 #panel-history .ozon-orders-table, html.ozv2 #panel-archive .ozon-orders-table,
html.ozv2 #panel-ozon .ozon-orders-table,
html.ozv2 .ff-page .ff-table { font-size: 14px; border-collapse: separate; border-spacing: 0; }
html.ozv2 #panel-history .ozon-orders-table th, html.ozv2 #panel-archive .ozon-orders-table th,
html.ozv2 #panel-ozon .ozon-orders-table th,
html.ozv2 .ff-page .ff-table th {
    background: #fff;
    border: none;
    box-shadow: inset 0 -1px 0 var(--v2-line);
    color: var(--v2-mut);
    font-weight: 500;
    font-size: 13px;
    text-transform: none;
    letter-spacing: 0;
    padding: 12px;
}
html.ozv2 #panel-history .ozon-orders-table td, html.ozv2 #panel-archive .ozon-orders-table td,
html.ozv2 #panel-ozon .ozon-orders-table td,
html.ozv2 .ff-page .ff-table td {
    border: none;
    box-shadow: inset 0 -1px 0 var(--v2-line);
    padding: 12px;
}
html.ozv2 #panel-history .ozon-orders-table tbody tr:last-child td,
html.ozv2 #panel-archive .ozon-orders-table tbody tr:last-child td,
html.ozv2 #panel-ozon .ozon-orders-table tbody tr:last-child td,
html.ozv2 .ff-page .ff-table tr:last-child td { box-shadow: none; }
html.ozv2 #panel-history .ozon-orders-table tbody tr:hover,
html.ozv2 #panel-archive .ozon-orders-table tbody tr:hover,
html.ozv2 #panel-ozon .ozon-orders-table tbody tr:hover { background: transparent; }
html.ozv2 #panel-history .ozon-orders-table tbody tr:hover td,
html.ozv2 #panel-archive .ozon-orders-table tbody tr:hover td,
html.ozv2 #panel-ozon .ozon-orders-table tbody tr:hover td,
html.ozv2 .ff-page .ff-table tr:hover td { background: var(--v2-tray); }
/* сохраняем красную метку просрочки поверх разделителя */
html.ozv2 #panel-ozon .ozon-orders-table tbody tr.ozon-order-row-expiry-warning td:first-child {
    box-shadow: inset 4px 0 0 #dc2626, inset 0 -1px 0 var(--v2-line);
}
html.ozv2 .ozon-orders-table th .th-sub { color: var(--v2-mut); font-weight: 400; }

/* ---------- Кнопки ---------- */
html.ozv2 #panel-history .oz-btn, html.ozv2 #panel-archive .oz-btn, html.ozv2 #panel-ozon .oz-btn,
html.ozv2 .ff-page .ff-btn {
    border: none;
    border-radius: var(--v2-r-ctl);
    min-height: 36px;
    font-family: inherit;
    font-weight: 600;
    box-shadow: none;
}
html.ozv2 #panel-history .oz-btn-primary, html.ozv2 #panel-archive .oz-btn-primary,
html.ozv2 #panel-ozon .oz-btn-primary,
html.ozv2 .ff-page .ff-btn-primary { background: var(--v2-blue); color: #fff; }
html.ozv2 #panel-history .oz-btn-soft, html.ozv2 #panel-archive .oz-btn-soft, html.ozv2 #panel-ozon .oz-btn-soft,
html.ozv2 .ff-page .ff-btn-secondary, html.ozv2 .ff-page .ff-btn-ghost {
    background: var(--v2-blue-soft);
    color: var(--v2-blue);
}
html.ozv2 .ff-page .ff-btn-secondary:hover, html.ozv2 .ff-page .ff-btn-ghost:hover,
html.ozv2 #panel-history .oz-btn-soft:hover, html.ozv2 #panel-ozon .oz-btn-soft:hover { background: rgba(55, 175, 255, .18); }
html.ozv2 #panel-history .ozon-btn-delete, html.ozv2 #panel-archive .ozon-btn-delete, html.ozv2 #panel-ozon .ozon-btn-delete {
    background: var(--v2-red-soft);
    color: var(--v2-red);
    border: none;
    border-radius: var(--v2-r-ctl);
    font-weight: 600;
}
html.ozv2 .history-selected-count {
    background: var(--v2-tray);
    color: var(--v2-mut);
    border-radius: var(--v2-r-ctl);
    padding: 2px 8px;
    font-size: 13px;
    font-weight: 600;
}

/* ---------- Фулфилмент: шапка, табы, блоки ---------- */
html.ozv2 .ff-hero {
    background: transparent;
    border: none;
    padding: 0 0 4px;
    margin-bottom: 12px;
}
html.ozv2 .ff-hero h3 { color: var(--v2-ink); font-size: 26px; font-weight: 700; line-height: 30px; }
html.ozv2 .ff-hero p { color: var(--v2-mut); font-size: 15px; }
html.ozv2 .ff-tabs {
    border: none;
    box-shadow: inset 0 -2px 0 rgba(149, 166, 182, .18);
    gap: 24px;
}
html.ozv2 .ff-tab {
    padding: 10px 0;
    font-size: 16px;
    font-weight: 400;
    color: var(--v2-mut);
    border-bottom: 2px solid transparent;
}
html.ozv2 .ff-tab.active { color: var(--v2-ink); font-weight: 500; border-bottom-color: var(--v2-blue); }
html.ozv2 .ff-tab:hover:not(.active) { color: var(--v2-ink); }

/* внутри лотка — белые плитки с радиусом 20 и шагом 4px */
html.ozv2 .ff-panel > * { margin-bottom: 4px !important; }
html.ozv2 .ff-panel > *:last-child { margin-bottom: 0 !important; }
html.ozv2 .ff-defaults, html.ozv2 .ff-product-search, html.ozv2 .ff-toolbar,
html.ozv2 .ff-table-wrap, html.ozv2 .ff-vyvoz, html.ozv2 .ff-boxes-step,
html.ozv2 .ff-shipping-upload, html.ozv2 .ff-hint-row {
    background: #fff !important;
    border: none !important;
    border-radius: var(--v2-r-plate) !important;
    padding: 16px;
    box-shadow: none;
}
html.ozv2 .ff-table-wrap { padding: 4px 8px; }
html.ozv2 .ff-defaults-title, html.ozv2 .ff-boxes-step-title { font-size: 15px; font-weight: 600; color: var(--v2-mut); }
html.ozv2 .ff-field > span { color: var(--v2-mut); font-size: 13px; font-weight: 500; }
html.ozv2 .ff-shipping-dropzone, html.ozv2 #ff-vyvoz-dropzone {
    border: 1.5px dashed var(--v2-line) !important;
    border-radius: var(--v2-r-row) !important;
    background: var(--v2-tray) !important;
}
html.ozv2 .ff-product-suggestions {
    border: none;
    border-radius: var(--v2-r-row);
    box-shadow: 0 4px 16px rgba(0, 26, 51, .12);
}
html.ozv2 .ff-progress-card { border-radius: var(--v2-r-card); box-shadow: 0 4px 16px rgba(0, 26, 51, .12); }

/* ================= Товары (#panel-products) ================= */
html.ozv2 #panel-products {
    font-family: Onest, -apple-system, system-ui, sans-serif;
    color: var(--v2-ink);
    background: var(--v2-tray);
    border-radius: var(--v2-r-card);
    box-shadow: none;
    padding: 4px;
}
html.ozv2 #panel-products .products-subtabs {
    background: #fff;
    border: none;
    border-radius: var(--v2-r-plate);
    box-shadow: none;
    padding: 0 16px;
    gap: 24px;
    margin-bottom: 4px;
}
html.ozv2 #panel-products .oz-tab {
    padding: 14px 0 12px;
    font-size: 16px;
    font-weight: 400;
    color: var(--v2-mut);
    border-bottom: 2px solid transparent;
}
html.ozv2 #panel-products .oz-tab.is-active { color: var(--v2-ink); font-weight: 500; border-bottom-color: var(--v2-blue); }
html.ozv2 #panel-products .ozon-panel-toolbar,
html.ozv2 #panel-products .ozon-table-wrap,
html.ozv2 #panel-products .products-pane > .oz-card {
    background: #fff;
    border-radius: var(--v2-r-plate);
    box-shadow: none;
    margin-bottom: 4px;
}
html.ozv2 #panel-products .ozon-panel-toolbar { padding: 12px 16px; }
html.ozv2 #panel-products .ozon-table-wrap { padding: 4px 8px; }
html.ozv2 #panel-products .products-refresh-btn {
    background: var(--v2-blue-soft) !important;
    color: var(--v2-blue) !important;
    border: none !important;
    border-radius: var(--v2-r-ctl) !important;
    padding: 0 16px !important;
    min-height: 40px;
    font-family: inherit;
    font-size: 15px !important;
    font-weight: 600 !important;
}
html.ozv2 #panel-products .products-refresh-btn:hover { background: rgba(55, 175, 255, .18) !important; }
html.ozv2 #panel-products .ozon-search-wrap {
    border: none;
    border-radius: var(--v2-r-row);
    background: var(--v2-tray);
    padding: 9px 12px;
}
html.ozv2 #panel-products .ozon-search-input { background: transparent; font-family: inherit; }
html.ozv2 #panel-products .products-filter-select,
html.ozv2 #panel-products input:not([type=checkbox]):not([type=radio]) {
    border: none;
    border-radius: var(--v2-r-row);
    background: var(--v2-tray);
    font-family: inherit;
    font-weight: 400;
    color: var(--v2-ink);
}
html.ozv2 #panel-products .ozon-search-wrap input { background: transparent; }
html.ozv2 #panel-products .products-summary { color: var(--v2-mut); font-size: 13px; margin: 4px 12px; }
html.ozv2 #panel-products .ozon-orders-table { font-size: 14px; border-collapse: separate; border-spacing: 0; }
html.ozv2 #panel-products .ozon-orders-table th {
    background: #fff;
    border: none;
    box-shadow: inset 0 -1px 0 var(--v2-line);
    color: var(--v2-mut);
    font-weight: 500;
    font-size: 13px;
    padding: 12px;
}
html.ozv2 #panel-products .ozon-orders-table td { border: none; box-shadow: inset 0 -1px 0 var(--v2-line); padding: 12px; }
html.ozv2 #panel-products .ozon-orders-table tbody tr:last-child td { box-shadow: none; }
html.ozv2 #panel-products .ozon-orders-table tbody tr:hover { background: transparent; }
html.ozv2 #panel-products .ozon-orders-table tbody tr:hover td { background: var(--v2-tray); }
html.ozv2 #panel-products .ozon-orders-table img { border-radius: var(--v2-r-ctl); }
html.ozv2 #panel-products .oz-btn { border: none; border-radius: var(--v2-r-ctl); font-family: inherit; font-weight: 600; }
html.ozv2 #panel-products .oz-btn-primary { background: var(--v2-blue); color: #fff; }

/* ================= Расчёт потребности (.need-calc-page) ================= */
html.ozv2 .need-calc-page { font-family: Onest, -apple-system, system-ui, sans-serif; color: var(--v2-ink); }
/* переключатель режимов — сегменты в лотке */
html.ozv2 .need-calc-mode-tabs {
    display: flex;
    width: 100%;
    gap: 4px;
    padding: 4px;
    border: none;
    border-radius: var(--v2-r-row);
    background: var(--v2-tray);
    margin-bottom: 16px;
}
html.ozv2 .need-calc-mode-tab {
    border: none;
    border-radius: var(--v2-r-ctl);
    background: transparent;
    color: var(--v2-mut);
    flex: 1 1 0;
    padding: 8px 20px;
    white-space: nowrap;
    font-family: inherit;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
}
html.ozv2 .need-calc-mode-tab.active { background: #fff; color: var(--v2-ink); box-shadow: 0 1px 2px rgba(0, 26, 51, .08); }
html.ozv2 .need-calc-title { font-size: 26px; font-weight: 700; line-height: 30px; color: var(--v2-ink); }
html.ozv2 .need-calc-subtitle { color: var(--v2-mut); font-size: 15px; }
html.ozv2 .need-calc-badge {
    border: none;
    background: var(--v2-tray);
    color: var(--v2-mut);
    border-radius: var(--v2-r-ctl);
    padding: 2px 8px;
    font-size: 13px;
    font-weight: 600;
}
/* блоки — лоток + белая плитка */
html.ozv2 .need-calc-block {
    background: #fff;
    border: 4px solid var(--v2-tray);
    border-radius: var(--v2-r-card);
    box-shadow: none;
    padding: 20px;
}
html.ozv2 .need-calc-block + .need-calc-block { margin-top: 12px; }
html.ozv2 .need-calc-block-title { font-size: 15px; font-weight: 600; color: var(--v2-mut); }
html.ozv2 .need-calc-field label { font-size: 13px; font-weight: 500; color: var(--v2-mut); }
html.ozv2 .need-calc-page input[type="number"], html.ozv2 .need-calc-page input[type="text"],
html.ozv2 .need-calc-page input[type="date"], html.ozv2 .need-calc-page select,
html.ozv2 .need-calc-page textarea, html.ozv2 .need-calc-file {
    border: none;
    border-radius: var(--v2-r-row);
    background: var(--v2-tray);
    box-shadow: inset 0 0 0 1px transparent;
    font-family: inherit;
    color: var(--v2-ink);
}
html.ozv2 .need-calc-page input:focus, html.ozv2 .need-calc-page select:focus, html.ozv2 .need-calc-page textarea:focus {
    background: #fff;
    box-shadow: inset 0 0 0 1px var(--v2-blue);
    outline: none;
}
html.ozv2 .need-calc-check, html.ozv2 .need-calc-cluster-box {
    border: none;
    border-radius: var(--v2-r-row);
    background: var(--v2-tray);
}
html.ozv2 .need-calc-option-panel {
    border: none;
    border-radius: var(--v2-r-row);
    background: #fff;
    box-shadow: inset 0 0 0 1px var(--v2-line);
}
html.ozv2 .need-calc-btn-primary, html.ozv2 .need-calc-btn-secondary, html.ozv2 .need-calc-btn-download,
html.ozv2 .need-calc-page .oz-btn {
    border: none;
    border-radius: var(--v2-r-ctl);
    font-family: inherit;
    font-weight: 600;
    box-shadow: none;
}
html.ozv2 .need-calc-btn-primary, html.ozv2 .need-calc-page .oz-btn-primary { background: var(--v2-blue); color: #fff; }
html.ozv2 .need-calc-btn-secondary, html.ozv2 .need-calc-page .oz-btn-soft { background: var(--v2-blue-soft); color: var(--v2-blue); }
html.ozv2 .need-calc-page .oz-btn-ghost { background: var(--v2-tray); color: var(--v2-ink); }
html.ozv2 .need-calc-btn-download { background: #3ac267; color: #fff; }
html.ozv2 .need-calc-status { border: none !important; border-radius: var(--v2-r-row); }
html.ozv2 .need-calc-status.error { background: #fde5ec; color: #b0103f; }
html.ozv2 .need-calc-status.success { background: #dffae8; color: #268045; }
html.ozv2 .need-calc-status.info { background: #e9f0fd; color: #1849a9; }
html.ozv2 .need-calc-progress-track { border-radius: 99px; background: var(--v2-tray); }
html.ozv2 .need-calc-progress-fill { border-radius: 99px; background: var(--v2-blue); }
html.ozv2 .need-calc-page table { border-collapse: separate; border-spacing: 0; }
html.ozv2 .need-calc-page th { background: #fff; border: none; box-shadow: inset 0 -1px 0 var(--v2-line); color: var(--v2-mut); font-weight: 500; }
html.ozv2 .need-calc-page td { border: none; box-shadow: inset 0 -1px 0 var(--v2-line); }

/* ================= Защита от копий (#panel-analytics-copyshield) ================= */
html.ozv2 #panel-analytics-copyshield {
    font-family: Onest, -apple-system, system-ui, sans-serif;
    color: var(--v2-ink);
    background: var(--v2-tray);
    border-radius: var(--v2-r-card);
    box-shadow: none;
    padding: 4px;
}
/* шапка раздела — тоже белая плитка */
html.ozv2 #panel-analytics-copyshield > div:not([id]):first-of-type {
    background: #fff;
    border-radius: var(--v2-r-plate);
    padding: 16px 20px 4px;
    margin-bottom: 4px;
    align-items: center !important;
}
html.ozv2 #panel-analytics-copyshield > div:not([id]):first-of-type h2 { font-size: 26px; font-weight: 700; line-height: 30px; }
/* карточки — белые плитки с шагом 4px */
html.ozv2 #panel-analytics-copyshield #cs-content > .oz-card,
html.ozv2 #panel-analytics-copyshield > #cs-locked,
html.ozv2 #panel-analytics-copyshield #cs-content > div:not(.oz-card):not([style*="display:none"]) {
    background: #fff;
    border: none;
    border-radius: var(--v2-r-plate);
    box-shadow: none;
    margin-bottom: 4px !important;
}
html.ozv2 #panel-analytics-copyshield #cs-content > div:not(.oz-card) { padding: 16px; }
html.ozv2 #panel-analytics-copyshield #cs-content > .oz-card { padding: 16px 20px !important; }
html.ozv2 #panel-analytics-copyshield > #cs-locked { max-width: none !important; padding: 24px !important; }
/* метрики — плитки внутри лотка */
html.ozv2 #panel-analytics-copyshield .cs-grid { gap: 4px; padding: 4px; background: var(--v2-tray); border-radius: var(--v2-r-plate); }
html.ozv2 #panel-analytics-copyshield .cs-metric {
    border: none;
    border-radius: 16px;
    padding: 14px 16px;
}
html.ozv2 #panel-analytics-copyshield .cs-metric .v { font-size: 26px; line-height: 30px; color: var(--v2-ink); }
html.ozv2 #panel-analytics-copyshield .cs-metric .v.bad { color: var(--v2-red); }
html.ozv2 #panel-analytics-copyshield .cs-metric .l { font-size: 13px; color: var(--v2-mut); margin-top: 4px; }
/* таблица */
html.ozv2 #panel-analytics-copyshield table.cs-tbl { font-size: 14px; border-collapse: separate; border-spacing: 0; }
html.ozv2 #panel-analytics-copyshield table.cs-tbl th {
    border: none;
    box-shadow: inset 0 -1px 0 var(--v2-line);
    color: var(--v2-mut);
    font-weight: 500;
    padding: 12px;
    background: #fff;
}
html.ozv2 #panel-analytics-copyshield table.cs-tbl td { border: none; box-shadow: inset 0 -1px 0 var(--v2-line); padding: 12px; }
html.ozv2 #panel-analytics-copyshield table.cs-tbl tr:last-child td { box-shadow: none; }
html.ozv2 #panel-analytics-copyshield table.cs-tbl tbody tr:hover td { background: var(--v2-tray); }
html.ozv2 #panel-analytics-copyshield .cs-thumb, html.ozv2 #panel-analytics-copyshield table.cs-tbl img { border-radius: var(--v2-r-ctl); }
html.ozv2 #panel-analytics-copyshield .cs-cheaper { color: var(--v2-red); }
/* бейджи */
html.ozv2 #panel-analytics-copyshield .cs-tag {
    border-radius: var(--v2-r-ctl);
    padding: 2px 8px;
    font-size: 13px;
    font-weight: 600;
    background: var(--v2-blue-soft);
    color: var(--v2-blue);
}
html.ozv2 #panel-analytics-copyshield .cs-tag.warn { background: #fff7d1; color: #b37400; }
/* кнопки */
html.ozv2 #panel-analytics-copyshield .oz-btn {
    border: none;
    border-radius: var(--v2-r-ctl);
    min-height: 36px;
    font-family: inherit;
    font-weight: 600;
    box-shadow: none;
}
html.ozv2 #panel-analytics-copyshield .oz-btn-primary { background: var(--v2-blue); color: #fff; }
html.ozv2 #panel-analytics-copyshield .oz-btn-soft { background: var(--v2-blue-soft); color: var(--v2-blue); }
html.ozv2 #panel-analytics-copyshield .oz-btn-ghost { background: var(--v2-tray); color: var(--v2-ink); }
html.ozv2 #panel-analytics-copyshield .oz-btn-soft:hover { background: rgba(55, 175, 255, .18); }
html.ozv2 #panel-analytics-copyshield .oz-btn-ghost:hover { background: rgba(171, 188, 213, .22); }
/* поля */
html.ozv2 #panel-analytics-copyshield input:not([type=checkbox]):not([type=radio]):not([type=file]),
html.ozv2 #panel-analytics-copyshield select,
html.ozv2 #panel-analytics-copyshield textarea {
    border: none !important;
    border-radius: var(--v2-r-row) !important;
    background: var(--v2-tray) !important;
    box-shadow: inset 0 0 0 1px transparent;
    font-family: inherit;
    color: var(--v2-ink);
}
html.ozv2 #panel-analytics-copyshield input:focus, html.ozv2 #panel-analytics-copyshield select:focus,
html.ozv2 #panel-analytics-copyshield textarea:focus {
    background: #fff !important;
    box-shadow: inset 0 0 0 1px var(--v2-blue);
    outline: none;
}
html.ozv2 #panel-analytics-copyshield #cs-dropzone {
    border: 1.5px dashed var(--v2-line) !important;
    border-radius: var(--v2-r-row) !important;
    background: var(--v2-tray) !important;
}
html.ozv2 #panel-analytics-copyshield #cs-token-value-box { border: none !important; border-radius: var(--v2-r-row) !important; }
html.ozv2 #panel-analytics-copyshield #cs-token-value { border: none !important; border-radius: var(--v2-r-ctl) !important; }

/* ================= Этикетки ЧЗ и УПД (#panel-labels) ================= */
html.ozv2 #panel-labels {
    font-family: Onest, -apple-system, system-ui, sans-serif;
    color: var(--v2-ink);
    background: var(--v2-tray);
    border-radius: var(--v2-r-card);
    box-shadow: none;
    padding: 4px;
}
html.ozv2 #panel-labels .lbl-subtabs {
    background: #fff;
    border: none;
    border-radius: var(--v2-r-plate);
    padding: 0 16px;
    gap: 24px;
    margin-bottom: 4px;
}
html.ozv2 #panel-labels .lbl-subtab {
    padding: 14px 0 12px;
    font-size: 16px;
    font-weight: 400;
    color: var(--v2-mut);
}
html.ozv2 #panel-labels .lbl-subtab.is-active { color: var(--v2-ink); font-weight: 500; border-bottom-color: var(--v2-blue); }
html.ozv2 #panel-labels .lbl-wrap { max-width: none; }
html.ozv2 #panel-labels .lbl-card {
    border: none;
    border-radius: var(--v2-r-plate);
    padding: 20px;
    margin-bottom: 4px;
    box-shadow: none;
}
html.ozv2 #panel-labels .lbl-num { background: var(--v2-blue-soft); color: var(--v2-blue); }
html.ozv2 #panel-labels .lbl-title-text { font-size: 16px; font-weight: 600; color: var(--v2-ink); }
html.ozv2 #panel-labels .lbl-title-sub { font-size: 13px; color: var(--v2-mut); }
html.ozv2 #panel-labels .lbl-btn { border-radius: var(--v2-r-ctl); font-family: inherit; background: var(--v2-blue); }
html.ozv2 #panel-labels .lbl-btn-danger { background: var(--v2-red-soft); color: var(--v2-red); }
html.ozv2 #panel-labels .lbl-btn-danger:hover { background: #fbd0dd; }
html.ozv2 #panel-labels .lbl-btn-green { background: #3ac267; }
html.ozv2 #panel-labels .lbl-input,
html.ozv2 #panel-labels input:not([type=checkbox]):not([type=radio]):not([type=file]),
html.ozv2 #panel-labels select, html.ozv2 #panel-labels textarea {
    border: none;
    border-radius: var(--v2-r-row);
    background: var(--v2-tray);
    box-shadow: inset 0 0 0 1px transparent;
    font-family: inherit;
    color: var(--v2-ink);
}
html.ozv2 #panel-labels input:focus, html.ozv2 #panel-labels select:focus, html.ozv2 #panel-labels textarea:focus {
    background: #fff;
    box-shadow: inset 0 0 0 1px var(--v2-blue);
    outline: none;
}
html.ozv2 #panel-labels .lbl-dropzone {
    border: 1.5px dashed var(--v2-line);
    border-radius: var(--v2-r-row);
    background: var(--v2-tray);
}
html.ozv2 #panel-labels .labels-template-card {
    border: none;
    border-radius: 16px;
    background: var(--v2-tray);
    box-shadow: inset 0 0 0 2px transparent;
}
html.ozv2 #panel-labels .labels-template-card.selected,
html.ozv2 #panel-labels .labels-template-card.is-active,
html.ozv2 #panel-labels .labels-template-card.active { box-shadow: inset 0 0 0 2px var(--v2-blue); background: #fff; }
html.ozv2 #panel-labels .labels-template-card img { border: none; border-radius: var(--v2-r-ctl); }
html.ozv2 #panel-labels table { border-collapse: separate; border-spacing: 0; }
html.ozv2 #panel-labels th { border: none; box-shadow: inset 0 -1px 0 var(--v2-line); color: var(--v2-mut); font-weight: 500; background: #fff; }
html.ozv2 #panel-labels td { border: none; box-shadow: inset 0 -1px 0 var(--v2-line); }

/* ================= Тарифы (/rate, рендерится в #stub-content) ================= */
html.ozv2 #stub-content:has(button[onclick^="handlePayment"]) { font-family: Onest, -apple-system, system-ui, sans-serif; color: var(--v2-ink); }
html.ozv2 #stub-content:has(button[onclick^="handlePayment"]) > div { padding: 4px !important; }
html.ozv2 #stub-content:has(button[onclick^="handlePayment"]) h3 {
    color: var(--v2-ink) !important;
    font-size: 26px !important;
    font-weight: 700;
    line-height: 30px;
    text-align: left !important;
    margin: 0 0 16px !important;
}
/* сетка тарифов — лоток с плитками */
html.ozv2 #stub-content:has(button[onclick^="handlePayment"]) > div > div {
    background: var(--v2-tray);
    border-radius: var(--v2-r-card);
    padding: 4px;
    gap: 4px !important;
}
html.ozv2 #stub-content:has(button[onclick^="handlePayment"]) > div > div > div {
    border: none !important;
    border-radius: var(--v2-r-plate) !important;
    box-shadow: none !important;
    padding: 20px !important;
}
html.ozv2 #stub-content:has(button[onclick^="handlePayment"]) h4 { font-size: 16px !important; font-weight: 600 !important; color: var(--v2-mut) !important; }
html.ozv2 #stub-content:has(button[onclick^="handlePayment"]) h4 + div span:last-child { font-size: 26px; color: var(--v2-ink) !important; }
html.ozv2 #stub-content button[onclick^="handlePayment"] {
    background: var(--v2-blue) !important;
    border-radius: var(--v2-r-ctl) !important;
    font-family: inherit;
    font-weight: 600 !important;
    min-height: 40px;
}
html.ozv2 #stub-content:has(button[onclick^="handlePayment"]) button + div {
    border-top: none !important;
    box-shadow: inset 0 1px 0 var(--v2-line);
}
html.ozv2 #stub-content:has(button[onclick^="handlePayment"]) ul { font-size: 13px !important; color: var(--v2-mut) !important; line-height: 1.6 !important; }
html.ozv2 #stub-content:has(button[onclick^="handlePayment"]) p { color: var(--v2-mut) !important; font-size: 13px !important; }
html.ozv2 #stub-content:has(button[onclick^="handlePayment"]) p strong { color: var(--v2-ink) !important; }

/* ================= Настройки бронирований (#panel-shopsettings, режим бронирований) ================= */
html.ozv2 #panel-shopsettings:has(#shopsettings-booking-wrap:not([style*="none"])) {
    font-family: Onest, -apple-system, system-ui, sans-serif;
    color: var(--v2-ink);
    background: var(--v2-tray);
    border-radius: var(--v2-r-card);
    box-shadow: none;
    padding: 4px;
}
html.ozv2 #panel-shopsettings:has(#shopsettings-booking-wrap:not([style*="none"])) #panel-shopsettings-title {
    background: #fff;
    border-radius: var(--v2-r-plate);
    padding: 16px 20px;
    margin: 0 0 4px !important;
    font-size: 26px !important;
    font-weight: 700;
    line-height: 30px;
    color: var(--v2-ink) !important;
}
html.ozv2 #shopsettings-booking-content > div {
    background: #fff;
    border-radius: var(--v2-r-plate);
    padding: 16px 20px;
    margin-bottom: 4px !important;
}
html.ozv2 #shopsettings-booking-content h3 { font-size: 15px !important; font-weight: 600 !important; color: var(--v2-mut) !important; margin: 0 0 4px !important; }
html.ozv2 #shopsettings-booking-content label {
    padding: 12px 8px;
    margin: 0;
    border-radius: var(--v2-r-row);
    box-shadow: inset 0 -1px 0 var(--v2-line);
}
html.ozv2 #shopsettings-booking-content label:hover { background: var(--v2-tray); }
html.ozv2 #shopsettings-booking-content > div > div:has(> label) { gap: 0 !important; }
html.ozv2 #shopsettings-booking-content label span { font-weight: 400 !important; color: var(--v2-ink) !important; font-size: 15px; }
html.ozv2 #shopsettings-booking-content > div > div[style*="background"] {
    background: #e9f0fd !important;
    color: #1849a9 !important;
    border-radius: var(--v2-r-row) !important;
    padding: 12px 16px !important;
}
html.ozv2 #shopsettings-booking-content input:not([type=checkbox]):not([type=radio]), html.ozv2 #shopsettings-booking-content select {
    border: none !important;
    border-radius: var(--v2-r-row) !important;
    background: var(--v2-tray) !important;
    font-family: inherit;
}
html.ozv2 #shopsettings-booking-content button {
    border: none !important;
    border-radius: var(--v2-r-ctl) !important;
    font-family: inherit;
    font-weight: 600;
}

/* ====== Страницы-заглушки (#page-stub): Инструкции, Рефералка, Техподдержка, Новости, Обратная связь ====== */
html.ozv2 #page-stub:has(.doc-accordion-wrap, .news-layout, .feedback-page, #withdrawal-points-input, a[href="https://t.me/denikaev"]) {
    font-family: Onest, -apple-system, system-ui, sans-serif;
    color: var(--v2-ink);
    background: var(--v2-tray);
    border-radius: var(--v2-r-card);
    box-shadow: none;
    padding: 4px;
}
html.ozv2 #page-stub:has(.doc-accordion-wrap, .news-layout, .feedback-page, #withdrawal-points-input, a[href="https://t.me/denikaev"]) #stub-title {
    background: #fff;
    border-radius: var(--v2-r-plate);
    padding: 16px 20px;
    margin: 0 0 4px;
    font-size: 26px;
    font-weight: 700;
    line-height: 30px;
    color: var(--v2-ink);
}
html.ozv2 #page-stub a { color: var(--v2-blue); }

/* --- Инструкции: аккордеон из белых плиток --- */
html.ozv2 .doc-accordion-wrap { max-width: none !important; padding: 0 !important; margin: 0 !important; }
html.ozv2 .doc-accordion-wrap > p {
    background: #fff;
    border-radius: var(--v2-r-plate);
    padding: 12px 20px;
    margin: 0 0 4px !important;
    color: var(--v2-mut) !important;
}
html.ozv2 .doc-accordion-item {
    background: #fff;
    border: none !important;
    border-radius: var(--v2-r-plate) !important;
    margin-bottom: 4px !important;
}
html.ozv2 .doc-accordion-item summary {
    padding: 16px 20px !important;
    font-size: 16px;
    font-weight: 500 !important;
    color: var(--v2-ink) !important;
}
html.ozv2 .doc-accordion-item summary:hover { background: var(--v2-tray); }
html.ozv2 .doc-accordion-item[open] summary { box-shadow: inset 0 -1px 0 var(--v2-line); margin-bottom: 12px; }
html.ozv2 .doc-accordion-item > div { padding: 0 20px 20px !important; font-size: 15px; line-height: 1.6; }

/* --- Новости --- */
html.ozv2 .news-layout { max-width: none; gap: 4px; }
html.ozv2 .news-sidebar {
    border: none;
    border-radius: var(--v2-r-plate);
    background: #fff;
    padding: 12px;
    top: 80px;
}
html.ozv2 .news-sidebar-title { font-size: 13px; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--v2-mut); }
html.ozv2 .news-sidebar-list { gap: 2px; }
html.ozv2 .news-sidebar-link {
    border: none;
    border-radius: var(--v2-r-row);
    background: transparent;
    color: var(--v2-ink);
    font-weight: 400;
}
html.ozv2 .news-sidebar-link:hover { background: var(--v2-tray); transform: none; }
html.ozv2 .news-list { gap: 4px; }
html.ozv2 .news-card.news-card {
    border: none;
    border-radius: var(--v2-r-plate);
    padding: 20px;
    box-shadow: none;
    font-size: 15px;
    line-height: 1.6;
}
html.ozv2 .news-card h3 { font-size: 20px !important; font-weight: 700; }
html.ozv2 .news-main > div:first-child {
    background: #fff !important;
    border: none !important;
    border-radius: var(--v2-r-plate) !important;
    margin-bottom: 4px !important;
}
html.ozv2 .news-main > div:first-child > div:first-child { color: var(--v2-mut) !important; font-weight: 600 !important; }

/* --- Обратная связь --- */
html.ozv2 .feedback-page { max-width: none; margin: 0; padding: 0; }
html.ozv2 .feedback-hero, html.ozv2 .feedback-form {
    background: #fff;
    border: none;
    border-radius: var(--v2-r-plate);
    box-shadow: none;
    padding: 20px;
    margin: 0 0 4px;
}
html.ozv2 .feedback-hero > div:first-child { color: var(--v2-mut) !important; font-weight: 600 !important; letter-spacing: 0; }
html.ozv2 .feedback-hero p { color: var(--v2-ink); font-size: 15px; }
html.ozv2 .feedback-field label { color: var(--v2-mut); font-size: 13px; font-weight: 500; }
html.ozv2 .feedback-field-hint { color: var(--v2-mut); }
html.ozv2 .feedback-input, html.ozv2 .feedback-select, html.ozv2 .feedback-textarea {
    border: none;
    border-radius: var(--v2-r-row);
    background: var(--v2-tray);
    box-shadow: inset 0 0 0 1px transparent;
    font-family: inherit;
    color: var(--v2-ink);
}
html.ozv2 .feedback-input:focus, html.ozv2 .feedback-select:focus, html.ozv2 .feedback-textarea:focus {
    background: #fff;
    box-shadow: inset 0 0 0 1px var(--v2-blue);
    outline: none;
}
html.ozv2 .feedback-upload {
    border: 1.5px dashed var(--v2-line);
    border-radius: var(--v2-r-row);
    background: var(--v2-tray);
}
html.ozv2 .feedback-file-row { border: none; border-radius: var(--v2-r-row); background: #fff; }
html.ozv2 .feedback-submit {
    border: none;
    border-radius: var(--v2-r-ctl);
    background: var(--v2-blue);
    font-family: inherit;
    font-weight: 600;
    box-shadow: none;
}
html.ozv2 .feedback-status { border: none; border-radius: var(--v2-r-row); }

/* --- Техподдержка --- */
html.ozv2 #stub-content > div:has(> a[href="https://t.me/denikaev"]) {
    max-width: none !important;
    margin: 0 !important;
    background: #fff !important;
    border: none !important;
    border-radius: var(--v2-r-plate) !important;
    padding: 16px 20px !important;
}
html.ozv2 #stub-content > div > a[href="https://t.me/denikaev"] {
    display: inline-flex !important;
    padding: 10px 16px;
    border-radius: var(--v2-r-row);
    background: var(--v2-blue-soft);
    color: var(--v2-blue) !important;
}
html.ozv2 #stub-content > div > a[href="https://t.me/denikaev"] span { font-size: 16px !important; }

/* --- Реферальная программа (inline-разметка, ловим по полю вывода) --- */
html.ozv2 #stub-content > div:has(#withdrawal-points-input) { max-width: none !important; padding: 0 !important; margin: 0 !important; }
html.ozv2 #stub-content > div:has(#withdrawal-points-input) > div {
    background: #fff !important;
    border: none !important;
    border-radius: var(--v2-r-plate) !important;
    box-shadow: none !important;
    padding: 20px !important;
    margin: 0 0 4px !important;
}
html.ozv2 #stub-content > div:has(#withdrawal-points-input) > div:first-child p { color: var(--v2-ink) !important; }
html.ozv2 #stub-content > div:has(#withdrawal-points-input) > div:last-child { box-shadow: inset 4px 0 0 #ffd900 !important; }
html.ozv2 #stub-content > div:has(#withdrawal-points-input) h3 {
    font-size: 15px !important;
    font-weight: 600;
    color: var(--v2-mut) !important;
    margin: 0 0 12px !important;
}
html.ozv2 #stub-content > div:has(#withdrawal-points-input) > div:nth-child(3) > div { font-size: 26px !important; line-height: 30px; color: var(--v2-ink) !important; }
html.ozv2 #stub-content > div:has(#withdrawal-points-input) table { border-collapse: separate !important; border-spacing: 0; }
html.ozv2 #stub-content > div:has(#withdrawal-points-input) tr { border: none !important; }
html.ozv2 #stub-content > div:has(#withdrawal-points-input) th {
    box-shadow: inset 0 -1px 0 var(--v2-line);
    color: var(--v2-mut);
    font-weight: 500;
}
html.ozv2 #stub-content > div:has(#withdrawal-points-input) td { box-shadow: inset 0 -1px 0 var(--v2-line); }
/* тарифы за баллы — плитки в лотке */
html.ozv2 #stub-content > div:has(#withdrawal-points-input) div[style*="grid-template-columns"] {
    background: var(--v2-tray);
    border-radius: var(--v2-r-plate);
    padding: 4px;
    gap: 4px !important;
}
html.ozv2 #stub-content > div:has(#withdrawal-points-input) div[style*="grid-template-columns"] > div {
    border: none !important;
    border-radius: 16px !important;
    box-shadow: none !important;
}
html.ozv2 #stub-content > div:has(#withdrawal-points-input) input:not([type=checkbox]) {
    border: none !important;
    border-radius: var(--v2-r-row) !important;
    background: var(--v2-tray) !important;
    font-family: inherit;
}
html.ozv2 #stub-content > div:has(#withdrawal-points-input) button {
    border-radius: var(--v2-r-ctl) !important;
    font-family: inherit;
    font-weight: 600 !important;
}

/* ===== Фикс: глобальное button{width:100%} растягивало вкладки на всю ширину ===== */
html.ozv2 .main-tab, html.ozv2 .sub-tab, html.ozv2 .ff-tab,
html.ozv2 #panel-products .oz-tab, html.ozv2 #panel-labels .lbl-subtab,
html.ozv2 #panel-history .oz-btn, html.ozv2 #panel-archive .oz-btn, html.ozv2 #panel-ozon .oz-btn,
html.ozv2 .ff-page .ff-btn, html.ozv2 #panel-analytics-copyshield .oz-btn,
html.ozv2 .ozon-btn-delete { width: auto; }

/* ===== Табы дашборда: сегменты на всю ширину в лотке (как режимы в Расчёте потребности) ===== */
html.ozv2 #main-tabs, html.ozv2 .sub-tabs:not(.hidden) {
    display: flex;
    gap: 4px;
    padding: 4px;
    background: var(--v2-tray);
    border-radius: var(--v2-r-row);
    box-shadow: none;
}
html.ozv2 .main-tab, html.ozv2 .sub-tab {
    flex: 1 1 0;
    width: auto;
    min-height: 40px;
    margin: 0;
    padding: 8px 16px;
    border: none;
    border-radius: var(--v2-r-ctl);
    background: transparent;
    color: var(--v2-mut);
    font-size: 15px;
    font-weight: 500;
    white-space: nowrap;
}
html.ozv2 .main-tab:hover, html.ozv2 .sub-tab:hover { color: var(--v2-ink); background: rgba(255, 255, 255, .5); }
html.ozv2 .main-tab.active, html.ozv2 .sub-tab.active {
    background: #fff;
    color: var(--v2-ink);
    box-shadow: 0 1px 2px rgba(0, 26, 51, .08);
}

/* ===== #page-stub h3 (синий, спец. 1-0-1) перебивал заголовки внутри Фулфилмента/Расчёта ===== */
html.ozv2 #page-stub .need-calc-block-title, html.ozv2 #page-stub .ff-defaults-title { color: var(--v2-mut); }
html.ozv2 #page-stub .ff-hero h3, html.ozv2 #page-stub .need-calc-title { color: var(--v2-ink); }

/* обёртка #page-stub вокруг Фулфилмента и Расчёта — лоток вместо белой карточки */
html.ozv2 #page-stub:has(.ff-page, .need-calc-page) {
    background: var(--v2-tray);
    border-radius: var(--v2-r-card);
    box-shadow: none;
    padding: 4px;
    font-family: Onest, -apple-system, system-ui, sans-serif;
}
html.ozv2 #page-stub:has(.ff-page, .need-calc-page) #stub-title {
    background: #fff;
    border-radius: var(--v2-r-plate);
    padding: 16px 20px;
    margin: 0 0 4px;
    font-size: 26px;
    font-weight: 700;
    line-height: 30px;
    color: var(--v2-ink);
}
/* дубль заголовка внутри страницы — прячем, остаётся подзаголовок */
html.ozv2 #page-stub .ff-hero h3, html.ozv2 #page-stub .need-calc-title { display: none; }
html.ozv2 #page-stub .ff-hero, html.ozv2 #page-stub .need-calc-head {
    background: #fff;
    border-radius: var(--v2-r-plate);
    padding: 12px 20px;
    margin: 0 0 4px;
}
html.ozv2 #page-stub .need-calc-page { padding: 0; }
html.ozv2 #page-stub .need-calc-mode-tabs { margin-bottom: 4px; background: #fff; }
html.ozv2 #page-stub .need-calc-mode-tab.active { background: var(--v2-tray); box-shadow: none; }
html.ozv2 #page-stub .ff-panel { padding: 0; background: transparent; }

/* ===== Внутренние табы — сегменты на всю ширину (как на Дашборде) ===== */
html.ozv2 .ff-tabs, html.ozv2 #panel-products .products-subtabs, html.ozv2 #panel-labels .lbl-subtabs {
    display: flex;
    gap: 4px;
    padding: 4px;
    margin: 0 0 4px;
    background: #fff;
    border: none;
    border-radius: var(--v2-r-plate);
    box-shadow: none;
}
html.ozv2 .ff-tab, html.ozv2 #panel-products .oz-tab, html.ozv2 #panel-labels .lbl-subtab {
    flex: 1 1 0;
    width: auto;
    min-height: 40px;
    margin: 0;
    padding: 8px 16px;
    border: none;
    border-radius: 16px;
    background: transparent;
    color: var(--v2-mut);
    font-size: 15px;
    font-weight: 500;
    white-space: nowrap;
}
html.ozv2 .ff-tab:hover:not(.active), html.ozv2 #panel-products .oz-tab:hover:not(.is-active),
html.ozv2 #panel-labels .lbl-subtab:hover:not(.is-active) { color: var(--v2-ink); }
html.ozv2 .ff-tab.active, html.ozv2 #panel-products .oz-tab.is-active, html.ozv2 #panel-labels .lbl-subtab.is-active {
    background: var(--v2-tray);
    color: var(--v2-ink);
    border: none;
}

/* ===== Правки по живому прогону ===== */
/* Защита от копий: ссылки и селекты */
html.ozv2 #panel-analytics-copyshield table.cs-tbl a { color: var(--v2-blue); text-decoration: none; }
html.ozv2 #panel-analytics-copyshield table.cs-tbl a:hover { text-decoration: underline; }
html.ozv2 #panel-analytics-copyshield select { font-weight: 400; }
/* Новости: дата была синей из-за #page-stub h3 */
html.ozv2 #page-stub .news-card h3 { color: var(--v2-ink); }
/* Тарифы: обёртка — лоток, как у остальных */
html.ozv2 #page-stub:has(button[onclick^="handlePayment"]) {
    background: var(--v2-tray);
    border-radius: var(--v2-r-card);
    box-shadow: none;
    padding: 4px;
    font-family: Onest, -apple-system, system-ui, sans-serif;
}
html.ozv2 #page-stub:has(button[onclick^="handlePayment"]) #stub-title {
    background: #fff;
    border-radius: var(--v2-r-plate);
    padding: 16px 20px;
    margin: 0 0 4px;
    font-size: 26px;
    font-weight: 700;
    line-height: 30px;
    color: var(--v2-ink);
}
html.ozv2 #stub-content:has(button[onclick^="handlePayment"]) > div { max-width: none !important; padding: 0 !important; }
html.ozv2 #stub-content:has(button[onclick^="handlePayment"]) > div > h3 { display: none; }
html.ozv2 #stub-content:has(button[onclick^="handlePayment"]) > div > div { background: transparent; padding: 0; margin: 0 !important; }
/* Рефералка: кнопка «Скопировать» — синяя, ссылки без подчёркивания */
html.ozv2 #stub-content > div:has(#withdrawal-points-input) > div:nth-child(2) button { background: var(--v2-blue) !important; border: none !important; }
html.ozv2 #stub-content > div:has(#withdrawal-points-input) a { text-decoration: none !important; }
html.ozv2 #stub-content > div:has(#withdrawal-points-input) h4 { font-size: 16px !important; font-weight: 600; }
/* Обратная связь: кнопка по содержимому, справа */
html.ozv2 .feedback-actions { display: flex; justify-content: flex-end; }
html.ozv2 .feedback-submit { width: auto; padding: 0 24px; min-height: 40px; }

/* ---------- Короба → «Поиск заявок по товарам · отмена» ---------- */
html.ozv2 #ff-skus-block > summary { color: var(--v2-ink); font-size: 15px; font-weight: 600; }
html.ozv2 #ff-skus-block textarea {
    border: none !important; border-radius: var(--v2-r-row) !important;
    background: var(--v2-tray) !important; font-family: Onest, -apple-system, system-ui, sans-serif;
    color: var(--v2-ink); box-shadow: inset 0 0 0 1px var(--v2-line);
}
html.ozv2 #ff-skus-block textarea:focus { box-shadow: inset 0 0 0 1.5px var(--v2-blue); outline: none; }
html.ozv2 #ff-skus-block .oz-btn {
    border: none; border-radius: var(--v2-r-ctl); font-family: inherit; font-weight: 600;
    box-shadow: none; width: auto;
}
html.ozv2 #ff-skus-block .oz-btn-primary { background: var(--v2-blue); color: #fff; }
html.ozv2 #ff-skus-block .oz-btn-ghost { background: var(--v2-tray); color: var(--v2-ink); }
html.ozv2 #ff-skus-block #ff-skus-cancel { background: var(--v2-red-soft) !important; color: var(--v2-red) !important; }
html.ozv2 #ff-skus-block #ff-skus-cancel:not(:disabled):hover { background: var(--v2-red) !important; color: #fff !important; }
html.ozv2 #ff-skus-block select { border-radius: var(--v2-r-ctl); }
html.ozv2 #ff-skus-results > div[style*="border:1px solid"] {
    border: none !important; border-radius: var(--v2-r-row) !important;
    background: var(--v2-tray); padding: 4px;
}
html.ozv2 #ff-skus-results table { background: #fff; border-radius: var(--v2-r-row); overflow: hidden; }
html.ozv2 #ff-skus-results thead tr { background: transparent !important; }
html.ozv2 #ff-skus-results tbody tr { box-shadow: inset 0 -1px 0 var(--v2-line); }
html.ozv2 #ff-skus-block .ffsk-card { border: none; border-radius: var(--v2-r-plate); background: var(--v2-tray); padding: 14px 16px; }
html.ozv2 #ff-skus-block .ffsk-head b { font-weight: 600; color: var(--v2-ink); }
html.ozv2 #ff-skus-block .ffsk-head span, html.ozv2 #ff-skus-block .ffsk-note,
html.ozv2 #ff-skus-block .ffsk-cl, html.ozv2 #ff-skus-block .q { color: var(--v2-mut); }
html.ozv2 #ff-skus-block .ffsk-bar { background: #fff; height: 8px; border-radius: 4px; }
html.ozv2 #ff-skus-block .ffsk-bar i { background: var(--v2-blue); border-radius: 4px; }
html.ozv2 #ff-skus-block .ffsk-tiles > div { background: #fff !important; border-radius: var(--v2-r-row); padding: 10px 14px; }
html.ozv2 #ff-skus-block .ffsk-tiles small { color: var(--v2-mut); }
html.ozv2 #ff-skus-block .ffsk-tiles .ok b { color: #10a54a; }
html.ozv2 #ff-skus-block .ffsk-tiles .bad b { color: var(--v2-red); }
html.ozv2 #ff-skus-block .ffsk-tiles .wait b { color: #c9760f; }
html.ozv2 #ff-skus-block .ffsk-row {
    border-top: none; box-shadow: inset 0 -1px 0 var(--v2-line);
    background: #fff; padding: 8px 12px; margin: 0;
}
html.ozv2 #ff-skus-block .ffsk-row:first-of-type { border-radius: var(--v2-r-row) var(--v2-r-row) 0 0; }
html.ozv2 #ff-skus-block .ffsk-more { color: var(--v2-blue); font-weight: 600; text-decoration: none; }
html.ozv2 #ff-skus-block .bad { color: var(--v2-red); }
