/**
 * Solvera Dashboard — UI/UX редизайн v2.0 (Comprehensive)
 * Стиль: SaaS 2.0 / NextAI / Futuristic Minimal. Dark Mode Only.
 * Контрастность AA для всех текстов на тёмном фоне.
 */

/* ---------- 1.1 Цветовая архитектура (Layering / Elevation) ---------- */
:root {
    /* Surfaces: глубина через оттенок фона, не тени */
    --solvera-surface-0: #060709;   /* Global Background */
    --solvera-surface-1: #0B0C11;   /* Sidebars, Header */
    --solvera-surface-2: #111319;   /* Base Card / Bento */
    --solvera-surface-3: #181B24;   /* Active Items, Popups */
    --solvera-surface-4: #1F222C;   /* Tooltips, Modals */
    --solvera-stroke: #22252E;      /* Borders 1px */
    /* Primary & AI */
    --solvera-primary: linear-gradient(135deg, #6366F1 0%, #A855F7 100%);
    --solvera-primary-glow: rgba(99, 102, 241, 0.15);
    --solvera-primary-glow-strong: rgba(99, 102, 241, 0.25);
    --solvera-ai-border: linear-gradient(90deg, #6366F1, #F472B6, #6366F1);
    /* Semantic */
    --solvera-success: #10B981;
    --solvera-success-bg: rgba(16, 185, 129, 0.1);
    --solvera-error: #EF4444;
    --solvera-error-bg: rgba(239, 68, 68, 0.1);
    /* Spacing: базовый шаг 4px */
    --solvera-space-1: 8px;
    --solvera-space-2: 16px;
    --solvera-space-3: 24px;
    --solvera-gap: 24px;
    --solvera-gap-cards: 24px;
    /* Radius: 16px карточки (XV), 10px кнопки (XVI) */
    --solvera-radius: 10px;
    --solvera-radius-card: 16px;
    --solvera-radius-lg: 16px;
    /* XIII/XIV: инпуты полупрозрачный тёмный; CTA фиолетовый константа */
    --solvera-input-bg: #0D0F14;
    --solvera-cta-purple: #6366F1;
    /* Motion */
    --solvera-ease: cubic-bezier(0.4, 0, 0.2, 1);
    --solvera-duration: 200ms;
    /* Тени NextAI: цветные вместо чёрных */
    --solvera-shadow-card: 0 10px 30px -10px rgba(79, 70, 229, 0.3);
    --solvera-shadow-button: 0 10px 30px -10px rgba(79, 70, 229, 0.25);
}

/* ---------- 1.2 Типографика: Plus Jakarta Sans, Inter (Clash Display — подключить локально при наличии) ---------- */
/* XVIII: font-display: swap для мгновенного появления текста */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');

body.dashboard-page,
body.first-steps-page,
body:has(.solvera-dashboard-layout) {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
}

/* KPI и крупные заголовки — можно подключить Clash Display локально */
body.dashboard-page .solvera-metric-value,
.solvera-dashboard-content .solvera-metric-value,
.solvera-kpi-value,
.solvera-title.solvera-title-hero {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 600;
}

body.dashboard-page .solvera-metric-label,
body.dashboard-page .solvera-metric-value,
.solvera-dashboard-content .solvera-metric-label,
.solvera-dashboard-content .solvera-metric-value,
.solvera-table,
.solvera-analytics-chart-block {
    font-family: 'Inter', 'Plus Jakarta Sans', sans-serif !important;
}

/* Данные/таблицы: выравнивание цифр */
.solvera-table td,
.solvera-metric-value,
.solvera-analytics-chart-block [data-numeric] {
    font-variant-numeric: tabular-nums;
}

/* ---------- 1.3 Текстура шума (наложение на градиенты) ---------- */
.solvera-noise-overlay {
    position: relative;
}
.solvera-noise-overlay::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
    pointer-events: none;
    border-radius: inherit;
    z-index: 0;
}
.solvera-noise-overlay > * { position: relative; z-index: 1; }

/* ========== 1. Глобальные переменные и Base UI ========== */
/* I. Shell: фон #020617 (Slate 950), шум 2% fixed, скроллбар, границы Slate 800 */
body.dashboard-page,
body.first-steps-page,
body:has(.solvera-dashboard-layout) {
    background: #020617 !important;
    color: #cbd5e1;
    position: relative;
}
body.dashboard-page::before,
body.first-steps-page::before,
body:has(.solvera-dashboard-layout)::before {
    content: '';
    position: fixed;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.02'/%3E%3C/svg%3E");
    pointer-events: none;
    z-index: 0;
}
/* Не трогать порталы модалок (append в body): иначе position:relative ломает position:fixed и окна оказываются под лейаутом/футером */
body.dashboard-page > *:not(.site-footer-dashboard):not(.solvera-cs-modal):not(.solvera-cs-alert-overlay):not(#solvera-cs-publish-overlay),
body.first-steps-page > *:not(.site-footer-dashboard):not(.solvera-cs-modal):not(.solvera-cs-alert-overlay):not(#solvera-cs-publish-overlay),
body:has(.solvera-dashboard-layout) > *:not(.site-footer-dashboard):not(.solvera-cs-modal):not(.solvera-cs-alert-overlay):not(#solvera-cs-publish-overlay) {
    position: relative;
    z-index: 1;
}
.solvera-dashboard-layout {
    position: relative;
    z-index: 2;
}
.site-footer-dashboard {
    z-index: 0 !important;
    position: relative;
}
/* Скроллбары: кастомные — узкие, тёмно-серые, скруглённые (NextAI, без белого) */
body.dashboard-page::-webkit-scrollbar,
body.first-steps-page::-webkit-scrollbar,
body:has(.solvera-dashboard-layout)::-webkit-scrollbar,
.solvera-dashboard-content::-webkit-scrollbar,
.solvera-modal-body::-webkit-scrollbar,
.solvera-dashboard-content .solvera-card::-webkit-scrollbar,
*::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
body.dashboard-page::-webkit-scrollbar-track,
body.first-steps-page::-webkit-scrollbar-track,
body:has(.solvera-dashboard-layout)::-webkit-scrollbar-track,
.solvera-dashboard-content::-webkit-scrollbar-track,
.solvera-modal-body::-webkit-scrollbar-track {
    background: rgba(15, 23, 42, 0.4);
    border-radius: 3px;
}
body.dashboard-page::-webkit-scrollbar-thumb,
body.first-steps-page::-webkit-scrollbar-thumb,
body:has(.solvera-dashboard-layout)::-webkit-scrollbar-thumb,
.solvera-dashboard-content::-webkit-scrollbar-thumb,
.solvera-modal-body::-webkit-scrollbar-thumb,
.solvera-dashboard-content .solvera-card::-webkit-scrollbar-thumb {
    background: #334155;
    border-radius: 4px;
}
body.dashboard-page::-webkit-scrollbar-thumb:hover,
body.first-steps-page::-webkit-scrollbar-thumb:hover,
body:has(.solvera-dashboard-layout)::-webkit-scrollbar-thumb:hover,
.solvera-dashboard-content::-webkit-scrollbar-thumb:hover,
.solvera-modal-body::-webkit-scrollbar-thumb:hover {
    background: #475569;
}
/* Firefox */
body.dashboard-page,
body.first-steps-page,
body:has(.solvera-dashboard-layout),
.solvera-dashboard-content,
.solvera-modal-body {
    scrollbar-width: thin;
    scrollbar-color: #334155 rgba(15, 23, 42, 0.4);
}

/* ========== Индикатор загрузки: полоса Indigo вверху страницы (как на GitHub) ========== */
.solvera-loading-bar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    z-index: 999999;
    pointer-events: none;
    background: linear-gradient(90deg, transparent 0%, #6366f1 50%, transparent 100%);
    background-size: 200% 100%;
    transform: scaleX(0);
    opacity: 0;
    transition: opacity 0.2s ease, transform 0.2s ease;
    transform-origin: left;
}
body.solvera-loading-bar-active .solvera-loading-bar {
    transform: scaleX(1);
    opacity: 1;
    animation: solvera-loading-bar-slide 1.2s ease-in-out infinite;
}
@keyframes solvera-loading-bar-slide {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}
/* Оверлей загрузки при API-запросах: круг по центру, страница заблюрена */
.solvera-loading-overlay {
    position: fixed;
    inset: 0;
    z-index: 999998;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    background: rgba(15, 23, 42, 0.5);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease;
}
.solvera-loading-overlay[hidden] {
    display: none !important;
}
body.solvera-loading-bar-active .solvera-loading-overlay:not([hidden]) {
    opacity: 1;
    visibility: visible;
    display: flex !important;
}
.solvera-loading-overlay .solvera-loading-spinner {
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    margin: 0 auto;
    border: 3px solid rgba(99, 102, 241, 0.25);
    border-top-color: #6366f1;
    border-radius: 50%;
    animation: solvera-spin 0.9s linear infinite;
}
.solvera-loading-overlay .solvera-loading-text {
    color: #e2e8f0;
    font-size: 1rem;
    font-weight: 500;
    text-align: center;
}
@keyframes solvera-spin {
    to { transform: rotate(360deg); }
}
/* Глобально: границы, цветные тени, верхний блик (глубина) */
body.dashboard-page .solvera-card,
body.dashboard-page .solvera-metric-main,
.solvera-dashboard-content .solvera-card,
.solvera-dashboard-content .solvera-metric-main,
.solvera-dashboard-layout .solvera-card,
.solvera-dashboard-layout .solvera-metric-main {
    border: 1px solid var(--solvera-stroke) !important;
    border-top-color: rgba(255, 255, 255, 0.05) !important;
    box-shadow: var(--solvera-shadow-card) !important;
}
body.dashboard-page [class*="solvera-"] button[type="submit"]:not(.solvera-btn-secondary),
body.dashboard-page .solvera-btn-primary,
.solvera-dashboard-content .solvera-btn-primary {
    letter-spacing: 0.05em;
}
body.dashboard-page .solvera-card,
body.dashboard-page .solvera-metric-main,
body.dashboard-page .solvera-campaign-row-card,
body.dashboard-page tr[role="row"] td,
.solvera-dashboard-content .solvera-card,
.solvera-dashboard-content .solvera-metric-main,
.solvera-dashboard-content .solvera-campaign-row-card,
.solvera-dashboard-content .solvera-campaigns-row-cards .solvera-campaign-row-card {
    cursor: pointer;
}
/* XVIII: scroll-behavior smooth; no-selection на кнопках и иконках меню */
html { scroll-behavior: smooth; }
body.dashboard-page .solvera-btn,
body.dashboard-page .solvera-dashboard-tab-list li a,
body.dashboard-page .solvera-dashboard-menu-header a,
.solvera-dashboard-content .solvera-btn,
.solvera-dashboard-tab-list li a,
.solvera-dashboard-menu-header a {
    user-select: none;
}
/* Запасной вариант: когда дашборд через шорткод в теме, без body.dashboard-page */
.solvera-dashboard-layout {
    background: var(--solvera-surface-0);
    min-height: 100vh;
    color: #cbd5e1;
}
.solvera-dashboard-layout .solvera-card,
.solvera-dashboard-layout .solvera-card-secondary,
.solvera-dashboard-layout .solvera-dashboard-content .solvera-card,
.solvera-dashboard-layout .solvera-dashboard-content .solvera-card-secondary {
    background: var(--solvera-surface-2) !important;
    border-radius: var(--solvera-radius-card) !important;
    border: 1px solid var(--solvera-stroke);
    padding: var(--solvera-space-3) !important;
}
.solvera-dashboard-layout .solvera-dashboard-menu-vertical {
    background: rgba(11, 12, 17, 0.8) !important;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}
.solvera-dashboard-layout .solvera-title,
.solvera-dashboard-layout .solvera-subtitle,
.solvera-dashboard-layout .solvera-dashboard-content h1,
.solvera-dashboard-layout .solvera-dashboard-content h2,
.solvera-dashboard-layout .solvera-dashboard-content h3 {
    color: #fff !important;
}
.solvera-dashboard-layout .solvera-metric-main {
    background: var(--solvera-surface-2) !important;
    border: 1px solid var(--solvera-stroke);
}
.solvera-dashboard-layout .solvera-metric-value { color: #fff !important; }
.solvera-dashboard-layout .solvera-metric-label { color: #94a3b8 !important; }

/* Шаг 3 Google Ads: блок публикации и кнопка «Назад» в тёмной теме */
.solvera-dashboard-layout .solvera-google-ads-publish-info {
    background: var(--solvera-surface-2) !important;
    border-color: var(--solvera-stroke) !important;
    color: #c4b5fd !important;
}
.solvera-dashboard-layout .solvera-google-ads-publish-info strong {
    color: #e9d5ff !important;
}
.solvera-dashboard-layout .solvera-google-ads-step3-actions {
    border-top-color: var(--solvera-stroke) !important;
}
.solvera-dashboard-layout .solvera-google-ads-step3-actions .solvera-google-ads-back-btn {
    background: transparent !important;
    color: #c4b5fd !important;
    border: 1px solid var(--solvera-stroke) !important;
}
.solvera-dashboard-layout .solvera-google-ads-step3-actions .solvera-google-ads-back-btn:hover {
    background: rgba(124, 58, 237, 0.15) !important;
    border-color: #7c3aed !important;
}

.solvera-dashboard-layout .solvera-pmax-images-notice {
    background: rgba(124, 58, 237, 0.12) !important;
    border-color: var(--solvera-stroke) !important;
    color: #c4b5fd !important;
}

/* Блок «Логотип и изображения» PMax в тёмной теме */
.solvera-dashboard-layout .solvera-pmax-assets-block,
.solvera-dashboard-layout .solvera-pmax-asset-row {
    color: #cbd5e1 !important;
}
.solvera-dashboard-layout .solvera-pmax-assets-block p[style*="color:#666"] {
    color: #94a3b8 !important;
}
.solvera-dashboard-layout .solvera-pmax-assets-block .solvera-pmax-asset-label,
.solvera-dashboard-layout .solvera-pmax-assets-block p[style*="font-weight"] {
    color: #e2e8f0 !important;
}
.solvera-dashboard-layout .solvera-pmax-asset-item {
    background: var(--solvera-surface-2) !important;
    border: 1px solid var(--solvera-stroke) !important;
}
.solvera-dashboard-layout .solvera-pmax-asset-item img {
    background: var(--solvera-surface-2);
    border-radius: 4px;
}
.solvera-dashboard-layout .solvera-pmax-asset-add {
    color: #cbd5e1;
    background: var(--solvera-surface-2) !important;
    border: 1px solid var(--solvera-stroke) !important;
    border-radius: 6px;
    padding: 6px 10px;
}
.solvera-dashboard-layout input.solvera-pmax-asset-add::file-selector-button {
    background: rgba(124, 58, 237, 0.2) !important;
    color: #c4b5fd !important;
    border: 1px solid var(--solvera-stroke) !important;
    border-radius: 4px;
}

/* Staggered Animation: появление карточек с задержкой 50ms */
body.dashboard-page .solvera-dashboard-content > *,
body.dashboard-page .solvera-card,
body.dashboard-page .solvera-card-secondary,
body.dashboard-page .solvera-metric-main {
    animation: solveraFadeInUp 0.4s var(--solvera-ease) backwards;
}
body.dashboard-page .solvera-dashboard-content > *:nth-child(1),
body.dashboard-page .solvera-metrics-row .solvera-metric-main:nth-child(1) { animation-delay: 0ms; }
body.dashboard-page .solvera-dashboard-content > *:nth-child(2),
body.dashboard-page .solvera-metrics-row .solvera-metric-main:nth-child(2) { animation-delay: 50ms; }
body.dashboard-page .solvera-dashboard-content > *:nth-child(3),
body.dashboard-page .solvera-metrics-row .solvera-metric-main:nth-child(3) { animation-delay: 100ms; }
body.dashboard-page .solvera-dashboard-content > *:nth-child(4),
body.dashboard-page .solvera-metrics-row .solvera-metric-main:nth-child(4) { animation-delay: 150ms; }
body.dashboard-page .solvera-dashboard-content > *:nth-child(5) { animation-delay: 200ms; }
body.dashboard-page .solvera-dashboard-content > *:nth-child(6) { animation-delay: 250ms; }
@keyframes solveraFadeInUp {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

body.dashboard-page .solvera-card,
body.dashboard-page .solvera-card-secondary,
body.dashboard-page .solvera-analytics-chart-block,
.solvera-dashboard-content .solvera-card,
.solvera-dashboard-content .solvera-card-secondary {
    background: rgba(15, 23, 42, 0.8) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-radius: var(--solvera-radius-card) !important;
    border: 1px solid rgba(30, 41, 59, 0.5);
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    padding: var(--solvera-space-3) !important; /* 24px Desktop */
    transition: transform var(--solvera-duration) var(--solvera-ease);
    box-shadow: var(--solvera-shadow-card);
}
/* Карточки новостей платформы — без теней */
body.dashboard-page .solvera-news-item,
.solvera-dashboard-content .solvera-news-item,
.solvera-platform-news-card .solvera-news-item {
    box-shadow: none !important;
}
@media (max-width: 768px) {
    body.dashboard-page .solvera-card,
    .solvera-dashboard-content .solvera-card,
    .solvera-dashboard-content .solvera-card-secondary {
        padding: var(--solvera-space-2) !important; /* 16px Mobile */
    }
}

/* Hover Scale 1.02 для интерактивных карточек */
body.dashboard-page .solvera-card:hover,
body.dashboard-page .solvera-card-secondary:hover,
body.dashboard-page .solvera-metric-main:hover,
.solvera-dashboard-content .solvera-card:hover,
.solvera-dashboard-content .solvera-card-secondary:hover,
.solvera-dashboard-content .solvera-metric-main:hover,
.solvera-campaign-row-card:hover {
    transform: scale(1.02);
}

/* Кнопки: transition 200ms, при нажатии scale(0.95) */
body.dashboard-page .solvera-btn,
body.dashboard-page button.solvera-site-btn,
body.dashboard-page .solvera-modal-btn,
.solvera-dashboard-content .solvera-btn,
.solvera-dashboard-content button.solvera-site-btn,
.solvera-dashboard-content .solvera-modal-btn,
.solvera-dashboard-layout .solvera-btn {
    transition: all 0.2s ease !important;
}
body.dashboard-page .solvera-btn:active,
.solvera-dashboard-content .solvera-btn:active,
body.dashboard-page button.solvera-site-btn:active,
.solvera-dashboard-content button.solvera-site-btn:active {
    transform: scale(0.95) !important;
}

/* Радиусы: 14px карточки, 10px кнопки/инпуты */
body.dashboard-page .solvera-btn,
body.dashboard-page .solvera-form input,
body.dashboard-page .solvera-form select,
body.dashboard-page .solvera-form textarea,
.solvera-dashboard-content .solvera-btn,
.solvera-dashboard-content .solvera-form input,
.solvera-dashboard-content .solvera-form select,
.solvera-dashboard-content .solvera-form textarea {
    border-radius: var(--solvera-radius) !important; /* 10px */
}
body.dashboard-page .solvera-modal,
.solvera-dashboard-content .solvera-modal {
    border-radius: var(--solvera-radius-card) !important;
}

/* Модалки: Surface-4, появление scale-up 0.95→1 + fade-in; SweetAlert2 поверх сайдбара */
.solvera-modal-bg,
.solvera-modal-bg.active,
body.dashboard-page .solvera-modal-bg,
.swal2-container {
    z-index: 2000000 !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    background: rgba(6, 7, 9, 0.75) !important;
}

body.dashboard-page .solvera-modal,
.solvera-dashboard-content .solvera-modal,
.swal2-popup {
    background: var(--solvera-surface-4) !important;
    border: 1px solid var(--solvera-stroke);
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: var(--solvera-radius-card) !important;
    box-shadow: var(--solvera-shadow-card);
    animation: solveraModalIn 0.25s var(--solvera-ease) forwards;
}
.swal2-popup .swal2-title {
    color: #e5e7eb !important;
}
.swal2-popup .swal2-html-container {
    color: #e5e7eb !important;
}
body.dashboard-page .solvera-modal .solvera-modal-body,
.solvera-dashboard-content .solvera-modal .solvera-modal-body {
    background: var(--solvera-surface-4) !important;
    color: #cbd5e1 !important;
}
body.dashboard-page .solvera-modal .solvera-modal-footer,
.solvera-dashboard-content .solvera-modal .solvera-modal-footer {
    background: var(--solvera-surface-3) !important;
    border-top-color: var(--solvera-stroke) !important;
}
@keyframes solveraModalIn {
    from { opacity: 0; transform: scale(0.95); }
    to { opacity: 1; transform: scale(1); }
}

body.dashboard-page .solvera-modal-title,
.solvera-dashboard-content .solvera-modal-title,
.swal2-title {
    color: #fff !important;
}

/* SweetAlert2 — модалка статистики кампании (кампании → просмотр метрик) */
.swal2-popup.solvera-swal-popup .solvera-campaign-stats-modal {
    text-align: left;
    padding: 20px 0;
}
.swal2-popup.solvera-swal-popup .solvera-campaign-stats-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 20px;
}
.swal2-popup.solvera-swal-popup .solvera-campaign-stats-cell {
    padding: 15px;
    background: var(--solvera-surface-2) !important;
    border: 1px solid var(--solvera-stroke);
    border-radius: 8px;
    box-sizing: border-box;
}
.swal2-popup.solvera-swal-popup .solvera-campaign-stats-label {
    font-size: 14px;
    color: #94a3b8;
    margin-bottom: 5px;
}
.swal2-popup.solvera-swal-popup .solvera-campaign-stats-value {
    font-size: 24px;
    font-weight: 600;
    color: #c4b5fd;
}
.swal2-popup.solvera-swal-popup .solvera-campaign-stats-updated {
    font-size: 12px;
    color: #64748b;
    text-align: center;
    margin-top: 15px;
}
.swal2-popup.solvera-swal-popup .solvera-campaign-stats-ag {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--solvera-stroke);
}
.swal2-popup.solvera-swal-popup .solvera-campaign-stats-ag-title {
    margin: 0 0 12px 0;
    font-size: 1rem;
    font-weight: 600;
    color: #c4b5fd;
}
.swal2-popup.solvera-swal-popup .solvera-campaign-stats-saved {
    margin: 0 0 10px 0;
    font-size: 1rem;
    font-weight: 700;
    color: #34d399;
}
.swal2-popup.solvera-swal-popup .solvera-ai-guard-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 0.85rem;
    font-weight: 600;
}
.swal2-popup.solvera-swal-popup .solvera-ai-guard-badge--idle {
    background: rgba(148, 163, 184, 0.2);
    color: #cbd5e1;
}
.swal2-popup.solvera-swal-popup .solvera-ai-guard-badge--learning {
    background: rgba(59, 130, 246, 0.22);
    color: #93c5fd;
}
.swal2-popup.solvera-swal-popup .solvera-ai-guard-badge--protected {
    background: rgba(16, 185, 129, 0.22);
    color: #6ee7b7;
}
.swal2-popup.solvera-swal-popup .solvera-ai-guard-badge--paused {
    background: rgba(239, 68, 68, 0.2);
    color: #fca5a5;
}
.swal2-popup.solvera-swal-popup .solvera-campaign-stats-ag-status {
    margin-bottom: 10px;
}
.swal2-popup.solvera-swal-popup .solvera-campaign-stats-reset-btn {
    margin-left: 8px;
    margin-top: 4px;
    font-size: 0.8rem;
    vertical-align: middle;
}
.swal2-popup.solvera-swal-popup .solvera-campaign-stats-feed-title {
    font-size: 0.85rem;
    color: #94a3b8;
    margin-bottom: 4px;
}
.swal2-popup.solvera-swal-popup .solvera-campaign-stats-feed-list {
    max-height: 120px;
    overflow-y: auto;
}
.swal2-popup.solvera-swal-popup .solvera-campaign-stats-log-row {
    padding: 6px 0;
    border-bottom: 1px solid var(--solvera-stroke);
    font-size: 0.85rem;
    color: #e2e8f0;
}
.swal2-popup.solvera-swal-popup .solvera-campaign-stats-log-row:last-child {
    border-bottom: none;
}
.swal2-popup.solvera-swal-popup .solvera-campaign-stats-log-ts {
    color: #64748b;
    font-size: 0.75rem;
}
.swal2-popup.solvera-swal-popup .solvera-campaign-stats-empty {
    margin: 0;
    color: #64748b;
    font-size: 0.85rem;
}

body.dashboard-page .solvera-modal .solvera-btn-secondary,
.solvera-dashboard-content .solvera-modal .solvera-btn-secondary {
    background: rgba(255, 255, 255, 0.08) !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
    color: #cbd5e1 !important;
}

/* Типографика: иерархия */
body.dashboard-page .solvera-title,
body.dashboard-page .solvera-subtitle,
body.dashboard-page h1.solvera-title,
body.dashboard-page h2.solvera-title,
body.dashboard-page h3.solvera-title,
.solvera-dashboard-content .solvera-title,
.solvera-dashboard-content .solvera-subtitle,
.solvera-dashboard-content h1,
.solvera-dashboard-content h2,
.solvera-dashboard-content h3 {
    color: #fff !important;
}

body.dashboard-page .solvera-subtitle,
.solvera-dashboard-content .solvera-subtitle {
    color: #94a3b8 !important;
}

body.dashboard-page .solvera-muted,
body.dashboard-page .solvera-card p,
.solvera-dashboard-content .solvera-muted,
.solvera-dashboard-content .solvera-card p,
.solvera-analytics-empty-text {
    color: #94a3b8 !important;
}

/* ---------- Карточки биллинга, интеграций, таблицы (переопределение inline/локальных стилей) ---------- */
body.dashboard-page .solvera-billing-card:not(.solvera-billing-balance-block),
.solvera-dashboard-content .solvera-billing-card:not(.solvera-billing-balance-block),
.solvera-dashboard-layout .solvera-billing-card:not(.solvera-billing-balance-block) {
    background: var(--solvera-surface-2) !important;
    border: 1px solid var(--solvera-stroke) !important;
    border-radius: var(--solvera-radius-card) !important;
    color: #cbd5e1 !important;
}
/* Пояснение про комиссию e-commerce — тёмная плитка в стиле дашборда */
body.dashboard-page .solvera-billing-commission-notice,
.solvera-dashboard-content .solvera-billing-commission-notice,
.solvera-dashboard-layout .solvera-billing-commission-notice {
    background: rgba(124, 58, 237, 0.1) !important;
    border: 1px solid rgba(167, 139, 250, 0.28) !important;
    border-radius: var(--solvera-radius-card) !important;
    padding: 14px 18px !important;
    margin-bottom: 20px !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    color: #e2e8f0 !important;
}
body.dashboard-page .solvera-billing-card h2,
body.dashboard-page .solvera-billing-card h3,
.solvera-dashboard-content .solvera-billing-card h2,
.solvera-dashboard-content .solvera-billing-card h3 {
    color: #fff !important;
}
body.dashboard-page .solvera-billing-table,
.solvera-dashboard-content .solvera-billing-table,
.solvera-dashboard-layout .solvera-billing-table {
    background: transparent !important;
    color: #cbd5e1 !important;
}
body.dashboard-page .solvera-billing-table thead th,
.solvera-dashboard-content .solvera-billing-table thead th {
    background: var(--solvera-surface-3) !important;
    color: #94a3b8 !important;
    border-bottom-color: var(--solvera-stroke) !important;
}
body.dashboard-page .solvera-billing-table tbody td,
body.dashboard-page .solvera-billing-table tbody tr,
.solvera-dashboard-content .solvera-billing-table tbody td,
.solvera-dashboard-content .solvera-billing-table tbody tr {
    border-bottom-color: var(--solvera-stroke) !important;
    color: #cbd5e1 !important;
}
body.dashboard-page #solvera-topup-modal > div,
.solvera-dashboard-content #solvera-topup-modal > div {
    background: var(--solvera-surface-4) !important;
    border: 1px solid var(--solvera-stroke) !important;
    color: #cbd5e1 !important;
}
body.dashboard-page #solvera-topup-modal h3,
.solvera-dashboard-content #solvera-topup-modal h3 {
    color: #fff !important;
}
body.dashboard-page #solvera-topup-modal p,
.solvera-dashboard-content #solvera-topup-modal p {
    color: #94a3b8 !important;
}
body.dashboard-page #solvera-card-element-wrap,
.solvera-dashboard-content #solvera-card-element-wrap {
    background: var(--solvera-surface-3) !important;
    border-color: var(--solvera-stroke) !important;
}
body.dashboard-page .solvera-billing-col-right,
.solvera-dashboard-content .solvera-billing-col-right {
    border-left-color: var(--solvera-stroke) !important;
}
body.dashboard-page .solvera-billing-card input[type="number"],
.solvera-dashboard-content .solvera-billing-card input[type="number"] {
    background: var(--solvera-surface-3) !important;
    border-color: var(--solvera-stroke) !important;
    color: #e2e8f0 !important;
}
/* Интеграции: карточки и таблицы из локального <style> в shortcode */
body.dashboard-page .solvera-card .solvera-integration-card,
.solvera-dashboard-content .solvera-card .solvera-integration-card,
.solvera-dashboard-layout .solvera-integration-card {
    background: var(--solvera-surface-3) !important;
    border: 1px solid var(--solvera-stroke) !important;
    border-radius: var(--solvera-radius) !important;
}
body.dashboard-page .solvera-integration-card-title,
.solvera-dashboard-content .solvera-integration-card-title {
    color: #fff !important;
}
body.dashboard-page .solvera-integration-card-url,
body.dashboard-page .solvera-integration-card-url a,
.solvera-dashboard-content .solvera-integration-card-url,
.solvera-dashboard-content .solvera-integration-card-url a {
    color: #94a3b8 !important;
}
/* Интеграции: статусы — явно бейджи (не кнопки); кнопки — явно кнопки */
body.dashboard-page .solvera-integrations-status-badge.solvera-integrations-connected,
.solvera-dashboard-content .solvera-integrations-status-badge.solvera-integrations-connected {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    border-radius: 9999px;
    font-size: 0.9rem;
    font-weight: 600;
    background: var(--solvera-success-bg) !important;
    color: var(--solvera-success) !important;
    border: 1px solid rgba(16, 185, 129, 0.35);
    cursor: default;
    pointer-events: none;
}
body.dashboard-page .solvera-integrations-count,
.solvera-dashboard-content .solvera-integrations-count {
    color: #94a3b8 !important;
    font-size: 0.9rem;
}
body.dashboard-page .solvera-site-error-label,
.solvera-dashboard-content .solvera-site-error-label {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    border-radius: 9999px;
    font-size: 0.9rem;
    font-weight: 600;
    background: var(--solvera-error-bg) !important;
    color: var(--solvera-error) !important;
    border: 1px solid rgba(239, 68, 68, 0.35);
    cursor: pointer;
    text-decoration: none;
    min-height: 36px;
    box-sizing: border-box;
}
body.dashboard-page .solvera-site-error-label:hover,
.solvera-dashboard-content .solvera-site-error-label:hover {
    filter: brightness(1.1);
    text-decoration: none;
}
body.dashboard-page .solvera-integration-card-actions .solvera-site-btn-connect,
.solvera-dashboard-content .solvera-integration-card-actions .solvera-site-btn-connect {
    background: linear-gradient(135deg, #6366F1 0%, #A855F7 100%) !important;
    color: #fff !important;
    border: 1px solid transparent !important;
    border-radius: var(--solvera-radius) !important;
    padding: 8px 16px !important;
    font-weight: 600 !important;
}
body.dashboard-page .solvera-integration-card-actions .solvera-site-btn-connect:disabled,
.solvera-dashboard-content .solvera-integration-card-actions .solvera-site-btn-connect:disabled {
    background: var(--solvera-surface-4) !important;
    color: #94a3b8 !important;
    cursor: default;
}
/* GA4 / вторичные действия — как «Проверить фид», не белая заливка */
body.dashboard-page .solvera-integration-card-actions .solvera-site-btn-secondary,
.solvera-dashboard-content .solvera-integration-card-actions .solvera-site-btn-secondary {
    background: var(--solvera-surface-3) !important;
    color: #cbd5e1 !important;
    border: 1px solid var(--solvera-stroke) !important;
    border-radius: var(--solvera-radius) !important;
    padding: 8px 16px !important;
    font-weight: 500 !important;
    box-shadow: none !important;
}
body.dashboard-page .solvera-integration-card-actions .solvera-site-btn-secondary:hover:not(:disabled),
.solvera-dashboard-content .solvera-integration-card-actions .solvera-site-btn-secondary:hover:not(:disabled) {
    background: var(--solvera-surface-4) !important;
    color: #f1f5f9 !important;
    border-color: rgba(148, 163, 184, 0.4) !important;
}
body.dashboard-page .solvera-integration-card-actions .solvera-site-btn-secondary:disabled,
.solvera-dashboard-content .solvera-integration-card-actions .solvera-site-btn-secondary:disabled {
    background: var(--solvera-surface-4) !important;
    color: #64748b !important;
    border-color: var(--solvera-stroke) !important;
    cursor: default;
    opacity: 0.9;
}
body.dashboard-page .solvera-integration-card-actions .solvera-site-btn-check,
.solvera-dashboard-content .solvera-integration-card-actions .solvera-site-btn-check {
    background: var(--solvera-surface-3) !important;
    color: #cbd5e1 !important;
    border: 1px solid var(--solvera-stroke) !important;
    border-radius: var(--solvera-radius) !important;
    padding: 8px 16px !important;
    font-weight: 500 !important;
}
body.dashboard-page .solvera-integration-card-actions .solvera-site-btn-check.checked,
.solvera-dashboard-content .solvera-integration-card-actions .solvera-site-btn-check.checked {
    background: var(--solvera-success-bg) !important;
    color: var(--solvera-success) !important;
    border-color: rgba(16, 185, 129, 0.35) !important;
    cursor: default;
}
body.dashboard-page .solvera-integration-card-actions .solvera-site-btn-check.failed,
.solvera-dashboard-content .solvera-integration-card-actions .solvera-site-btn-check.failed {
    background: var(--solvera-error-bg) !important;
    color: var(--solvera-error) !important;
    border-color: rgba(239, 68, 68, 0.35) !important;
}
body.dashboard-page .solvera-integration-card-actions .solvera-site-btn-delete,
.solvera-dashboard-content .solvera-integration-card-actions .solvera-site-btn-delete {
    background: transparent !important;
    color: var(--solvera-error) !important;
    border: 1px solid var(--solvera-error) !important;
    border-radius: var(--solvera-radius) !important;
    padding: 8px 16px !important;
    font-weight: 500 !important;
}
body.dashboard-page .solvera-integration-card-actions .solvera-site-btn-delete:hover,
.solvera-dashboard-content .solvera-integration-card-actions .solvera-site-btn-delete:hover {
    background: var(--solvera-error-bg) !important;
    color: var(--solvera-error) !important;
}
body.dashboard-page .solvera-integrations-toggle-btn,
.solvera-dashboard-content .solvera-integrations-toggle-btn {
    padding: 8px 16px !important;
    border-radius: var(--solvera-radius) !important;
    background: var(--solvera-surface-3) !important;
    color: #cbd5e1 !important;
    border: 1px solid var(--solvera-stroke) !important;
    font-weight: 500 !important;
    cursor: pointer !important;
}
body.dashboard-page .solvera-integrations-toggle-btn:hover,
.solvera-dashboard-content .solvera-integrations-toggle-btn:hover {
    background: var(--solvera-surface-4) !important;
    color: #fff !important;
}
body.dashboard-page .solvera-table,
.solvera-dashboard-content .solvera-table,
.solvera-dashboard-layout .solvera-table {
    background: var(--solvera-surface-2) !important;
    border-color: var(--solvera-stroke) !important;
    color: #cbd5e1 !important;
}
body.dashboard-page .solvera-table th,
.solvera-dashboard-content .solvera-table th {
    background: var(--solvera-surface-3) !important;
    color: #94a3b8 !important;
    border-color: var(--solvera-stroke) !important;
}
body.dashboard-page .solvera-table td,
.solvera-dashboard-content .solvera-table td {
    border-color: var(--solvera-stroke) !important;
    color: #cbd5e1 !important;
}
body.dashboard-page .solvera-table tr:hover td,
.solvera-dashboard-content .solvera-table tr:hover td {
    background: var(--solvera-surface-3) !important;
}
/* Таблица кампаний: при наведении — тёмный фон (не белый), названия читаемые */
body.dashboard-page .solvera-campaigns-table tbody tr:hover td,
body.dashboard-page .solvera-campaign-row-clickable:hover td,
.solvera-dashboard-content .solvera-campaigns-table tbody tr:hover td,
.solvera-dashboard-content .solvera-campaign-row-clickable:hover td {
    background: var(--solvera-surface-3) !important;
    transform: none !important;
    box-shadow: none !important;
}
body.dashboard-page .solvera-campaigns-table .solvera-campaigns-table-title,
body.dashboard-page .solvera-table td .solvera-campaigns-table-title,
.solvera-dashboard-content .solvera-campaigns-table .solvera-campaigns-table-title,
.solvera-dashboard-content .solvera-table td .solvera-campaigns-table-title {
    color: #e2e8f0 !important;
    font-weight: 600;
}
body.dashboard-page .solvera-campaigns-table td,
.solvera-dashboard-content .solvera-campaigns-table td {
    color: #cbd5e1 !important;
}
body.dashboard-page .solvera-integrations-card.solvera-card,
.solvera-dashboard-content .solvera-integrations-card.solvera-card {
    background: var(--solvera-surface-2) !important;
}
/* Страница интеграций: все блоки (сайты, Google, FB) при наведении — один стиль, лёгкий подъём как у карточек сайтов, без сильного scale */
.solvera-integrations-page .solvera-card:hover,
body.dashboard-page .solvera-integrations-page .solvera-card:hover,
.solvera-dashboard-content .solvera-integrations-page .solvera-card:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15), var(--solvera-shadow-card) !important;
}
/* Отступы между блоками на странице Интеграции: Your sites, Google Ads и между карточками сайтов */
.solvera-integrations-page .solvera-card + .solvera-card {
    margin-top: 32px !important;
}
.solvera-integrations-page .solvera-integrations-list {
    gap: 28px !important;
}

