/* ============================================================
   Мини-профиль и меню палитры в топбаре — всегда читаемые.
   Светлая «карточка» с тёмным текстом: не наследует --vd-text тёмных тем (vibe/dark).
   ============================================================ */

body.zen-body .vd-mini-profile-menu,
body.zen-body .vd-topbar .vd-theme-palette-menu.dropdown-menu {
    --vd-mp-fg: #0f172a;
    --vd-mp-fg-muted: #64748b;
    --vd-mp-fg-faint: #94a3b8;
    --vd-mp-surface: rgba(255, 255, 255, 0.98);
    --vd-mp-border: #cbd5e1;
    --vd-mp-border-soft: #e2e8f0;
    --vd-mp-btn-bg: #ffffff;
    --vd-mp-btn-hover: #f1f5f9;
    --vd-mp-item-hover: rgba(37, 99, 235, 0.10);
    --vd-mp-accent: var(--vd-accent, #2563eb);
    --vd-mp-accent-strong: var(--vd-accent-strong, #1d4ed8);

    background: var(--vd-mp-surface) !important;
    border: 1px solid var(--vd-mp-border) !important;
    color: var(--vd-mp-fg) !important;
    box-shadow: 0 18px 48px rgba(15, 23, 42, 0.16) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

/* Glass UI — чуть плотнее, текст всё равно тёмный */
body.zen-body[data-color-palette="glass"] .vd-mini-profile-menu,
body.zen-body[data-color-palette="glass"] .vd-topbar .vd-theme-palette-menu.dropdown-menu {
    background: rgba(255, 255, 255, 0.96) !important;
    border-color: rgba(203, 213, 225, 0.9) !important;
}

/* Шапка мини-профиля */
body.zen-body .vd-mini-profile-menu .vd-mini-profile-head {
    border-color: var(--vd-mp-border-soft) !important;
}

body.zen-body .vd-mini-profile-menu .vd-mini-profile-name {
    color: var(--vd-mp-fg) !important;
}

body.zen-body .vd-mini-profile-menu .vd-mini-profile-handle {
    color: var(--vd-mp-fg-muted) !important;
}

body.zen-body .vd-mini-profile-menu .vd-palette-picker-label,
body.zen-body .vd-mini-profile-menu .small.text-uppercase.fw-bold,
body.zen-body .vd-topbar .vd-theme-palette-menu .vd-palette-picker-label {
    color: var(--vd-mp-fg-muted) !important;
}

/* Пункты меню */
body.zen-body .vd-mini-profile-menu .dropdown-item,
body.zen-body .vd-topbar .vd-theme-palette-menu .dropdown-item {
    color: var(--vd-mp-fg) !important;
}

body.zen-body .vd-mini-profile-menu .dropdown-item i,
body.zen-body .vd-topbar .vd-theme-palette-menu .dropdown-item i {
    color: var(--vd-mp-fg-muted) !important;
    filter: none;
}

body.zen-body .vd-mini-profile-menu .dropdown-item:hover,
body.zen-body .vd-mini-profile-menu .dropdown-item:focus,
body.zen-body .vd-topbar .vd-theme-palette-menu .dropdown-item:hover,
body.zen-body .vd-topbar .vd-theme-palette-menu .dropdown-item.active {
    background: var(--vd-mp-item-hover) !important;
    color: var(--vd-mp-fg) !important;
}

body.zen-body .vd-mini-profile-menu .dropdown-item.text-danger,
body.zen-body .vd-mini-profile-menu .dropdown-item.text-danger:hover {
    color: #dc2626 !important;
}

body.zen-body .vd-mini-profile-menu .dropdown-divider,
body.zen-body .vd-topbar .vd-theme-palette-menu .dropdown-divider {
    border-color: var(--vd-mp-border-soft) !important;
    opacity: 1;
}

/* Кнопки палитры / темы карточек */
body.zen-body .vd-mini-profile-menu .vd-palette-opt-btn,
body.zen-body .vd-topbar .vd-theme-palette-menu .vd-palette-opt-btn {
    color: var(--vd-mp-fg) !important;
    border-color: var(--vd-mp-border) !important;
    background: var(--vd-mp-btn-bg) !important;
    transition:
        background 0.18s ease,
        border-color 0.18s ease,
        color 0.18s ease,
        box-shadow 0.18s ease,
        transform 0.18s ease,
        filter 0.18s ease;
}

/* Hover — только неактивные (как кнопки на «План и тариф») */
body.zen-body .vd-mini-profile-menu .vd-palette-opt-btn:hover:not(.btn-primary):not(.vd-accent-gradient-bg),
body.zen-body .vd-mini-profile-menu .vd-palette-opt-btn:focus-visible:not(.btn-primary):not(.vd-accent-gradient-bg),
body.zen-body .vd-topbar .vd-theme-palette-menu .vd-palette-opt-btn:hover:not(.btn-primary):not(.vd-accent-gradient-bg),
body.zen-body .vd-topbar .vd-theme-palette-menu .vd-palette-opt-btn:focus-visible:not(.btn-primary):not(.vd-accent-gradient-bg) {
    background: var(--vd-mp-btn-hover) !important;
    border-color: var(--vd-mp-accent) !important;
    color: var(--vd-mp-fg) !important;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.1);
    transform: translateY(-1px);
}

/* Выбранная опция — акцентный градиент (не белый фон поверх белого текста) */
body.zen-body .vd-mini-profile-menu .vd-palette-opt-btn.btn-primary,
body.zen-body .vd-mini-profile-menu .vd-palette-opt-btn.vd-accent-gradient-bg,
body.zen-body .vd-topbar .vd-theme-palette-menu .vd-palette-opt-btn.btn-primary,
body.zen-body .vd-topbar .vd-theme-palette-menu .vd-palette-opt-btn.vd-accent-gradient-bg {
    background: linear-gradient(135deg, var(--vd-mp-accent) 0%, var(--vd-mp-accent-strong) 100%) !important;
    color: #ffffff !important;
    border-color: transparent !important;
    box-shadow:
        0 2px 8px rgba(15, 23, 42, 0.14),
        0 0 0 1px color-mix(in srgb, var(--vd-mp-accent) 28%, transparent);
}

body.zen-body .vd-mini-profile-menu .vd-palette-opt-btn.btn-primary:hover,
body.zen-body .vd-mini-profile-menu .vd-palette-opt-btn.btn-primary:focus-visible,
body.zen-body .vd-mini-profile-menu .vd-palette-opt-btn.vd-accent-gradient-bg:hover,
body.zen-body .vd-mini-profile-menu .vd-palette-opt-btn.vd-accent-gradient-bg:focus-visible,
body.zen-body .vd-topbar .vd-theme-palette-menu .vd-palette-opt-btn.btn-primary:hover,
body.zen-body .vd-topbar .vd-theme-palette-menu .vd-palette-opt-btn.btn-primary:focus-visible,
body.zen-body .vd-topbar .vd-theme-palette-menu .vd-palette-opt-btn.vd-accent-gradient-bg:hover,
body.zen-body .vd-topbar .vd-theme-palette-menu .vd-palette-opt-btn.vd-accent-gradient-bg:focus-visible {
    background: linear-gradient(135deg, var(--vd-mp-accent) 0%, var(--vd-mp-accent-strong) 100%) !important;
    color: #ffffff !important;
    border-color: transparent !important;
    filter: brightness(1.07);
    box-shadow:
        0 4px 14px rgba(15, 23, 42, 0.18),
        0 0 0 3px color-mix(in srgb, var(--vd-mp-accent) 22%, transparent);
    transform: translateY(-1px);
}

body.zen-body .vd-mini-profile-menu .btn-link.text-muted,
body.zen-body .vd-mini-profile-menu .dropdown-item.text-muted,
body.zen-body .vd-topbar .vd-theme-palette-menu .btn-link.text-muted {
    color: var(--vd-mp-fg-muted) !important;
}

/* P1.8: workday labels — как у «Карта сайта», не белый text-muted на светлом меню */
body.zen-body .vd-mini-profile-menu .vd-mini-profile-workday,
body.zen-body .vd-mini-profile-menu .vd-mini-profile-workday .text-muted,
body.zen-body .vd-mini-profile-menu .vd-mini-profile-workday .small,
body.zen-body .vd-mini-profile-menu .vd-mini-profile-workday #vdWorkdayPresenceLabel,
body.zen-body .vd-mini-profile-menu .vd-mini-profile-workday #vdWorkdayClassification,
body.zen-body .vd-mini-profile-menu .vd-mini-profile-workday #vdWorkdayStateHint,
body.zen-body .vd-mini-profile-menu .vd-mini-profile-workday #vdWorkdayTimer {
    color: var(--vd-mp-fg) !important;
}

body.zen-body .vd-mini-profile-menu .vd-mini-profile-workday .text-muted,
body.zen-body .vd-mini-profile-menu .vd-mini-profile-workday #vdWorkdayPresenceLabel,
body.zen-body .vd-mini-profile-menu .vd-mini-profile-workday #vdWorkdayClassification,
body.zen-body .vd-mini-profile-menu .vd-mini-profile-workday #vdWorkdayStateHint {
    color: var(--vd-mp-fg-muted) !important;
}

