/* New controls only. The approved light palette and page styles stay unchanged. */
.snappy-theme-selector { padding: 10px 8px; }
.snappy-theme-selector .snappy-user-menu__section-title { letter-spacing: 0; }
.snappy-theme-selector .mud-input-control .mud-radio-group { display: flex; flex-direction: column; align-items: stretch; }
.snappy-theme-selector .mud-radio { display: flex; width: 100%; margin: 0; min-height: 42px; border-radius: 8px; }
.snappy-theme-selector .mud-radio:hover { background: var(--snappy-hover); }
.snappy-theme-selector__option { display: flex; align-items: center; gap: 8px; }
.snappy-theme-selector__option > .mud-icon-root { flex-shrink: 0; }

html:root[data-theme="dark"] {
    color-scheme: dark;
    background: #151719;
    --snappy-shell-bg: #151719;
    --snappy-drawer-bg: #1c1f22;
    --snappy-drawer-border: #3b4249;
    --snappy-title: #f1f3f5;
    --snappy-muted: #b7bfc8;
    --snappy-hover: rgba(255,255,255,.06);
    --snappy-active: rgba(170,180,255,.14);
    --snappy-active-border: #aab4ff;
    --snappy-card-shadow: 0 12px 30px rgba(0,0,0,.22);
}

/* Light branding colors must not turn dark shells and panels white. */
html:root[data-theme="dark"] .mud-layout {
    --snappy-shell-bg: #151719 !important;
    --snappy-drawer-bg: #1c1f22 !important;
    --snappy-active-border: #aab4ff !important;
    --snappy-client-component-bg: #202326 !important;
    --snappy-client-component-bg-soft: #292d31 !important;
}

html:root[data-theme="dark"] :is(.snappy-dashboard, .rcs-dashboard, .email-dashboard,
    .sms-dashboard, .admin-dashboard-v3, .designer-dashboard-v3, .campaign-calendar-panel) {
    --snappy-panel-bg: #202326;
    --snappy-panel-bg-soft: #292d31;
    --snappy-panel-border: #3b4249;
    --snappy-panel-border-strong: #596472;
    --snappy-panel-shadow: 0 12px 30px rgba(0,0,0,.18);
    --snappy-panel-shadow-hover: 0 16px 34px rgba(0,0,0,.24);
    --snappy-empty-bg: #202326;
    --snappy-shell-overlay: linear-gradient(transparent, transparent);
    --snappy-calendar-surface: #202326;
    --snappy-calendar-surface-alt: #292d31;
    --snappy-calendar-toolbar: #202326;
    --snappy-calendar-grid: #3b4249;
}

html:root[data-theme="dark"] .marketing-dashboard {
    --snappy-dashboard-panel-bg: #202326;
    --snappy-dashboard-panel-bg-soft: #292d31;
    --snappy-dashboard-panel-bg-library: #202326;
    --snappy-dashboard-panel-border: #3b4249;
    --snappy-dashboard-panel-border-strong: #596472;
    --snappy-dashboard-empty-bg: #202326;
    --snappy-dashboard-chart-bg: #202326;
    --snappy-dashboard-chart-grid: #3b4249;
    --snappy-dashboard-legend-bg: #292d31;
    --snappy-dashboard-library-entry-bg: #292d31;
    --snappy-dashboard-recent-head-bg: #292d31;
    --snappy-dashboard-chart-delivered: #61d6a0;
    --snappy-dashboard-chart-opens: #bdb3ee;
    --snappy-dashboard-chart-clicks: #80c8ef;
    --snappy-dashboard-chart-unsubs: #f5c66d;
    --snappy-dashboard-dot-stroke: #202326;
    --snappy-dashboard-panel-overlay: linear-gradient(transparent, transparent);
}

html:root[data-theme="dark"] :is(.snappy-client-switcher__button, .snappy-global-search__panel,
    .snappy-global-search__input .mud-input-root, .snappy-public-tool-layout) {
    background: var(--mud-palette-surface);
    color: var(--mud-palette-text-primary);
    border-color: var(--mud-palette-lines-default) !important;
}
html:root[data-theme="dark"] :is(.snappy-client-switcher__button:hover,
    .snappy-user-menu__trigger:hover, .snappy-user-menu__trigger.is-open,
    .snappy-user-menu__popover .mud-menu-item:hover) { background: var(--snappy-hover); }