/* Интеграции: верхний ряд кнопок «Добавить сайт» / «Добавить магазин» — одна высота, без скачков */
.solvera-integrations-add-row {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    flex-wrap: wrap;
    min-height: 52px !important;
    margin-top: 16px !important;
    margin-bottom: 24px !important;
}
.solvera-integrations-add-row .solvera-btn {
    min-height: 44px !important;
    height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    padding: 10px 24px !important;
}

/* Интеграции: иконки в кнопках и карточках — без белого фона */
body.dashboard-page .solvera-integrations-add-row .solvera-btn img,
.solvera-dashboard-content .solvera-integrations-add-row .solvera-btn img {
    display: block;
    margin-right: 8px;
}
body.dashboard-page .solvera-integration-card-icon,
.solvera-dashboard-content .solvera-integration-card-icon {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
}

/* Интеграции: карточки сайтов — padding p-6, кнопки Connect/Удалить по правому краю */
.solvera-integration-card {
    padding: 24px !important;
}
.solvera-integration-card-actions {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center !important;
    justify-content: flex-end;
    gap: 12px !important;
    min-height: 48px !important;
}
.solvera-integration-card-actions > div,
.solvera-integration-card-actions > .solvera-integration-actions-row,
.solvera-integration-card-actions > form {
    display: flex !important;
    align-items: center !important;
    min-height: 40px !important;
}
.solvera-integration-actions-row {
    gap: 8px !important;
    flex-wrap: nowrap !important;
}
.solvera-integration-card-actions .solvera-site-btn-connect,
.solvera-integration-card-actions .solvera-site-btn-secondary,
.solvera-integration-card-actions .solvera-site-btn-check,
.solvera-integration-card-actions .solvera-site-btn-delete {
    min-height: 40px !important;
    height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
    padding: 8px 16px !important;
    line-height: 1 !important;
    border-width: 1px !important;
    border-style: solid !important;
}
.solvera-integration-card-actions .solvera-site-btn-connect {
    border-color: transparent !important;
}
.solvera-integration-card-actions > div,
.solvera-integration-card-actions > form.solvera-confirm-delete-form {
    display: inline-flex !important;
    align-items: center !important;
    height: 40px !important;
}
.solvera-integration-card-actions .solvera-site-error-label {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 40px !important;
}

/* Интеграции: кнопки «Подключить Facebook» и «Отключить» на одном уровне */
.solvera-integrations-page form.solvera-confirm-disconnect-form:has(a.solvera-btn) {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
}
.solvera-integrations-page form.solvera-confirm-disconnect-form a.solvera-btn,
.solvera-integrations-page form.solvera-confirm-disconnect-form button.solvera-btn {
    min-height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    box-sizing: border-box !important;
}

/* Модалка интеграций: тёмный фон, поле Tracking code — тёмное, cyan, mono */
body.dashboard-page .solvera-modal-bg .solvera-modal,
.solvera-dashboard-content .solvera-modal-bg .solvera-modal,
.solvera-modal {
    background: #0f172a !important;
    border: 1px solid rgba(30, 41, 59, 0.5);
}
.solvera-modal-body {
    background: #0f172a !important;
}
#connectModalTrackCode,
.solvera-modal textarea[readonly],
.solvera-modal-body textarea {
    background: #020617 !important;
    border: 1px solid #334155 !important;
    color: #22d3ee !important;
    font-family: ui-monospace, monospace !important;
}

/* Шаг 0 «Создать рекламную кампанию»: три карточки выровнены по высоте, один стиль (фиолетовый) */
.solvera-ads-create-title {
    margin-bottom: 8px !important;
}
.solvera-ads-create-subtitle {
    margin-bottom: 24px !important;
}
.solvera-campaign-type-cards {
    display: flex !important;
    flex-wrap: wrap;
    gap: 32px !important;
    justify-content: center !important;
    align-items: stretch !important;
}
.solvera-campaign-type-card {
    min-width: 260px !important;
    width: 260px !important;
    min-height: 230px !important;
    height: 230px !important;
    margin: 0 !important;
    padding: 32px 40px !important;
    border: none !important;
    border-radius: 20px !important;
    box-shadow: 0 18px 50px rgba(15, 23, 42, 0.75) !important;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    transition: box-shadow 0.18s ease, border-color 0.18s ease, transform 0.18s ease, background 0.18s ease !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    box-sizing: border-box !important;
    background:
        radial-gradient(circle at 0% 0%, rgba(129, 140, 248, 0.35), transparent 55%),
        radial-gradient(circle at 100% 100%, rgba(56, 189, 248, 0.16), transparent 60%),
        var(--solvera-surface-3) !important;
    border: 1px solid rgba(148, 163, 184, 0.45) !important;
    color: #e2e8f0 !important;
}
.solvera-campaign-type-card::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    border: 1px solid rgba(129, 140, 248, 0.25);
    opacity: 0.0;
    transition: opacity 0.18s ease;
}
.solvera-campaign-type-card:hover:not(:disabled),
.solvera-campaign-type-card:focus-visible {
    transform: translateY(-4px);
    box-shadow: 0 26px 70px rgba(15, 23, 42, 0.95) !important;
}
.solvera-campaign-type-card:hover:not(:disabled)::before,
.solvera-campaign-type-card:focus-visible::before {
    opacity: 1;
}
.solvera-campaign-type-card:focus-visible {
    outline: 2px solid #7c3aed;
    outline-offset: 3px;
}
.solvera-campaign-type-card .solvera-campaign-type-icon {
    display: block !important;
    font-size: 2.2rem !important;
    margin-bottom: 12px !important;
    line-height: 1 !important;
}
.solvera-campaign-type-card .solvera-campaign-type-label {
    display: block !important;
    text-align: center !important;
}
.solvera-campaign-type-google {
    cursor: pointer !important;
    color: #a5b4fc !important;
}
.solvera-campaign-type-google:hover:not(:disabled) {
    border-color: rgba(129, 140, 248, 0.9) !important;
    background:
        radial-gradient(circle at 0% 0%, rgba(129, 140, 248, 0.45), transparent 55%),
        radial-gradient(circle at 100% 100%, rgba(139, 92, 246, 0.25), transparent 60%),
        var(--solvera-surface-3) !important;
}
.solvera-campaign-type-google:disabled {
    opacity: 0.65 !important;
    cursor: not-allowed !important;
    color: #94a3b8 !important;
}
.solvera-campaign-type-facebook {
    cursor: pointer !important;
    color: #93c5fd !important;
}
.solvera-campaign-type-facebook:hover {
    border-color: rgba(129, 140, 248, 0.9) !important;
    background:
        radial-gradient(circle at 0% 0%, rgba(129, 140, 248, 0.45), transparent 55%),
        radial-gradient(circle at 100% 100%, rgba(139, 92, 246, 0.25), transparent 60%),
        var(--solvera-surface-3) !important;
}
/* Карточка «Скоро» — явно неактивная, без полосы */
.solvera-campaign-type-soon {
    cursor: not-allowed !important;
    opacity: 0.5 !important;
    color: #64748b !important;
    background: var(--solvera-surface-2) !important;
    border: 1px solid rgba(100, 116, 139, 0.4) !important;
    box-shadow: none !important;
}
.solvera-campaign-type-soon:hover {
    transform: none !important;
    box-shadow: none !important;
    border-color: rgba(100, 116, 139, 0.4) !important;
    background: var(--solvera-surface-2) !important;
}
.solvera-campaign-type-soon .solvera-campaign-type-soon-badge {
    display: none !important;
}

/* Google Ads шаг 0 — внешний вид в стиле дашборда */
.solvera-google-ads-step0 {
    padding: 24px 0 32px 28px;
    max-width: 100%;
}
.solvera-google-ads-step0 .solvera-title.solvera-ads-create-title {
    font-size: 1.75rem !important;
    font-weight: 700 !important;
    color: #f1f5f9 !important;
    margin: 0 0 8px 0 !important;
    letter-spacing: -0.02em;
}
.solvera-google-ads-step0 .solvera-subtitle.solvera-ads-create-subtitle {
    font-size: 1rem !important;
    color: #94a3b8 !important;
    margin: 0 0 28px 0 !important;
    line-height: 1.5;
}
.solvera-google-ads-step0 .solvera-alert {
    margin-bottom: 20px;
    padding: 14px 18px;
    border-radius: 12px;
    border: 1px solid rgba(248, 113, 113, 0.4);
    background: rgba(248, 113, 113, 0.1);
    color: #fca5a5;
}
.solvera-google-ads-step0 .solvera-campaign-type-cards {
    display: flex !important;
    flex-wrap: wrap;
    gap: 24px !important;
    justify-content: center !important;
    align-items: stretch !important;
    margin: 0;
    padding: 0;
}
.solvera-google-ads-step0 .solvera-campaign-type-card {
    min-width: 260px !important;
    width: 260px !important;
    min-height: 220px !important;
    margin: 0 !important;
    padding: 32px 28px !important;
    border-radius: 20px !important;
    background:
        radial-gradient(circle at 0% 0%, rgba(129, 140, 248, 0.35), transparent 55%),
        radial-gradient(circle at 100% 100%, rgba(56, 189, 248, 0.16), transparent 60%),
        var(--solvera-surface-3) !important;
    border: 1px solid rgba(148, 163, 184, 0.45) !important;
    color: #e2e8f0 !important;
    box-shadow: 0 18px 50px rgba(15, 23, 42, 0.75) !important;
    transition: box-shadow 0.2s ease, border-color 0.2s ease, transform 0.2s ease !important;
}
.solvera-google-ads-step0 .solvera-campaign-type-card:hover:not(:disabled) {
    transform: translateY(-4px);
    box-shadow: 0 26px 70px rgba(15, 23, 42, 0.95) !important;
    border-color: rgba(129, 140, 248, 0.9) !important;
}
.solvera-google-ads-step0 .solvera-campaign-type-card .solvera-campaign-type-icon {
    display: block !important;
    font-size: 2.2rem !important;
    margin-bottom: 12px !important;
}
.solvera-google-ads-step0 .solvera-campaign-type-card .solvera-campaign-type-label {
    display: block !important;
    text-align: center !important;
    font-weight: 600 !important;
    font-size: 1.05rem !important;
}
.solvera-google-ads-step0 .solvera-campaign-type-soon {
    background: var(--solvera-surface-2) !important;
    border-color: rgba(100, 116, 139, 0.4) !important;
    color: #64748b !important;
    box-shadow: none !important;
}

/* AI-Ассистент: две карточки собраны по центру, без дыры между ними.
   display без !important — иначе JS не может скрыть #aiStep0 при открытии режима (inline display:none слабее !important). */
.solvera-ai-step0 {
    display: flex;
    flex-direction: column !important;
    align-items: center !important;
}
.solvera-ai-step0-title {
    text-align: center !important;
    margin-bottom: 24px !important;
}
.solvera-ai-step0-cards {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px !important;
    align-items: stretch;
    max-width: 640px !important;
    width: 100% !important;
    margin: 0 auto !important;
}
.solvera-ai-mode-card {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    background: var(--solvera-surface-2) !important;
    border: 1px solid var(--solvera-stroke) !important;
    color: #e2e8f0 !important;
}
.solvera-ai-mode-card .solvera-ai-mode-name {
    color: #f1f5f9 !important;
}
.solvera-ai-mode-card .solvera-ai-mode-desc {
    color: #94a3b8 !important;
}
.solvera-ai-mode-card:hover {
    box-shadow: 0 0 30px rgba(79, 70, 229, 0.2);
    background: var(--solvera-surface-3) !important;
    border-color: rgba(99, 102, 241, 0.4) !important;
}