body.zen-body .vd-mini-profile-menu .btn-link.text-muted:hover:not(.disabled),
body.zen-body .vd-mini-profile-menu .btn-link.text-muted:focus:not(.disabled) {
    color: var(--vd-mp-fg) !important;
}

/* «Фон и прозрачность» — акцентная кнопка */
body.zen-body .vd-mini-profile-menu .vd-mini-profile-appearance-btn {
    background: linear-gradient(135deg, var(--vd-mp-accent) 0%, var(--vd-mp-accent-strong) 100%) !important;
    color: #ffffff !important;
    border: none !important;
    transition: filter 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

body.zen-body .vd-mini-profile-menu .vd-mini-profile-appearance-btn:hover,
body.zen-body .vd-mini-profile-menu .vd-mini-profile-appearance-btn:focus-visible {
    background: linear-gradient(135deg, var(--vd-mp-accent) 0%, var(--vd-mp-accent-strong) 100%) !important;
    color: #ffffff !important;
    filter: brightness(1.07);
    box-shadow:
        0 4px 14px rgba(15, 23, 42, 0.18),
        0 0 0 3px color-mix(in srgb, var(--vd-mp-accent) 22%, transparent);
    transform: translateY(-1px);
}

body.zen-body .vd-mini-profile-menu .vd-mini-profile-appearance-btn i {
    color: #ffffff !important;
    filter: none;
}

/* outline-secondary внутри меню (не перебивает .btn-primary / .vd-accent-gradient-bg) */
body.zen-body .vd-mini-profile-menu .btn-outline-secondary:not(.btn-primary):not(.vd-accent-gradient-bg) {
    color: var(--vd-mp-fg) !important;
    border-color: var(--vd-mp-border) !important;
    background: var(--vd-mp-btn-bg) !important;
    transition:
        background 0.18s ease,
        border-color 0.18s ease,
        color 0.18s ease,
        box-shadow 0.18s ease,
        transform 0.18s ease;
}

body.zen-body .vd-mini-profile-menu .btn-outline-secondary:not(.btn-primary):not(.vd-accent-gradient-bg):hover,
body.zen-body .vd-mini-profile-menu .btn-outline-secondary:not(.btn-primary):not(.vd-accent-gradient-bg):focus-visible {
    background: var(--vd-mp-btn-hover) !important;
    border-color: var(--vd-mp-accent) !important;
    color: var(--vd-mp-fg) !important;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.1);
    transform: translateY(-1px);
}
