/* ============================================================
   VibeDesk — Messenger theme sync (per color palette)
   Load after messenger.css and palette CSS (Chat @section Styles).
   ============================================================ */

/* --- Defaults (light message canvas) --- */
body.zen-body {
    --zen-msg-area-bg: linear-gradient(180deg, rgba(248, 250, 252, 0.96) 0%, rgba(241, 245, 249, 0.98) 100%);
    --zen-msg-area-fg: var(--vd-text, #0f172a);
    --zen-msg-area-muted: var(--vd-text-muted, #64748b);
    --zen-msg-area-empty-icon: var(--vd-accent, #2563eb);
    --zen-msg-panel-surface: var(--vd-panel, #ffffff);
    --zen-msg-panel-surface-soft: var(--vd-panel-soft, #f8fafc);
    --zen-msg-composer-bg: var(--vd-panel-soft, #f8fafc);
    --zen-msg-composer-field-bg: var(--zen-msg-panel-surface);
    --zen-msg-composer-field-border: var(--zen-msg-border);
    --zen-msg-composer-field-fg: var(--zen-msg-area-fg);
    --zen-msg-composer-field-placeholder: var(--zen-msg-area-muted);
    --zen-msg-composer-field-icon: var(--zen-msg-area-muted);
    --zen-msg-composer-attach-bg: var(--zen-msg-composer-field-bg);
    --zen-msg-border: var(--vd-border, #e2e8f0);
    --zen-msg-head-search-bg: rgba(255, 255, 255, 0.92);
    --zen-msg-head-search-fg: var(--vd-text, #0f172a);
    --zen-msg-head-search-muted: var(--vd-text-muted, #64748b);
    --zen-msg-head-badge-bg: rgba(255, 255, 255, 0.92);
    --zen-msg-head-badge-fg: var(--vd-text, #0f172a);
    --zen-msg-row-active-bg: linear-gradient(90deg, rgba(148, 163, 184, 0.24) 0%, rgba(148, 163, 184, 0.12) 100%);
    --zen-msg-row-active-ring: rgba(148, 163, 184, 0.42);
    --zen-msg-wallpaper-office:
        radial-gradient(circle at 1px 1px, rgba(148, 163, 184, 0.07) 1px, transparent 0),
        var(--zen-msg-area-bg);
    --zen-msg-wallpaper-paper:
        radial-gradient(circle at 1px 1px, rgba(148, 163, 184, 0.10) 1px, transparent 0),
        linear-gradient(180deg, rgba(255, 251, 235, 0.92) 0%, rgba(254, 243, 199, 0.65) 100%);
    --zen-msg-wallpaper-telegram:
        radial-gradient(circle at 10px 10px, rgba(59, 130, 246, 0.09) 1px, transparent 0),
        radial-gradient(circle at 1px 1px, rgba(148, 163, 184, 0.12) 1px, transparent 0),
        linear-gradient(180deg, rgba(239, 246, 255, 0.92) 0%, rgba(226, 232, 240, 0.9) 100%);
    --zen-msg-wallpaper-pattern:
        linear-gradient(rgba(248, 250, 252, 0.94), rgba(241, 245, 249, 0.96)),
        url('/img/messenger-pattern.png'),
        linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
    --zen-msg-doodle-tile-size: 192px;
    --zen-msg-doodle-tile-size-food: 260px;
    --zen-msg-doodle-tile-size-line: 208px 208px;
    --zen-msg-doodle-mask-color: rgba(100, 116, 139, 0.34);
    --zen-msg-wallpaper-doodle-blue-base: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
    --zen-msg-wallpaper-doodle-food-base: var(--zen-msg-wallpaper-doodle-blue-base);
    --zen-msg-wallpaper-doodle-light-base: linear-gradient(180deg, #f9fafb 0%, #f1f5f9 100%);
    --zen-msg-wallpaper-doodle-warm-base: linear-gradient(180deg, #fffbeb 0%, #fef3c7 55%, #fde68a 100%);
    --zen-msg-wallpaper-doodle-mint-base: linear-gradient(180deg, #f0fdfa 0%, #e0f2fe 100%);
    --zen-msg-wallpaper-doodle-slate-base: linear-gradient(180deg, #1e293b 0%, #0f172a 100%);
    --zen-msg-wallpaper-doodle-violet-base: linear-gradient(180deg, #1e1b4b 0%, #312e81 55%, #1e1b4b 100%);
    --zen-msg-wallpaper-doodle-blue:
        url('/img/messenger/doodles/blue.svg'),
        var(--zen-msg-wallpaper-doodle-blue-base);
    --zen-msg-wallpaper-doodle-light:
        url('/img/messenger/doodles/light.svg'),
        var(--zen-msg-wallpaper-doodle-light-base);
    --zen-msg-wallpaper-doodle-warm:
        url('/img/messenger/doodles/warm.svg'),
        var(--zen-msg-wallpaper-doodle-warm-base);
    --zen-msg-wallpaper-doodle-mint:
        url('/img/messenger/doodles/mint.svg'),
        var(--zen-msg-wallpaper-doodle-mint-base);
    --zen-msg-wallpaper-doodle-slate:
        url('/img/messenger/doodles/slate.svg'),
        var(--zen-msg-wallpaper-doodle-slate-base);
    --zen-msg-wallpaper-doodle-violet:
        url('/img/messenger/doodles/violet.svg'),
        var(--zen-msg-wallpaper-doodle-violet-base);
    --zen-msg-tg-bubble-mine-fg: #0f172a;
    --zen-msg-tg-bubble-other-bg: rgba(255, 255, 255, 0.92);
    --zen-msg-tg-bubble-other-fg: #0f172a;
    --zen-msg-sidebar-bg: var(--zen-msg-panel-surface);
    --zen-msg-sidebar-tab-fg: var(--zen-msg-area-muted);
    --zen-msg-sidebar-tab-bg: transparent;
    --zen-msg-sidebar-tab-hover-fg: var(--zen-msg-area-fg);
    --zen-msg-sidebar-tab-hover-bg: var(--zen-msg-panel-surface-soft);
    --zen-msg-unread-badge-bg: var(--vd-accent, #2563eb);
    --zen-msg-unread-badge-fg: #fff;
    --zen-msg-online-dot: #22c55e;
    --zen-msg-sidebar-tab-active-fg: var(--vd-accent-strong, #1d4ed8);
    --zen-msg-sidebar-tab-active-bg: rgba(37, 99, 235, 0.12);
    --zen-msg-sidebar-tab-active-ring: rgba(37, 99, 235, 0.28);
    --zen-messenger-header-bg: var(--zen-msg-panel-surface);
    --zen-messenger-header-fg: var(--zen-msg-area-fg);
    --zen-messenger-header-muted: var(--zen-msg-area-muted);
    --zen-messenger-header-border: var(--zen-msg-border);
    --zen-msg-bubble-mine-bg: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
    --zen-msg-bubble-mine-fg: #ffffff;
    --zen-msg-bubble-mine-border: #2563eb;
    --zen-msg-bubble-mine-shadow: 0 2px 8px rgba(37, 99, 235, 0.2), 0 1px 2px rgba(37, 99, 235, 0.12);
    --zen-msg-bubble-mine-shadow-hover: 0 4px 14px rgba(37, 99, 235, 0.28), 0 2px 4px rgba(37, 99, 235, 0.14);
    --zen-msg-bubble-time-mine: rgba(255, 255, 255, 0.82);
    --zen-msg-bubble-other-bg: #ffffff;
    --zen-msg-bubble-other-fg: #0f172a;
    --zen-msg-bubble-other-border: #e2e8f0;
    --zen-msg-bubble-other-shadow: 0 2px 8px rgba(15, 23, 42, 0.06), 0 1px 2px rgba(15, 23, 42, 0.04);
    --zen-msg-bubble-other-shadow-hover: 0 4px 12px rgba(15, 23, 42, 0.1), 0 2px 4px rgba(15, 23, 42, 0.06);
    --zen-msg-bubble-time-other: #64748b;
    --zen-msg-popup-bg: var(--zen-msg-panel-surface);
    --zen-msg-popup-fg: var(--zen-msg-area-fg);
    --zen-msg-popup-muted: var(--zen-msg-area-muted);
    --zen-msg-popup-border: var(--zen-msg-border);
    --zen-msg-popup-hover-bg: var(--zen-msg-panel-surface-soft);
    --zen-msg-popup-shadow: 0 6px 24px rgba(15, 23, 42, 0.16);
    --zen-msg-popup-divider: color-mix(in srgb, var(--zen-msg-border) 72%, transparent);
    --zen-msg-popup-accent: var(--vd-accent, #2563eb);
    --zen-msg-select-bg: color-mix(in srgb, var(--vd-accent, #3b82f6) 16%, transparent);
    --zen-msg-select-mark-border: color-mix(in srgb, var(--zen-msg-area-muted, #64748b) 58%, transparent);
    --zen-msg-select-mark-bg: color-mix(in srgb, var(--zen-msg-panel-surface, #fff) 72%, transparent);
    --zen-msg-forward-bar-bg: var(--zen-msg-popup-bg);
    --zen-msg-forward-bar-fg: var(--zen-msg-popup-fg);
    --zen-msg-forward-bar-muted: var(--zen-msg-popup-muted);
    --zen-msg-forward-bar-border: var(--zen-msg-popup-border);
    --zen-msg-forward-bar-shadow: var(--zen-msg-popup-shadow);
    --zen-msg-typing-bg: color-mix(in srgb, var(--zen-msg-composer-bg) 88%, transparent);
    --zen-msg-typing-fg: var(--zen-msg-area-fg);
    --zen-msg-typing-muted: var(--zen-msg-area-muted);
    --zen-msg-typing-dot: var(--zen-msg-typing-muted);
    --zen-msg-typing-border: var(--zen-msg-border);
    --zen-msg-forward-bar-danger: #ef4444;
}

/* Palette-specific messenger tokens live in wwwroot/css/palettes/<id>.css */

/* --- Apply tokens --- */
body.zen-body .zen-messenger-msg-area,
body.zen-body .zen-chat-scroll {
    background: var(--zen-msg-doodle-bg, var(--zen-msg-area-bg)) !important;
    color: var(--zen-msg-area-fg);
}

body.zen-body .zen-messenger-wallpaper--office {
    background: var(--zen-msg-wallpaper-office) !important;
    background-size: 22px 22px, 100% 100% !important;
}

body.zen-body .zen-messenger-wallpaper--paper {
    background: var(--zen-msg-wallpaper-paper) !important;
    background-size: 22px 22px, 100% 100% !important;
}

body.zen-body .zen-messenger-wallpaper--telegram {
    background: var(--zen-msg-wallpaper-telegram) !important;
    background-size: 28px 28px, 16px 16px, 100% 100% !important;
}

body.zen-body .zen-messenger-wallpaper--pattern {
    background: var(--zen-msg-wallpaper-doodle-blue) !important;
    background-size: var(--zen-msg-doodle-tile-size) var(--zen-msg-doodle-tile-size), 100% 100% !important;
    background-repeat: repeat, no-repeat !important;
    background-position: center center, center center !important;
}

body.zen-body .zen-messenger-wallpaper--doodle-food {
    position: relative;
    background: var(--zen-msg-wallpaper-doodle-food-base) !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    isolation: isolate;
}

body.zen-body .zen-messenger-wallpaper--doodle-food::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-color: var(--zen-msg-doodle-mask-color);
    -webkit-mask-image: url('/img/messenger/doodles/i-like-food.svg');
    mask-image: url('/img/messenger/doodles/i-like-food.svg');
    -webkit-mask-size: var(--zen-msg-doodle-tile-size-food) var(--zen-msg-doodle-tile-size-food);
    mask-size: var(--zen-msg-doodle-tile-size-food) var(--zen-msg-doodle-tile-size-food);
    -webkit-mask-repeat: repeat;
    mask-repeat: repeat;
}

body.zen-body .zen-messenger-wallpaper--doodle-food > * {
    position: relative;
    z-index: 1;
}

body.zen-body .zen-messenger-wallpaper--doodle-blue,
body.zen-body .zen-messenger-wallpaper--doodle-light,
body.zen-body .zen-messenger-wallpaper--doodle-warm,
body.zen-body .zen-messenger-wallpaper--doodle-mint,
body.zen-body .zen-messenger-wallpaper--doodle-slate,
body.zen-body .zen-messenger-wallpaper--doodle-violet {
    background-repeat: repeat, no-repeat !important;
    background-position: center center, center center !important;
    background-size: var(--zen-msg-doodle-tile-size) var(--zen-msg-doodle-tile-size), 100% 100% !important;
}

body.zen-body .zen-messenger-wallpaper--doodle-blue {
    background: var(--zen-msg-wallpaper-doodle-blue) !important;
}

body.zen-body .zen-messenger-wallpaper--doodle-light {
    background: var(--zen-msg-wallpaper-doodle-light) !important;
}

body.zen-body .zen-messenger-wallpaper--doodle-warm {
    background: var(--zen-msg-wallpaper-doodle-warm) !important;
}

body.zen-body .zen-messenger-wallpaper--doodle-mint {
    background: var(--zen-msg-wallpaper-doodle-mint) !important;
}

body.zen-body .zen-messenger-wallpaper--doodle-slate {
    background: var(--zen-msg-wallpaper-doodle-slate) !important;
}

body.zen-body .zen-messenger-wallpaper--doodle-violet {
    background: var(--zen-msg-wallpaper-doodle-violet) !important;
}

/* Ручной цвет doodle (студия «Персонализация») */
body.zen-body .zen-messenger-msg-area.zen-messenger-wallpaper-color--blue,
body.zen-body .zen-messenger-doodle-thumb-preview.zen-messenger-wallpaper-color--blue {
    --zen-msg-wallpaper-doodle-blue-base: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
    --zen-msg-wallpaper-doodle-light-base: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
    --zen-msg-wallpaper-doodle-warm-base: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
    --zen-msg-wallpaper-doodle-mint-base: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
    --zen-msg-wallpaper-doodle-slate-base: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
    --zen-msg-wallpaper-doodle-violet-base: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
    --zen-msg-wallpaper-doodle-food-base: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
    --zen-msg-doodle-mask-color: rgba(100, 116, 139, 0.34);
}

body.zen-body .zen-messenger-msg-area.zen-messenger-wallpaper-color--light,
body.zen-body .zen-messenger-doodle-thumb-preview.zen-messenger-wallpaper-color--light {
    --zen-msg-wallpaper-doodle-blue-base: linear-gradient(180deg, #f9fafb 0%, #f1f5f9 100%);
    --zen-msg-wallpaper-doodle-light-base: linear-gradient(180deg, #f9fafb 0%, #f1f5f9 100%);
    --zen-msg-wallpaper-doodle-warm-base: linear-gradient(180deg, #f9fafb 0%, #f1f5f9 100%);
    --zen-msg-wallpaper-doodle-mint-base: linear-gradient(180deg, #f9fafb 0%, #f1f5f9 100%);
    --zen-msg-wallpaper-doodle-slate-base: linear-gradient(180deg, #f9fafb 0%, #f1f5f9 100%);
    --zen-msg-wallpaper-doodle-violet-base: linear-gradient(180deg, #f9fafb 0%, #f1f5f9 100%);
    --zen-msg-wallpaper-doodle-food-base: linear-gradient(180deg, #f9fafb 0%, #f1f5f9 100%);
    --zen-msg-doodle-mask-color: rgba(148, 163, 184, 0.32);
}

body.zen-body .zen-messenger-msg-area.zen-messenger-wallpaper-color--warm,
body.zen-body .zen-messenger-doodle-thumb-preview.zen-messenger-wallpaper-color--warm {
    --zen-msg-wallpaper-doodle-blue-base: linear-gradient(180deg, #fffbeb 0%, #fef3c7 55%, #fde68a 100%);
    --zen-msg-wallpaper-doodle-light-base: linear-gradient(180deg, #fffbeb 0%, #fef3c7 55%, #fde68a 100%);
    --zen-msg-wallpaper-doodle-warm-base: linear-gradient(180deg, #fffbeb 0%, #fef3c7 55%, #fde68a 100%);
    --zen-msg-wallpaper-doodle-mint-base: linear-gradient(180deg, #fffbeb 0%, #fef3c7 55%, #fde68a 100%);
    --zen-msg-wallpaper-doodle-slate-base: linear-gradient(180deg, #fffbeb 0%, #fef3c7 55%, #fde68a 100%);
    --zen-msg-wallpaper-doodle-violet-base: linear-gradient(180deg, #fffbeb 0%, #fef3c7 55%, #fde68a 100%);
    --zen-msg-wallpaper-doodle-food-base: linear-gradient(180deg, #fffbeb 0%, #fef3c7 55%, #fde68a 100%);
    --zen-msg-doodle-mask-color: rgba(217, 119, 6, 0.34);
}

body.zen-body .zen-messenger-msg-area.zen-messenger-wallpaper-color--mint,
body.zen-body .zen-messenger-doodle-thumb-preview.zen-messenger-wallpaper-color--mint {
    --zen-msg-wallpaper-doodle-blue-base: linear-gradient(180deg, #f0fdfa 0%, #e0f2fe 100%);
    --zen-msg-wallpaper-doodle-light-base: linear-gradient(180deg, #f0fdfa 0%, #e0f2fe 100%);
    --zen-msg-wallpaper-doodle-warm-base: linear-gradient(180deg, #f0fdfa 0%, #e0f2fe 100%);
    --zen-msg-wallpaper-doodle-mint-base: linear-gradient(180deg, #f0fdfa 0%, #e0f2fe 100%);
    --zen-msg-wallpaper-doodle-slate-base: linear-gradient(180deg, #f0fdfa 0%, #e0f2fe 100%);
    --zen-msg-wallpaper-doodle-violet-base: linear-gradient(180deg, #f0fdfa 0%, #e0f2fe 100%);
    --zen-msg-wallpaper-doodle-food-base: linear-gradient(180deg, #f0fdfa 0%, #e0f2fe 100%);
    --zen-msg-doodle-mask-color: rgba(14, 165, 233, 0.32);
}

body.zen-body .zen-messenger-msg-area.zen-messenger-wallpaper-color--slate,
body.zen-body .zen-messenger-doodle-thumb-preview.zen-messenger-wallpaper-color--slate {
    --zen-msg-wallpaper-doodle-blue-base: linear-gradient(180deg, #1e293b 0%, #0f172a 100%);
    --zen-msg-wallpaper-doodle-light-base: linear-gradient(180deg, #1e293b 0%, #0f172a 100%);
    --zen-msg-wallpaper-doodle-warm-base: linear-gradient(180deg, #1e293b 0%, #0f172a 100%);
    --zen-msg-wallpaper-doodle-mint-base: linear-gradient(180deg, #1e293b 0%, #0f172a 100%);
    --zen-msg-wallpaper-doodle-slate-base: linear-gradient(180deg, #1e293b 0%, #0f172a 100%);
    --zen-msg-wallpaper-doodle-violet-base: linear-gradient(180deg, #1e293b 0%, #0f172a 100%);
    --zen-msg-wallpaper-doodle-food-base: linear-gradient(180deg, #1e293b 0%, #0f172a 100%);
    --zen-msg-doodle-mask-color: rgba(148, 163, 184, 0.28);
}

body.zen-body .zen-messenger-msg-area.zen-messenger-wallpaper-color--violet,
body.zen-body .zen-messenger-doodle-thumb-preview.zen-messenger-wallpaper-color--violet {
    --zen-msg-wallpaper-doodle-blue-base: linear-gradient(180deg, #1e1b4b 0%, #312e81 55%, #1e1b4b 100%);
    --zen-msg-wallpaper-doodle-light-base: linear-gradient(180deg, #1e1b4b 0%, #312e81 55%, #1e1b4b 100%);
    --zen-msg-wallpaper-doodle-warm-base: linear-gradient(180deg, #1e1b4b 0%, #312e81 55%, #1e1b4b 100%);
    --zen-msg-wallpaper-doodle-mint-base: linear-gradient(180deg, #1e1b4b 0%, #312e81 55%, #1e1b4b 100%);
    --zen-msg-wallpaper-doodle-slate-base: linear-gradient(180deg, #1e1b4b 0%, #312e81 55%, #1e1b4b 100%);
    --zen-msg-wallpaper-doodle-violet-base: linear-gradient(180deg, #1e1b4b 0%, #312e81 55%, #1e1b4b 100%);
    --zen-msg-wallpaper-doodle-food-base: linear-gradient(180deg, #1e1b4b 0%, #312e81 55%, #1e1b4b 100%);
    --zen-msg-doodle-mask-color: rgba(167, 139, 250, 0.34);
}

body.zen-body .zen-messenger-msg-area .text-muted,
body.zen-body .zen-messenger-composer .text-muted {
    color: var(--zen-msg-area-muted) !important;
}

body.zen-body .zen-messenger-msg-area .text-primary.opacity-25 {
    color: var(--zen-msg-area-empty-icon) !important;
    opacity: 0.42 !important;
}

body.zen-body .zen-messenger-panel > .card-body,
body.zen-body .zen-messenger-inline-bar {
    background: var(--zen-msg-panel-surface) !important;
    color: var(--zen-msg-area-fg);
}

body.zen-body .zen-messenger-composer,
body.zen-body .zen-messenger-composer.zen-chat-compose {
    background: var(--zen-msg-composer-bg) !important;
    color: var(--zen-msg-area-fg);
    border-color: var(--zen-msg-border) !important;
}

body.zen-body:not([data-color-palette="light-office"]) .zen-messenger-shell .zen-messenger-composer,
body.zen-body:not([data-color-palette="light-office"]) .zen-messenger-shell .zen-messenger-composer.zen-chat-compose {
    background: linear-gradient(
        180deg,
        var(--vd-chrome-sidebar-glass-from, rgba(76, 93, 126, 0.96)) 0%,
        var(--vd-chrome-sidebar-glass-to, rgba(54, 71, 103, 0.98)) 100%
    ) !important;
    color: var(--vd-chrome-text, #f8fafc) !important;
    border-color: var(--vd-chrome-border, rgba(255, 255, 255, 0.12)) !important;
}

body.zen-body .zen-messenger-shell .border-secondary-subtle,
body.zen-body .zen-messenger-msg-area .border-secondary-subtle {
    border-color: var(--zen-msg-border) !important;
}

body.zen-body .zen-messenger-composer .form-control:not(.zen-messenger-composer-input) {
    background: var(--zen-msg-panel-surface-soft);
    color: var(--zen-msg-area-fg);
    border-color: var(--zen-msg-border);
}

body.zen-body .zen-messenger-composer .form-control:not(.zen-messenger-composer-input)::placeholder {
    color: var(--zen-msg-area-muted);
    opacity: 1;
}

/* Chrome messenger — поле ввода как полупрозрачный «остров» на composer bar */
body[data-color-palette="blue"],
body[data-color-palette="dark"],
body[data-color-palette="gray-office"],
body[data-color-palette="glass"],
body[data-color-palette="sky-lake"],
body[data-color-palette="rising-sun"],
body[data-color-palette="cyber-blue"] {
    --zen-msg-composer-field-bg: rgba(255, 255, 255, 0.12);
    --zen-msg-composer-field-border: rgba(255, 255, 255, 0.14);
    --zen-msg-composer-field-fg: #ffffff;
    --zen-msg-composer-field-placeholder: rgba(255, 255, 255, 0.55);
    --zen-msg-composer-field-icon: rgba(255, 255, 255, 0.78);
    --zen-msg-composer-attach-bg: rgba(255, 255, 255, 0.12);
}

body.zen-body .zen-messenger-panel .zen-chat-panel-head .bg-light,
body.zen-body .zen-messenger-panel .zen-messenger-sidebar-head .bg-light,
body.zen-body .zen-messenger-panel .zen-chat-panel-head .form-control.bg-light,
body.zen-body .zen-messenger-panel .zen-messenger-sidebar-head .form-control.bg-light,
body.zen-body .zen-messenger-panel .zen-chat-panel-head .input-group-text.bg-light,
body.zen-body .zen-messenger-panel .zen-messenger-sidebar-head .input-group-text.bg-light {
    background: var(--zen-msg-head-search-bg) !important;
    color: var(--zen-msg-head-search-fg) !important;
    border-color: transparent !important;
}

body.zen-body .zen-messenger-panel .zen-chat-panel-head .input-group-text .text-muted,
body.zen-body .zen-messenger-panel .zen-messenger-sidebar-head .input-group-text .text-muted,
body.zen-body .zen-messenger-panel .zen-chat-panel-head .form-control.bg-light::placeholder,
body.zen-body .zen-messenger-panel .zen-messenger-sidebar-head .form-control::placeholder {
    color: var(--zen-msg-head-search-muted) !important;
}

body.zen-body .zen-messenger-panel .zen-chat-panel-head .text-bg-light {
    background: var(--zen-msg-head-badge-bg) !important;
    color: var(--zen-msg-head-badge-fg) !important;
}

body.zen-body .zen-messenger-row-title,
body.zen-body .zen-messenger-panel .list-group-item:not(.active),
body.zen-body .zen-messenger-panel .list-group-item:not(.active) .text-muted {
    color: var(--zen-msg-area-fg);
}

body.zen-body .zen-messenger-panel .list-group-item:not(.active) .text-muted {
    color: var(--zen-msg-area-muted) !important;
}

body.zen-body .zen-messenger-row.is-active {
    background: var(--zen-msg-row-active-bg);
    box-shadow: inset 0 0 0 1px var(--zen-msg-row-active-ring), 0 6px 14px rgba(0, 0, 0, 0.12);
}

/* Заголовки — chrome-текст из палитры */
body.zen-body .zen-messenger-panel .card-header.zen-chat-panel-head,
body.zen-body .zen-messenger-thread .zen-messenger-thread-header.zen-chat-panel-head--main {
    --zen-chat-head-fg: var(--vd-chrome-text, #f8fafc);
    --zen-chat-head-muted: var(--vd-chrome-text-muted, rgba(248, 250, 252, 0.82));
}

/* --- Персонализация: mask-doodle на всю область чата --- */
body.zen-body .zen-messenger-msg-area {
    position: relative;
    isolation: isolate;
    contain: layout style;
}

/* Зернистость: два слоя noise + dot-паттерн (случайный «зернистый» фон) */
body.zen-body .zen-messenger-msg-area[class*="zen-messenger-pattern--doodle-"] {
    --zen-msg-doodle-grain-opacity: 0.22;
    --zen-msg-doodle-grain-fine: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.05' numOctaves='3' seed='7' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E");
    --zen-msg-doodle-grain-coarse: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='b'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.72' numOctaves='4' seed='19' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23b)'/%3E%3C/svg%3E");
}

body.zen-body .zen-messenger-msg-area[class*="zen-messenger-pattern--doodle-"]::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: var(--zen-msg-doodle-grain-opacity);
    background-image: var(--zen-msg-doodle-grain-fine), var(--zen-msg-doodle-grain-coarse);
    background-repeat: repeat, repeat;
    background-size: 64px 64px, 113px 97px;
    background-position: 0 0, 31px 17px;
    mix-blend-mode: multiply;
}

body.zen-body .zen-messenger-msg-area[class*="zen-messenger-pattern--doodle-"]::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: 0.08;
    background-image: radial-gradient(circle, rgba(0, 0, 0, 0.5) 0.5px, transparent 0.65px);
    background-size: 4px 5px;
    background-position: 1px 2px;
    mix-blend-mode: multiply;
}

body.zen-body .zen-messenger-pattern--doodle-badges-social {
    --zen-msg-doodle-grain-opacity: 0.28;
}

body.zen-body .zen-messenger-wallpaper-layer {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background-color: var(--zen-msg-doodle-icon-color, rgba(100, 116, 139, 0.34));
    -webkit-mask-image: var(--zen-msg-doodle-mask-url);
    mask-image: var(--zen-msg-doodle-mask-url);
    -webkit-mask-repeat: repeat;
    mask-repeat: repeat;
    -webkit-mask-size: var(--zen-msg-doodle-tile-size, 200px 200px);
    mask-size: var(--zen-msg-doodle-tile-size, 200px 200px);
    -webkit-mask-mode: alpha;
    mask-mode: alpha;
    opacity: var(--zen-msg-doodle-layer-opacity, 0.88);
}

body.zen-body .zen-messenger-messages-inner {
    position: relative;
    z-index: 2;
    min-height: 100%;
}

body.zen-body .zen-messenger-pattern--doodle-icons {
    --zen-msg-doodle-tile-size: var(--zen-msg-doodle-tile-size-line);
    --zen-msg-doodle-mask-url: url('/img/messenger/doodles/blue.svg');
}

body.zen-body .zen-messenger-pattern--doodle-food {
    --zen-msg-doodle-tile-size: 200px 200px;
    --zen-msg-doodle-mask-url: url('/img/messenger/doodles/i-like-food.svg');
}

body.zen-body .zen-messenger-pattern--doodle-badges-social {
    --zen-msg-doodle-tile-size: var(--zen-msg-doodle-tile-size-line);
    --zen-msg-doodle-layer-opacity: 0.74;
    --zen-msg-doodle-mask-url: url('/img/messenger/doodles/presets/badges-social.svg');
}

body.zen-body .zen-messenger-pattern--doodle-badges-mix {
    --zen-msg-doodle-tile-size: var(--zen-msg-doodle-tile-size-line);
    --zen-msg-doodle-layer-opacity: 0.74;
    --zen-msg-doodle-mask-url: url('/img/messenger/doodles/presets/badges-mix.svg');
    --zen-msg-doodle-mask-position: 20px 60px;
}

body.zen-body .zen-messenger-msg-area.zen-messenger-pattern--doodle-badges-mix .zen-messenger-wallpaper-layer,
body.zen-body .zen-messenger-doodle-thumb-preview.zen-messenger-pattern--doodle-badges-mix .zen-messenger-wallpaper-layer {
    -webkit-mask-position: var(--zen-msg-doodle-mask-position);
    mask-position: var(--zen-msg-doodle-mask-position);
}

body.zen-body .zen-messenger-pattern--doodle-random-light {
    --zen-msg-doodle-tile-size: 240px 480px;
    --zen-msg-doodle-layer-opacity: 0.72;
    --zen-msg-doodle-mask-url: url('/img/messenger/doodles/weather/pattern.svg');
}

body.zen-body .zen-messenger-pattern--doodle-random-warm {
    --zen-msg-doodle-tile-size: 240px 480px;
    --zen-msg-doodle-layer-opacity: 0.72;
    --zen-msg-doodle-mask-url: url('/img/messenger/doodles/LampIVibe/pattern.svg');
}

body.zen-body .zen-messenger-pattern--doodle-random-mix {
    --zen-msg-doodle-tile-size: 260px;
    --zen-msg-doodle-layer-opacity: 0.72;
    --zen-msg-doodle-mask-url: url('/img/messenger/doodles/Mix/pattern.svg');
}

body.zen-body .zen-messenger-pattern--doodle-it {
    --zen-msg-doodle-tile-size: var(--zen-msg-doodle-tile-size-line);
    --zen-msg-doodle-layer-opacity: 0.58;
    --zen-msg-doodle-grain-opacity: 0.18;
    --zen-msg-doodle-mask-url: url('/img/messenger/doodles/IT/pattern.svg');
}

body.zen-body .zen-messenger-pattern--doodle-cats {
    --zen-msg-doodle-tile-size: 416px 416px;
    --zen-msg-doodle-layer-opacity: 0.72;
    --zen-msg-doodle-mask-url: url('/img/messenger/doodles/presets/cats.svg');
}

body.zen-body .zen-messenger-pattern--doodle-emoji {
    --zen-msg-doodle-tile-size: var(--zen-msg-doodle-tile-size-line);
    --zen-msg-doodle-layer-opacity: 0.74;
    --zen-msg-doodle-mask-url: url('/img/messenger/doodles/presets/emoji.svg');
}

body.zen-body .zen-messenger-pattern--doodle-finance {
    --zen-msg-doodle-tile-size: var(--zen-msg-doodle-tile-size-line);
    --zen-msg-doodle-layer-opacity: 0.58;
    --zen-msg-doodle-grain-opacity: 0.18;
    --zen-msg-doodle-mask-url: url('/img/messenger/doodles/Finance/pattern.svg');
}

body.zen-body .zen-messenger-pattern--doodle-space {
    --zen-msg-doodle-tile-size: var(--zen-msg-doodle-tile-size-line);
    --zen-msg-doodle-layer-opacity: 0.74;
    --zen-msg-doodle-mask-url: url('/img/messenger/doodles/presets/space.svg');
    --zen-msg-doodle-mask-position: 20px 60px;
}

body.zen-body .zen-messenger-msg-area.zen-messenger-pattern--doodle-space .zen-messenger-wallpaper-layer,
body.zen-body .zen-messenger-doodle-thumb-preview.zen-messenger-pattern--doodle-space .zen-messenger-wallpaper-layer {
    -webkit-mask-position: var(--zen-msg-doodle-mask-position);
    mask-position: var(--zen-msg-doodle-mask-position);
}

body.zen-body .zen-messenger-pattern--doodle-flow {
    --zen-msg-doodle-tile-size: var(--zen-msg-doodle-tile-size-line);
    --zen-msg-doodle-layer-opacity: 0.76;
    --zen-msg-doodle-mask-url: url('/img/messenger/doodles/presets/flow.svg');
}

body.zen-body .zen-messenger-bubbles--custom .zen-messenger-bubble-mine {
    background: var(--zen-msg-bubble-mine-bg) !important;
    color: var(--zen-msg-bubble-mine-fg) !important;
    border-color: color-mix(in srgb, var(--zen-msg-bubble-mine-bg) 88%, #000) !important;
}

body.zen-body .zen-messenger-bubbles--custom .zen-messenger-bubble-other {
    background: var(--zen-msg-bubble-other-bg) !important;
    color: var(--zen-msg-bubble-other-fg) !important;
    border-color: color-mix(in srgb, var(--zen-msg-bubble-other-bg) 80%, #000) !important;
}

body.zen-body .zen-messenger-bubbles--custom .zen-messenger-bubble-mine .zen-messenger-bubble-footer .small,
body.zen-body .zen-messenger-bubbles--custom .zen-messenger-bubble-mine .zen-messenger-bubble-meta,
body.zen-body .zen-messenger-bubbles--custom .zen-messenger-bubble-mine .zen-messenger-mention {
    color: inherit;
}

body.zen-body .zen-messenger-bubbles--custom .zen-messenger-bubble-other .zen-messenger-bubble-footer .small,
body.zen-body .zen-messenger-bubbles--custom .zen-messenger-bubble-other .zen-messenger-bubble-meta,
body.zen-body .zen-messenger-bubbles--custom .zen-messenger-bubble-other .zen-messenger-mention {
    color: inherit;
}