/* AI ассистент: иконки режимов — без фона/подложек */
body.dashboard-page .solvera-ai-mode-icon,
.solvera-dashboard-content .solvera-ai-mode-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 88px;
    height: 88px;
    border-radius: 0;
    background: none;
    border: none;
    box-shadow: none;
    margin-bottom: 18px;
}
body.dashboard-page .solvera-ai-mode-icon img,
.solvera-dashboard-content .solvera-ai-mode-icon img {
    display: block;
    width: 72px;
    height: 72px;
}

/* Мои кампании: выравнивание фильтра и таблица — читаемость, без наложений */
.solvera-campaigns-filter-form {
    align-items: center !important;
}
.solvera-campaigns-filter-form .solvera-btn-secondary {
    margin-top: 0 !important;
}
.solvera-campaigns-filter-group {
    align-items: center !important;
}
/* Таблица: фиксированные ширины колонок, контент не вылезает */
.solvera-campaigns-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.solvera-campaigns-table {
    table-layout: fixed !important;
    width: 100%;
    min-width: 720px;
    border-spacing: 0 6px !important;
}
.solvera-campaigns-table th,
.solvera-campaigns-table td {
    padding: 10px 12px !important;
    overflow: hidden;
    box-sizing: border-box;
}
.solvera-campaigns-table th {
    white-space: nowrap;
}
/* Видимые чекбоксы выбора кампаний (первая колонка) */
.solvera-campaigns-table th:nth-child(1) input[type="checkbox"],
.solvera-campaigns-table td:nth-child(1) input.campaign-checkbox {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    border-radius: 6px;
    border: 2px solid rgba(148, 163, 184, 0.95);
    background: rgba(15, 23, 42, 0.95);
    box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.9);
    cursor: pointer;
    display: inline-block;
    position: relative;
    vertical-align: middle;
    transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease, transform 0.1s ease;
}
.solvera-campaigns-table th:nth-child(1) input[type="checkbox"]:hover,
.solvera-campaigns-table td:nth-child(1) input.campaign-checkbox:hover {
    border-color: #e5e7eb;
    box-shadow: 0 0 0 1px rgba(148, 163, 184, 0.8);
    transform: translateY(-0.5px);
}
.solvera-campaigns-table th:nth-child(1) input[type="checkbox"]:focus-visible,
.solvera-campaigns-table td:nth-child(1) input.campaign-checkbox:focus-visible {
    outline: 2px solid #7c3aed;
    outline-offset: 2px;
}
.solvera-campaigns-table th:nth-child(1) input[type="checkbox"]:checked,
.solvera-campaigns-table td:nth-child(1) input.campaign-checkbox:checked {
    background: linear-gradient(135deg, #7c3aed 0%, #a855f7 100%);
    border-color: #a855f7;
    box-shadow: 0 0 0 1px rgba(129, 140, 248, 0.9);
}
.solvera-campaigns-table th:nth-child(1) input[type="checkbox"]:checked::after,
.solvera-campaigns-table td:nth-child(1) input.campaign-checkbox:checked::after {
    content: '✓';
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -56%);
    font-size: 12px;
    color: #f9fafb;
}
/* Колонка 1 — чекбокс */
.solvera-campaigns-table th:nth-child(1),
.solvera-campaigns-table td:nth-child(1) {
    width: 44px;
    min-width: 44px;
    max-width: 44px;
    text-align: center;
}
/* Колонка 2 — название */
.solvera-campaigns-table th:nth-child(2),
.solvera-campaigns-table td:nth-child(2) {
    width: 26%;
    min-width: 140px;
}
.solvera-campaigns-table td:nth-child(2) {
    max-width: 0;
}
.solvera-campaigns-table-title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
    display: block;
}
.solvera-campaigns-table td:nth-child(2) .solvera-copy-wrap {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
}
/* Колонка 3 — тип */
.solvera-campaigns-table th:nth-child(3),
.solvera-campaigns-table td:nth-child(3) {
    width: 14%;
    min-width: 90px;
}
.solvera-campaigns-table td:nth-child(3) .solvera-campaigns-type-badge {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* Колонка 4 — бюджет */
.solvera-campaigns-table th:nth-child(4),
.solvera-campaigns-table td:nth-child(4) {
    width: 12%;
    min-width: 80px;
    font-variant-numeric: tabular-nums;
    font-family: ui-monospace, monospace;
    color: #a5b4fc;
    white-space: nowrap;
}
/* Колонка 5 — статус */
.solvera-campaigns-table th:nth-child(5),
.solvera-campaigns-table td:nth-child(5) {
    width: 14%;
    min-width: 90px;
}
.solvera-campaign-status-cell {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
}
/* Колонка 6 — дата создания */
.solvera-campaigns-table th:nth-child(6),
.solvera-campaigns-table td:nth-child(6) {
    width: 12%;
    min-width: 88px;
    white-space: nowrap;
}
/* Колонка 7 — действия: без флашек (box-shadow), кнопки компактнее */
.solvera-campaigns-table th:nth-child(7),
.solvera-campaigns-table td:nth-child(7) {
    width: 18%;
    min-width: 100px;
}
.solvera-campaigns-table td:nth-child(7) .solvera-campaigns-actions {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: wrap;
    gap: 4px !important;
    align-items: flex-start;
}
.solvera-campaigns-table td:nth-child(7) .solvera-btn {
    white-space: nowrap;
    font-size: 0.8rem !important;
    padding: 4px 10px !important;
    min-height: 28px !important;
    line-height: 1.2 !important;
    box-shadow: none !important;
    border: 1px solid var(--solvera-stroke) !important;
}
.solvera-campaigns-table td:nth-child(7) .solvera-btn:hover {
    box-shadow: none !important;
}
/* Кнопка копирования ID в таблице кампаний — без светлого фона и флашек */
.solvera-campaigns-table .solvera-copy-btn,
.solvera-campaigns-table td .solvera-copy-wrap .solvera-copy-btn {
    box-shadow: none !important;
    background: var(--solvera-surface-3) !important;
    border: 1px solid var(--solvera-stroke) !important;
    color: #94a3b8 !important;
    padding: 2px !important;
    min-width: 24px !important;
    width: 24px !important;
    height: 24px !important;
}
.solvera-campaigns-table .solvera-copy-btn:hover,
.solvera-campaigns-table td .solvera-copy-wrap .solvera-copy-btn:hover {
    box-shadow: none !important;
    background: var(--solvera-surface-4) !important;
    color: #e2e8f0 !important;
}
.solvera-campaign-status-switch input:checked + .solvera-campaign-status-slider,
body.dashboard-page .solvera-campaign-status-switch input:checked + .solvera-campaign-status-slider,
.solvera-dashboard-content .solvera-campaign-status-switch input:checked + .solvera-campaign-status-slider {
    background: #6366f1 !important;
}

/* ---------- Анализ сайта (ИИ-ассистент): тёмный фон, читаемые графики и выпадающий список ---------- */
.solvera-ai-site-panel .solvera-ai-site-step-title {
    color: #f1f5f9 !important;
}
.solvera-ai-site-panel .solvera-ai-site-step-divider {
    background: linear-gradient(90deg, transparent, rgba(148, 163, 184, 0.3), transparent) !important;
}
.solvera-ai-site-panel .solvera-ai-site-no-last,
.solvera-ai-site-panel .solvera-ai-site-empty {
    color: #94a3b8 !important;
}
/* Блок «Нет сохранённого анализа» — тёмный, без белого фона */
.solvera-ai-site-panel .solvera-ai-site-no-last {
    background: var(--solvera-surface-2) !important;
    border: 1px dashed rgba(148, 163, 184, 0.35) !important;
    border-radius: var(--solvera-radius-card) !important;
    padding: 20px 24px !important;
    margin: 20px 0 !important;
}
.solvera-ai-site-summary {
    background: var(--solvera-surface-2) !important;
    border: 1px solid var(--solvera-stroke) !important;
    border-left-color: #6366f1 !important;
}
.solvera-ai-site-summary-title {
    color: #f1f5f9 !important;
}
/* Выпадающий список выбора сайта — тёмный, читаемый */
.solvera-ai-site-form .solvera-ai-form-select {
    background: var(--solvera-surface-3) !important;
    border-color: var(--solvera-stroke) !important;
    color: #e2e8f0 !important;
}
.solvera-ai-site-form .solvera-ai-form-select option {
    background: #1e293b !important;
    color: #e2e8f0 !important;
}
/* Графики анализа сайта — тёмный фон, читаемые подписи */
.solvera-ai-site-chart {
    background: transparent;
}
.solvera-ai-site-chart-semicircle-bg {
    border-color: #334155 !important;
    border-bottom-color: transparent !important;
    border-left-color: transparent !important;
}
.solvera-ai-site-chart-label-display {
    color: #e2e8f0 !important;
}
.solvera-ai-site-chart-value-display {
    color: inherit;
}
/* Карточки SEO/Маркетинг/Пользователь */
.solvera-ai-site-card {
    background: var(--solvera-surface-2) !important;
    border-color: var(--solvera-stroke) !important;
    color: #e2e8f0 !important;
}
.solvera-ai-site-card-header h4 {
    color: #f1f5f9 !important;
}
.solvera-ai-site-card-score {
    background: rgba(99, 102, 241, 0.2) !important;
    color: #a5b4fc !important;
}
.solvera-ai-site-weak,
.solvera-ai-site-weak li {
    color: #cbd5e1 !important;
}
.solvera-ai-site-no-weak {
    color: #94a3b8 !important;
}
/* Блок «Целевая аудитория» и результаты */
.solvera-ai-site-full-results-target,
.solvera-ai-site-results-target {
    background: rgba(30, 41, 59, 0.8) !important;
    border-color: rgba(148, 163, 184, 0.2) !important;
    color: #cbd5e1 !important;
}
.solvera-ai-site-full-results-target strong,
.solvera-ai-site-results-target strong {
    color: #a5b4fc !important;
}
.solvera-ai-site-all-zeros-warn {
    background: rgba(245, 158, 11, 0.15) !important;
    border-color: rgba(245, 158, 11, 0.4) !important;
    color: #fcd34d !important;
}
.solvera-ai-site-loading p {
    color: #e2e8f0 !important;
}
/* Модальное окно полного анализа */
.solvera-ai-site-full-modal-content {
    background: var(--solvera-surface-2) !important;
    border: 1px solid var(--solvera-stroke) !important;
    color: #e2e8f0 !important;
}
.solvera-ai-site-full-modal-title {
    color: #f1f5f9 !important;
}
.solvera-ai-site-full-modal-target {
    background: rgba(30, 41, 59, 0.8) !important;
    border-color: rgba(148, 163, 184, 0.2) !important;
    color: #cbd5e1 !important;
}
.solvera-ai-site-full-modal-target strong {
    color: #a5b4fc !important;
}
.solvera-ai-site-full-modal-close {
    background: var(--solvera-surface-3) !important;
    color: #94a3b8 !important;
}
.solvera-ai-site-full-modal-close:hover {
    background: var(--solvera-surface-4) !important;
    color: #e2e8f0 !important;
}
.solvera-ai-site-full-modal-cards .solvera-ai-site-card {
    background: var(--solvera-surface-3) !important;
}

/* ========== 2. Навигация и Sidebar (Smart Navigation) ========== */
/* II. Сайдбар: фиксированный (не сбрасывать!), glass + blur(15px) */
.solvera-dashboard-menu-vertical {
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    background: rgba(11, 12, 17, 0.8) !important;
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    border-right: 1px solid var(--solvera-stroke) !important;
    border-radius: 0 !important;
    width: 240px;
    height: 100vh;
    max-height: 100vh;
    transition: width 0.25s var(--solvera-ease), top 0.25s var(--solvera-ease);
    overflow: hidden !important;
    display: flex;
    flex-direction: column;
}
.solvera-dashboard-menu-vertical .solvera-dashboard-tab-list {
    display: flex !important;
    flex-direction: column !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    flex: 1;
    min-height: 0;
    gap: 2px !important;
}
.solvera-dashboard-menu-vertical .solvera-dashboard-tab-list li {
    flex: 0 0 auto !important;
    min-height: 0 !important;
}
.solvera-dashboard-menu-vertical .solvera-dashboard-tab-list li a {
    display: flex !important;
    align-items: center !important;
    min-height: 40px;
    padding: 8px 12px !important;
    font-size: 0.8125rem !important;
}
.solvera-dashboard-menu-vertical ::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}
.solvera-dashboard-menu-vertical .solvera-dashboard-menu-header {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    margin-bottom: 12px !important;
    flex-shrink: 0;
    text-align: center;
    overflow: visible !important;
    min-height: 0;
    width: 100%;
    box-sizing: border-box;
    padding-left: 10px;
    padding-right: 10px;
}
.solvera-dashboard-menu-vertical .solvera-dashboard-logo-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px;
    text-decoration: none !important;
    min-width: 0;
}
.solvera-dashboard-menu-vertical .solvera-dashboard-logo,
.solvera-dashboard-menu-vertical .solvera-dashboard-menu-header a img {
    height: 48px !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 24px !important;
    object-fit: contain !important;
    background: none !important;
    border-radius: 0 !important;
    border: none !important;
    filter: drop-shadow(0 0 8px rgba(99, 102, 241, 0.2));
    flex-shrink: 0;
}
.solvera-dashboard-menu-vertical .solvera-dashboard-logo-text {
    display: none !important;
}
.solvera-dashboard-mode-switch.solvera-mode-segmented {
    margin-top: 10px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    padding: 3px !important;
    border-radius: 9999px !important;
    background: #0f172a !important;
    border: 1px solid rgba(99, 102, 241, 0.3) !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}
.solvera-dashboard-mode-switch.solvera-mode-segmented .solvera-mode-chip {
    flex: 1 1 0;
    min-width: 0;
    text-align: center;
    padding: 6px 8px !important;
    font-size: 0.6875rem !important;
    font-weight: 600 !important;
    letter-spacing: -0.02em;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    box-sizing: border-box;
}
.solvera-dashboard-mode-switch.solvera-mode-segmented .solvera-mode-chip.active {
    background: linear-gradient(135deg, #6366f1 0%, #a855f7 100%) !important;
    color: #fff !important;
}

.solvera-dashboard-menu-vertical:hover {
    background: rgba(11, 12, 17, 0.9) !important;
}

/* Схлопываемый сайдбар (до иконок) */
.solvera-dashboard-menu-vertical.solvera-sidebar-collapsed {
    width: 72px !important;
}
.solvera-sidebar-collapsed .solvera-dashboard-menu-header a span,
.solvera-sidebar-collapsed .solvera-dashboard-tab-list li a span,
.solvera-sidebar-collapsed .solvera-dashboard-mode-switch,
.solvera-sidebar-collapsed .solvera-first-steps-widget .solvera-first-steps-label,
.solvera-sidebar-collapsed .solvera-menu-balance span:first-child,
.solvera-sidebar-collapsed .solvera-dashboard-logout-link span { display: none !important; }
.solvera-sidebar-collapsed .solvera-dashboard-menu-header a { justify-content: center; padding: 8px; }
.solvera-sidebar-collapsed .solvera-dashboard-tab-list li a { padding: 12px; justify-content: center; text-align: center; }
.solvera-sidebar-collapsed .solvera-dashboard-tab-list li a span { display: none; }
.solvera-sidebar-collapsed .solvera-dashboard-menu-bottom .solvera-language-switcher select { min-width: 0; padding: 8px; }
.solvera-sidebar-collapsed .solvera-subscription-limits-block .solvera-subscription-limits-label { display: none; }
.solvera-sidebar-collapsed .solvera-subscription-limits-bar { margin-top: 4px; }

/* Отступ контента при ширине сайдбара 240px / 72px (collapsed) */
body.solvera-dashboard-with-sidebar .solvera-dashboard-content { left: 240px !important; }
body.solvera-sidebar-collapsed .solvera-dashboard-content { left: 72px !important; }

/* Небольшой отступ между сайдбаром и контентом; справа всегда отступ у карточек */
body.dashboard-page .solvera-dashboard-content,
.solvera-dashboard-layout .solvera-dashboard-content {
    padding-left: 16px !important;
    padding-right: 32px !important;
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}
/* Страницы биллинга (E-commerce): отступы от сайдбара и от края экрана */
body.dashboard-page .solvera-dashboard-content:has(.solvera-billing-page),
body.dashboard-page .solvera-dashboard-content:has(.solvera-billing-activation),
.solvera-dashboard-layout .solvera-dashboard-content:has(.solvera-billing-page),
.solvera-dashboard-layout .solvera-dashboard-content:has(.solvera-billing-activation) {
    padding-left: 28px !important;
    padding-right: 32px !important;
}
/* Интеграции, кампании, ИИ-ассистент, аналитика, поддержка, рефералы, профиль: отступы слева и справа (Google Ads — отдельно ниже) */
body.dashboard-page .solvera-dashboard-content:has(.solvera-integrations-page),
body.dashboard-page .solvera-dashboard-content:has(.solvera-campaigns-card),
body.dashboard-page .solvera-dashboard-content:has(.solvera-ai-card),
body.dashboard-page .solvera-dashboard-content:has(.solvera-analytics-filter),
body.dashboard-page .solvera-dashboard-content:has(.solvera-support-page),
body.dashboard-page .solvera-dashboard-content:has(.solvera-referral-link-block),
body.dashboard-page .solvera-dashboard-content:has(.solvera-profile-header),
.solvera-dashboard-layout .solvera-dashboard-content:has(.solvera-integrations-page),
.solvera-dashboard-layout .solvera-dashboard-content:has(.solvera-campaigns-card),
.solvera-dashboard-layout .solvera-dashboard-content:has(.solvera-ai-card),
.solvera-dashboard-layout .solvera-dashboard-content:has(.solvera-analytics-filter),
.solvera-dashboard-layout .solvera-dashboard-content:has(.solvera-support-page),
.solvera-dashboard-layout .solvera-dashboard-content:has(.solvera-referral-link-block),
.solvera-dashboard-layout .solvera-dashboard-content:has(.solvera-profile-header) {
    padding-left: 28px !important;
    padding-right: 40px !important;
}
/* Создание Google Ads: отступ справа от края экрана (+ safe-area на iPhone) */
body.dashboard-page .solvera-dashboard-content:has(.solvera-google-ads-create-content),
.solvera-dashboard-layout .solvera-dashboard-content:has(.solvera-google-ads-create-content) {
    padding-left: 28px !important;
    padding-right: max(72px, calc(48px + env(safe-area-inset-right, 0px))) !important;
}
@media (max-width: 768px) {
    body.dashboard-page .solvera-dashboard-content:has(.solvera-google-ads-create-content),
    .solvera-dashboard-layout .solvera-dashboard-content:has(.solvera-google-ads-create-content) {
        padding-right: max(20px, calc(16px + env(safe-area-inset-right, 0px))) !important;
    }
}
/* Создание Facebook Ads: одинаковые отступы слева от зоны контента и справа до края окна */
body.dashboard-page .solvera-dashboard-content:has(.solvera-fb-create-wrap),
.solvera-dashboard-layout .solvera-dashboard-content:has(.solvera-fb-create-wrap) {
    padding-left: 32px !important;
    padding-right: 32px !important;
}
@media (max-width: 768px) {
    body.dashboard-page .solvera-dashboard-content:has(.solvera-fb-create-wrap),
    .solvera-dashboard-layout .solvera-dashboard-content:has(.solvera-fb-create-wrap) {
        padding-left: max(16px, env(safe-area-inset-left, 0px)) !important;
        padding-right: max(16px, env(safe-area-inset-right, 0px)) !important;
    }
}
/* Дублируем отступ справа на карточке мастера (не зависит от :has) */
.solvera-dashboard-content .solvera-google-ads-create-content,
.solvera-dashboard-layout .solvera-dashboard-content .solvera-google-ads-create-content {
    margin-right: max(48px, calc(32px + env(safe-area-inset-right, 0px))) !important;
    padding-right: 24px !important;
    box-sizing: border-box !important;
}
@media (max-width: 768px) {
    .solvera-dashboard-content .solvera-google-ads-create-content,
    .solvera-dashboard-layout .solvera-dashboard-content .solvera-google-ads-create-content {
        margin-right: 16px !important;
        padding-right: 12px !important;
    }
}
/* Отступ справа у всех карточек контента на десктопе */
@media (min-width: 769px) {
    body.dashboard-page .solvera-dashboard-content .solvera-card,
    .solvera-dashboard-layout .solvera-dashboard-content .solvera-card {
        margin-right: 32px !important;
    }
    /* Мастер Facebook Ads: только margin-right !important ломал margin: 0 auto — карточка прилипала вправо */
    body.dashboard-page .solvera-dashboard-content .solvera-card.solvera-card-form-wrap:not(.solvera-google-ads-create-content),
    .solvera-dashboard-layout .solvera-dashboard-content .solvera-card.solvera-card-form-wrap:not(.solvera-google-ads-create-content) {
        margin-left: auto !important;
        margin-right: auto !important;
    }
    /* Сильнее общего .solvera-card — мастер Google Ads с большим отступом справа */
    body.dashboard-page .solvera-dashboard-content .solvera-card.solvera-google-ads-create-content,
    .solvera-dashboard-layout .solvera-dashboard-content .solvera-card.solvera-google-ads-create-content {
        margin-right: max(48px, calc(32px + env(safe-area-inset-right, 0px))) !important;
    }
}

.solvera-dashboard-menu-vertical .solvera-dashboard-menu-header a span {
    color: #fff !important;
}

/* Переключатель режимов: Segmented Control — контейнер #0f172a, активная кнопка indigo-600 */
.solvera-dashboard-mode-switch {
    position: relative;
    display: inline-flex;
    padding: 4px;
    background: #0f172a !important;
    border: 1px solid rgba(30, 41, 59, 0.5);
    border-radius: 9999px !important;
}
.solvera-mode-chip {
    position: relative;
    z-index: 1;
    color: #94A3B8 !important;
    padding: 6px 14px;
    border-radius: 9999px;
    transition: background var(--solvera-duration) var(--solvera-ease), color var(--solvera-duration) var(--solvera-ease);
}
.solvera-mode-chip.active {
    color: #FFFFFF !important;
    background: linear-gradient(135deg, #6366f1 0%, #a855f7 100%) !important;
}
.solvera-mode-segmented .solvera-mode-chip.active {
    background: linear-gradient(135deg, #6366f1 0%, #a855f7 100%) !important;
    color: #fff !important;
}
/* Убираем скользящую каретку для Segmented Control */
.solvera-dashboard-mode-switch.solvera-mode-segmented::before,
.solvera-dashboard-mode-switch::before {
    display: none;
}

/* Пункты меню: неактивные #64748B, активные иконка #6366F1; hover 0.2s → белый текст */
.solvera-dashboard-tab-list li {
    min-height: 0 !important;
}
.solvera-dashboard-tab-list li a {
    color: #64748B !important;
    background: transparent !important;
    border-left: 3px solid transparent !important;
    border-radius: 0 var(--solvera-radius) var(--solvera-radius) 0 !important;
    transition: background 0.2s var(--solvera-ease), color 0.2s var(--solvera-ease);
    padding: 8px 12px !important;
    min-height: 36px !important;
}
.solvera-dashboard-tab-list li a.active,
.solvera-dashboard-tab-list li a.active svg,
.solvera-dashboard-tab-list li a.active .dashicons {
    color: #6366F1 !important;
}

/* Hover: плавное появление фона #181B24 (200ms) */
.solvera-dashboard-tab-list li a:hover {
    color: #E2E8F0 !important;
    background: var(--solvera-surface-3) !important;
    border-left-color: transparent !important;
    box-shadow: none !important;
}

/* Active: белый текст + неоновая точка 2px слева + background rgba(99,102,241,0.05) */
.solvera-dashboard-tab-list li a.active {
    color: #FFFFFF !important;
    background: rgba(99, 102, 241, 0.05) !important;
    border-left-color: transparent !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    position: relative;
}
.solvera-dashboard-tab-list li a.active::before {
    content: '';
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 2px;
    height: 2px;
    background: #6366F1;
    border-radius: 50%;
    box-shadow: 0 0 6px rgba(99, 102, 241, 0.8);
}
/* Счетчики у пунктов меню (баджи активных кампаний) */
.solvera-nav-badge {
    margin-left: auto;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    font-size: 11px;
    font-weight: 600;
    line-height: 20px;
    text-align: center;
    background: var(--solvera-surface-3);
    color: #94a3b8;
    border-radius: 10px;
}
.solvera-sidebar-collapsed .solvera-nav-badge { display: none !important; }

/* Блок «Лимиты подписки» в сайдбаре — тонкая светящаяся линия прогресса */
.solvera-subscription-limits-block {
    padding: var(--solvera-space-2);
    margin: 0 var(--solvera-space-1) var(--solvera-space-2);
    background: var(--solvera-surface-2);
    border: 1px solid var(--solvera-stroke);
    border-radius: var(--solvera-radius);
}
.solvera-subscription-limits-label {
    font-size: 12px;
    color: #94a3b8;
    margin-bottom: 8px;
}
.solvera-subscription-limits-bar {
    height: 4px;
    background: var(--solvera-stroke);
    border-radius: 2px;
    overflow: hidden;
}
.solvera-subscription-limits-fill {
    height: 100%;
    background: var(--solvera-primary);
    border-radius: 2px;
    box-shadow: 0 0 12px var(--solvera-primary-glow-strong);
    transition: width 0.3s ease;
}

/* Нижняя часть: компактные отступы */
.solvera-dashboard-menu-bottom {
    border-top: none;
    padding-top: 12px;
    padding-left: 8px;
    padding-right: 8px;
    position: relative;
    flex-shrink: 0;
}
.solvera-dashboard-menu-bottom::before {
    content: '';
    position: absolute;
    top: 0;
    left: 20%;
    right: 20%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--solvera-stroke), transparent);
}
.solvera-dashboard-logout-link {
    background: rgba(255, 255, 255, 0.05) !important;
    color: rgba(148, 163, 184, 0.6) !important;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: var(--solvera-radius) !important;
}

/* Выравнивание с переключателем языка — одна колонка, без отрицательных margin */
.solvera-dashboard-menu-vertical .solvera-dashboard-menu-bottom .solvera-dashboard-logout-link,
body.dashboard-page .solvera-dashboard-menu-bottom .solvera-dashboard-logout-link {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    box-sizing: border-box !important;
    text-align: center !important;
}

.solvera-dashboard-logout-link:hover,
.solvera-dashboard-logout-link:focus {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #94a3b8 !important;
}

.solvera-dashboard-menu-bottom .solvera-language-switcher select,
.solvera-dashboard-menu-bottom .solvera-language-switcher .solvera-lang-dropup-btn {
    color: #e2e8f0 !important;
    background: #1e293b !important;
    border: 1px solid #334155;
    border-radius: 8px !important;
}

/* Переключатель языка: на всю ширину колонки; без отрицательных margin — стрелка ::after совпадает с фоном select */
.solvera-dashboard-menu-vertical .solvera-dashboard-menu-bottom .solvera-language-switcher,
body.dashboard-page .solvera-dashboard-menu-bottom .solvera-language-switcher {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 8px 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    text-align: left !important;
    overflow: visible !important;
}
.solvera-dashboard-menu-vertical .solvera-dashboard-menu-bottom .solvera-language-switcher select,
body.dashboard-page .solvera-dashboard-menu-bottom .solvera-language-switcher select {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 10px 36px 10px 12px !important;
    font-size: 13px !important;
    color: #e2e8f0 !important;
    background: #1e293b !important;
    border: 1px solid #334155 !important;
    border-radius: 8px !important;
    cursor: pointer !important;
}
.solvera-dashboard-menu-vertical .solvera-dashboard-menu-bottom .solvera-language-switcher select:hover,
body.dashboard-page .solvera-dashboard-menu-bottom .solvera-language-switcher select:hover {
    background: #334155 !important;
    border-color: #475569 !important;
}
.solvera-dashboard-menu-vertical .solvera-dashboard-menu-bottom .solvera-language-switcher select:focus,
body.dashboard-page .solvera-dashboard-menu-bottom .solvera-language-switcher select:focus {
    outline: none !important;
    border-color: #6366f1 !important;
    box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.25) !important;
}
.solvera-dashboard-menu-vertical .solvera-dashboard-menu-bottom .solvera-language-switcher::after,
body.dashboard-page .solvera-dashboard-menu-bottom .solvera-language-switcher::after {
    border-top-color: #94a3b8 !important;
    right: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin-top: 0 !important;
}
.solvera-dashboard-menu-vertical .solvera-dashboard-menu-bottom .solvera-language-switcher select option,
body.dashboard-page .solvera-dashboard-menu-bottom .solvera-language-switcher select option {
    background: #1e293b !important;
    color: #e2e8f0 !important;
}