html:root[data-theme="dark"] .snappy-user-menu__header-role { color: var(--mud-palette-primary); }
html:root[data-theme="dark"] .snappy-notification-bell__button,
html:root[data-theme="dark"] .snappy-notification-item { background: #202326; border-color: #3b4249; }
html:root[data-theme="dark"] .snappy-notification-item--unread { background: #292d31; border-left-color: #ff93b7; }
html:root[data-theme="dark"] :is(.snappy-notifications-panel__footer, .snappy-notification-item__icon) { background: #292d31; color: #c1c7ce; }

html:root[data-theme="dark"] :is(.snappy-help-search-shell, .snappy-help-popular-card,
    .snappy-help-category-card, .snappy-help-result-card, .snappy-help-toc,
    .help-article-v2__content, .help-article-v2__toc, .help-article-v2 .snappy-help-article-toolbar) {
    background: #202326;
    border-color: #3b4249;
}
html:root[data-theme="dark"] :is(.snappy-help-title, .snappy-help-article-title,
    .help-article-v2__content-inner h2, .help-article-v2__content-inner h3,
    .help-article-v2__content-inner strong, .help-article-v2__toc-title) { color: #f1f3f5; }
html:root[data-theme="dark"] :is(.snappy-help-subtitle, .snappy-help-article-summary,
    .help-article-v2__content-inner p, .help-article-v2__toc .snappy-help-toc-link) { color: #b7bfc8; }
html:root[data-theme="dark"] .help-article-v2__content-inner li { background: #292d31; }
html:root[data-theme="dark"] .help-article-v2__content-inner code { color: #c6d4ff !important; }
html:root[data-theme="dark"] .help-article-v2__content-inner pre code { color: #f8fbff !important; }
html:root[data-theme="dark"] .help-article-v2__toc .snappy-help-toc-link:hover { color: #f1f3f5; background: #292d31; }

html:root[data-theme="dark"] .auth-primary-btn:not(:disabled) { color: var(--mud-palette-primary-text) !important; }
html:root[data-theme="dark"] .auth-primary-btn:disabled { color: var(--mud-palette-text-disabled) !important; }

html:root[data-theme="dark"] ::-webkit-scrollbar-thumb { background: #596472; }
html:root[data-theme="dark"] body * { scrollbar-color: #596472 transparent; }

html:root[data-theme="dark"] .snappy-admin-client-tile,
html:root[data-theme="dark"] .campaign-card-metric {
    background: var(--mud-palette-background-gray);
    border-color: var(--mud-palette-divider);
    color: var(--mud-palette-text-primary);
}

/* Email tracking has local light surfaces in its cards, nested tabs and tables. */
html:root[data-theme="dark"] .campaign-details-page {
    --campaign-hotzone-link-bg: var(--mud-palette-background-gray);
}
html:root[data-theme="dark"] .campaign-details-page .campaign-content-hotzone-button.mud-button-outlined {
    background: var(--mud-palette-background-gray);
    border-color: var(--mud-palette-divider) !important;
    color: var(--mud-palette-primary);
    box-shadow: none;
}
html:root[data-theme="dark"] .campaign-details-page .campaign-content-hotzone-button.mud-button-outlined:hover {
    background: var(--mud-palette-action-default-hover);
    border-color: var(--mud-palette-primary) !important;
}
html:root[data-theme="dark"] .campaign-details-page .campaign-heat-link { --campaign-heat-text: #ffc08a; }
html:root[data-theme="dark"] .campaign-details-page .campaign-heat-link.is-hottest { --campaign-heat-text: #ffada5; }
html:root[data-theme="dark"] .campaign-details-page :is(.campaign-open-kpi,
    .campaign-share-card, .campaign-audience-summary-tile, .campaign-fraction-detail-card) {
    background: var(--mud-palette-background-gray);
    color: var(--mud-palette-text-primary);
    border-color: var(--mud-palette-divider) !important;
    box-shadow: none;
}
html:root[data-theme="dark"] .campaign-details-page :is(.campaign-data-grid, .campaign-open-tabs) {
    background: var(--mud-palette-surface);
    color: var(--mud-palette-text-primary);
    border-color: var(--mud-palette-divider);
}
html:root[data-theme="dark"] .campaign-details-page .campaign-data-grid thead {
    background: var(--mud-palette-background-gray);
}
html:root[data-theme="dark"] .campaign-details-page .campaign-data-grid tbody tr:hover {
    background: var(--mud-palette-background-gray) !important;
}
html:root[data-theme="dark"] .campaign-details-page .campaign-open-tabs :is(.mud-tabs-tabbar, .mud-tabs-panels) {
    background: var(--mud-palette-surface);
}
html:root[data-theme="dark"] .campaign-details-page .campaign-soft-label {
    color: var(--mud-palette-text-secondary);
    opacity: 1;
}
html:root[data-theme="dark"] .campaign-details-page .campaign-open-kpi {
    --campaign-open-kpi-ink: color-mix(in srgb, var(--campaign-open-kpi-color, #0C65D3) 60%, white);
}
html:root[data-theme="dark"] .campaign-details-page :is(.campaign-open-kpi__icon, .campaign-open-kpi__rate) {
    color: var(--campaign-open-kpi-ink);
}
html:root[data-theme="dark"] .campaign-details-page .campaign-open-kpi__rate {
    border-color: color-mix(in srgb, var(--campaign-open-kpi-ink) 40%, transparent);
}
html:root[data-theme="dark"] .campaign-details-page .campaign-audience-summary-tile:hover {
    border-color: var(--mud-palette-primary) !important;
    background: color-mix(in srgb, var(--mud-palette-background-gray) 92%, var(--mud-palette-primary));
}
html:root[data-theme="dark"] .campaign-details-page :is(.campaign-viewers-panel,
    .campaign-viewers-panel__toolbar, .campaign-viewers-panel__actions, .campaign-viewers-panel__row) {
    background: var(--mud-palette-surface);
    border-color: var(--mud-palette-divider);
    box-shadow: none;
}
html:root[data-theme="dark"] .campaign-details-page .campaign-viewers-panel__hero {
    border-color: var(--mud-palette-divider);
}
html:root[data-theme="dark"] .campaign-details-page .campaign-viewers-panel__row.is-selected {
    background: color-mix(in srgb, var(--mud-palette-success) 8%, var(--mud-palette-surface));
    border-color: color-mix(in srgb, var(--mud-palette-success) 45%, transparent);
}
html:root[data-theme="dark"] .campaign-details-page .campaign-viewers-panel__avatar {
    color: var(--mud-palette-primary);
    background: var(--mud-palette-background-gray);
    border-color: var(--mud-palette-divider);
}

/* The embedded campaign grid is separate from the admin dashboard calendar. */
html:root[data-theme="dark"] .campaign-calendar-panel--embedded .campaign-calendar-grid {
    background: var(--mud-palette-surface);
    border-color: var(--mud-palette-divider);
}
html:root[data-theme="dark"] .campaign-calendar-panel--embedded .campaign-calendar-grid__weekday {
    background: var(--mud-palette-background-gray);
    border-color: var(--mud-palette-divider);
    color: var(--mud-palette-text-secondary);
}
html:root[data-theme="dark"] .campaign-calendar-panel--embedded .campaign-calendar-day {
    background: var(--mud-palette-surface);
    border-color: var(--mud-palette-divider);
}
html:root[data-theme="dark"] .campaign-calendar-panel--embedded .campaign-calendar-day--empty {
    background: var(--mud-palette-background);
}
html:root[data-theme="dark"] .campaign-calendar-panel--embedded .campaign-calendar-day--today {
    background: var(--mud-palette-primary-hover);
    box-shadow: inset 0 2px 0 var(--mud-palette-primary);
}
html:root[data-theme="dark"] .campaign-calendar-panel--embedded .campaign-calendar-event {
    background: var(--mud-palette-background-gray);
    border-color: var(--mud-palette-divider);
}
html:root[data-theme="dark"] .campaign-calendar-panel--embedded .campaign-calendar-event:hover,
html:root[data-theme="dark"] .campaign-calendar-panel--embedded .campaign-calendar-event:focus-visible {
    background: #343b45;
    border-color: var(--mud-palette-primary);
}

/* Mud's default tooltip uses DarkContrastText, intended for filled Dark buttons. */
html:root[data-theme="dark"] .mud-tooltip.mud-tooltip-default {
    color: var(--mud-palette-text-primary);
    background-color: #343b45;
    box-shadow: 0 4px 14px rgba(0,0,0,.28);
}
html:root[data-theme="dark"] .mud-tooltip.mud-tooltip-default.mud-tooltip-arrow::after {
    border-color: #343b45 transparent transparent transparent;
}

html:root[data-theme="dark"] .snappy-stripo-editor {
    background: var(--mud-palette-surface);
}
html:root[data-theme="dark"] .snappy-stripo-editor__toolbar {
    background: var(--mud-palette-surface);
    border-color: var(--mud-palette-divider);
    border-radius: 14px 14px 0 0;
}
/* Keep Stripo's own light interface and the email canvas independent of Snappy. */
html:root[data-theme="dark"] .snappy-stripo-editor__canvas {
    color-scheme: light;
    color: #333333;
}