/* Виджет First Steps в сайдбаре */
.solvera-dashboard-menu-vertical .solvera-first-steps-widget {
    background: rgba(139, 92, 246, 0.12) !important;
    border: 1px solid rgba(139, 92, 246, 0.2) !important;
    color: #c4b5fd !important;
    flex-shrink: 0;
}

.solvera-dashboard-menu-vertical .solvera-first-steps-bar {
    background: rgba(255, 255, 255, 0.1) !important;
}

.solvera-dashboard-menu-vertical .solvera-first-steps-fill {
    background: linear-gradient(90deg, #8b5cf6, #06b6d4) !important;
}

/* Бургер на мобильных */
.solvera-mobile-menu-toggle {
    background: #16181D !important;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.solvera-mobile-menu-toggle span {
    background: #94a3b8 !important;
}

.solvera-mobile-menu-overlay.active {
    background: rgba(0, 0, 0, 0.7);
}

/* ========== 2.2 System Header (Sticky, матовое стекло) ========== */
.solvera-global-header {
    position: sticky;
    top: 0;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--solvera-space-2);
    padding: var(--solvera-space-2) var(--solvera-space-3);
    background: rgba(11, 12, 17, 0.85);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid var(--solvera-stroke);
}
.solvera-breadcrumbs { font-size: 13px; color: #94A3B8; }
.solvera-breadcrumbs a { color: #cbd5e1; text-decoration: none; }
.solvera-breadcrumbs a:hover { color: #fff; }
.solvera-global-header-actions { display: flex; align-items: center; gap: var(--solvera-space-2); }
/* Индикаторы API: если отключен — иконка пульсирует красным */
.solvera-api-indicator { transition: opacity var(--solvera-duration) var(--solvera-ease); }
.solvera-api-indicator.solvera-api-disconnected {
    animation: solveraPulseRed 1.5s ease-in-out infinite;
}
@keyframes solveraPulseRed {
    0%, 100% { opacity: 1; filter: drop-shadow(0 0 4px rgba(239, 68, 68, 0.6)); }
    50% { opacity: 0.7; filter: drop-shadow(0 0 8px rgba(239, 68, 68, 0.9)); }
}
/* Селектор аккаунтов: dropdown Surface-3, тень цветная */
.solvera-account-selector-dropdown {
    background: var(--solvera-surface-3) !important;
    border: 1px solid var(--solvera-stroke);
    border-radius: var(--solvera-radius);
    box-shadow: var(--solvera-shadow-card);
}

/* ========== 3. Система карточек (Bento Grid) ========== */
/* Сетка: gap 20px, padding в карточках 24px */
.solvera-dashboard-content > .solvera-card + .solvera-card,
.solvera-dashboard-content > .solvera-card-secondary + .solvera-card,
.solvera-dashboard-content > * + .solvera-metrics-row { margin-top: var(--solvera-gap-cards); }
.solvera-metrics-row {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: var(--solvera-gap-cards) !important;
    align-items: stretch;
}
/* Обзор: верхний ряд 3 карточки — grid-cols-3 gap-6 */
.solvera-metrics-row-3 {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px !important;
}

/* Analytics for 7 days: карточки на всю ширину, иконка слева без фона, сравнение с прошлой неделей */
.solvera-analytics-7d-card .solvera-analytics-7d {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important;
    width: 100% !important;
}
.solvera-analytics-7d-metric {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    padding: 20px !important;
    background: var(--solvera-surface-2) !important;
    border: 1px solid var(--solvera-stroke) !important;
    border-radius: var(--solvera-radius-card) !important;
    min-width: 0 !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    box-shadow: 0 0 16px rgba(99, 102, 241, 0.08) !important;
}
.solvera-analytics-7d-metric:hover {
    border-color: rgba(99, 102, 241, 0.35) !important;
    box-shadow: 0 0 20px rgba(99, 102, 241, 0.15) !important;
}
.solvera-analytics-7d-icon {
    flex-shrink: 0 !important;
    width: 40px !important;
    height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #a5b4fc !important;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    filter: none !important;
}
.solvera-analytics-7d-icon.solvera-metric-icon-svg svg {
    width: 24px !important;
    height: 24px !important;
}
.solvera-analytics-7d-icon.solvera-metric-icon-svg svg path,
.solvera-analytics-7d-icon.solvera-metric-icon-svg svg circle,
.solvera-analytics-7d-icon.solvera-metric-icon-svg svg polyline,
.solvera-analytics-7d-icon.solvera-metric-icon-svg svg rect {
    stroke: currentColor !important;
}
.solvera-analytics-7d-body {
    flex: 1 !important;
    min-width: 0 !important;
}
.solvera-analytics-7d-label {
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: #94a3b8 !important;
    margin-bottom: 4px !important;
}
.solvera-analytics-7d-value {
    font-size: clamp(20px, 1.5rem, 26px) !important;
    font-weight: 700 !important;
    color: #fff !important;
    line-height: 1.2 !important;
}
.solvera-analytics-7d-change {
    display: inline-block !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    margin-top: 6px !important;
}
.solvera-analytics-7d-change-up {
    color: #34d399 !important;
}
.solvera-analytics-7d-change-down {
    color: #f87171 !important;
}
.solvera-analytics-7d-change-same {
    color: #94a3b8 !important;
}
@media (max-width: 768px) {
    .solvera-analytics-7d-card .solvera-analytics-7d {
        grid-template-columns: 1fr !important;
    }
}

/* Цифра без отдельного фона — фон на всю карточку (.solvera-metric-main) */
.solvera-metric-value-inner {
    display: inline-block;
}
/* Обзор: список активности — тёмный режим: без белых обводок, читаемые названия */
.solvera-activity-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.solvera-dashboard-content .solvera-activity-item,
body.dashboard-page .solvera-activity-item {
    background: rgba(15, 23, 42, 0.5) !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    border-radius: var(--solvera-radius);
    padding: 12px 14px;
}
.solvera-dashboard-content .solvera-activity-item:hover,
body.dashboard-page .solvera-activity-item:hover {
    background: rgba(15, 23, 42, 0.7) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}
.solvera-dashboard-content .solvera-activity-title,
body.dashboard-page .solvera-activity-title {
    color: #e2e8f0 !important;
    font-weight: 600;
}
.solvera-dashboard-content .solvera-activity-description,
body.dashboard-page .solvera-activity-description {
    color: #cbd5e1 !important;
}
.solvera-dashboard-content .solvera-activity-description a,
body.dashboard-page .solvera-activity-description a {
    color: #a5b4fc !important;
}
/* Блок AI Budget Guard — строго на всю ширину (перебивает любые сетки/колонки) */
.solvera-ai-guard-summary-card,
body.dashboard-page .solvera-ai-guard-summary-card,
.solvera-dashboard-content .solvera-ai-guard-summary-card,
.solvera-dashboard-content > .solvera-ai-guard-summary-card,
.solvera-dashboard-layout .solvera-ai-guard-summary-card {
    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
    display: block !important;
    grid-column: 1 / -1 !important;
    flex: 1 1 100% !important;
    flex-basis: 100% !important;
    box-sizing: border-box !important;
}
.solvera-ai-guard-summary-card .solvera-metrics-row {
    width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
    grid-template-columns: unset !important;
}

/* AI Budget Guard: такое же размещение элементов, как в Аналитике — иконка слева, подпись и значение справа */
.solvera-ai-guard-summary-card .solvera-metric-main {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 16px !important;
    justify-content: flex-start !important;
    min-height: auto !important;
    padding: 20px !important;
}
.solvera-ai-guard-summary-card .solvera-metric-main .solvera-metric-icon,
.solvera-ai-guard-summary-card .solvera-metric-main .solvera-metric-icon.solvera-metric-icon-svg {
    flex-shrink: 0 !important;
    width: 40px !important;
    height: 40px !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #a5b4fc !important;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
}
.solvera-ai-guard-summary-card .solvera-metric-main .solvera-metric-icon.solvera-metric-icon-svg svg {
    width: 24px !important;
    height: 24px !important;
}
.solvera-ai-guard-summary-card .solvera-metric-main > div {
    flex: 1 !important;
    min-width: 0 !important;
}
.solvera-ai-guard-summary-card .solvera-metric-main .solvera-metric-label {
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: #94a3b8 !important;
    margin-bottom: 4px !important;
}
.solvera-ai-guard-summary-card .solvera-metric-main .solvera-metric-value {
    font-size: clamp(18px, 1.35rem, 24px) !important;
    font-weight: 700 !important;
    color: #fff !important;
    line-height: 1.2 !important;
}

/* E-commerce режим: такое же размещение элементов, как в Услугах (иконка слева, подпись и значение справа) */
.solvera-ecom-7d-card .solvera-metric-main {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 16px !important;
    justify-content: flex-start !important;
    min-height: auto !important;
    padding: 20px !important;
}
.solvera-ecom-7d-card .solvera-metric-main .solvera-metric-icon,
.solvera-ecom-7d-card .solvera-metric-main .solvera-metric-icon.solvera-metric-icon-svg {
    flex-shrink: 0 !important;
    width: 40px !important;
    height: 40px !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #a5b4fc !important;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
}
.solvera-ecom-7d-card .solvera-metric-main .solvera-metric-icon.solvera-metric-icon-svg svg {
    width: 24px !important;
    height: 24px !important;
}
.solvera-ecom-7d-card .solvera-metric-main > div {
    flex: 1 !important;
    min-width: 0 !important;
}
.solvera-ecom-7d-card .solvera-metric-main .solvera-metric-label {
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: #94a3b8 !important;
    margin-bottom: 4px !important;
}
.solvera-ecom-7d-card .solvera-metric-main .solvera-metric-value {
    font-size: clamp(18px, 1.35rem, 24px) !important;
    font-weight: 700 !important;
    color: #fff !important;
    line-height: 1.2 !important;
}
.solvera-activity-item[data-type="campaign"] {
    background: rgba(15, 23, 42, 0.5);
    border-left: 4px solid #6366f1;
    padding: 12px 14px;
    border-radius: 0 8px 8px 0;
}

/* Иконки и бейджи в блоке «Последние действия» — приглушённые, без светлых пятен */
.solvera-dashboard-content .solvera-activity-icon,
body.dashboard-page .solvera-activity-icon {
    background: rgba(30, 41, 59, 0.9) !important;
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #94a3b8 !important;
}
.solvera-dashboard-content .solvera-activity-item[data-type="campaign"] .solvera-activity-icon,
body.dashboard-page .solvera-activity-item[data-type="campaign"] .solvera-activity-icon {
    background: none !important;
    color: #a5b4fc !important;
}
.solvera-dashboard-content .solvera-activity-item[data-type="payment"] .solvera-activity-icon,
body.dashboard-page .solvera-activity-item[data-type="payment"] .solvera-activity-icon {
    background: none !important;
    color: #86efac !important;
}
.solvera-dashboard-content .solvera-activity-item[data-type="referral"] .solvera-activity-icon,
body.dashboard-page .solvera-activity-item[data-type="referral"] .solvera-activity-icon {
    background: none !important;
    color: #fcd34d !important;
}
.solvera-dashboard-content .solvera-activity-item[data-type="bonus"] .solvera-activity-icon,
body.dashboard-page .solvera-activity-item[data-type="bonus"] .solvera-activity-icon {
    background: none !important;
    color: #f9a8d4 !important;
}

/* Бейджи статусов — приглушённые, в тон тёмной теме */
.solvera-dashboard-content .solvera-activity-status,
body.dashboard-page .solvera-activity-status {
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.solvera-dashboard-content .solvera-activity-status.solvera-status-draft,
body.dashboard-page .solvera-activity-status.solvera-status-draft {
    background: rgba(251, 146, 60, 0.15) !important;
    color: #fdba74 !important;
}
.solvera-dashboard-content .solvera-activity-status.solvera-status-active,
body.dashboard-page .solvera-activity-status.solvera-status-active {
    background: rgba(34, 197, 94, 0.15) !important;
    color: #86efac !important;
}
.solvera-dashboard-content .solvera-activity-status.solvera-status-paused,
body.dashboard-page .solvera-activity-status.solvera-status-paused {
    background: rgba(244, 63, 94, 0.15) !important;
    color: #fda4af !important;
}
.solvera-dashboard-content .solvera-activity-status.solvera-status-completed,
body.dashboard-page .solvera-activity-status.solvera-status-completed {
    background: rgba(99, 102, 241, 0.15) !important;
    color: #a5b4fc !important;
}

/* Страница обзора: карточка «Последние действия» — тёмный стиль */
body.dashboard-page .solvera-activity-card,
.solvera-dashboard-content .solvera-activity-card {
    background: rgba(15, 23, 42, 0.8) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
    box-shadow: none !important;
}
body.dashboard-page .solvera-activity-card:hover,
.solvera-dashboard-content .solvera-activity-card:hover {
    transform: scale(1.02);
    box-shadow: var(--solvera-shadow-card) !important;
}
body.dashboard-page .solvera-activity-card .solvera-subtitle,
.solvera-dashboard-content .solvera-activity-card .solvera-subtitle {
    color: #e2e8f0 !important;
}
body.dashboard-page .solvera-activity-card .solvera-subtitle::before,
.solvera-dashboard-content .solvera-activity-card .solvera-subtitle::before {
    background: linear-gradient(135deg, #8b5cf6, #6366f1);
}

/* Пустое состояние «Нет активности» — тёмный блок */
body.dashboard-page .solvera-activity-placeholder,
.solvera-dashboard-content .solvera-activity-placeholder {
    background: rgba(30, 41, 59, 0.6) !important;
    border: 1px dashed rgba(255, 255, 255, 0.12) !important;
    color: #94a3b8 !important;
}

/* Партнёрская программа: метрики — иконка слева, значения справа (не друг под другом) */
body.dashboard-page .solvera-card:has(.solvera-referral-link-block) .solvera-metric-main,
.solvera-dashboard-content .solvera-card:has(.solvera-referral-link-block) .solvera-metric-main {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 16px !important;
    min-height: 88px !important;
}
body.dashboard-page .solvera-card:has(.solvera-referral-link-block) .solvera-metric-main > div,
.solvera-dashboard-content .solvera-card:has(.solvera-referral-link-block) .solvera-metric-main > div {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
/* Убираем "glass-box" под иконкой и увеличиваем её */
body.dashboard-page .solvera-card:has(.solvera-referral-link-block) .solvera-metric-icon,
body.dashboard-page .solvera-card:has(.solvera-referral-link-block) .solvera-metric-icon.solvera-metric-icon-svg,
.solvera-dashboard-content .solvera-card:has(.solvera-referral-link-block) .solvera-metric-icon,
.solvera-dashboard-content .solvera-card:has(.solvera-referral-link-block) .solvera-metric-icon.solvera-metric-icon-svg {
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    filter: none !important;
    width: 64px !important;
    height: 64px !important;
}
body.dashboard-page .solvera-card:has(.solvera-referral-link-block) .solvera-metric-icon img,
.solvera-dashboard-content .solvera-card:has(.solvera-referral-link-block) .solvera-metric-icon img {
    width: 56px !important;
    height: 56px !important;
}

/* Планы: иконки тарифов — без подложек/фона */
body.dashboard-page .solvera-plan-card-icon,
.solvera-dashboard-content .solvera-plan-card-icon {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    color: inherit !important;
}
body.dashboard-page .solvera-plan-card-icon img,
.solvera-dashboard-content .solvera-plan-card-icon img {
    width: 40px;
    height: 40px;
}

.solvera-metric-main {
    background: var(--solvera-surface-2) !important;
    border: 1px solid var(--solvera-stroke) !important;
    border-radius: var(--solvera-radius-lg) !important;
    padding: var(--solvera-space-3) !important;
    min-height: 120px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
    position: relative;
}

/* Bento 2.0: при наведении — акцентная граница и кнопка "Quick Report" */
.solvera-metric-main:hover {
    border-color: #6366F1 !important;
    box-shadow: 0 0 24px var(--solvera-primary-glow) !important;
}
.solvera-metric-details-btn,
.solvera-metric-quick-report {
    position: absolute;
    bottom: var(--solvera-space-3);
    right: var(--solvera-space-3);
    opacity: 0;
    transform: translateY(4px);
    transition: opacity var(--solvera-duration) var(--solvera-ease), transform var(--solvera-duration) var(--solvera-ease);
    font-size: 12px;
    padding: 6px 12px;
    background: var(--solvera-surface-3);
    color: #a5b4fc;
    border: 1px solid var(--solvera-stroke);
    border-radius: var(--solvera-radius);
    cursor: pointer;
    text-decoration: none;
}
.solvera-metric-main:hover .solvera-metric-details-btn,
.solvera-metric-main:hover .solvera-metric-quick-report {
    opacity: 1;
    transform: translateY(0);
}
/* KPI: процент изменения (Badge) */
.solvera-kpi-change {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    font-size: 12px;
    font-weight: 600;
    border-radius: 999px;
    margin-left: 8px;
}
.solvera-kpi-change.solvera-kpi-up { color: var(--solvera-success); background: var(--solvera-success-bg); }
.solvera-kpi-change.solvera-kpi-down { color: var(--solvera-error); background: var(--solvera-error-bg); }
/* Area Chart фон в виджете: градиент под линией opacity 10% */
.solvera-metric-main .solvera-area-chart-bg {
    position: absolute;
    inset: 0;
    opacity: 0.1;
    pointer-events: none;
    border-radius: inherit;
}

/* Иконки в карточках: стеклянный квадрат (Glass-box) 10% от цвета иконки */
.solvera-metric-icon {
    width: 40px !important;
    height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: var(--solvera-radius) !important;
    background: rgba(99, 102, 241, 0.1) !important;
    border: 1px solid rgba(99, 102, 241, 0.2) !important;
    font-size: 1.25rem !important;
    filter: drop-shadow(0 0 6px rgba(99, 102, 241, 0.3));
    opacity: 0.95;
}
.solvera-metric-icon.solvera-metric-icon-svg {
    font-size: 0 !important;
    color: #a5b4fc;
}
.solvera-metric-icon.solvera-metric-icon-svg svg {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
}
.solvera-metric-icon.solvera-metric-icon-svg svg path,
.solvera-metric-icon.solvera-metric-icon-svg svg circle,
.solvera-metric-icon.solvera-metric-icon-svg svg polyline,
.solvera-metric-icon.solvera-metric-icon-svg svg rect {
    stroke: currentColor;
}

/* AI Budget Guard и E-commerce: иконка без фона/рамки (как в Услугах), размещение не переключать в колонку */
.solvera-ai-guard-summary-card .solvera-metric-main .solvera-metric-icon,
.solvera-ai-guard-summary-card .solvera-metric-main .solvera-metric-icon.solvera-metric-icon-svg,
.solvera-ecom-7d-card .solvera-metric-main .solvera-metric-icon,
.solvera-ecom-7d-card .solvera-metric-main .solvera-metric-icon.solvera-metric-icon-svg {
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    filter: none !important;
    box-shadow: none !important;
}
@media (max-width: 768px) {
    .solvera-ai-guard-summary-card .solvera-metric-main,
    .solvera-ecom-7d-card .solvera-metric-main {
        flex-direction: row !important;
        text-align: left !important;
        justify-content: flex-start !important;
    }
}

/* III. Bento: заголовки карточек 12px uppercase #94A3B8; KPI 24–28px белый */
.solvera-metric-label {
    color: #94A3B8 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
}

.solvera-metric-value {
    color: #fff !important;
    font-size: clamp(24px, 1.75rem, 28px) !important;
    font-weight: 700 !important;
}

/* Sparkline: сглаженная полоска с градиентной заливкой под линией */
.solvera-metric-main::after {
    content: '';
    display: block;
    height: 28px;
    margin-top: 10px;
    background: linear-gradient(180deg,
        rgba(99, 102, 241, 0.25) 0%,
        rgba(99, 102, 241, 0.08) 40%,
        transparent 100%);
    border-radius: 0 0 var(--solvera-radius) var(--solvera-radius);
    opacity: 0.95;
    clip-path: polygon(0 100%, 2% 80%, 8% 60%, 15% 70%, 25% 40%, 40% 55%, 55% 30%, 70% 45%, 85% 25%, 98% 50%, 100% 100%);
}

/* ========== 3.2 Список кампаний — Row Cards (не таблица) ========== */
.solvera-campaigns-row-cards .solvera-campaign-row-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--solvera-space-2);
    padding: var(--solvera-space-3);
    background: var(--solvera-surface-2);
    border: 1px solid var(--solvera-stroke);
    border-radius: var(--solvera-radius-lg);
    margin-bottom: var(--solvera-gap-cards);
    transition: border-color 0.2s, box-shadow 0.2s;
}
.solvera-campaign-row-card:hover {
    border-color: var(--solvera-stroke);
}
/* Platform Icon: стеклянный бокс с логотипом */
.solvera-campaign-row-card .solvera-platform-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(8px);
    border: 1px solid var(--solvera-stroke);
    border-radius: var(--solvera-radius);
}
/* Status Pill: микро-точка, для активных — animation breathe */
.solvera-campaigns-status-badge.active::before {
    animation: solveraBreathe 2s ease-in-out infinite;
}
@keyframes solveraBreathe {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.6; transform: scale(1.15); }
}
/* Quick Actions: появляются при Hover справа (Edit, Pause, Clone, Delete) */
.solvera-campaign-row-card .solvera-row-quick-actions {
    opacity: 0;
    transform: translateX(8px);
    transition: opacity var(--solvera-duration) var(--solvera-ease), transform var(--solvera-duration) var(--solvera-ease);
}
.solvera-campaign-row-card:hover .solvera-row-quick-actions {
    opacity: 1;
    transform: translateX(0);
}
/* Активная кампания — мягкое зеленое свечение */
.solvera-campaign-row-card.solvera-campaign-active {
    border-color: rgba(16, 185, 129, 0.4);
    box-shadow: 0 0 24px var(--solvera-success-bg);
}
.solvera-campaign-row-card.solvera-campaign-active .solvera-campaigns-status-badge.active::before {
    animation: solveraBreathe 2s ease-in-out infinite;
}

/* Floating Action Bar — показывается при выборе чекбоксов */
.solvera-floating-action-bar {
    position: fixed;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%) translateY(120%);
    display: flex;
    align-items: center;
    gap: var(--solvera-space-2);
    padding: 12px 24px;
    background: var(--solvera-surface-3);
    border: 1px solid var(--solvera-stroke);
    border-radius: var(--solvera-radius-lg);
    box-shadow: var(--solvera-shadow-card);
    backdrop-filter: blur(12px);
    z-index: 500;
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.solvera-floating-action-bar.solvera-floating-action-bar-visible {
    transform: translateX(-50%) translateY(0);
}

/* Карточки кампаний — таблица или row-cards */
.solvera-dashboard-content .solvera-campaigns-table,
.solvera-dashboard-content .solvera-table-wrap {
    background: var(--solvera-surface-2) !important;
    border: 1px solid var(--solvera-stroke);
    border-radius: var(--solvera-radius-lg) !important;
}

.solvera-dashboard-content .solvera-table th,
.solvera-dashboard-content .solvera-campaigns-table th {
    color: #94a3b8 !important;
    border-color: rgba(255, 255, 255, 0.06) !important;
    background: rgba(255, 255, 255, 0.03) !important;
}

.solvera-dashboard-content .solvera-table td,
.solvera-dashboard-content .solvera-campaigns-table td {
    color: #cbd5e1 !important;
    border-color: rgba(255, 255, 255, 0.06) !important;
}

/* Статусы кампаний — светящиеся точки */
.solvera-campaigns-status-badge {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    padding: 4px 12px !important;
    border-radius: 999px !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #94a3b8 !important;
}

.solvera-campaigns-status-badge::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 8px currentColor;
}

.solvera-campaigns-status-badge.active {
    color: var(--solvera-success) !important;
    border-color: rgba(16, 185, 129, 0.4);
    background: var(--solvera-success-bg) !important;
}

.solvera-campaigns-status-badge.active::before {
    animation: solveraBreathe 2s ease-in-out infinite;
}

.solvera-campaigns-status-badge.draft {
    color: #94a3b8 !important;
}

.solvera-campaigns-status-badge.paused,
.solvera-campaigns-status-badge.finished {
    color: #fbbf24 !important;
}

.solvera-campaigns-status-badge.error,
.solvera-campaigns-status-badge.inactive {
    color: var(--solvera-error) !important;
    background: var(--solvera-error-bg) !important;
    border-color: rgba(239, 68, 68, 0.3);
}

/* Breathe уже объявлен выше для Smart Rows */

/* ========== 4. Онбординг и First Steps (Wizard) ========== */
/* Кнопка «Начать первые шаги» в сайдбаре уже стилизована выше */

/* First Steps: без полоски под шагами — один фон на всю страницу */
body.first-steps-page {
    background: var(--solvera-surface-0) !important;
    color: #cbd5e1;
}
.first-steps-wrapper {
    background: transparent !important;
    color: #cbd5e1;
}

.first-steps-wrapper .first-steps-container {
    padding: 40px 20px;
    background: #020617 !important; /* как body — убирает полоску под шагами */
}

/* Блок под шагами — без подложки, вровень с фоном страницы */
.first-steps-wrapper .first-steps-content {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.first-steps-wrapper .first-steps-logo img,
.first-steps-wrapper .first-steps-logo .first-steps-logo-img {
    height: 40px !important;
    width: auto !important;
}

.first-steps-wrapper .first-steps-title {
    color: #fff !important;
}

.first-steps-wrapper .first-steps-text {
    color: #94a3b8 !important;
}

/* Главная кнопка — градиент + свечение + плавные эффекты как в дашборде */
.first-steps-wrapper .first-steps-btn-primary,
body.dashboard-page .solvera-btn.solvera-btn-primary:not(.solvera-btn-secondary),
.solvera-dashboard-content .solvera-btn.solvera-btn-primary:not(.solvera-btn-secondary),
.solvera-dashboard-content a.solvera-btn:not(.solvera-btn-secondary) {
    background: var(--solvera-primary) !important;
    color: #fff !important;
    border: none !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 0 24px var(--solvera-primary-glow-strong) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.first-steps-wrapper .first-steps-btn-primary:hover {
    transform: scale(1.02) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 0 32px rgba(139, 92, 246, 0.5) !important;
}
.first-steps-wrapper .first-steps-btn-primary:hover,
body.dashboard-page .solvera-btn.solvera-btn-primary:hover,
.solvera-dashboard-content .solvera-btn.solvera-btn-primary:hover {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 0 32px rgba(139, 92, 246, 0.5) !important;
}

/* Первые шаги: кнопки на одном уровне, одной высоты */
.first-steps-wrapper .first-steps-buttons {
    display: flex !important;
    align-items: stretch !important;
    gap: 12px !important;
}
.first-steps-wrapper .first-steps-buttons .first-steps-btn {
    flex: 1 1 0 !important;
    min-width: 140px !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    padding: 12px 24px !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    line-height: 1 !important;
    vertical-align: middle !important;
}
.first-steps-wrapper .first-steps-buttons .first-steps-btn-primary,
.first-steps-wrapper .first-steps-buttons .first-steps-btn-secondary {
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
}
.first-steps-wrapper .first-steps-btn-secondary {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #94a3b8 !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease !important;
}
.first-steps-wrapper .first-steps-btn-secondary:hover {
    background: rgba(255, 255, 255, 0.14) !important;
    color: #cbd5e1 !important;
    border-color: rgba(255, 255, 255, 0.25) !important;
    transform: scale(1.02) !important;
    box-shadow: 0 0 20px rgba(99, 102, 241, 0.2) !important;
}
.first-steps-wrapper .first-steps-action-btn {
    background: rgba(255, 255, 255, 0.06) !important;
    color: #a5b4fc !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease !important;
}
.first-steps-wrapper .first-steps-action-btn:hover {
    background: rgba(255, 255, 255, 0.1) !important;
    border-color: rgba(99, 102, 241, 0.4) !important;
    transform: scale(1.02) !important;
    box-shadow: 0 0 20px rgba(99, 102, 241, 0.25) !important;
}

/* Шаги: без полосы — только пилюли, фон как у страницы (убирает полоску другого цвета между кнопками) */
.first-steps-wrapper .first-steps-step-badges {
    position: relative;
    margin-bottom: 32px;
    padding: 0;
    background: #020617 !important; /* как body.first-steps-page — никакой подложки другого цвета */
    border: none !important;
    box-shadow: none !important;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
}
.first-steps-wrapper .first-steps-step-badges::before,
.first-steps-wrapper .first-steps-step-badges::after {
    display: none !important;
    content: none !important;
}

.first-steps-wrapper .first-steps-step-badge {
    position: relative;
    z-index: 1;
    background: #1E2128 !important;
    color: #64748b !important;
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.first-steps-wrapper .first-steps-step-badge.active {
    background: rgba(139, 92, 246, 0.2) !important;
    color: #a78bfa !important;
    border-color: rgba(139, 92, 246, 0.4);
}

.first-steps-wrapper .first-steps-step-badge.current {
    background: linear-gradient(135deg, #8b5cf6, #6366f1) !important;
    color: #fff !important;
    border-color: transparent;
    box-shadow: 0 0 20px rgba(139, 92, 246, 0.5);
}

/* Поля ввода First Steps и общие формы */
.first-steps-wrapper .first-steps-input,
body.dashboard-page .solvera-form input[type="text"],
body.dashboard-page .solvera-form input[type="url"],
body.dashboard-page .solvera-form input[type="email"],
body.dashboard-page .solvera-form input[type="number"],
body.dashboard-page .solvera-form input[type="password"],
body.dashboard-page .solvera-form input[type="date"],
body.dashboard-page .solvera-form textarea,
body.dashboard-page .solvera-form select,
.solvera-dashboard-content .solvera-form input,
.solvera-dashboard-content .solvera-form textarea,
.solvera-dashboard-content .solvera-form select,
.solvera-dashboard-content .solvera-input {
    background: #1E2128 !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: #fff !important;
    border-radius: 12px !important;
}

/* Единый тёмный фон для стрелок у числовых инпутов (budget и др.) */
body.dashboard-page .solvera-form input[type="number"]::-webkit-inner-spin-button,
body.dashboard-page .solvera-form input[type="number"]::-webkit-outer-spin-button,
.solvera-dashboard-content .solvera-form input[type="number"]::-webkit-inner-spin-button,
.solvera-dashboard-content .solvera-form input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
body.dashboard-page .solvera-form input[type="number"],
.solvera-dashboard-content .solvera-form input[type="number"] {
    -moz-appearance: textfield;
}

.first-steps-wrapper .first-steps-input::placeholder,
.solvera-dashboard-content .solvera-form input::placeholder,
.solvera-dashboard-content .solvera-form textarea::placeholder {
    color: #64748b;
}

/* Input Focus: граница плавно в акцент, внешнее неоновое свечение (spread 4px) */
.first-steps-wrapper .first-steps-input:focus,
body.dashboard-page .solvera-form input:focus,
body.dashboard-page .solvera-form textarea:focus,
body.dashboard-page .solvera-form select:focus,
.solvera-dashboard-content .solvera-form input:focus,
.solvera-dashboard-content .solvera-form textarea:focus,
.solvera-dashboard-content .solvera-form select:focus {
    border-color: #6366F1 !important;
    box-shadow: 0 0 0 4px var(--solvera-primary-glow) !important;
    outline: none !important;
    transition: border-color var(--solvera-duration) var(--solvera-ease), box-shadow var(--solvera-duration) var(--solvera-ease);
}

/* Success Feedback: кнопка на 1 сек "Done ✓" зелёная (класс .solvera-btn-success-done добавляется через JS) */
.solvera-btn-success-done,
.solvera-btn.solvera-btn-success-done {
    background: var(--solvera-success) !important;
    color: #fff !important;
    pointer-events: none;
}

/* Ошибка валидации: неоновое красное свечение, текст ошибки fade-in снизу */
.solvera-form input.solvera-input-error,
.solvera-form select.solvera-input-error,
.solvera-form textarea.solvera-input-error,
.solvera-dashboard-content .solvera-form input.solvera-input-error,
.solvera-dashboard-content .solvera-form select.solvera-input-error,
.solvera-dashboard-content .solvera-form textarea.solvera-input-error {
    border-color: var(--solvera-error) !important;
    box-shadow: 0 0 0 2px var(--solvera-error-bg), 0 0 16px rgba(239, 68, 68, 0.25) !important;
}
.solvera-field-error-text {
    font-size: 13px;
    color: var(--solvera-error);
    margin-top: 6px;
    animation: solveraErrorFadeIn 0.3s ease;
}
@keyframes solveraErrorFadeIn {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: translateY(0); }
}

.first-steps-wrapper .first-steps-label,
body.dashboard-page .solvera-form label,
.solvera-dashboard-content .solvera-form label {
    color: #94a3b8 !important;
}

/* Степпер кампании (4 шага) — линия прогресса в стиле неона */
.solvera-campaign-stepper {
    margin-bottom: 28px;
}

.solvera-stepper-circle {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #64748b !important;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.solvera-stepper-item.solvera-stepper-done .solvera-stepper-circle,
.solvera-stepper-item.solvera-stepper-active .solvera-stepper-circle {
    background: var(--solvera-primary) !important;
    color: #fff !important;
    border-color: transparent;
    box-shadow: 0 0 16px var(--solvera-primary-glow-strong);
}

.solvera-stepper-line {
    background: rgba(255, 255, 255, 0.1) !important;
}

.solvera-stepper-line-fill {
    background: var(--solvera-primary) !important;
    box-shadow: 0 0 10px var(--solvera-primary-glow-strong);
}

/* ========== 3.3 AI Wizard ========== */
/* Overlay: глубокое размытие 12px */
.solvera-ai-wizard-overlay .solvera-modal-bg {
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
/* Прогресс: тонкий Progress Bar по верхней кромке модального окна */
.solvera-ai-wizard-modal .solvera-wizard-progress-bar {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--solvera-stroke);
    border-radius: 0 0 2px 2px;
    overflow: hidden;
}
.solvera-ai-wizard-modal .solvera-wizard-progress-fill {
    height: 100%;
    background: var(--solvera-primary);
    border-radius: 0 0 2px 2px;
    transition: width var(--solvera-ease) 0.3s;
}
/* AI Suggestions: Glass + анимированная градиентная рамка (AI Feature Border) */
.solvera-ai-block,
.solvera-ai-generated-text {
    position: relative;
    padding: var(--solvera-space-2);
    border-radius: var(--solvera-radius);
    background: rgba(255, 255, 255, 0.03);
    backdrop-filter: blur(8px);
    border: 1px solid var(--solvera-stroke);
}
.solvera-ai-block::before,
.solvera-ai-generated-text::before {
    content: '';
    position: absolute;
    inset: -1px;
    border-radius: inherit;
    padding: 1px;
    background: var(--solvera-ai-border);
    background-size: 200% 100%;
    animation: solveraMovingBorder 3s linear infinite;
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}
@keyframes solveraMovingBorder {
    0% { background-position: 0% 0; }
    100% { background-position: 200% 0; }
}
/* Кнопка "Применить совет" — пульсация */
.solvera-ai-apply-btn,
.solvera-btn-apply-suggestion {
    animation: solveraApplyPulse 2s ease-in-out infinite;
}
@keyframes solveraApplyPulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(99, 102, 241, 0.4); }
    50% { box-shadow: 0 0 0 8px rgba(99, 102, 241, 0); }
}
/* Preview справа в AI-Wizard — закреплено */
.solvera-wizard-preview-sticky {
    position: sticky;
    top: calc(var(--solvera-space-2) + 60px);
    align-self: flex-start;
}

/* ========== 5. Визуализация данных (Charts) ========== */
/* Пустые состояния: без белых экранов — Skeleton или 3D-иллюстрация */
.solvera-analytics-empty-state {
    background: var(--solvera-surface-2) !important;
    border: 1px solid var(--solvera-stroke);
    border-radius: var(--solvera-radius-lg) !important;
    padding: 48px var(--solvera-space-3) 56px !important;
}
/* Skeleton Screens — анимированные серые блоки */
.solvera-skeleton {
    background: linear-gradient(90deg, var(--solvera-surface-2) 25%, var(--solvera-stroke) 50%, var(--solvera-surface-2) 75%) !important;
    background-size: 200% 100%;
    animation: solvera-skeleton-shimmer 1.2s ease-in-out infinite;
    border-radius: var(--solvera-radius);
    border: 1px solid var(--solvera-stroke);
}
@keyframes solvera-skeleton-shimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}
.solvera-skeleton-block { height: 24px; margin-bottom: 12px; }
.solvera-skeleton-block:last-child { margin-bottom: 0; width: 60%; }

.solvera-analytics-empty-icon {
    color: #8b5cf6 !important;
    opacity: 0.8;
}

.solvera-analytics-empty-icon svg {
    filter: drop-shadow(0 0 12px rgba(139, 92, 246, 0.4));
}

.solvera-analytics-empty-title {
    color: #fff !important;
}

.solvera-analytics-empty-text {
    color: #94a3b8 !important;
}

/* Графики — два цвета: неоновый фиолетовый и бирюзовый */
.solvera-analytics-chart-block {
    background: #16181D !important;
    border: 1px solid rgba(255, 255, 255, 0.06);
}

.solvera-analytics-chart-block h4 {
    color: #fff !important;
}

/* Цвета для Chart.js можно задать через JS; здесь убираем лишний фон сетки визуально */
.solvera-analytics-charts canvas {
    border-radius: 8px;
}

/* Кнопка в пустом состоянии */
.solvera-analytics-empty-state .solvera-btn {
    background: var(--solvera-primary) !important;
    border: none !important;
}

/* AI Budget Guard виджет: анимированный радар/щит, график экономии */
.solvera-ai-guard-widget {
    background: var(--solvera-surface-2) !important;
    border: 1px solid var(--solvera-stroke);
    border-radius: var(--solvera-radius-card);
    padding: var(--solvera-space-3);
    position: relative;
    overflow: hidden;
}
/* AI Budget Guard: иконка щита с drop-shadow */
.solvera-ai-guard-widget .solvera-ai-guard-radar,
.solvera-ai-guard-widget [class*="icon"],
.solvera-ai-guard-widget img[alt*="shield"],
.solvera-ai-guard-radar {
    filter: drop-shadow(0 0 10px rgba(99, 102, 241, 0.3));
}
.solvera-ai-guard-radar {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    border: 2px solid var(--solvera-stroke);
    position: relative;
    animation: solveraRadarSpin 4s linear infinite;
}
.solvera-ai-guard-radar::before {
    content: '';
    position: absolute;
    inset: 0;
    background: conic-gradient(from 0deg, transparent 0deg, var(--solvera-primary-glow) 60deg, transparent 120deg);
    border-radius: 50%;
    opacity: 0.5;
}
@keyframes solveraRadarSpin {
    to { transform: rotate(360deg); }
}
/* Skeleton для строк кампаний при подгрузке */
.solvera-campaign-row-skeleton .solvera-skeleton-block {
    height: 16px;
    margin-bottom: 8px;
}
.solvera-campaign-row-skeleton .solvera-skeleton-block:first-child { width: 40%; }
.solvera-campaign-row-skeleton .solvera-skeleton-block:nth-child(2) { width: 25%; }
.solvera-campaign-row-skeleton .solvera-skeleton-block:nth-child(3) { width: 15%; }

/* ========== 6. Баланс: кнопки вторичные, ссылки, лента новостей ========== */
body.dashboard-page .solvera-btn-secondary,
.solvera-dashboard-content .solvera-btn-secondary {
    background: rgba(255, 255, 255, 0.06) !important;
    color: #cbd5e1 !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
}

body.dashboard-page .solvera-btn-secondary:hover,
.solvera-dashboard-content .solvera-btn-secondary:hover {
    background: rgba(255, 255, 255, 0.1) !important;
    border-color: rgba(139, 92, 246, 0.4) !important;
    color: #fff !important;
}

/* Блок новостей: контейнер без лишнего фона между карточками */
.solvera-platform-news-card #solvera-news-container {
    display: flex;
    flex-direction: column;
    gap: 16px !important;
}
/* Каждая новость — отдельная чёткая карточка, без теней и без «грязи» между блоками */
.solvera-news-item {
    background: rgba(30, 41, 59, 0.9) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    color: #cbd5e1 !important;
    padding: 16px !important;
    margin: 0 !important;
    margin-bottom: 0 !important;
    border-radius: var(--solvera-radius) !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
}
.solvera-news-item:last-child {
    margin-bottom: 0 !important;
}
.solvera-platform-news-card #solvera-news-container .solvera-news-item {
    margin-bottom: 0 !important;
}

.solvera-news-title {
    color: #e2e8f0 !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    margin-bottom: 8px !important;
}

.solvera-news-date {
    color: #64748b !important;
    font-size: 12px !important;
    margin-bottom: 8px !important;
}

.solvera-news-content {
    color: #cbd5e1 !important;
    line-height: 1.6 !important;
}

/* Режим бейдж на дашборде */
.solvera-mode-badge {
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #94a3b8 !important;
}

/* Баланс в меню */
.solvera-menu-balance {
    background: rgba(139, 92, 246, 0.12) !important;
    border: 1px solid rgba(139, 92, 246, 0.2);
    border-radius: 10px !important;
}

.solvera-menu-balance span:last-child {
    color: #a78bfa !important;
}

/* Биллинг алерт */
.solvera-billing-global-alert {
    background: rgba(248, 113, 113, 0.15) !important;
    border: 1px solid rgba(248, 113, 113, 0.3);
    color: #fca5a5 !important;
    border-radius: 12px !important;
}

/* Уведомления (алерты) — общий тёмный стиль дашборда */
body.dashboard-page .solvera-alert,
.solvera-dashboard-content .solvera-alert {
    background: rgba(30, 41, 59, 0.9) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-left: 4px solid rgba(239, 68, 68, 0.6) !important;
    color: #cbd5e1 !important;
    box-shadow: none !important;
}
body.dashboard-page .solvera-alert .solvera-alert-title,
body.dashboard-page .solvera-alert h3,
.solvera-dashboard-content .solvera-alert .solvera-alert-title,
.solvera-dashboard-content .solvera-alert h3 {
    color: #e2e8f0 !important;
    margin: 0 0 10px 0 !important;
}
body.dashboard-page .solvera-alert .solvera-alert-message,
body.dashboard-page .solvera-alert p,
.solvera-dashboard-content .solvera-alert .solvera-alert-message,
.solvera-dashboard-content .solvera-alert p {
    color: #94a3b8 !important;
    margin: 0 0 15px 0 !important;
}
body.dashboard-page .solvera-alert a:not(.solvera-btn),
.solvera-dashboard-content .solvera-alert a:not(.solvera-btn) {
    color: #a5b4fc !important;
}
/* Ошибка / предупреждение (тариф истек и т.п.) */
body.dashboard-page .solvera-alert-error,
.solvera-dashboard-content .solvera-alert-error {
    border-left-color: rgba(251, 146, 60, 0.8) !important;
}
body.dashboard-page .solvera-alert-error .solvera-alert-title,
body.dashboard-page .solvera-alert-error h3,
.solvera-dashboard-content .solvera-alert-error .solvera-alert-title,
.solvera-dashboard-content .solvera-alert-error h3 {
    color: #fcd34d !important;
}
/* Успех */
body.dashboard-page .solvera-alert-success,
.solvera-dashboard-content .solvera-alert-success {
    border-left-color: rgba(34, 197, 94, 0.6) !important;
    background: rgba(30, 41, 59, 0.9) !important;
}
body.dashboard-page .solvera-alert-success,
.solvera-dashboard-content .solvera-alert-success {
    color: #86efac !important;
}

/* Sticky bar профиля: тёмный фон, не выходить за границы справа */
.solvera-profile-sticky-bar {
    background: rgba(15, 17, 24, 0.98) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    padding-left: 24px !important;
    padding-right: 24px !important;
    box-sizing: border-box !important;
}
body.solvera-dashboard-with-sidebar .solvera-profile-sticky-bar.visible {
    left: 240px !important;
    right: 0 !important;
    width: auto !important;
    max-width: calc(100vw - 240px) !important;
}
body.solvera-sidebar-collapsed .solvera-profile-sticky-bar.visible {
    left: 72px !important;
    max-width: calc(100vw - 72px) !important;
}
.solvera-profile-sticky-bar .solvera-profile-sticky-actions {
    flex-shrink: 0;
    margin-left: auto;
}
.solvera-profile-sticky-bar .solvera-profile-sticky-actions .solvera-btn {
    white-space: nowrap;
}

.solvera-profile-sticky-label {
    color: #94a3b8 !important;
}

/* Страница выбора тарифов: зазор от бокового меню (у .solvera-dashboard-content часто padding-left: 0) */
.solvera-dashboard-layout .solvera-dashboard-content:has(.solvera-plans-page),
body.dashboard-page .solvera-dashboard-content:has(.solvera-plans-page) {
    padding-left: 24px !important;
}
body.solvera-sidebar-collapsed .solvera-dashboard-layout .solvera-dashboard-content:has(.solvera-plans-page),
body.solvera-sidebar-collapsed.dashboard-page .solvera-dashboard-content:has(.solvera-plans-page) {
    padding-left: 20px !important;
}
/* Текущий тариф (current-plan.php): зазор от меню, как у тарифов/биллинга */
body.dashboard-page .solvera-dashboard-content:has(.solvera-current-plan),
.solvera-dashboard-layout .solvera-dashboard-content:has(.solvera-current-plan) {
    padding-left: 28px !important;
}
body.solvera-sidebar-collapsed .solvera-dashboard-layout .solvera-dashboard-content:has(.solvera-current-plan),
body.solvera-sidebar-collapsed.dashboard-page .solvera-dashboard-content:has(.solvera-current-plan) {
    padding-left: 20px !important;
}
/* Fallback без :has() + доп. отступ у блока тарифов */
.solvera-dashboard-layout .solvera-dashboard-content .solvera-dashboard-plans-root,
body.dashboard-page .solvera-dashboard-content .solvera-dashboard-plans-root {
    padding-left: 12px !important;
    margin-left: 4px !important;
    box-sizing: border-box !important;
}
@media (max-width: 1200px) {
    .solvera-dashboard-layout .solvera-dashboard-content .solvera-dashboard-plans-root,
    body.dashboard-page .solvera-dashboard-content .solvera-dashboard-plans-root {
        padding-left: 10px !important;
        margin-left: 2px !important;
    }
}

/* Переключатель помесячно / год (скидка 20%) */
.solvera-plans-page .solvera-billing-toggle-wrap {
    max-width: 560px;
    margin: 0 auto 28px;
    text-align: center;
}
.solvera-plans-page .solvera-billing-toggle {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 6px;
    background: rgba(30, 41, 59, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 999px;
}
.solvera-plans-page .solvera-billing-toggle-btn {
    appearance: none;
    border: none;
    cursor: pointer;
    font-size: 0.9375rem;
    font-weight: 600;
    padding: 10px 20px;
    border-radius: 999px;
    color: #94a3b8;
    background: transparent;
    transition: background 0.2s, color 0.2s;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.solvera-plans-page .solvera-billing-toggle-btn:hover {
    color: #e2e8f0;
}
.solvera-plans-page .solvera-billing-toggle-btn.is-active {
    background: linear-gradient(135deg, #6366f1, #8b5cf6);
    color: #fff;
    box-shadow: 0 4px 14px rgba(99, 102, 241, 0.35);
}
.solvera-plans-page .solvera-billing-toggle-badge {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 3px 8px;
    border-radius: 6px;
    background: rgba(34, 197, 94, 0.2);
    color: #86efac;
}
.solvera-plans-page .solvera-billing-toggle-btn.is-active .solvera-billing-toggle-badge {
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
}
.solvera-plans-page .solvera-billing-toggle-hint {
    margin: 14px 0 0;
    font-size: 0.875rem;
    color: #94a3b8;
    line-height: 1.45;
    max-width: 420px;
    margin-left: auto;
    margin-right: auto;
}
.solvera-plans-page .solvera-plan-price-compare {
    text-decoration: line-through;
    opacity: 0.55;
    font-size: 1rem;
    font-weight: 500;
    margin-right: 8px;
}
.solvera-plans-page .solvera-plan-price-main {
    font-size: 1.35rem;
    font-weight: 700;
    color: #f1f5f9;
}
/* Годовая вкладка: 3 карточки в ряд, без «шахматной» сетки на 4 */
.solvera-plans-page .solvera-plans-list.solvera-plans-list--yearly {
    grid-template-columns: repeat(3, 1fr) !important;
    grid-template-rows: auto !important;
}
.solvera-plans-page .solvera-plans-list.solvera-plans-list--yearly .solvera-plan-card {
    grid-column: auto !important;
    grid-row: auto !important;
}
@media (max-width: 1100px) {
    .solvera-plans-page .solvera-plans-list.solvera-plans-list--yearly {
        grid-template-columns: 1fr !important;
    }
}

/* Планы и тарифы: баннер градиент, сетка функций 2 колонки, иконки галочек indigo, история — FileText серый */
.solvera-current-plan {
    border-color: rgba(139, 92, 246, 0.5) !important;
}
/* Убрать фиолетовый декор вверху справа (бейдж и круг) */
.solvera-current-plan::before,
.solvera-current-plan::after,
.solvera-current-plan-banner::before,
.solvera-current-plan-banner::after {
    display: none !important;
    content: none !important;
}
.solvera-current-plan-banner .solvera-plan-header {
    background: linear-gradient(to bottom right, #0f172a, #1e293b);
    border-radius: var(--solvera-radius-card);
    padding: var(--solvera-space-3);
    margin-bottom: var(--solvera-space-2);
}
.solvera-current-plan-banner .solvera-plan-title {
    color: #f1f5f9 !important;
    font-weight: 700;
    background: none !important;
    -webkit-text-fill-color: #f1f5f9 !important;
}
.solvera-current-plan-banner .solvera-plan-expiry {
    color: #94a3b8 !important;
    font-size: 1rem;
}
.solvera-current-plan-banner .solvera-plan-expiry strong {
    color: #c7d2fe !important;
}
.solvera-current-plan-banner .solvera-plan-icon {
    width: 56px !important;
    height: 56px !important;
    min-width: 56px;
    min-height: 56px;
    font-size: 0 !important;
    background: rgba(99, 102, 241, 0.15) !important;
    border: 1px solid rgba(129, 140, 248, 0.3);
    border-radius: var(--solvera-radius-card);
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 0;
}
.solvera-current-plan-banner .solvera-plan-icon svg {
    width: 28px;
    height: 28px;
    color: #818cf8;
}
/* Пункты функций плана — тёмный фон в стиле сайта */
.solvera-current-plan-banner .solvera-feature-item {
    background: rgba(30, 41, 59, 0.8) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    color: #e2e8f0 !important;
    border-radius: var(--solvera-radius);
}
.solvera-current-plan-banner .solvera-feature-item:hover {
    background: rgba(51, 65, 85, 0.9) !important;
    border-color: rgba(129, 140, 248, 0.25) !important;
}
.solvera-features-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}
.solvera-feature-check {
    color: #818cf8 !important;
}
.solvera-current-plan-banner .solvera-feature-icon {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
}
.solvera-transaction-icon {
    color: #94a3b8;
    display: inline-flex;
    align-items: center;
    margin-right: 10px;
    vertical-align: middle;
}
.solvera-transaction-item {
    display: flex;
    align-items: flex-start;
}

.solvera-plan-campaign-limit {
    background: rgba(255, 255, 255, 0.04) !important;
    border-radius: 12px !important;
}

.solvera-plan-campaign-limit-bar {
    background: rgba(255, 255, 255, 0.1) !important;
}

.solvera-plan-campaign-limit-fill {
    background: linear-gradient(90deg, #8b5cf6, #06b6d4) !important;
}

/* Фильтр аналитики: тёмный фон, кнопка не приклеена к полям */
.solvera-analytics-filter {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-end !important;
    gap: 16px !important;
    background: var(--solvera-surface-2) !important;
    border: 1px solid var(--solvera-stroke) !important;
    padding: 20px !important;
    border-radius: var(--solvera-radius-card) !important;
}
.solvera-analytics-filter > div {
    margin-bottom: 0 !important;
}
.solvera-analytics-filter label {
    color: #94a3b8 !important;
}
.solvera-analytics-filter .solvera-btn {
    border-radius: var(--solvera-radius) !important;
    margin-top: 0 !important;
}
.solvera-analytics-filter input[type="date"],
.solvera-analytics-filter .solvera-input {
    height: 40px !important;
    background: var(--solvera-surface-3) !important;
    border: 1px solid var(--solvera-stroke) !important;
    border-radius: 8px !important;
    color: #e2e8f0 !important;
}
.solvera-analytics-filter button[type="submit"],
.solvera-analytics-filter .solvera-btn[type="submit"] {
    background: linear-gradient(to right, #06b6d4, #6366f1) !important;
    border: none !important;
    color: #fff !important;
    min-height: 44px !important;
}

/* Аналитика: карточка за 7 дней — явный фон и граница */
.solvera-card:has(.solvera-analytics-filter) {
    background: rgba(15, 23, 42, 0.9) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
}
/* Метрики аналитики: ровно 3 в ряд → при 5 карточках сетка 3+2 (второй ряд по центру), плитки ближе к квадрату */
.solvera-card:has(.solvera-analytics-filter) .solvera-metrics-row {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 14px !important;
    grid-template-columns: unset !important;
    grid-auto-rows: unset !important;
}
.solvera-card:has(.solvera-analytics-filter) .solvera-metric-main {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    /* Три колонки; на широких экранах ширина ограничена — плитка ближе к квадрату */
    flex: 0 1 calc((100% - 28px) / 3) !important;
    width: auto !important;
    max-width: min(calc((100% - 28px) / 3), 236px) !important;
    min-width: 0 !important;
    min-height: clamp(112px, 12vw, 140px) !important;
    padding: 16px 14px !important;
    box-sizing: border-box !important;
}
.solvera-card:has(.solvera-analytics-filter) .solvera-metric-main > div {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    text-align: left !important;
}
.solvera-card:has(.solvera-analytics-filter) .solvera-metric-main .solvera-metric-label {
    font-size: 0.7rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    margin-bottom: 2px !important;
}
.solvera-card:has(.solvera-analytics-filter) .solvera-metric-main .solvera-metric-value {
    font-size: 1.35rem !important;
    line-height: 1.2 !important;
}
.solvera-card:has(.solvera-analytics-filter) .solvera-metric-main .solvera-metric-icon,
.solvera-card:has(.solvera-analytics-filter) .solvera-metric-main .solvera-metric-icon.solvera-metric-icon-svg {
    flex-shrink: 0 !important;
    margin: 0 !important;
    align-self: center !important;
}
@media (max-width: 900px) {
    .solvera-card:has(.solvera-analytics-filter) .solvera-metric-main {
        flex: 0 1 calc((100% - 14px) / 2) !important;
        width: calc((100% - 14px) / 2) !important;
        max-width: calc((100% - 14px) / 2) !important;
        min-height: clamp(96px, 18vw, 120px) !important;
    }
}
@media (max-width: 520px) {
    .solvera-card:has(.solvera-analytics-filter) .solvera-metric-main {
        flex: 1 1 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 88px !important;
    }
}
.solvera-card:has(.solvera-analytics-filter) .solvera-analytics-charts {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important;
}
@media (max-width: 1024px) {
    .solvera-card:has(.solvera-analytics-filter) .solvera-analytics-charts {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
@media (max-width: 600px) {
    .solvera-card:has(.solvera-analytics-filter) .solvera-analytics-charts {
        grid-template-columns: 1fr !important;
    }
}
.solvera-card:has(.solvera-analytics-filter) .solvera-analytics-chart-block {
    background: var(--solvera-surface-2) !important;
    border: 1px solid var(--solvera-stroke) !important;
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
}
.solvera-card:has(.solvera-analytics-filter) .solvera-analytics-chart-block h4 {
    color: #e2e8f0 !important;
}

/* Рефералы: виджеты баланса — число крупно белым; поле ссылки тёмное, кнопка «Копировать» внутри инпута */
.solvera-card:has(.solvera-referral-link-block) .solvera-metric-value {
    font-size: 1.5rem;
    font-weight: 700;
    color: #fff !important;
}
.solvera-referral-link-block .solvera-copy-wrap {
    position: relative;
    display: flex;
    align-items: stretch;
}
.solvera-referral-link-input {
    background: #020617 !important;
    border: 1px solid #334155 !important;
    color: #e2e8f0 !important;
    padding-right: 100px !important;
}
.solvera-referral-link-block .solvera-copy-btn,
.solvera-referral-link-block #copyReferralBtn {
    position: absolute !important;
    right: 4px;
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
    background: var(--solvera-surface-3) !important;
    color: #e2e8f0 !important;
    border: 1px solid var(--solvera-stroke) !important;
}
.solvera-referral-link-block .solvera-copy-btn:hover,
.solvera-referral-link-block #copyReferralBtn:hover {
    background: var(--solvera-surface-4) !important;
    color: #fff !important;
    border-color: rgba(99, 102, 241, 0.4) !important;
}
/* Рефералы: блок «Как работает бонус» и примечание — тёмный режим */
.solvera-dashboard-content .solvera-referral-info,
body.dashboard-page .solvera-referral-info {
    background: rgba(15, 23, 42, 0.6) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 12px;
    padding: 20px;
}
.solvera-dashboard-content .solvera-referral-info h3,
body.dashboard-page .solvera-referral-info h3 {
    color: #e2e8f0 !important;
}
.solvera-dashboard-content .solvera-referral-info div,
.solvera-dashboard-content .solvera-referral-info p,
body.dashboard-page .solvera-referral-info div,
body.dashboard-page .solvera-referral-info p {
    color: #cbd5e1 !important;
}
.solvera-dashboard-content .solvera-referral-info strong,
body.dashboard-page .solvera-referral-info strong {
    color: #a5b4fc !important;
}
.solvera-dashboard-content .solvera-referral-note,
body.dashboard-page .solvera-referral-note {
    background: rgba(245, 158, 11, 0.15) !important;
    border: 1px solid rgba(245, 158, 11, 0.3) !important;
    color: #fcd34d !important;
}

/* Поддержка: единый тёмный стиль, без радуги и нагромождения */
.solvera-card:has(button[name="solvera_support_send"]) {
    background: var(--solvera-surface-2) !important;
    border: 1px solid var(--solvera-stroke) !important;
}
.solvera-dashboard-content .solvera-card:has(button[name="solvera_support_send"]) .solvera-form .solvera-dashboard-select,
body.dashboard-page .solvera-card:has(button[name="solvera_support_send"]) input[name="subject"],
body.dashboard-page .solvera-card:has(button[name="solvera_support_send"]) textarea[name="message"],
.solvera-dashboard-content .solvera-card:has(button[name="solvera_support_send"]) input[name="subject"],
.solvera-dashboard-content .solvera-card:has(button[name="solvera_support_send"]) textarea[name="message"] {
    background: var(--solvera-surface-3) !important;
    border: 1px solid var(--solvera-stroke) !important;
    color: #e2e8f0 !important;
}
.solvera-card:has(button[name="solvera_support_send"]) .solvera-form input:focus,
.solvera-card:has(button[name="solvera_support_send"]) .solvera-form textarea:focus {
    outline: none;
    box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.4);
}
body.dashboard-page .solvera-card button[name="solvera_support_send"],
.solvera-dashboard-content .solvera-card button[name="solvera_support_send"] {
    width: 100% !important;
    border-radius: var(--solvera-radius) !important;
    padding: 0.875rem 1.5rem !important;
    background: #6366f1 !important;
    border: none !important;
    color: #fff !important;
}
.solvera-support-urgent-note {
    margin-top: 1.25rem;
    padding: 0.875rem 1rem;
    background: rgba(30, 41, 59, 0.6) !important;
    border: 1px solid rgba(148, 163, 184, 0.2) !important;
    border-radius: var(--solvera-radius);
    color: #94a3b8 !important;
    font-size: 0.95rem;
}
.solvera-support-urgent-note a {
    color: #a5b4fc !important;
    text-decoration: underline;
}
.solvera-support-email-block {
    margin-top: 1.25rem;
    padding: 1rem 1.25rem;
    background: var(--solvera-surface-3) !important;
    border: 1px solid var(--solvera-stroke) !important;
    border-radius: var(--solvera-radius);
    text-align: center;
}
.solvera-support-email-label {
    color: #94a3b8 !important;
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
}
.solvera-support-email-link {
    color: #a5b4fc !important;
    font-size: 1.05rem;
    font-weight: 600;
    text-decoration: none;
}
.solvera-card:has(button[name="solvera_support_send"]) .solvera-copy-btn {
    background: var(--solvera-surface-4) !important;
    color: #e2e8f0 !important;
    border: 1px solid var(--solvera-stroke) !important;
}
.solvera-card:has(button[name="solvera_support_send"]) .solvera-copy-btn:hover {
    background: var(--solvera-surface-4) !important;
    color: #fff !important;
    border-color: rgba(99, 102, 241, 0.4) !important;
}
.solvera-support-actions-block {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--solvera-stroke);
}
.solvera-support-primary-btn {
    width: 100% !important;
    display: block;
    text-align: center;
    text-decoration: none;
    margin-bottom: 0.5rem;
    background: #6366f1 !important;
    border: none !important;
    color: #fff !important;
    padding: 0.75rem 1.25rem !important;
    border-radius: var(--solvera-radius);
}
.solvera-support-secondary-btn {
    width: 100% !important;
    margin-top: 0.5rem;
    background: var(--solvera-surface-3) !important;
    color: #cbd5e1 !important;
    border: 1px solid var(--solvera-stroke) !important;
}
.solvera-support-action-desc {
    margin: 0 0 1rem 0;
    font-size: 0.9rem;
    color: #94a3b8 !important;
    text-align: center;
}

/* Профиль: тёмный стиль, без белых обводок, на всю ширину */
.solvera-card:has(.solvera-profile-form) {
    background: var(--solvera-surface-2) !important;
    border: none !important;
    border-radius: var(--solvera-radius-card) !important;
    color: #cbd5e1 !important;
    width: 100% !important;
    max-width: none !important;
}
.solvera-dashboard-content .solvera-card:has(.solvera-profile-form),
body.dashboard-page .solvera-dashboard-content .solvera-card:has(.solvera-profile-form) {
    width: 100% !important;
    max-width: none !important;
}
.solvera-card:has(.solvera-profile-form) .solvera-profile-form {
    max-width: none !important;
    width: 100% !important;
}
.solvera-card:has(.solvera-profile-form) .solvera-profile-section {
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
}
.solvera-card:has(.solvera-profile-form) .solvera-profile-section:last-of-type {
    border-bottom: none !important;
}
.solvera-card:has(.solvera-profile-form) .solvera-profile-section h3 {
    border-bottom: none !important;
}
.solvera-card:has(.solvera-profile-form) .solvera-dashboard-label,
.solvera-card:has(.solvera-profile-form) .solvera-form label {
    color: #94a3b8 !important;
}
.solvera-card:has(.solvera-profile-form) .solvera-profile-actions {
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}

/* Профиль: «Сохранить» (button) и «Отмена» (a) — одна высота, inline-flex + border-box */
.solvera-profile-actions {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
}
.solvera-profile-sticky-actions {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 12px !important;
}
.solvera-profile-actions .solvera-btn,
.solvera-profile-sticky-actions .solvera-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    min-height: 44px !important;
    padding: 10px 22px !important;
    line-height: 1.25 !important;
    font-size: 0.9375rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    vertical-align: middle !important;
    margin: 0 !important;
}
.solvera-profile-actions button.solvera-btn,
.solvera-profile-sticky-actions button.solvera-btn {
    appearance: none !important;
    -webkit-appearance: none !important;
    cursor: pointer !important;
}
/* Псевдоэлемент .solvera-btn::before из dashboard.css не должен влиять на высоту */
.solvera-profile-actions .solvera-btn::before,
.solvera-profile-sticky-actions .solvera-btn::before {
    display: none !important;
}
@media (max-width: 768px) {
    .solvera-profile-actions {
        flex-direction: column !important;
        align-items: stretch !important;
    }
    .solvera-profile-actions .solvera-btn {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* Профиль: сетка полей 2 колонки, инпуты тёмные, заголовки секций на плашке */
.solvera-profile-form .solvera-form-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}
.solvera-profile-section > h3 {
    background: rgba(30, 41, 59, 0.5);
    padding: 6px 12px;
    border-radius: 6px;
    margin-bottom: 16px;
}
.solvera-profile-form .solvera-input,
body.dashboard-page .solvera-profile-form input,
.solvera-dashboard-content .solvera-profile-form input {
    background: #020617 !important;
    border: 1px solid #334155 !important;
    color: #e2e8f0 !important;
}

/* Профиль: тёмная тема для textarea (белый блок из dashboard.css) */
.solvera-profile-form .solvera-textarea,
body.dashboard-page .solvera-profile-form textarea,
.solvera-dashboard-content .solvera-profile-form textarea {
    background: #020617 !important;
    border: 1px solid #334155 !important;
    color: #e2e8f0 !important;
}
.solvera-profile-form .solvera-textarea::placeholder,
body.dashboard-page .solvera-profile-form textarea::placeholder,
.solvera-dashboard-content .solvera-profile-form textarea::placeholder {
    color: rgba(226, 232, 240, 0.55) !important;
}

/* ========== 4.3 Загрузка — кастомный лоадер Solvera ========== */
.solvera-loader-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 32px;
}
.solvera-loader-logo {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--solvera-surface-2);
    border: 2px solid var(--solvera-stroke);
    position: relative;
    overflow: hidden;
}
.solvera-loader-logo::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 50%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(99, 102, 241, 0.6), transparent);
    animation: solveraLoaderScan 1.5s ease-in-out infinite;
}
@keyframes solveraLoaderScan {
    0% { left: -100%; }
    100% { left: 200%; }
}
.solvera-form-overlay .solvera-spinner,
.solvera-form-overlay .solvera-loader-logo {
    flex-shrink: 0;
}

/* ========== 5. Адаптация (Responsive) ========== */
/* Desktop 1440px+: 4 колонки Bento */
@media (min-width: 1440px) {
    .solvera-metrics-row { grid-template-columns: repeat(4, 1fr); }
}
/* Breakpoint 1024px: сайдбар сворачивается в компактный (только иконки) */
@media (max-width: 1024px) {
    .solvera-dashboard-menu-vertical:not(.solvera-mobile-open) {
        width: 72px !important;
    }
    .solvera-dashboard-menu-vertical .solvera-dashboard-menu-header a span,
    .solvera-dashboard-menu-vertical .solvera-dashboard-tab-list li a span,
    .solvera-dashboard-mode-switch .solvera-mode-chip span,
    .solvera-dashboard-menu-vertical .solvera-first-steps-widget .solvera-first-steps-label { display: none !important; }
    .solvera-dashboard-menu-vertical .solvera-dashboard-menu-header a { justify-content: center; }
    .solvera-dashboard-menu-vertical .solvera-dashboard-tab-list li a { justify-content: center; padding: 12px; }
    .solvera-metrics-row { grid-template-columns: repeat(2, 1fr); }
    body.solvera-dashboard-with-sidebar .solvera-dashboard-content { left: 72px !important; }
}
/* Breakpoint 768px: мобильный лейаут, метрики — горизонтальный слайдер, FAB, сайдбар как выезжающее меню */
@media (max-width: 768px) {
    /* Сайдбар-меню: в закрытом состоянии полностью выше экрана, в открытом — сверху, на всю ширину */
    .solvera-dashboard-menu-vertical {
        top: -100vh !important;              /* полностью скрыт вверх */
        width: 100vw !important;
        height: auto !important;
        max-height: 85vh !important;         /* видимая высота с запасом */
        border-radius: 0 0 18px 18px !important;
        box-shadow: 0 10px 40px rgba(15, 23, 42, 0.7) !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        z-index: 1000 !important;
    }
    .solvera-dashboard-menu-vertical.solvera-mobile-open {
        top: 0 !important;                  /* выезжает ровно в viewport */
    }
    /* Контент дашборда на мобильных — без отступа под сайдбар */
    body.solvera-dashboard-with-sidebar .solvera-dashboard-content {
        left: 0 !important;
        max-width: 100vw !important;
        width: 100vw !important;
        padding-left: var(--solvera-space-2) !important;
        padding-right: var(--solvera-space-2) !important;
        box-sizing: border-box !important;
    }

    .solvera-metrics-row {
        display: flex !important;
        flex-wrap: nowrap;
        overflow-x: auto;
        gap: var(--solvera-gap);
        padding-bottom: 8px;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x mandatory;
    }
    .solvera-metrics-row .solvera-metric-main {
        flex: 0 0 280px;
        min-width: 280px;
        scroll-snap-align: start;
    }
    .solvera-global-header { flex-wrap: wrap; padding: var(--solvera-space-1) var(--solvera-space-2); }
    .solvera-floating-action-bar { left: var(--solvera-space-2); right: var(--solvera-space-2); transform: translateY(120%); width: auto; }
    .solvera-floating-action-bar.solvera-floating-action-bar-visible { transform: translateY(0); }
    /* Floating Action Button — кнопка "Создать" в правом нижнем углу */
    .solvera-fab {
        position: fixed;
        bottom: 24px;
        right: 24px;
        width: 56px;
        height: 56px;
        border-radius: 50%;
        background: var(--solvera-primary);
        color: #fff;
        display: flex !important;
        align-items: center;
        justify-content: center;
        box-shadow: 0 4px 20px var(--solvera-primary-glow-strong);
        z-index: 400;
        transition: transform var(--solvera-duration) var(--solvera-ease);
        text-decoration: none;
    }
    .solvera-fab:hover { transform: scale(1.05); color: #fff; }
}
@media (min-width: 769px) {
    .solvera-fab { display: none !important; }
}
/* Нижний Tab Bar для мобильных */
.solvera-tab-bar {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(11, 12, 17, 0.9);
    backdrop-filter: blur(20px);
    border-top: 1px solid var(--solvera-stroke);
    padding: 8px;
    z-index: 100;
}
@media (max-width: 768px) {
    .solvera-tab-bar { display: flex; justify-content: space-around; align-items: center; }
    body.dashboard-page .solvera-dashboard-content { padding-bottom: 80px; }
}

/* ========== 6. Доступность (A11y) ========== */
/* Контрастность 4.5:1 соблюдена через #fff / #cbd5e1 на surface-0/1/2 */
.solvera-dashboard-tab-list li a:focus-visible,
.solvera-dashboard-content .solvera-btn:focus-visible,
.solvera-dashboard-content .solvera-form input:focus-visible,
.solvera-dashboard-content .solvera-form select:focus-visible,
.solvera-dashboard-content .solvera-form textarea:focus-visible,
.solvera-modal .solvera-btn:focus-visible,
.solvera-modal-close:focus-visible {
    outline: 2px solid #6366F1;
    outline-offset: 2px;
}
/* Ловушка фокуса в модалке — реализуется в JS (focus trap) */

.solvera-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ========== Переопределение ВСЕХ белых фонов из dashboard.css / campaigns-inline / enhancements ========== */
/* Таблицы */
body.dashboard-page .solvera-table td,
body.dashboard-page .solvera-campaigns-table th,
body.dashboard-page .solvera-campaigns-table td,
body.dashboard-page .solvera-sites-table th,
body.dashboard-page .solvera-sites-table td,
body.dashboard-page .solvera-campaigns-table tbody tr,
.solvera-dashboard-content .solvera-table td,
.solvera-dashboard-content .solvera-campaigns-table th,
.solvera-dashboard-content .solvera-campaigns-table td,
.solvera-dashboard-content .solvera-sites-table th,
.solvera-dashboard-content .solvera-sites-table td,
.solvera-dashboard-content .solvera-campaigns-table tbody tr,
.solvera-dashboard-layout .solvera-table td,
.solvera-dashboard-layout .solvera-campaigns-table th,
.solvera-dashboard-layout .solvera-campaigns-table td {
    background: var(--solvera-surface-2) !important;
    border-color: var(--solvera-stroke) !important;
    color: #cbd5e1 !important;
}
/* Карточки и блоки контента */
body.dashboard-page .solvera-ad-preview-card,
body.dashboard-page .solvera-analytics-metric,
body.dashboard-page .solvera-analytics-chart-block,
body.dashboard-page .solvera-payment-history,
body.dashboard-page .solvera-current-plan,
body.dashboard-page .solvera-plan-card,
body.dashboard-page .solvera-plan-card-current,
body.dashboard-page .solvera-transaction-item,
body.dashboard-page .solvera-ai-site-card,
body.dashboard-page .solvera-ai-chat-container,
body.dashboard-page .solvera-ai-chat-message-content,
body.dashboard-page .solvera-ai-chat-input-container,
body.dashboard-page .solvera-ai-form-container,
body.dashboard-page .solvera-ai-results,
body.dashboard-page .solvera-ai-results-recommendations,
body.dashboard-page .solvera-ai-detailed-report,
body.dashboard-page .solvera-ai-site-full-modal-content,
.solvera-dashboard-content .solvera-ad-preview-card,
.solvera-dashboard-content .solvera-analytics-metric,
.solvera-dashboard-content .solvera-payment-history,
.solvera-dashboard-content .solvera-current-plan,
.solvera-dashboard-content .solvera-plan-card,
.solvera-dashboard-content .solvera-transaction-item,
.solvera-dashboard-content .solvera-ai-site-card,
.solvera-dashboard-content .solvera-ai-chat-container,
.solvera-dashboard-content .solvera-ai-chat-message-content,
.solvera-dashboard-content .solvera-ai-chat-input-container,
.solvera-dashboard-content .solvera-ai-form-container,
.solvera-dashboard-content .solvera-ai-results,
.solvera-dashboard-content .solvera-ai-results-recommendations,
.solvera-dashboard-content .solvera-ai-detailed-report,
.solvera-dashboard-content .solvera-ai-site-full-modal-content,
.solvera-dashboard-layout .solvera-plan-card,
.solvera-dashboard-layout .solvera-payment-history,
.solvera-dashboard-layout .solvera-transaction-item {
    background: var(--solvera-surface-2) !important;
    border-color: var(--solvera-stroke) !important;
    color: #cbd5e1 !important;
}
body.dashboard-page .solvera-dashboard-tab-content,
.solvera-dashboard-content .solvera-dashboard-tab-content {
    background: var(--solvera-surface-0) !important;
}
/* Модалки: контент и контейнеры */
body.dashboard-page #validationModal .solvera-modal-content,
body.dashboard-page #fbValidationModal .solvera-modal-content,
.solvera-dashboard-content #validationModal .solvera-modal-content,
.solvera-dashboard-content #fbValidationModal .solvera-modal-content {
    background: var(--solvera-surface-4) !important;
    border-color: var(--solvera-stroke) !important;
    color: #cbd5e1 !important;
}
/* Кнопки secondary / outline (тёмный вариант вместо белого) */
body.dashboard-page .solvera-btn-secondary,
body.dashboard-page .solvera-btn[onclick*="openCheckModal"],
body.dashboard-page .solvera-btn[onclick*="openConnectModal"],
body.dashboard-page form button.solvera-btn-secondary,
body.dashboard-page .solvera-google-ads-form .solvera-actions .solvera-btn-secondary,
body.dashboard-page .solvera-campaigns-filter .solvera-btn-secondary,
body.dashboard-page button[name="back_to_step2"].solvera-btn-secondary,
.solvera-dashboard-content .solvera-btn-secondary,
.solvera-dashboard-content .solvera-btn[onclick*="openCheckModal"],
.solvera-dashboard-content .solvera-btn[onclick*="openConnectModal"],
.solvera-dashboard-content form button.solvera-btn-secondary,
.solvera-dashboard-content .solvera-campaigns-filter .solvera-btn-secondary,
.solvera-dashboard-layout .solvera-btn-secondary {
    background: var(--solvera-surface-3) !important;
    color: #cbd5e1 !important;
    border-color: var(--solvera-stroke) !important;
}
body.dashboard-page .solvera-btn-secondary:hover,
.solvera-dashboard-content .solvera-btn-secondary:hover,
.solvera-dashboard-layout .solvera-btn-secondary:hover {
    background: var(--solvera-surface-4) !important;
    border-color: var(--solvera-stroke) !important;
    color: #fff !important;
}
/* Кампании: кнопки Danger / Secondary в карточке (campaigns-inline.css) */
body.dashboard-page .solvera-campaigns-card .solvera-btn-secondary,
body.dashboard-page .solvera-campaigns-card .solvera-campaigns-actions .solvera-btn-danger,
.solvera-dashboard-content .solvera-campaigns-card .solvera-btn-secondary,
.solvera-dashboard-content .solvera-campaigns-card .solvera-campaigns-actions .solvera-btn-danger {
    background: var(--solvera-surface-3) !important;
    color: #cbd5e1 !important;
    border-color: var(--solvera-stroke) !important;
}
body.dashboard-page .solvera-campaigns-card .solvera-campaigns-actions .solvera-btn-danger:hover,
.solvera-dashboard-content .solvera-campaigns-card .solvera-campaigns-actions .solvera-btn-danger:hover {
    background: var(--solvera-error) !important;
    color: #fff !important;
    border-color: var(--solvera-error) !important;
}
/* Селекты и инпуты в кампаниях (campaigns-inline белый фон) */
body.dashboard-page .solvera-campaigns-card .solvera-form-inline select,
.solvera-dashboard-content .solvera-campaigns-card .solvera-form-inline select {
    background: var(--solvera-surface-3) !important;
    border-color: var(--solvera-stroke) !important;
    color: #e2e8f0 !important;
}
/* Google Ads wizard: dashboard.css задаёт .solvera-google-ads-form .solvera-input { background:#fff } — перебиваем + автозаполнение Chrome */
body.dashboard-page .solvera-google-ads-create-content .solvera-google-ads-form input.solvera-input,
body.dashboard-page .solvera-google-ads-create-content .solvera-google-ads-form select.solvera-input,
body.dashboard-page .solvera-google-ads-create-content .solvera-google-ads-form textarea.solvera-input,
body.dashboard-page .solvera-google-ads-create-content .solvera-google-ads-form textarea.solvera-textarea,
.solvera-dashboard-content .solvera-google-ads-create-content .solvera-google-ads-form input.solvera-input,
.solvera-dashboard-content .solvera-google-ads-create-content .solvera-google-ads-form select.solvera-input,
.solvera-dashboard-content .solvera-google-ads-create-content .solvera-google-ads-form textarea.solvera-input,
.solvera-dashboard-content .solvera-google-ads-create-content .solvera-google-ads-form textarea.solvera-textarea,
.solvera-dashboard-layout .solvera-google-ads-create-content .solvera-google-ads-form input.solvera-input,
.solvera-dashboard-layout .solvera-google-ads-create-content .solvera-google-ads-form select.solvera-input,
.solvera-dashboard-layout .solvera-google-ads-create-content .solvera-google-ads-form textarea.solvera-input,
.solvera-dashboard-layout .solvera-google-ads-create-content .solvera-google-ads-form textarea.solvera-textarea {
    background: var(--solvera-input-bg) !important;
    background-color: var(--solvera-input-bg) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    color: #e2e8f0 !important;
    box-shadow: none !important;
}
body.dashboard-page .solvera-google-ads-create-content .solvera-google-ads-form input.solvera-input::placeholder,
body.dashboard-page .solvera-google-ads-create-content .solvera-google-ads-form textarea.solvera-input::placeholder,
body.dashboard-page .solvera-google-ads-create-content .solvera-google-ads-form textarea.solvera-textarea::placeholder,
.solvera-dashboard-content .solvera-google-ads-create-content .solvera-google-ads-form input.solvera-input::placeholder,
.solvera-dashboard-content .solvera-google-ads-create-content .solvera-google-ads-form textarea::placeholder,
.solvera-dashboard-layout .solvera-google-ads-create-content .solvera-google-ads-form input.solvera-input::placeholder,
.solvera-dashboard-layout .solvera-google-ads-create-content .solvera-google-ads-form textarea::placeholder {
    color: #64748b !important;
}
body.dashboard-page .solvera-google-ads-create-content .solvera-google-ads-form input.solvera-input:focus,
body.dashboard-page .solvera-google-ads-create-content .solvera-google-ads-form select.solvera-input:focus,
body.dashboard-page .solvera-google-ads-create-content .solvera-google-ads-form textarea.solvera-input:focus,
body.dashboard-page .solvera-google-ads-create-content .solvera-google-ads-form textarea.solvera-textarea:focus,
.solvera-dashboard-content .solvera-google-ads-create-content .solvera-google-ads-form input.solvera-input:focus,
.solvera-dashboard-content .solvera-google-ads-create-content .solvera-google-ads-form select.solvera-input:focus,
.solvera-dashboard-content .solvera-google-ads-create-content .solvera-google-ads-form textarea.solvera-input:focus,
.solvera-dashboard-content .solvera-google-ads-create-content .solvera-google-ads-form textarea.solvera-textarea:focus,
.solvera-dashboard-layout .solvera-google-ads-create-content .solvera-google-ads-form input.solvera-input:focus,
.solvera-dashboard-layout .solvera-google-ads-create-content .solvera-google-ads-form select.solvera-input:focus,
.solvera-dashboard-layout .solvera-google-ads-create-content .solvera-google-ads-form textarea.solvera-input:focus,
.solvera-dashboard-layout .solvera-google-ads-create-content .solvera-google-ads-form textarea.solvera-textarea:focus {
    border-color: #6366f1 !important;
    box-shadow: 0 0 0 3px var(--solvera-primary-glow) !important;
    outline: none !important;
}
/* Светлый фон от автозаполнения (Chrome / Edge) */
body.dashboard-page .solvera-google-ads-create-content .solvera-google-ads-form input.solvera-input:-webkit-autofill,
body.dashboard-page .solvera-google-ads-create-content .solvera-google-ads-form input.solvera-input:-webkit-autofill:hover,
body.dashboard-page .solvera-google-ads-create-content .solvera-google-ads-form input.solvera-input:-webkit-autofill:focus,
.solvera-dashboard-content .solvera-google-ads-create-content .solvera-google-ads-form input.solvera-input:-webkit-autofill,
.solvera-dashboard-content .solvera-google-ads-create-content .solvera-google-ads-form input.solvera-input:-webkit-autofill:hover,
.solvera-dashboard-content .solvera-google-ads-create-content .solvera-google-ads-form input.solvera-input:-webkit-autofill:focus,
.solvera-dashboard-layout .solvera-google-ads-create-content .solvera-google-ads-form input.solvera-input:-webkit-autofill,
.solvera-dashboard-layout .solvera-google-ads-create-content .solvera-google-ads-form input.solvera-input:-webkit-autofill:hover,
.solvera-dashboard-layout .solvera-google-ads-create-content .solvera-google-ads-form input.solvera-input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px var(--solvera-input-bg) inset !important;
    box-shadow: 0 0 0 1000px var(--solvera-input-bg) inset !important;
    -webkit-text-fill-color: #e2e8f0 !important;
    caret-color: #e2e8f0;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    transition: background-color 99999s ease-out 0s;
}
body.dashboard-page .solvera-google-ads-create-content .solvera-google-ads-form .solvera-form-group label,
body.dashboard-page .solvera-google-ads-create-content .solvera-google-ads-form label[for="custom_services"],
body.dashboard-page .solvera-google-ads-create-content .solvera-google-ads-form label[for="geo_input"],
.solvera-dashboard-content .solvera-google-ads-create-content .solvera-google-ads-form .solvera-form-group label,
.solvera-dashboard-content .solvera-google-ads-create-content .solvera-google-ads-form label[for="custom_services"],
.solvera-dashboard-layout .solvera-google-ads-create-content .solvera-google-ads-form label[for="custom_services"] {
    color: #94a3b8 !important;
}
body.dashboard-page .solvera-google-ads-create-content .solvera-google-ads-form .solvera-checkbox-item,
.solvera-dashboard-content .solvera-google-ads-create-content .solvera-google-ads-form .solvera-checkbox-item,
.solvera-dashboard-layout .solvera-google-ads-create-content .solvera-google-ads-form .solvera-checkbox-item {
    background: var(--solvera-surface-3) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}
body.dashboard-page .solvera-google-ads-create-content .solvera-google-ads-form .solvera-checkbox-item label,
.solvera-dashboard-content .solvera-google-ads-create-content .solvera-google-ads-form .solvera-checkbox-item label,
.solvera-dashboard-layout .solvera-google-ads-create-content .solvera-google-ads-form .solvera-checkbox-item label {
    color: #cbd5e1 !important;
}
body.dashboard-page .solvera-google-ads-create-content .solvera-google-ads-form .solvera-actions,
.solvera-dashboard-content .solvera-google-ads-create-content .solvera-google-ads-form .solvera-actions,
.solvera-dashboard-layout .solvera-google-ads-create-content .solvera-google-ads-form .solvera-actions {
    border-top-color: var(--solvera-stroke) !important;
}
/* Общие инпуты/селекты с белым фоном в dashboard.css */
body.dashboard-page .solvera-form input[type="text"],
body.dashboard-page .solvera-form input[type="email"],
body.dashboard-page .solvera-form input[type="number"],
body.dashboard-page .solvera-form select,
body.dashboard-page .solvera-form textarea,
body.dashboard-page .solvera-ai-form-container input,
body.dashboard-page .solvera-ai-form-container textarea,
body.dashboard-page .solvera-ai-form-container select,
.solvera-dashboard-content .solvera-form input,
.solvera-dashboard-content .solvera-form select,
.solvera-dashboard-content .solvera-form textarea,
.solvera-dashboard-content .solvera-ai-form-container input,
.solvera-dashboard-content .solvera-ai-form-container textarea {
    background: var(--solvera-surface-3) !important;
    border-color: var(--solvera-stroke) !important;
    color: #e2e8f0 !important;
}
/* Sticky bar профиля (enhancements) */
body.dashboard-page .solvera-profile-sticky-bar,
.solvera-dashboard-content .solvera-profile-sticky-bar {
    background: rgba(15, 17, 24, 0.95) !important;
    border-top-color: var(--solvera-stroke) !important;
    color: #cbd5e1 !important;
}
body.dashboard-page .solvera-profile-sticky-label,
.solvera-dashboard-content .solvera-profile-sticky-label {
    color: #94a3b8 !important;
}
/* План: лимит кампаний и прогресс */
body.dashboard-page .solvera-plan-campaign-limit,
.solvera-dashboard-content .solvera-plan-campaign-limit {
    background: var(--solvera-surface-3) !important;
    border-radius: var(--solvera-radius) !important;
}
body.dashboard-page .solvera-plan-campaign-limit-bar,
.solvera-dashboard-content .solvera-plan-campaign-limit-bar {
    background: var(--solvera-surface-4) !important;
}
/* Текст в карточках планов и транзакций */
body.dashboard-page .solvera-plan-card-title,
body.dashboard-page .solvera-plan-card-price,
body.dashboard-page .solvera-plan-card-features,
body.dashboard-page .solvera-transaction-date,
body.dashboard-page .solvera-transaction-plan,
body.dashboard-page .solvera-transaction-amount,
.solvera-dashboard-content .solvera-plan-card-title,
.solvera-dashboard-content .solvera-plan-card-price,
.solvera-dashboard-content .solvera-plan-card-features,
.solvera-dashboard-content .solvera-transaction-date,
.solvera-dashboard-content .solvera-transaction-plan,
.solvera-dashboard-content .solvera-transaction-amount {
    color: #cbd5e1 !important;
}
body.dashboard-page .solvera-plan-card-features li,
.solvera-dashboard-content .solvera-plan-card-features li {
    color: #94a3b8 !important;
}
body.dashboard-page .solvera-empty-title,
body.dashboard-page .solvera-empty-text,
.solvera-dashboard-content .solvera-empty-title,
.solvera-dashboard-content .solvera-empty-text {
    color: #94a3b8 !important;
}
body.dashboard-page .solvera-history-title,
body.dashboard-page .solvera-features-title,
.solvera-dashboard-content .solvera-history-title,
.solvera-dashboard-content .solvera-features-title {
    color: #fff !important;
}
body.dashboard-page .solvera-features-list,
.solvera-dashboard-content .solvera-features-list {
    color: #cbd5e1 !important;
}
/* Элементы с padding+background в dashboard (общие блоки) */
body.dashboard-page [class*="solvera-"] div[style*="background: #fff"],
body.dashboard-page [class*="solvera-"] div[style*="background:#fff"] {
    background: var(--solvera-surface-2) !important;
}
.solvera-dashboard-content [class*="solvera-"] div[style*="background: #fff"],
.solvera-dashboard-content [class*="solvera-"] div[style*="background:#fff"] {
    background: var(--solvera-surface-2) !important;
}

/* ========== IV. Список кампаний: строки #111319, hover #1A1D26, border #22252E ========== */
.solvera-campaigns-row-cards .solvera-campaign-row-card {
    background: #111319 !important;
    border: 1px solid var(--solvera-stroke) !important;
    margin-bottom: 12px !important;
}
.solvera-campaigns-row-cards .solvera-campaign-row-card:hover {
    background: #1A1D26 !important;
}
.solvera-campaigns-status-badge.active::before {
    animation: solvera-pulse-dot 1.5s ease-in-out infinite;
}
@keyframes solvera-pulse-dot {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.6; transform: scale(1.2); }
}
.solvera-campaigns-status-badge.draft { background: var(--solvera-surface-4) !important; color: #94a3b8 !important; }
.solvera-campaigns-status-badge.active { background: rgba(16, 185, 129, 0.15) !important; color: var(--solvera-success) !important; }
/* Чекбоксы кампаний: кастомные, скругление 4px, градиент при выборе */
.solvera-dashboard-content input[type="checkbox"].campaign-checkbox,
body.dashboard-page input[type="checkbox"].campaign-checkbox {
    appearance: none;
    width: 18px;
    height: 18px;
    border: 1px solid var(--solvera-stroke);
    border-radius: 4px;
    background: var(--solvera-surface-3);
    cursor: pointer;
}
.solvera-dashboard-content input[type="checkbox"].campaign-checkbox:checked,
body.dashboard-page input[type="checkbox"].campaign-checkbox:checked {
    background: var(--solvera-primary);
    border-color: #6366F1;
}
/* Кнопки: active state scale(0.95) — дублируем для специфичности */
body.dashboard-page .solvera-btn:active,
.solvera-dashboard-content .solvera-btn:active,
body.dashboard-page button.solvera-site-btn:active,
.solvera-dashboard-content button.solvera-site-btn:active {
    transform: scale(0.95) !important;
}

/* ========== V. Онбординг / Визард: overlay blur, инпуты #1A1D26, placeholder #475569 ========== */
.solvera-ai-wizard-overlay .solvera-modal-bg,
body.dashboard-page .solvera-modal-bg,
.solvera-dashboard-content .solvera-modal-bg {
    background: rgba(0, 0, 0, 0.4) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
.solvera-ai-wizard-modal .solvera-wizard-progress-bar {
    height: 2px !important;
    background: var(--solvera-stroke);
}
.solvera-ai-wizard-modal .solvera-wizard-progress-fill {
    background: linear-gradient(90deg, #6366F1, #A855F7);
    box-shadow: 0 0 10px rgba(99, 102, 241, 0.4);
}
body.dashboard-page .solvera-form input::placeholder,
body.dashboard-page .solvera-form textarea::placeholder,
.solvera-dashboard-content .solvera-form input::placeholder,
.solvera-dashboard-content .solvera-form textarea::placeholder,
.solvera-ai-wizard-modal input::placeholder,
.solvera-ai-wizard-modal textarea::placeholder {
    color: #475569 !important;
}
.solvera-ai-wizard-modal .solvera-form input,
.solvera-ai-wizard-modal .solvera-form textarea {
    background: #1A1D26 !important;
    border-color: #2D333F !important;
}
.solvera-ai-wizard-modal .solvera-btn-secondary[href*="skip"],
.solvera-ai-wizard-modal button.solvera-btn-secondary:first-of-type {
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    color: #e2e8f0 !important;
}

/* ========== VI. Микро-взаимодействия: tooltip, валидация shake, breadcrumbs, avatar, версия ========== */
[data-tooltip],
[title] {
    cursor: help;
}
/* Иконка подсказки у полей — без фона и рамки (только иконка) */
body.dashboard-page .solvera-field-tooltip,
.solvera-dashboard-content .solvera-field-tooltip {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}
body.dashboard-page [class*="tooltip"]:not(.solvera-field-tooltip),
.solvera-dashboard-content [class*="tooltip"]:not(.solvera-field-tooltip),
.solvera-tooltip {
    background: var(--solvera-surface-4) !important;
    color: #fff !important;
    border: 1px solid var(--solvera-stroke);
    border-radius: var(--solvera-radius);
    box-shadow: none !important;
    padding: 8px 12px;
    font-size: 13px;
}
.solvera-form input.solvera-input-error,
.solvera-form textarea.solvera-input-error {
    border-color: var(--solvera-error) !important;
    animation: solvera-shake 0.4s ease-in-out;
}
@keyframes solvera-shake {
    0%, 100% { transform: translateX(0); }
    20% { transform: translateX(-6px); }
    40% { transform: translateX(6px); }
    60% { transform: translateX(-4px); }
    80% { transform: translateX(4px); }
}
.solvera-breadcrumbs {
    font-size: 13px;
    color: #64748B !important;
}
.solvera-breadcrumbs a {
    color: #64748B !important;
    text-decoration: none;
}
.solvera-breadcrumbs a:hover {
    color: #fff !important;
}
.solvera-dashboard-content .solvera-avatar,
body.dashboard-page .solvera-avatar {
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.2);
}
.solvera-dashboard-menu-bottom::after {
    display: none !important;
}
.solvera-api-indicator.solvera-api-connected,
.solvera-api-indicator[data-status="connected"] {
    box-shadow: 0 0 8px rgba(16, 185, 129, 0.5);
    animation: solvera-glow-pulse 2s ease-in-out infinite;
}
@keyframes solvera-glow-pulse {
    0%, 100% { opacity: 1; box-shadow: 0 0 8px rgba(16, 185, 129, 0.5); }
    50% { opacity: 0.9; box-shadow: 0 0 12px rgba(16, 185, 129, 0.6); }
}

/* ========== XIII. Anti-White Policy: никакого белого фона/границ ========== */
body.dashboard-page hr,
.solvera-dashboard-content hr {
    border: none;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--solvera-stroke), transparent);
    margin: var(--solvera-space-2) 0;
}
body.dashboard-page .solvera-modal,
.solvera-dashboard-content .solvera-modal {
    background: #16181D !important;
}
body.dashboard-page .solvera-form input,
body.dashboard-page .solvera-form textarea,
body.dashboard-page .solvera-form select,
.solvera-dashboard-content .solvera-form input,
.solvera-dashboard-content .solvera-form textarea,
.solvera-dashboard-content .solvera-form select {
    background: var(--solvera-input-bg) !important;
    border: 1px solid var(--solvera-stroke) !important;
}
.solvera-account-selector-dropdown,
body.dashboard-page select,
.solvera-dashboard-content .solvera-language-switcher select,
[class*="dropdown"] [class*="menu"] {
    background: rgba(15, 17, 24, 0.95) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid var(--solvera-stroke) !important;
}
.solvera-table th,
.solvera-campaigns-table th {
    background: var(--solvera-surface-1) !important;
    color: #94a3b8 !important;
}
.solvera-tooltip,
[data-tooltip]::after,
[class*="tooltip"]:not(.solvera-field-tooltip) {
    background: #16181D !important;
    color: #fff !important;
    border: 1px solid var(--solvera-stroke) !important;
}

/* Facebook Ads шаг 1: без лишних отступов */
.solvera-fb-step1-title { margin-bottom: 6px !important; }
.solvera-fb-step1-desc {
    color: #94a3b8 !important;
    font-size: 14px !important;
    margin-bottom: 8px !important;
}
.solvera-fb-step1-subtitle { margin-bottom: 16px !important; }
.solvera-fb-step1-form label { margin-bottom: 6px !important; display: block !important; }
.solvera-fb-step1-form select { margin-bottom: 0 !important; }
.solvera-fb-step1-label { margin-top: 12px !important; }
.solvera-fb-step1-hint {
    color: #94a3b8 !important;
    font-size: 12px !important;
    margin-top: 4px !important;
    display: block !important;
}
.solvera-fb-step1-next { margin-top: 12px !important; }

/* Товарная реклама FB — шаги 2–5: единый блок и отступы */
.solvera-product-ads-step { margin-top: 0 !important; }
.solvera-product-ads-step .solvera-title { margin-bottom: 6px !important; }
.solvera-product-ads-step .solvera-subtitle {
    color: #94a3b8 !important;
    font-size: 14px !important;
    margin-bottom: 16px !important;
    line-height: 1.5;
}
.solvera-product-ads-step .solvera-alert { margin-bottom: 16px !important; }
.solvera-product-ads-step .solvera-form label { margin-bottom: 6px !important; display: block !important; }
.solvera-product-ads-step .solvera-form select { margin-bottom: 12px !important; }
.solvera-product-ads-step .solvera-form p { margin-bottom: 16px !important; color: #94a3b8 !important; }
.solvera-product-ads-step .solvera-form .solvera-btn { margin-top: 12px !important; }
.solvera-product-step2-actions { display: flex !important; flex-wrap: wrap !important; gap: 12px !important; margin-top: 16px !important; }
.solvera-product-step2-actions .solvera-btn { margin-top: 0 !important; }

.solvera-product-feed-summary { margin-bottom: 12px !important; color: var(--solvera-text-secondary, #94a3b8) !important; }
.solvera-product-feed-actions { margin-bottom: 12px !important; display: flex !important; gap: 16px !important; flex-wrap: wrap !important; }
.solvera-product-ads-step .solvera-checkbox-label { display: inline-flex !important; align-items: center !important; gap: 6px !important; margin-bottom: 0 !important; cursor: pointer !important; }
.solvera-product-feed-list { max-height: 400px !important; overflow-y: auto !important; border: 1px solid var(--solvera-stroke, #334155) !important; border-radius: 8px !important; padding: 8px !important; margin-bottom: 16px !important; background: var(--solvera-surface-1, #1e293b) !important; }
.solvera-product-feed-item { display: flex !important; align-items: center !important; gap: 10px !important; padding: 8px 10px !important; margin-bottom: 0 !important; border-radius: 6px !important; cursor: pointer !important; }
.solvera-product-feed-item:hover { background: rgba(99, 102, 241, 0.08) !important; }
.solvera-product-feed-item .solvera-product-cb { flex-shrink: 0 !important; }
.solvera-product-feed-title { flex: 1 !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.solvera-product-feed-price { flex-shrink: 0 !important; color: var(--solvera-accent, #6366f1) !important; font-weight: 500 !important; }

.solvera-verify-hint { margin-bottom: 12px !important; color: var(--solvera-text-secondary, #94a3b8) !important; font-size: 14px !important; }
.solvera-product-verify-table-wrap { max-height: 380px !important; overflow: auto !important; border: 1px solid var(--solvera-stroke, #334155) !important; border-radius: 8px !important; margin-bottom: 12px !important; background: var(--solvera-surface-1, #1e293b) !important; }
.solvera-product-verify-table { width: 100% !important; border-collapse: collapse !important; font-size: 14px !important; }
.solvera-product-verify-table th { text-align: left !important; padding: 10px 12px !important; border-bottom: 1px solid var(--solvera-stroke, #334155) !important; color: var(--solvera-text-secondary, #94a3b8) !important; font-weight: 600 !important; }
.solvera-product-verify-table td { padding: 10px 12px !important; border-bottom: 1px solid rgba(51, 65, 85, 0.5) !important; }
.solvera-product-verify-table tbody tr:last-child td { border-bottom: none !important; }
.solvera-product-verify-table .solvera-content-id { font-family: ui-monospace, monospace !important; font-size: 12px !important; background: rgba(99, 102, 241, 0.15) !important; padding: 2px 6px !important; border-radius: 4px !important; }
.solvera-product-verify-table a { color: var(--solvera-accent, #6366f1) !important; }
.solvera-verify-count { margin-bottom: 16px !important; color: var(--solvera-text-secondary, #94a3b8) !important; font-size: 13px !important; }

.solvera-product-ads-step .solvera-label { display: block !important; margin-bottom: 6px !important; font-weight: 500 !important; }
.solvera-product-ads-step .solvera-textarea { width: 100% !important; margin-bottom: 16px !important; resize: vertical !important; }
.solvera-product-goal-fixed { margin-bottom: 16px !important; color: var(--solvera-text-secondary, #94a3b8) !important; }
.solvera-product-feed-label { margin-top: 16px !important; margin-bottom: 10px !important; font-weight: 600 !important; }
.solvera-product-cards-wrap { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)) !important; gap: 12px !important; margin-bottom: 12px !important; }
.solvera-product-card { border: 1px solid var(--solvera-stroke, #334155) !important; border-radius: 8px !important; overflow: hidden !important; background: var(--solvera-surface-1, #1e293b) !important; }
.solvera-product-card-img { width: 100% !important; height: 140px !important; object-fit: cover !important; display: block !important; }
.solvera-product-card-no-img { width: 100% !important; height: 140px !important; display: flex !important; align-items: center !important; justify-content: center !important; background: rgba(51, 65, 85, 0.5) !important; color: var(--solvera-text-secondary, #94a3b8) !important; font-size: 13px !important; }
.solvera-product-card-title { padding: 8px 10px !important; font-size: 13px !important; line-height: 1.3 !important; overflow: hidden !important; text-overflow: ellipsis !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; }
.solvera-product-card-price { padding: 0 10px 10px !important; font-size: 14px !important; font-weight: 600 !important; color: var(--solvera-accent, #6366f1) !important; }
.solvera-product-more { margin-bottom: 16px !important; color: var(--solvera-text-secondary, #94a3b8) !important; font-size: 13px !important; }

/* Шаг 4 товарной рекламы: настройки на всю ширину, слева текст — справа предпросмотр как в FB */
.solvera-product-step4-settings-full { width: 100% !important; max-width: none !important; margin-bottom: 24px !important; }
.solvera-product-step4-with-preview .solvera-product-step4-settings-title { margin-bottom: 12px !important; font-size: 1rem !important; font-weight: 600 !important; }
.solvera-product-step4-with-preview .solvera-product-step4-settings-full .solvera-cs-settings-fields { display: flex !important; flex-wrap: wrap !important; gap: 16px 24px !important; align-items: flex-end !important; width: 100% !important; }
.solvera-product-step4-with-preview .solvera-product-step4-settings-full .solvera-cs-field { min-width: 160px !important; flex: 1 1 180px !important; }
.solvera-product-step4-with-preview .solvera-product-step4-settings-full .solvera-cs-field .solvera-input { width: 100% !important; }
.solvera-product-step4-two-cols { display: flex !important; gap: 24px !important; align-items: flex-start !important; margin-top: 16px !important; }
.solvera-product-step4-col-left { flex: 1 1 45% !important; min-width: 0 !important; }
.solvera-product-step4-col-right { flex: 1 1 45% !important; min-width: 0 !important; }
.solvera-product-step4-preview-label { margin: 0 0 8px 0 !important; font-weight: 600 !important; }
.solvera-product-ad-preview-wrap { margin-top: 0 !important; margin-bottom: 16px !important; max-width: 100% !important; }
.solvera-product-step4-preview { background: var(--solvera-surface-1, #020617) !important; border: 1px solid rgba(226, 232, 240, 0.92) !important; border-radius: 18px !important; overflow: hidden !important; max-width: 420px !important; box-shadow: 0 22px 50px rgba(15, 23, 42, 0.95) !important; }
.solvera-product-step4-preview .solvera-fb-preview-header { display: flex !important; align-items: center !important; gap: 10px !important; padding: 10px 12px !important; border-bottom: 1px solid rgba(51,65,85,0.9) !important; }
.solvera-product-step4-preview .solvera-fb-preview-header .solvera-fb-preview-header-text { display: flex !important; flex-direction: column !important; gap: 0 !important; flex: 1 1 auto !important; min-width: 0 !important; }
.solvera-product-step4-preview .solvera-fb-preview-header .solvera-ad-preview-page { font-weight: 600 !important; color: #e5e7eb !important; font-size: 14px !important; }
.solvera-product-step4-preview .solvera-fb-preview-header .solvera-ad-preview-sponsored { color: #9ca3af !important; font-size: 12px !important; }
.solvera-product-step4-preview .solvera-fb-preview-subscribe { margin-left: auto !important; color: #1877f2 !important; font-weight: 600 !important; font-size: 13px !important; text-decoration: none !important; }
.solvera-product-step4-preview .solvera-fb-preview-subscribe:hover { text-decoration: underline !important; }
.solvera-product-step4-preview .solvera-fb-preview-body { padding: 12px !important; }
.solvera-product-step4-preview .solvera-cs-preview-text { margin: 0 0 10px 0 !important; font-size: 14px !important; line-height: 1.4 !important; color: var(--solvera-text, #e2e8f0) !important; white-space: pre-wrap !important; word-break: break-word !important; }
/* Одна картинка товара (только изображение), под ней заголовок + кнопка Купить */
.solvera-product-step4-card-main { border-radius: 12px !important; overflow: hidden !important; background: transparent !important; border: none !important; }
.solvera-product-step4-single-image { width: 100% !important; margin: 0 0 0 0 !important; border-radius: 0 !important; overflow: hidden !important; background: #020617 !important; line-height: 0 !important; border-bottom: 1px solid rgba(51,65,85,0.95) !important; }
.solvera-product-step4-single-image img { width: 100% !important; height: auto !important; aspect-ratio: 1 !important; object-fit: cover !important; display: block !important; }
.solvera-product-step4-single-image.solvera-ad-preview-image-placeholder { aspect-ratio: 1 !important; min-height: 220px !important; display: flex !important; align-items: center !important; justify-content: center !important; color: var(--solvera-text-secondary, #94a3b8) !important; font-size: 13px !important; line-height: 1.4 !important; }
.solvera-product-step4-single-image .solvera-product-card-no-img { width: 100% !important; aspect-ratio: 1 !important; min-height: 220px !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 12px !important; }
.solvera-product-step4-card-meta { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 8px !important; padding: 10px 8px 8px !important; border-top: 1px solid rgba(51,65,85,0.95) !important; margin-top: 8px !important; }
.solvera-product-step4-card-text { display: flex !important; flex-direction: column !important; gap: 2px !important; max-width: 70% !important; }
.solvera-product-step4-card-headline { font-size: 14px !important; font-weight: 600 !important; color: #e5e7eb !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.solvera-product-step4-card-price { font-size: 13px !important; font-weight: 500 !important; color: #cbd5f5 !important; }
.solvera-product-step4-preview .solvera-fb-cta-btn { padding: 4px 14px !important; border-radius: 999px !important; font-size: 13px !important; background: #1877f2 !important; color: #fff !important; border: none !important; cursor: default !important; flex-shrink: 0 !important; margin-right: 8px !important; }
.solvera-product-step4-preview .solvera-fb-preview-footer { display: flex !important; gap: 16px !important; padding: 8px 12px !important; border-top: 1px solid var(--solvera-stroke, #334155) !important; color: var(--solvera-text-secondary, #94a3b8) !important; font-size: 13px !important; justify-content: space-between !important; }
.solvera-product-step4-preview .solvera-fb-preview-footer { display: flex !important; gap: 16px !important; padding: 8px 12px !important; border-top: 1px solid var(--solvera-stroke, #334155) !important; color: var(--solvera-text-secondary, #94a3b8) !important; font-size: 13px !important; }

.solvera-btn-secondary.cancel,
button.solvera-btn-secondary[type="button"] {
    background: transparent !important;
    border: 1px solid var(--solvera-stroke) !important;
    color: #94a3b8 !important;
}
.solvera-dashboard-menu-vertical {
    background: var(--solvera-surface-1) !important;
}
.solvera-nav-badge,
[class*="badge"]:not(.solvera-campaigns-status-badge) {
    background: rgba(99, 102, 241, 0.15) !important;
}
[class*="pagination"] button,
[class*="pagination"] a {
    background: transparent !important;
    border: none !important;
    color: #94a3b8 !important;
}
input[type="checkbox"]:not(.campaign-checkbox),
input[type="radio"] {
    accent-color: var(--solvera-cta-purple);
}
.solvera-analytics-empty-state,
.solvera-empty-state {
    background: transparent !important;
    border-color: var(--solvera-stroke) !important;
}
body.dashboard-page .solvera-card,
.solvera-dashboard-content .solvera-card {
    box-shadow: none !important;
}
/* Маленькие карточки (метрики): неоновое свечение по умолчанию и при наведении */
body.dashboard-page .solvera-metric-main,
.solvera-dashboard-content .solvera-metric-main {
    box-shadow: 0 0 20px rgba(99, 102, 241, 0.14), 0 0 40px rgba(99, 102, 241, 0.07) !important;
    transition: box-shadow 0.25s var(--solvera-ease), border-color 0.2s ease !important;
}
body.dashboard-page .solvera-metric-main:hover,
.solvera-dashboard-content .solvera-metric-main:hover {
    box-shadow: 0 0 28px rgba(99, 102, 241, 0.35), 0 0 50px rgba(99, 102, 241, 0.12) !important;
}
body.dashboard-page .solvera-card:hover,
.solvera-dashboard-content .solvera-card:hover {
    box-shadow: var(--solvera-shadow-card) !important;
}

/* ========== XV. Bento: gap 24px, радиус 16px, padding 24px, z-index, скроллбар в блоках ========== */
.solvera-dashboard-content > *,
.solvera-metrics-row {
    gap: var(--solvera-gap) !important;
}
.solvera-metrics-row {
    grid-template-columns: repeat(4, 1fr) !important;
    grid-auto-rows: 1fr !important;
}
/* Обзор: верхний ряд ровно 3 карточки */
.solvera-dashboard-content .solvera-metrics-row.solvera-metrics-row-3 {
    grid-template-columns: repeat(3, 1fr) !important;
}
/* Рефералы и др.: ряд из 2 карточек */
.solvera-dashboard-content .solvera-metrics-row.solvera-metrics-row-2 {
    grid-template-columns: repeat(2, 1fr) !important;
}
.solvera-metrics-row .solvera-metric-main {
    min-height: 140px !important;
}
@media (max-width: 1024px) {
    .solvera-metrics-row {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    .solvera-dashboard-content .solvera-metrics-row.solvera-metrics-row-3 {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
@media (max-width: 768px) {
    .solvera-metrics-row {
        grid-template-columns: 1fr !important;
    }
    .solvera-dashboard-content .solvera-metrics-row.solvera-metrics-row-3,
    .solvera-dashboard-content .solvera-metrics-row.solvera-metrics-row-2 {
        grid-template-columns: 1fr !important;
    }
}
.solvera-dashboard-layout .solvera-card,
.solvera-dashboard-layout .solvera-metric-main,
body.dashboard-page .solvera-card,
body.dashboard-page .solvera-metric-main,
.solvera-dashboard-content .solvera-card,
.solvera-dashboard-content .solvera-metric-main {
    border-radius: var(--solvera-radius-card) !important;
    padding: var(--solvera-space-3) !important;
}
.solvera-modal-bg {
    z-index: 999999 !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
.solvera-modal {
    z-index: 1000000 !important;
    will-change: transform, opacity;
}
.solvera-dashboard-content .solvera-card[style*="overflow"],
.solvera-metric-main .solvera-area-chart-bg ~ *,
.solvera-modal-body {
    overflow-y: auto;
}
.solvera-dashboard-content .solvera-card::-webkit-scrollbar,
.solvera-modal-body::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
.solvera-dashboard-content .solvera-card::-webkit-scrollbar-track,
.solvera-modal-body::-webkit-scrollbar-track {
    background: rgba(15, 23, 42, 0.4);
    border-radius: 3px;
}
.solvera-dashboard-content .solvera-card::-webkit-scrollbar-thumb,
.solvera-modal-body::-webkit-scrollbar-thumb {
    background: #334155;
    border-radius: 4px;
}
.solvera-dashboard-content .solvera-card::-webkit-scrollbar-thumb:hover,
.solvera-modal-body::-webkit-scrollbar-thumb:hover {
    background: #475569;
}
/* Футер: под сайдбаром (z-index ниже), не переопределять фон/цвет из роутера */
.site-footer-dashboard,
.solvera-dashboard-layout .site-footer-dashboard {
    font-size: 13px;
    padding: 12px var(--solvera-space-3);
    border-top: 1px solid rgba(255,255,255,0.1);
    z-index: 0 !important;
    position: relative;
}
.solvera-dashboard-menu-vertical {
    z-index: 200;
}
.site-footer-dashboard .copyright,
.solvera-footer .copyright {
    color: rgba(255,255,255,0.7) !important;
}

/* ========== XVI. Микро-дизайн: тонкие границы, glow главной кнопки, disabled, focus ring ========== */
body.dashboard-page .solvera-card,
body.dashboard-page .solvera-metric-main,
.solvera-dashboard-content .solvera-card,
.solvera-dashboard-content .solvera-metric-main,
.solvera-dashboard-content .solvera-form input,
body.dashboard-page .solvera-form input {
    border-width: 1px !important;
}
body.dashboard-page .solvera-btn-primary:not(.solvera-btn-secondary),
.solvera-dashboard-content .solvera-btn-primary:not(.solvera-btn-secondary),
a.solvera-btn[href*="create"],
button.solvera-btn-primary[id*="launch"],
button.solvera-btn-primary[id*="start"] {
    box-shadow: 0 0 15px rgba(99, 102, 241, 0.4) !important;
}
body.dashboard-page .solvera-btn:disabled,
.solvera-dashboard-content .solvera-btn:disabled,
button:disabled.solvera-btn {
    opacity: 0.3 !important;
    cursor: not-allowed !important;
}
.solvera-tooltip,
[class*="tooltip"] {
    transition: opacity 0.2s ease !important;
}
body.dashboard-page .solvera-btn .dashicons,
body.dashboard-page .solvera-btn svg,
.solvera-dashboard-content .solvera-btn .dashicons,
.solvera-dashboard-content .solvera-btn svg {
    margin-right: 8px !important;
}
body.dashboard-page .solvera-btn,
.solvera-dashboard-content .solvera-btn {
    border-radius: var(--solvera-radius) !important;
}
.solvera-dashboard-tab-list li a:not(.active) .dashicons,
.solvera-dashboard-tab-list li a:not(.active) svg {
    color: #64748B !important;
}
.solvera-dashboard-tab-list li a.active .dashicons,
.solvera-dashboard-tab-list li a.active svg {
    color: #fff !important;
}
body.dashboard-page a:not(.solvera-btn),
.solvera-dashboard-content a:not(.solvera-btn) {
    text-decoration: none;
}
body.dashboard-page a:not(.solvera-btn):hover,
.solvera-dashboard-content a:not(.solvera-btn):hover {
    text-decoration: none;
    color: #e2e8f0 !important;
}
body.dashboard-page .solvera-btn:focus-visible,
body.dashboard-page .solvera-form input:focus-visible,
body.dashboard-page .solvera-form select:focus-visible,
.solvera-dashboard-content .solvera-btn:focus-visible,
.solvera-dashboard-content .solvera-form input:focus-visible,
.solvera-dashboard-content .solvera-form select:focus-visible {
    outline: 2px solid var(--solvera-cta-purple);
    outline-offset: 2px;
}

/* ========== XIV. Фирменный паттерн: едва заметная сетка точек на фоне контента ========== */
body.dashboard-page .solvera-dashboard-content::before,
.solvera-dashboard-layout .solvera-dashboard-content::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle at 1px 1px, rgba(255,255,255,0.03) 1px, transparent 0);
    background-size: 24px 24px;
    pointer-events: none;
    z-index: 0;
}
.solvera-dashboard-content {
    position: relative;
    z-index: 1;
}

/* ---------- Онбординг (гайд новичка): тёмная тема, размытие, подсветка только контента ---------- */
body.dashboard-page .introjs-overlay,
.solvera-dashboard-layout ~ .introjs-overlay,
.introjs-overlay {
    background: rgba(0, 0, 0, 0.55) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    z-index: 999997 !important;
}
body.dashboard-page .solvera-onboarding-tooltip,
.solvera-onboarding-tooltip.introjs-tooltip {
    background: var(--solvera-surface-3) !important;
    border: 1px solid var(--solvera-stroke) !important;
    border-radius: var(--solvera-radius-card) !important;
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.05) !important;
    color: #e2e8f0 !important;
    max-width: 400px !important;
}
.solvera-onboarding-tooltip .introjs-tooltip-title {
    color: #fff !important;
    font-weight: 700 !important;
    margin-bottom: 12px !important;
}
.solvera-onboarding-tooltip .introjs-tooltip-content {
    color: #94a3b8 !important;
    margin-bottom: 16px !important;
}
.solvera-onboarding-tooltip .introjs-tooltipbuttons {
    border-top-color: var(--solvera-stroke) !important;
}
.solvera-onboarding-tooltip .introjs-button {
    background: linear-gradient(135deg, #6366f1 0%, #a855f7 100%) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--solvera-radius) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.solvera-onboarding-tooltip .introjs-button:hover {
    transform: scale(1.03) !important;
    box-shadow: 0 0 20px rgba(99, 102, 241, 0.4) !important;
}
.solvera-onboarding-tooltip .introjs-button.introjs-prevbutton {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #94a3b8 !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
}
.solvera-onboarding-tooltip .introjs-button.introjs-prevbutton:hover {
    background: rgba(255, 255, 255, 0.12) !important;
    color: #cbd5e1 !important;
}
.solvera-onboarding-highlight.introjs-showelement {
    border: 2px solid rgba(99, 102, 241, 0.6) !important;
    border-radius: var(--solvera-radius-card) !important;
    box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.15), 0 0 24px rgba(99, 102, 241, 0.2) !important;
    z-index: 999998 !important;
}
.introjs-progressbar {
    background: linear-gradient(90deg, #6366f1, #a855f7) !important;
}
.introjs-bullets ul li a.active {
    background: #6366f1 !important;
}
.introjs-bullets ul li a:not(.active) {
    background: rgba(255, 255, 255, 0.2) !important;
}

/* ---------- Чек-лист готовности (ТЗ v2.0) ----------
 * [x] Реализованы все слои Surface (0–4).
 * [x] Global Blur (backdrop-filter) для навигации и хедера.
 * [x] Шрифты Inter и Plus Jakarta Sans подключены (Google Fonts).
 * [x] Цветовые переменные в :root.
 * [x] Контрастность AA для текста на тёмном фоне.
 * [x] Segmented Control (E-comm/Services) с плавающей кареткой.
 * [x] Motion: cubic-bezier(0.4, 0, 0.2, 1), hover scale 1.02, modals scale-up.
 * [x] Input focus: градиент + неоновое свечение 4px.
 * [x] Staggered animation появления карточек 50ms.
 * [x] Breakpoint 1024px: сайдбар компактный; 768px: слайдер метрик + FAB.
 */
