:root {
    --rl-admin-font-ui: var(--font-family-system, "Instrument Sans", "Inter", "Source Sans 3", sans-serif);
    --rl-admin-font-display: var(--font-family-display, "Space Grotesk", "Instrument Sans", "Inter", sans-serif);
    --rl-admin-radius-xs: 10px;
    --rl-admin-radius-sm: 14px;
    --rl-admin-radius-md: 18px;
    --rl-admin-radius-lg: 24px;
    --ui-titlebar-height: 54px;
    --ui-main-content-width: min(98.5vw, calc(100vw - 8px));
    --ui-player-container-padding: calc(var(--ui-titlebar-height) + 10px) 24px 22px 24px;
    --ui-layout-gap: 18px;
    --ui-content-column-gap: 18px;
    --ui-content-row-gap: 18px;
    --ui-player-column-width: 350px;
    --ui-player-column-padding: 23px;
    --ui-player-column-gap: 21px;
    --rl-panel-header-height-scale: 0.8;
    /* Mesma faixa compacta do header de Músicas (~33px medidos). */
    --rl-main-panel-header-height: 33px;
    /* Rodapé de painéis/modais: compacto com botões 34px (não aplica ao #player-footer). */
    --rl-main-panel-footer-height: 42px;
    --ui-panel-chrome-pad-block: 14px;
    --ui-panel-header-padding: calc(var(--ui-panel-chrome-pad-block) * var(--rl-panel-header-height-scale)) 18px;
    --ui-panel-header-gap: 14px;
    --ui-panel-footer-padding: 0 14px;
    --ui-panel-footer-gap: 8px;
    --ui-panel-footer-control-size: 34px;
    --ui-panel-footer-control-radius: var(--rl-soft-radius, 8px);
    --ui-player-transport-size: 48px;
    --ui-player-main-radius: 18px;
    --ui-player-footer-margin: 0 calc(var(--ui-player-column-padding, 23px) * -1) calc(var(--ui-player-column-padding, 23px) * -1);
    --ui-player-footer-width: calc(100% + (var(--ui-player-column-padding, 23px) * 2));
    --ui-player-footer-content-width: 100%;
    --ui-playlist-item-min-height: 44px;
    --ui-playlist-item-padding: 1px 8px 1px 1px;
    --ui-playlist-item-margin: 1px;
    --rl-playlist-item-scale: 0.95;
}
@media (max-height: 600px) {
    :root {
        --ui-titlebar-height: 36px;
        --ui-player-container-padding: calc(var(--ui-titlebar-height) + 2px) 12px 10px 12px;
        --ui-layout-gap: 10px;
        --ui-content-column-gap: 10px;
        --ui-content-row-gap: 10px;
        --ui-player-column-padding: 16px;
        --ui-player-column-gap: 14px;
    }
}

@media (max-width: 959px) {
    :root {
        --ui-titlebar-height: 32px;
        --ui-player-container-padding: calc(var(--ui-titlebar-height) + 2px) 12px 10px 12px;
        --ui-layout-gap: 10px;
        --ui-content-column-gap: 10px;
        --ui-content-row-gap: 10px;
        --ui-player-column-padding: 16px;
        --ui-player-column-gap: 14px;
        --ui-app-footer-padding: 5px 12px;
        --ui-app-footer-gap: 1px;
        --ui-app-footer-line-height: 1.05;
    }
}

@media (min-width: 3840px) and (min-height: 2000px) {
    :root {
        --ui-titlebar-height: 48px;
    }
}

body {
    --rl-admin-grid-dark:
        repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.015) 0 1px, transparent 1px 7px),
        repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.012) 0 1px, transparent 1px 7px);
    --rl-admin-grid-light:
        repeating-linear-gradient(0deg, rgba(15, 23, 42, 0.028) 0 1px, transparent 1px 14px),
        repeating-linear-gradient(90deg, rgba(15, 23, 42, 0.024) 0 1px, transparent 1px 14px);
    --rl-admin-surface-shadow: 0 24px 54px rgba(0, 0, 0, 0.28), 0 10px 24px rgba(0, 0, 0, 0.2);
    --rl-admin-card-shadow: 0 12px 26px rgba(0, 0, 0, 0.18);
    --rl-admin-card-shadow-hover: 0 18px 36px rgba(0, 0, 0, 0.24);
    --rl-admin-control-shadow: 0 10px 22px rgba(0, 0, 0, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.16);
    --rl-admin-control-shadow-hover: 0 14px 28px rgba(0, 0, 0, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.2);
    --rl-admin-highlight: #b8c2cf;
    --rl-admin-highlight-soft: rgba(184, 194, 207, 0.2);
    --rl-admin-highlight-strong: rgba(184, 194, 207, 0.38);
    --theme-accent: var(--rl-admin-highlight);
    --theme-accent-strong: #8a95a3;
    --theme-accent-rgb: 184, 194, 207;
    --theme-accent-bg-subtle: rgba(var(--theme-accent-rgb), 0.08);
    --theme-accent-bg-soft: rgba(var(--theme-accent-rgb), 0.14);
    --theme-accent-bg-medium: rgba(var(--theme-accent-rgb), 0.22);
    --theme-accent-border: rgba(var(--theme-accent-rgb), 0.28);
    --theme-accent-border-strong: rgba(var(--theme-accent-rgb), 0.46);
    --theme-accent-ring: rgba(var(--theme-accent-rgb), 0.3);
    --theme-accent-shadow: rgba(var(--theme-accent-rgb), 0.16);
    --theme-accent-shadow-strong: rgba(var(--theme-accent-rgb), 0.24);
    --theme-accent-gradient: linear-gradient(180deg, var(--theme-accent) 0%, var(--theme-accent-strong) 100%);
    --theme-accent-gradient-soft: linear-gradient(180deg, var(--theme-accent-bg-soft) 0%, var(--theme-accent-bg-subtle) 100%);
    --rl-admin-ambient-top: radial-gradient(circle at top, rgba(184, 194, 207, 0.08), transparent 36%);
    --rl-admin-ambient-left: radial-gradient(circle at 0% 12%, rgba(148, 163, 184, 0.06), transparent 28%);
    --rl-admin-ambient-right: radial-gradient(circle at 100% 0%, rgba(203, 213, 225, 0.055), transparent 32%);
    --rl-admin-panel-texture: none;
    --rl-admin-app-bg: linear-gradient(180deg, var(--bg-body-fixed) 0%, var(--bg-body-fixed) 100%);
    --rl-admin-panel-sheen: linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, transparent 54%, rgba(0, 0, 0, 0.08) 100%);
    --rl-admin-header-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18), inset 0 -1px 0 rgba(0, 0, 0, 0.14);
    --rl-admin-header-gloss: linear-gradient(180deg, rgba(255, 255, 255, 0.2) 0%, transparent 72%);
    --rl-admin-surface-1: var(--rl-admin-panel-bg);
    --rl-admin-surface-2: var(--rl-admin-panel-bg-strong);
    --rl-admin-surface-3: var(--rl-admin-panel-muted);
    --rl-admin-panel-outline: inset 0 1px 0 rgba(255, 255, 255, 0.12), inset 0 -1px 0 rgba(15, 23, 42, 0.18);
    --rl-admin-panel-glow: 0 0 0 1px rgba(255, 255, 255, 0.04);
    --rl-admin-control-outline: inset 0 1px 0 rgba(255, 255, 255, 0.18);
    font-family: var(--rl-admin-font-ui);
}

body.theme-dark {
    --bg-primary: rgba(39, 40, 44, 0.86);
    --bg-secondary: rgba(32, 34, 38, 0.95);
    --bg-tertiary: rgba(46, 49, 54, 0.98);
    --bg-secondary-solid: #24262a;
    --bg-tertiary-solid: #31343a;
    --text-primary: #f5f7fb;
    --text-secondary: #d5dae1;
    --text-tertiary: #9ca3af;
    --border-primary: rgba(255, 255, 255, 0.1);
    --shadow-sm: 0 8px 18px rgba(6, 10, 18, 0.2);
    --shadow-md: 0 18px 36px rgba(6, 10, 18, 0.3);
    --shadow-lg: 0 32px 72px rgba(6, 10, 18, 0.42);
    --rl-admin-topbar-bg: linear-gradient(180deg, rgba(37, 38, 41, 0.98) 0%, rgba(23, 24, 26, 0.99) 100%);
    --rl-admin-panel-bg: linear-gradient(168deg, rgba(49, 51, 55, 0.96) 0%, rgba(36, 38, 42, 0.98) 44%, rgba(23, 24, 27, 0.99) 100%);
    --rl-admin-panel-bg-strong: linear-gradient(168deg, rgba(55, 57, 62, 0.98) 0%, rgba(38, 40, 44, 0.99) 52%, rgba(25, 26, 29, 1) 100%);
    --rl-admin-panel-muted: linear-gradient(168deg, rgba(61, 63, 68, 0.96) 0%, rgba(46, 48, 53, 0.98) 48%, rgba(31, 32, 36, 0.99) 100%);
    --rl-admin-header-bg: linear-gradient(180deg, rgba(58, 60, 65, 0.98) 0%, rgba(39, 41, 45, 0.99) 58%, rgba(28, 29, 32, 1) 100%);
    --rl-admin-footer-bg: linear-gradient(180deg, rgba(47, 49, 54, 0.9) 0%, rgba(27, 28, 31, 0.99) 100%);
    --rl-admin-border: rgba(255, 255, 255, 0.08);
    --rl-admin-border-strong: rgba(255, 255, 255, 0.16);
    --rl-admin-text: #f5f7fb;
    --rl-admin-text-soft: #e6edf5;
    --rl-admin-text-muted: #c0cad5;
    --rl-admin-pill-bg: rgba(85, 90, 99, 0.34);
    --rl-admin-pill-border: rgba(186, 191, 198, 0.2);
    --rl-admin-pill-text: #eef4fb;
    --rl-admin-control-bg: linear-gradient(180deg, rgba(67, 70, 77, 0.98) 0%, rgba(43, 45, 50, 0.99) 100%);
    --rl-admin-control-hover-bg: linear-gradient(180deg, rgba(78, 82, 90, 0.99) 0%, rgba(49, 52, 58, 1) 100%);
    --rl-admin-control-press-bg: linear-gradient(180deg, rgba(53, 56, 62, 1) 0%, rgba(34, 36, 40, 1) 100%);
    --rl-admin-title-shell-bg: var(--title-brand-shell-bg);
    --rl-admin-title-shell-border: var(--title-brand-shell-border);
    --rl-admin-title-shell-shadow: 0 10px 24px rgba(0, 0, 0, 0.26), inset 0 1px 0 rgba(255, 255, 255, 0.14);
    --rl-admin-top-control-bg: var(--rl-admin-control-bg);
    --rl-admin-top-control-hover-bg: var(--rl-admin-control-hover-bg);
    --rl-admin-top-control-text: #eef4fb;
    --rl-admin-top-control-text-hover: #ffffff;
    --rl-admin-top-control-shadow: 0 8px 18px rgba(0, 0, 0, 0.26), inset 0 1px 0 rgba(255, 255, 255, 0.16);
    --rl-admin-top-control-hover-shadow: 0 12px 24px rgba(0, 0, 0, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.2);
    --rl-admin-input-bg: linear-gradient(180deg, rgba(88, 92, 100, 0.24) 0%, rgba(42, 45, 50, 0.16) 100%), rgba(34, 36, 41, 0.92);
    --rl-admin-input-border: rgba(255, 255, 255, 0.1);
    --rl-admin-input-focus: rgba(184, 194, 207, 0.22);
    --rl-admin-app-bg: linear-gradient(180deg, #26272a 0%, #202124 42%, #191a1d 100%);
    background-color: #202124 !important;
    background-image: var(--rl-admin-app-bg) !important;
    background-size: 100% 100% !important;
}

body.theme-dark[data-bootstrap-theme="dark-fixed"] {
    --bg-primary: rgba(39, 40, 44, 0.9);
    --bg-secondary: #25272b;
    --bg-tertiary: #303237;
    --bg-secondary-solid: #25272b;
    --bg-tertiary-solid: #303237;
    --text-primary: #f1f3f5;
    --text-secondary: #c7ccd2;
    --text-tertiary: #9299a2;
    --border-primary: rgba(226, 232, 240, 0.1);
    --accent-primary: #b5beca;
    --accent-music: #c8d0d9;
    --accent-announcement: #a7b0bc;
    --accent-tts: #d2c7b6;
    --rl-admin-highlight: #aeb7c2;
    --rl-admin-highlight-soft: rgba(174, 183, 194, 0.2);
    --rl-admin-highlight-strong: rgba(174, 183, 194, 0.38);
    --theme-accent: #c8d0d9;
    --theme-accent-strong: #8f98a5;
    --theme-accent-rgb: 200, 208, 217;
    --rl-admin-text: #f7f9fc;
    --rl-admin-text-soft: #e3e8ee;
    --rl-admin-text-muted: #c2c9d1;
    --rl-admin-ambient-top: radial-gradient(circle at top, rgba(203, 213, 225, 0.07), transparent 36%);
    --rl-admin-ambient-left: radial-gradient(circle at 0% 12%, rgba(148, 163, 184, 0.055), transparent 28%);
    --rl-admin-ambient-right: radial-gradient(circle at 100% 0%, rgba(226, 232, 240, 0.045), transparent 32%);
    --rl-admin-panel-texture:
        repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.025) 0 1px, transparent 1px 9px),
        repeating-linear-gradient(45deg, rgba(0, 0, 0, 0.12) 0 1px, transparent 1px 11px);
    --rl-admin-panel-sheen: linear-gradient(180deg, rgba(255, 255, 255, 0.07) 0%, transparent 42%, rgba(0, 0, 0, 0.18) 100%);
    --rl-admin-header-bg:
        var(--rl-admin-panel-texture),
        linear-gradient(180deg, rgba(64, 66, 71, 0.98) 0%, rgba(43, 45, 49, 0.99) 54%, rgba(29, 30, 33, 1) 100%);
    --rl-admin-footer-bg:
        var(--rl-admin-panel-texture),
        linear-gradient(180deg, rgba(47, 49, 53, 0.92) 0%, rgba(25, 26, 29, 0.99) 100%);
    --rl-admin-pill-bg: rgba(82, 86, 94, 0.34);
    --rl-admin-pill-border: rgba(199, 204, 210, 0.18);
    --rl-admin-pill-text: #edf0f3;
    --rl-admin-app-bg: linear-gradient(180deg, #26272a 0%, #202124 46%, #191a1d 100%);
}

body.theme-dark[data-bootstrap-theme="grafite"] {
    --rl-admin-highlight: var(--rl-grafite-accent);
    --rl-admin-highlight-soft: rgba(var(--rl-grafite-accent-rgb), 0.16);
    --rl-admin-highlight-strong: rgba(var(--rl-grafite-accent-rgb), 0.28);
    --rl-admin-ambient-top: none;
    --rl-admin-ambient-left: none;
    --rl-admin-ambient-right: none;
    --rl-admin-panel-texture: none;
    --rl-admin-panel-sheen: none;
    --rl-admin-header-shadow: inset 0 -1px 0 var(--rl-grafite-border);
    --rl-admin-header-gloss: none;
    --rl-admin-panel-outline: inset 0 0 0 1px var(--rl-grafite-border);
    --rl-admin-panel-glow: none;
    --rl-admin-surface-shadow: var(--rl-grafite-shadow-lg);
    --rl-admin-card-shadow: var(--rl-grafite-shadow-sm);
    --rl-admin-card-shadow-hover: var(--rl-grafite-shadow-md);
    --rl-admin-control-shadow: var(--rl-grafite-shadow-sm);
    --rl-admin-control-shadow-hover: var(--rl-grafite-shadow-md);
    --rl-admin-topbar-bg: var(--rl-grafite-hover);
    --rl-admin-panel-bg: var(--rl-grafite-surface-1);
    --rl-admin-panel-bg-strong: var(--rl-grafite-surface-2);
    --rl-admin-panel-muted: var(--rl-grafite-canvas);
    --rl-admin-header-bg: var(--rl-grafite-surface-3);
    --rl-admin-footer-bg: var(--rl-grafite-surface-2);
    --rl-admin-border: var(--rl-grafite-border);
    --rl-admin-border-strong: var(--rl-grafite-border-strong);
    --rl-admin-text: var(--rl-grafite-text-primary);
    --rl-admin-text-soft: var(--rl-grafite-text-secondary);
    --rl-admin-text-muted: var(--rl-grafite-text-muted);
    --rl-admin-pill-bg: var(--rl-grafite-surface-3);
    --rl-admin-pill-border: var(--rl-grafite-border);
    --rl-admin-pill-text: var(--rl-grafite-text-primary);
    --rl-admin-control-bg: var(--rl-grafite-surface-3);
    --rl-admin-control-hover-bg: var(--rl-grafite-hover);
    --rl-admin-control-press-bg: var(--rl-grafite-surface-2);
    --rl-admin-title-shell-bg: var(--rl-admin-control-bg);
    --rl-admin-title-shell-border: var(--rl-admin-border-strong);
    --rl-admin-title-shell-shadow: var(--rl-admin-control-shadow);
    --rl-admin-top-control-bg: var(--rl-admin-control-bg);
    --rl-admin-top-control-hover-bg: var(--rl-admin-control-hover-bg);
    --rl-admin-top-control-text: var(--rl-grafite-text-secondary);
    --rl-admin-top-control-text-hover: var(--rl-grafite-text-primary);
    --rl-admin-top-control-shadow: var(--rl-admin-control-shadow);
    --rl-admin-top-control-hover-shadow: var(--rl-admin-control-shadow-hover);
    --rl-admin-input-bg: var(--rl-grafite-field);
    --rl-admin-input-border: var(--rl-grafite-border);
    --rl-admin-input-focus: var(--rl-grafite-focus-ring);
    --rl-admin-app-bg: linear-gradient(var(--rl-grafite-canvas), var(--rl-grafite-canvas));
    background-color: var(--rl-grafite-canvas) !important;
    background-image: none !important;
    background-size: 100% 100% !important;
}

body.theme-dark[data-bootstrap-theme="verde"] {
    --bg-primary: rgba(34, 95, 58, 0.88);
    --bg-secondary: #387d4e;
    --bg-tertiary: #428c58;
    --bg-secondary-solid: #387d4e;
    --bg-tertiary-solid: #428c58;
    --text-primary: #e8f5e8;
    --text-secondary: #c8e0ce;
    --text-tertiary: #a0c0a8;
    --border-primary: rgba(255, 255, 255, 0.13);
    --accent-primary: #7dba8e;
    --accent-music: #7dba8e;
    --accent-announcement: #75b086;
    --accent-tts: #8ac49c;
    --rl-admin-highlight: #7ab58c;
    --rl-admin-highlight-soft: rgba(122, 181, 140, 0.18);
    --rl-admin-highlight-strong: rgba(122, 181, 140, 0.34);
    --theme-accent: #7dba8e;
    --theme-accent-strong: #4a8c5e;
    --theme-accent-rgb: 125, 186, 142;
    --theme-accent-shadow: rgba(var(--theme-accent-rgb), 0.12);
    --theme-accent-shadow-strong: rgba(var(--theme-accent-rgb), 0.2);
    --rl-admin-ambient-top: none;
    --rl-admin-ambient-left: none;
    --rl-admin-ambient-right: none;
    --rl-admin-panel-texture: none;
    --rl-admin-panel-sheen: linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, transparent 50%);
    --rl-admin-header-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
    --rl-admin-header-gloss: linear-gradient(180deg, rgba(255, 255, 255, 0.1) 0%, transparent 70%);
    --rl-admin-panel-outline: inset 0 1px 0 rgba(255, 255, 255, 0.08);
    --rl-admin-panel-glow: 0 0 0 1px rgba(255, 255, 255, 0.025);
    --rl-admin-surface-shadow: 0 16px 32px rgba(0, 0, 0, 0.2), 0 4px 12px rgba(0, 0, 0, 0.15);
    --rl-admin-card-shadow: 0 8px 16px rgba(0, 0, 0, 0.18);
    --rl-admin-card-shadow-hover: 0 12px 24px rgba(0, 0, 0, 0.24);
    --rl-admin-control-shadow: 0 4px 8px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.12);
    --rl-admin-control-shadow-hover: 0 6px 12px rgba(0, 0, 0, 0.26), inset 0 1px 0 rgba(255, 255, 255, 0.16);
    --rl-admin-topbar-bg: linear-gradient(180deg, #4a8c5e 0%, #3d7a4e 55%, #2e683e 100%);
    --rl-admin-panel-bg: linear-gradient(180deg, #4a8c5e 0%, #407e50 44%, #347044 100%);
    --rl-admin-panel-bg-strong: linear-gradient(180deg, #4e9062 0%, #448456 48%, #387a4a 100%);
    --rl-admin-panel-muted: linear-gradient(180deg, #428c58 0%, #387d4e 52%, #2e6e44 100%);
    --rl-admin-header-bg: linear-gradient(180deg, #4a8c5e 0%, #3d7a4e 52%, #30683e 100%);
    --rl-admin-footer-bg: linear-gradient(180deg, #408050 0%, #347044 100%);
    --rl-admin-border: rgba(255, 255, 255, 0.13);
    --rl-admin-border-strong: rgba(255, 255, 255, 0.22);
    --rl-admin-text: #e8f5e8;
    --rl-admin-text-soft: #d0e8d4;
    --rl-admin-text-muted: #a8c4b0;
    --rl-admin-pill-bg: linear-gradient(180deg, rgba(74, 140, 94, 0.5) 0%, rgba(52, 112, 68, 0.44) 100%);
    --rl-admin-pill-border: rgba(125, 186, 142, 0.16);
    --rl-admin-pill-text: #e8f5e8;
    --rl-admin-control-bg: linear-gradient(180deg, rgba(42, 130, 72, 0.98) 0%, rgba(34, 95, 58, 0.99) 100%);
    --rl-admin-control-hover-bg: linear-gradient(180deg, rgba(52, 145, 78, 0.99) 0%, rgba(40, 112, 60, 1) 100%);
    --rl-admin-control-press-bg: linear-gradient(180deg, rgba(34, 95, 58, 1) 0%, rgba(24, 72, 42, 1) 100%);
    --rl-admin-title-shell-bg: var(--rl-admin-control-bg);
    --rl-admin-title-shell-border: var(--rl-admin-border-strong);
    --rl-admin-title-shell-shadow: var(--rl-admin-control-shadow);
    --rl-admin-top-control-bg: var(--rl-admin-control-bg);
    --rl-admin-top-control-hover-bg: var(--rl-admin-control-hover-bg);
    --rl-admin-top-control-text: #e8f5e8;
    --rl-admin-top-control-text-hover: #ffffff;
    --rl-admin-top-control-shadow: var(--rl-admin-control-shadow);
    --rl-admin-top-control-hover-shadow: var(--rl-admin-control-shadow-hover);
    --rl-admin-input-bg: linear-gradient(180deg, rgba(42, 130, 72, 0.96) 0%, rgba(38, 108, 62, 0.96) 100%);
    --rl-admin-input-border: rgba(125, 186, 142, 0.14);
    --rl-admin-input-focus: rgba(125, 186, 142, 0.2);
    --rl-admin-app-bg: linear-gradient(180deg, #2a5438 0%, #244a30 42%, #1e3d28 100%);
    background-color: #244a30 !important;
    background-image: var(--rl-admin-app-bg) !important;
    background-size: 100% 100% !important;
}

body.theme-dark[data-bootstrap-theme="vermelho"] {
    --bg-primary: rgba(90, 30, 36, 0.9);
    --bg-secondary: #6a282e;
    --bg-tertiary: #7a343c;
    --bg-secondary-solid: #6a282e;
    --bg-tertiary-solid: #7a343c;
    --text-primary: #fceced;
    --text-secondary: #efd4d8;
    --text-tertiary: #d0a8ae;
    --border-primary: rgba(255, 200, 205, 0.14);
    --accent-primary: #e09098;
    --accent-music: #e09098;
    --accent-announcement: #d87880;
    --accent-tts: #e8a4aa;
    --rl-admin-highlight: #e09098;
    --rl-admin-highlight-soft: rgba(224, 144, 152, 0.18);
    --rl-admin-highlight-strong: rgba(224, 144, 152, 0.32);
    --theme-accent: #e09098;
    --theme-accent-strong: #b84852;
    --theme-accent-rgb: 224, 144, 152;
    --theme-accent-shadow: rgba(var(--theme-accent-rgb), 0.12);
    --theme-accent-shadow-strong: rgba(var(--theme-accent-rgb), 0.2);
    --rl-admin-ambient-top: none;
    --rl-admin-ambient-left: none;
    --rl-admin-ambient-right: none;
    --rl-admin-panel-texture: none;
    --rl-admin-panel-sheen: linear-gradient(180deg, rgba(255, 232, 234, 0.1) 0%, transparent 50%);
    --rl-admin-header-shadow: inset 0 1px 0 rgba(255, 232, 234, 0.12);
    --rl-admin-header-gloss: linear-gradient(180deg, rgba(255, 232, 234, 0.11) 0%, transparent 70%);
    --rl-admin-panel-outline: inset 0 1px 0 rgba(255, 232, 234, 0.1);
    --rl-admin-panel-glow: 0 0 0 1px rgba(255, 232, 234, 0.03);
    --rl-admin-surface-shadow: 0 14px 28px rgba(28, 8, 10, 0.28), 0 4px 10px rgba(28, 8, 10, 0.16);
    --rl-admin-card-shadow: 0 8px 16px rgba(28, 8, 10, 0.2);
    --rl-admin-card-shadow-hover: 0 12px 22px rgba(28, 8, 10, 0.26);
    --rl-admin-control-shadow: 0 4px 10px rgba(28, 8, 10, 0.24), inset 0 1px 0 rgba(255, 232, 234, 0.14);
    --rl-admin-control-shadow-hover: 0 6px 14px rgba(28, 8, 10, 0.3), inset 0 1px 0 rgba(255, 232, 234, 0.18);
    --rl-admin-topbar-bg: linear-gradient(180deg, #8b3a42 0%, #7a3038 55%, #6a282e 100%);
    --rl-admin-panel-bg: linear-gradient(180deg, #8a383f 0%, #762e35 44%, #64262c 100%);
    --rl-admin-panel-bg-strong: linear-gradient(180deg, #9a444c 0%, #843840 48%, #703034 100%);
    --rl-admin-panel-muted: linear-gradient(180deg, #7a343c 0%, #6a282e 52%, #5a2228 100%);
    --rl-admin-header-bg: linear-gradient(180deg, #8b3a42 0%, #7a3038 52%, #6a282e 100%);
    --rl-admin-footer-bg: linear-gradient(180deg, #6a282e 0%, #521e24 100%);
    --rl-admin-border: rgba(255, 200, 205, 0.14);
    --rl-admin-border-strong: rgba(255, 200, 205, 0.22);
    --rl-admin-text: #fceced;
    --rl-admin-text-soft: #efd4d8;
    --rl-admin-text-muted: #d0a8ae;
    --rl-admin-pill-bg: linear-gradient(180deg, rgba(154, 68, 76, 0.5) 0%, rgba(100, 38, 44, 0.44) 100%);
    --rl-admin-pill-border: rgba(224, 144, 152, 0.2);
    --rl-admin-pill-text: #fceced;
    --rl-admin-control-bg: linear-gradient(180deg, rgba(130, 48, 56, 0.98) 0%, rgba(90, 30, 36, 0.99) 100%);
    --rl-admin-control-hover-bg: linear-gradient(180deg, rgba(150, 60, 68, 0.99) 0%, rgba(110, 40, 48, 1) 100%);
    --rl-admin-control-press-bg: linear-gradient(180deg, rgba(90, 30, 36, 1) 0%, rgba(60, 18, 24, 1) 100%);
    --rl-admin-title-shell-bg: var(--rl-admin-control-bg);
    --rl-admin-title-shell-border: var(--rl-admin-border-strong);
    --rl-admin-title-shell-shadow: var(--rl-admin-control-shadow);
    --rl-admin-top-control-bg: var(--rl-admin-control-bg);
    --rl-admin-top-control-hover-bg: var(--rl-admin-control-hover-bg);
    --rl-admin-top-control-text: #fceced;
    --rl-admin-top-control-text-hover: #ffffff;
    --rl-admin-top-control-shadow: var(--rl-admin-control-shadow);
    --rl-admin-top-control-hover-shadow: var(--rl-admin-control-shadow-hover);
    --rl-admin-input-bg: linear-gradient(180deg, rgba(120, 42, 50, 0.96) 0%, rgba(82, 28, 34, 0.96) 100%);
    --rl-admin-input-border: rgba(224, 144, 152, 0.18);
    --rl-admin-input-focus: rgba(224, 144, 152, 0.28);
    --rl-admin-app-bg: linear-gradient(180deg, #3a1a1e 0%, #301518 42%, #261014 100%);
    background-color: #301518 !important;
    background-image: var(--rl-admin-app-bg) !important;
    background-size: 100% 100% !important;
}

body.theme-dark[data-bootstrap-theme="ouro"] {
    --bg-primary: rgba(120, 88, 28, 0.88);
    --bg-secondary: #a8842e;
    --bg-tertiary: #c9a24a;
    --bg-secondary-solid: #a8842e;
    --bg-tertiary-solid: #c9a24a;
    --text-primary: #fff8e7;
    --text-secondary: #f5e6c8;
    --text-tertiary: #654a24;
    --border-primary: rgba(255, 236, 180, 0.22);
    --accent-primary: #f0d78a;
    --accent-music: #f0d78a;
    --accent-announcement: #e8c76a;
    --accent-tts: #ffe9a8;
    --rl-admin-highlight: #f0d78a;
    --rl-admin-highlight-soft: rgba(240, 215, 138, 0.2);
    --rl-admin-highlight-strong: rgba(240, 215, 138, 0.38);
    --theme-accent: #f0d78a;
    --theme-accent-strong: #c9a24a;
    --theme-accent-rgb: 240, 215, 138;
    --theme-accent-shadow: rgba(var(--theme-accent-rgb), 0.16);
    --theme-accent-shadow-strong: rgba(var(--theme-accent-rgb), 0.28);
    --rl-admin-ambient-top: radial-gradient(ellipse 80% 40% at 50% -10%, rgba(255, 228, 150, 0.18), transparent 60%);
    --rl-admin-ambient-left: none;
    --rl-admin-ambient-right: none;
    --rl-admin-panel-texture: none;
    --rl-admin-panel-sheen: linear-gradient(180deg, rgba(255, 248, 220, 0.32) 0%, rgba(255, 220, 140, 0.1) 38%, transparent 68%);
    --rl-admin-header-shadow: inset 0 1px 0 rgba(255, 248, 220, 0.42), inset 0 -1px 0 rgba(90, 60, 10, 0.18);
    --rl-admin-header-gloss: linear-gradient(180deg, rgba(255, 248, 220, 0.28) 0%, rgba(255, 220, 140, 0.08) 45%, transparent 78%);
    --rl-admin-panel-outline: inset 0 1px 0 rgba(255, 248, 220, 0.34), inset 0 -1px 0 rgba(70, 48, 8, 0.16);
    --rl-admin-panel-glow: 0 0 0 1px rgba(255, 236, 180, 0.12), 0 0 28px rgba(201, 162, 74, 0.18);
    --rl-admin-surface-shadow: 0 16px 34px rgba(8, 6, 2, 0.42), 0 4px 12px rgba(8, 6, 2, 0.28), inset 0 1px 0 rgba(255, 248, 220, 0.22);
    --rl-admin-card-shadow: 0 10px 20px rgba(8, 6, 2, 0.32), inset 0 1px 0 rgba(255, 248, 220, 0.2);
    --rl-admin-card-shadow-hover: 0 14px 28px rgba(8, 6, 2, 0.4), 0 0 18px rgba(240, 215, 138, 0.16), inset 0 1px 0 rgba(255, 248, 220, 0.28);
    --rl-admin-control-shadow: 0 5px 12px rgba(8, 6, 2, 0.36), inset 0 1px 0 rgba(255, 248, 220, 0.45), inset 0 -1px 0 rgba(90, 60, 10, 0.22);
    --rl-admin-control-shadow-hover: 0 8px 16px rgba(8, 6, 2, 0.42), 0 0 14px rgba(240, 215, 138, 0.2), inset 0 1px 0 rgba(255, 252, 230, 0.55);
    --rl-admin-topbar-bg: linear-gradient(145deg, #f3e2a0 0%, #e0c05a 22%, #c9a24a 52%, #a8842e 78%, #8a6a22 100%);
    --rl-admin-panel-bg: linear-gradient(168deg, #e8d078 0%, #d4b456 28%, #b8923a 58%, #967428 100%);
    --rl-admin-panel-bg-strong: linear-gradient(145deg, #f5e6a0 0%, #e8c96a 24%, #d4b056 54%, #b8923a 100%);
    --rl-admin-panel-muted: linear-gradient(168deg, #d4b456 0%, #b8923a 48%, #967428 100%);
    --rl-admin-header-bg: linear-gradient(145deg, #f0d78a 0%, #e0c05a 28%, #c9a24a 58%, #a8842e 100%);
    --rl-admin-footer-bg: linear-gradient(180deg, #b8923a 0%, #8a6a22 100%);
    --rl-admin-border: rgba(255, 236, 180, 0.24);
    --rl-admin-border-strong: rgba(255, 246, 210, 0.4);
    --rl-admin-text: #fff8e7;
    --rl-admin-text-soft: #f5e6c8;
    --rl-admin-text-muted: #654a24;
    --rl-admin-pill-bg: linear-gradient(180deg, rgba(245, 230, 160, 0.42) 0%, rgba(168, 132, 46, 0.38) 100%);
    --rl-admin-pill-border: rgba(255, 236, 180, 0.32);
    --rl-admin-pill-text: #fff8e7;
    --rl-admin-control-bg: linear-gradient(180deg, rgba(240, 215, 138, 0.98) 0%, rgba(168, 132, 46, 0.99) 55%, rgba(120, 88, 28, 1) 100%);
    --rl-admin-control-hover-bg: linear-gradient(180deg, rgba(255, 236, 180, 1) 0%, rgba(201, 162, 74, 1) 52%, rgba(150, 116, 40, 1) 100%);
    --rl-admin-control-press-bg: linear-gradient(180deg, rgba(168, 132, 46, 1) 0%, rgba(100, 72, 20, 1) 100%);
    --rl-admin-title-shell-bg: var(--rl-admin-control-bg);
    --rl-admin-title-shell-border: var(--rl-admin-border-strong);
    --rl-admin-title-shell-shadow: var(--rl-admin-control-shadow);
    --rl-admin-top-control-bg: var(--rl-admin-control-bg);
    --rl-admin-top-control-hover-bg: var(--rl-admin-control-hover-bg);
    --rl-admin-top-control-text: #fff8e7;
    --rl-admin-top-control-text-hover: #ffffff;
    --rl-admin-top-control-shadow: var(--rl-admin-control-shadow);
    --rl-admin-top-control-hover-shadow: var(--rl-admin-control-shadow-hover);
    --rl-admin-input-bg: linear-gradient(180deg, rgba(212, 180, 86, 0.96) 0%, rgba(150, 116, 40, 0.98) 100%);
    --rl-admin-input-border: rgba(255, 236, 180, 0.28);
    --rl-admin-input-focus: rgba(240, 215, 138, 0.36);
    --rl-admin-app-bg: linear-gradient(180deg, #7a5c2c 0%, #654a24 42%, #523c1c 100%);
    background-color: #654a24 !important;
    background-image: var(--rl-admin-app-bg) !important;
    background-size: 100% 100% !important;
}

body.theme-dark[data-bootstrap-theme="cristal-azul"] {
    --bg-primary: rgba(63, 132, 154, 0.88);
    --bg-secondary: #3f849a;
    --bg-tertiary: #66a7ba;
    --bg-secondary-solid: #3f849a;
    --bg-tertiary-solid: #66a7ba;
    --text-primary: #f6fbff;
    --text-secondary: #e6f6fb;
    --text-tertiary: #c2e1ea;
    --accent-primary: #b9e8f3;
    --accent-music: #c7eef6;
    --accent-announcement: #bdeee4;
    --accent-tts: #f4e5c6;
    --rl-admin-highlight: #c7eef6;
    --rl-admin-highlight-soft: rgba(199, 238, 246, 0.16);
    --rl-admin-highlight-strong: rgba(199, 238, 246, 0.3);
    --theme-accent: #c7eef6;
    --theme-accent-strong: #6fbacf;
    --theme-accent-rgb: 199, 238, 246;
    --theme-accent-shadow: rgba(var(--theme-accent-rgb), 0.18);
    --theme-accent-shadow-strong: rgba(var(--theme-accent-rgb), 0.3);
    --rl-admin-text: #ffffff;
    --rl-admin-text-soft: #edfaff;
    --rl-admin-text-muted: #d6eef6;
    --rl-admin-ambient-top: none;
    --rl-admin-ambient-left: none;
    --rl-admin-ambient-right: none;
    --rl-admin-input-focus: rgba(185, 232, 243, 0.18);
    --rl-admin-topbar-bg: linear-gradient(180deg, rgba(88, 152, 172, 0.98) 0%, rgba(56, 121, 143, 0.99) 100%);
    --rl-admin-panel-bg: linear-gradient(168deg, rgba(101, 164, 183, 0.9) 0%, rgba(69, 139, 160, 0.96) 48%, rgba(48, 111, 135, 0.98) 100%);
    --rl-admin-panel-bg-strong: linear-gradient(168deg, rgba(114, 176, 193, 0.96) 0%, rgba(80, 149, 169, 0.98) 54%, rgba(54, 122, 147, 1) 100%);
    --rl-admin-panel-muted: linear-gradient(168deg, rgba(121, 181, 197, 0.9) 0%, rgba(84, 151, 169, 0.96) 50%, rgba(62, 126, 149, 0.98) 100%);
    --rl-admin-header-bg: linear-gradient(180deg, rgba(125, 187, 203, 0.96) 0%, rgba(83, 154, 174, 0.98) 58%, rgba(58, 126, 150, 1) 100%);
    --rl-admin-footer-bg: linear-gradient(180deg, rgba(98, 164, 184, 0.86) 0%, rgba(55, 119, 143, 0.98) 100%);
    --rl-admin-border: rgba(229, 248, 252, 0.16);
    --rl-admin-border-strong: rgba(229, 248, 252, 0.26);
    --rl-admin-pill-bg: rgba(20, 92, 115, 0.38);
    --rl-admin-pill-border: rgba(229, 248, 252, 0.36);
    --rl-admin-pill-text: #ffffff;
    --rl-admin-control-bg: linear-gradient(180deg, rgba(112, 176, 194, 0.96) 0%, rgba(72, 139, 161, 0.99) 100%);
    --rl-admin-control-hover-bg: linear-gradient(180deg, rgba(127, 191, 206, 0.98) 0%, rgba(82, 151, 172, 1) 100%);
    --rl-admin-control-press-bg: linear-gradient(180deg, rgba(82, 151, 172, 1) 0%, rgba(58, 122, 147, 1) 100%);
    --rl-admin-top-control-bg: var(--rl-admin-control-bg);
    --rl-admin-top-control-hover-bg: var(--rl-admin-control-hover-bg);
    --rl-admin-top-control-text: #f2fcff;
    --rl-admin-top-control-text-hover: #ffffff;
    --rl-admin-input-bg: linear-gradient(180deg, rgba(131, 194, 209, 0.92) 0%, rgba(76, 146, 168, 0.96) 100%);
    --rl-admin-input-border: rgba(230, 250, 255, 0.28);
    --rl-admin-input-focus: rgba(199, 238, 246, 0.2);
    --rl-admin-app-bg: linear-gradient(180deg, #7ab9c9 0%, #64a8bd 42%, #4b8ca6 100%);
    background-color: #64a8bd !important;
}

body:not(.theme-dark) {
    --bg-primary: rgba(246, 249, 252, 0.84);
    --bg-secondary: rgba(236, 242, 247, 0.96);
    --bg-tertiary: rgba(225, 233, 242, 0.98);
    --bg-secondary-solid: #e9eef5;
    --bg-tertiary-solid: #dce5ef;
    --text-primary: #17212f;
    --text-secondary: #455467;
    --text-tertiary: #728296;
    --border-primary: rgba(15, 23, 42, 0.1);
    --shadow-sm: 0 10px 22px rgba(15, 23, 42, 0.07);
    --shadow-md: 0 16px 34px rgba(15, 23, 42, 0.1);
    --shadow-lg: 0 28px 54px rgba(15, 23, 42, 0.14);
    --rl-admin-topbar-bg: linear-gradient(180deg, rgba(244, 247, 251, 0.98) 0%, rgba(231, 237, 244, 0.99) 100%);
    --rl-admin-panel-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.84) 0%, rgba(255, 255, 255, 0.5) 42%, rgba(15, 23, 42, 0.04) 100%), rgba(230, 236, 244, 0.94);
    --rl-admin-panel-bg-strong: linear-gradient(180deg, rgba(255, 255, 255, 0.9) 0%, rgba(15, 23, 42, 0.03) 100%), rgba(219, 228, 238, 0.98);
    --rl-admin-panel-muted: linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(15, 23, 42, 0.02) 100%), #dfe7f0;
    --rl-admin-header-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, rgba(229, 236, 244, 0.98) 100%);
    --rl-admin-footer-bg: linear-gradient(180deg, rgba(243, 247, 251, 0.94) 0%, rgba(229, 235, 243, 0.98) 100%);
    --rl-admin-border: rgba(15, 23, 42, 0.08);
    --rl-admin-border-strong: rgba(15, 23, 42, 0.14);
    --rl-admin-text: #17212f;
    --rl-admin-text-soft: #3d4b5d;
    --rl-admin-text-muted: #52657c;
    --rl-admin-pill-bg: rgba(211, 220, 232, 0.7);
    --rl-admin-pill-border: rgba(104, 121, 145, 0.16);
    --rl-admin-pill-text: #1d2a3c;
    --rl-admin-control-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(230, 237, 245, 1) 100%);
    --rl-admin-control-hover-bg: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(223, 231, 241, 1) 100%);
    --rl-admin-control-press-bg: linear-gradient(180deg, rgba(238, 243, 248, 1) 0%, rgba(218, 226, 236, 1) 100%);
    --rl-admin-title-shell-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.94) 0%, rgba(232, 238, 245, 0.84) 100%);
    --rl-admin-title-shell-border: rgba(148, 163, 184, 0.24);
    --rl-admin-title-shell-shadow: 0 10px 24px rgba(15, 23, 42, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.96);
    --rl-admin-top-control-bg: var(--rl-admin-control-bg);
    --rl-admin-top-control-hover-bg: var(--rl-admin-control-hover-bg);
    --rl-admin-top-control-text: #203041;
    --rl-admin-top-control-text-hover: #162536;
    --rl-admin-top-control-shadow: 0 8px 18px rgba(15, 23, 42, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.98);
    --rl-admin-top-control-hover-shadow: 0 12px 22px rgba(15, 23, 42, 0.12), inset 0 1px 0 rgba(255, 255, 255, 1);
    --rl-admin-input-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(236, 241, 247, 0.99) 100%);
    --rl-admin-input-border: rgba(15, 23, 42, 0.1);
    --rl-admin-input-focus: var(--theme-accent-bg-soft);
    --rl-admin-app-bg: linear-gradient(180deg, #f4f7fa 0%, #e8edf2 48%, #d8e0e8 100%);
    background-image: var(--rl-admin-app-bg) !important;
    background-size: 100% 100% !important;
}

body:not(.theme-dark)[data-bootstrap-theme="light-fixed"] {
    --bg-primary: rgba(252, 252, 250, 0.92);
    --bg-secondary: rgba(246, 246, 243, 0.96);
    --bg-tertiary: rgba(234, 234, 229, 0.98);
    --bg-secondary-solid: #f6f6f3;
    --bg-tertiary-solid: #eaeae5;
    --text-primary: #252725;
    --text-secondary: #5c5f5a;
    --text-tertiary: #898d86;
    --accent-primary: #b9bdb4;
    --accent-music: #aeb4aa;
    --accent-announcement: #bfc4b8;
    --accent-tts: #d3d0c5;
    --rl-admin-highlight: #d8d9d2;
    --rl-admin-highlight-soft: rgba(216, 217, 210, 0.28);
    --rl-admin-highlight-strong: rgba(185, 189, 180, 0.36);
    --theme-accent: #aeb4aa;
    --theme-accent-strong: #7f867a;
    --theme-accent-rgb: 174, 180, 170;
    --theme-accent-shadow: rgba(var(--theme-accent-rgb), 0.14);
    --theme-accent-shadow-strong: rgba(var(--theme-accent-rgb), 0.22);
    --rl-admin-text: #252725;
    --rl-admin-text-soft: #4b504a;
    --rl-admin-text-muted: #60665e;
    --rl-admin-ambient-top: none;
    --rl-admin-ambient-left: none;
    --rl-admin-ambient-right: none;
    --rl-admin-topbar-bg: linear-gradient(180deg, rgba(255, 255, 253, 0.98) 0%, rgba(237, 237, 232, 0.99) 100%);
    --rl-admin-panel-bg: linear-gradient(168deg, rgba(255, 255, 253, 0.95) 0%, rgba(246, 246, 242, 0.9) 48%, rgba(231, 231, 225, 0.94) 100%);
    --rl-admin-panel-bg-strong: linear-gradient(168deg, rgba(255, 255, 253, 0.98) 0%, rgba(242, 242, 237, 0.94) 50%, rgba(224, 224, 218, 0.96) 100%);
    --rl-admin-panel-muted: linear-gradient(168deg, rgba(255, 255, 253, 0.97) 0%, rgba(244, 244, 240, 0.93) 54%, rgba(229, 229, 223, 0.95) 100%);
    --rl-admin-header-bg: linear-gradient(180deg, rgba(255, 255, 253, 0.98) 0%, rgba(239, 239, 235, 0.99) 54%, rgba(220, 220, 214, 1) 100%);
    --rl-admin-footer-bg: linear-gradient(180deg, rgba(248, 248, 245, 0.94) 0%, rgba(224, 224, 218, 0.98) 100%);
    --rl-admin-border: rgba(108, 112, 104, 0.12);
    --rl-admin-border-strong: rgba(108, 112, 104, 0.2);
    --rl-admin-pill-bg: rgba(232, 232, 226, 0.78);
    --rl-admin-pill-border: rgba(130, 134, 124, 0.18);
    --rl-admin-pill-text: #343831;
    --rl-admin-control-bg: linear-gradient(180deg, rgba(255, 255, 253, 0.98) 0%, rgba(231, 231, 225, 1) 100%);
    --rl-admin-control-hover-bg: linear-gradient(180deg, rgba(255, 255, 253, 1) 0%, rgba(221, 221, 215, 1) 100%);
    --rl-admin-control-press-bg: linear-gradient(180deg, rgba(239, 239, 235, 1) 0%, rgba(213, 213, 207, 1) 100%);
    --rl-admin-title-shell-bg: linear-gradient(180deg, rgba(255, 255, 253, 0.95) 0%, rgba(237, 237, 232, 0.9) 100%);
    --rl-admin-title-shell-border: rgba(130, 134, 124, 0.2);
    --rl-admin-input-bg: linear-gradient(180deg, rgba(255, 255, 253, 0.98) 0%, rgba(238, 238, 232, 0.98) 100%);
    --rl-admin-input-border: rgba(130, 134, 124, 0.16);
    --rl-admin-input-focus: rgba(185, 189, 180, 0.22);
    --rl-admin-app-bg: linear-gradient(180deg, #fbfbf8 0%, #f0f0eb 48%, #e4e4dd 100%);
    background-color: #f0f0eb !important;
    background-image: var(--rl-admin-app-bg) !important;
}

body:not(.theme-dark)[data-bootstrap-theme="arcoiris"] {
    --bg-primary: rgba(255, 255, 255, 0.94);
    --bg-secondary: #fff8fb;
    --bg-tertiary: #f2fbff;
    --bg-secondary-solid: #fff8fb;
    --bg-tertiary-solid: #f2fbff;
    --text-primary: #273046;
    --text-secondary: #56617b;
    --text-tertiary: #8892ad;
    --accent-primary: var(--theme-accent);
    --accent-music: var(--theme-accent);
    --accent-announcement: #34d399;
    --accent-tts: #fb7185;
    --rl-admin-highlight: #8b5cf6;
    --rl-admin-highlight-soft: rgba(139, 92, 246, 0.14);
    --rl-admin-highlight-strong: rgba(244, 114, 182, 0.3);
    --theme-accent: #8b5cf6;
    --theme-accent-strong: #ec4899;
    --theme-accent-rgb: 139, 92, 246;
    --theme-accent-shadow: rgba(var(--theme-accent-rgb), 0.18);
    --theme-accent-shadow-strong: rgba(var(--theme-accent-rgb), 0.28);
    --rl-admin-text: #273046;
    --rl-admin-text-soft: #46516d;
    --rl-admin-text-muted: #5d6988;
    --rl-admin-ambient-top: radial-gradient(circle at top, rgba(255, 222, 89, 0.22), transparent 34%);
    --rl-admin-ambient-left: radial-gradient(circle at 0% 12%, rgba(var(--theme-accent-rgb), 0.2), transparent 26%);
    --rl-admin-ambient-right: radial-gradient(circle at 100% 0%, rgba(244, 114, 182, 0.2), transparent 30%);
    --rl-admin-topbar-bg: linear-gradient(90deg, rgba(255, 246, 214, 0.96) 0%, rgba(232, 250, 255, 0.98) 34%, rgba(244, 239, 255, 0.98) 68%, rgba(255, 238, 247, 0.96) 100%);
    --rl-admin-panel-bg: linear-gradient(135deg, rgba(255, 248, 220, 0.9) 0%, rgba(232, 250, 255, 0.82) 32%, rgba(244, 240, 255, 0.86) 64%, rgba(255, 238, 247, 0.9) 100%);
    --rl-admin-panel-bg-strong: linear-gradient(135deg, rgba(255, 252, 235, 0.96) 0%, rgba(220, 248, 255, 0.9) 33%, rgba(240, 236, 255, 0.94) 66%, rgba(255, 232, 244, 0.96) 100%);
    --rl-admin-panel-muted: linear-gradient(135deg, rgba(255, 251, 230, 0.96) 0%, rgba(234, 251, 255, 0.92) 34%, rgba(246, 241, 255, 0.94) 68%, rgba(255, 241, 248, 0.96) 100%);
    --rl-admin-header-bg: linear-gradient(90deg, rgba(255, 223, 128, 0.9) 0%, rgba(125, 211, 252, 0.62) 28%, rgba(167, 139, 250, 0.58) 58%, rgba(251, 113, 133, 0.62) 100%);
    --rl-admin-footer-bg: linear-gradient(90deg, rgba(255, 247, 214, 0.92) 0%, rgba(223, 249, 255, 0.94) 36%, rgba(244, 239, 255, 0.94) 70%, rgba(255, 238, 247, 0.92) 100%);
    --rl-admin-border: rgba(110, 132, 180, 0.12);
    --rl-admin-border-strong: rgba(139, 92, 246, 0.18);
    --rl-admin-pill-bg: rgba(255, 255, 255, 0.64);
    --rl-admin-pill-border: rgba(139, 92, 246, 0.14);
    --rl-admin-pill-text: #34405d;
    --rl-admin-control-bg: linear-gradient(135deg, rgba(255, 255, 255, 0.96) 0%, rgba(232, 250, 255, 0.9) 46%, rgba(247, 238, 255, 0.94) 100%);
    --rl-admin-control-hover-bg: linear-gradient(135deg, rgba(255, 255, 255, 1) 0%, rgba(218, 246, 255, 0.96) 46%, rgba(242, 230, 255, 0.98) 100%);
    --rl-admin-control-press-bg: linear-gradient(135deg, rgba(245, 251, 255, 1) 0%, rgba(226, 245, 251, 0.96) 46%, rgba(235, 226, 250, 0.98) 100%);
    --rl-admin-title-shell-bg: linear-gradient(90deg, rgba(255, 249, 230, 0.92) 0%, rgba(232, 250, 255, 0.94) 48%, rgba(255, 239, 247, 0.92) 100%);
    --rl-admin-title-shell-border: rgba(139, 92, 246, 0.14);
    --rl-admin-top-control-bg: var(--rl-admin-control-bg);
    --rl-admin-top-control-hover-bg: var(--rl-admin-control-hover-bg);
    --rl-admin-top-control-text: #34405d;
    --rl-admin-top-control-text-hover: #202a43;
    --rl-admin-input-bg: linear-gradient(135deg, rgba(255, 255, 255, 0.98) 0%, rgba(232, 250, 255, 0.9) 48%, rgba(255, 239, 247, 0.94) 100%);
    --rl-admin-input-border: rgba(139, 92, 246, 0.16);
    --rl-admin-input-focus: var(--theme-accent-bg-soft);
    background-color: #fff8fb !important;
    background-image:
        linear-gradient(135deg, rgba(255, 246, 214, 0.84) 0%, rgba(232, 250, 255, 0.76) 32%, rgba(244, 239, 255, 0.8) 66%, rgba(255, 238, 247, 0.84) 100%) !important;
}

body,
.player-container,
.modal-content-base,
.modal-header,
.modal-footer,
.track-catalog-header,
.track-catalog-toolbar,
.track-catalog-footer,
.track-card,
.playlist-item,
.call-button,
.control-button,
.modal-button {
    font-family: var(--rl-admin-font-ui);
}

.panel-title-text,
.track-catalog-title-row h3,
.modal-header h3,
#trackTitle {
    font-family: var(--rl-admin-font-display);
}

.platform-win .title-bar-actions {
    left: 18px !important;
    right: auto !important;
}

.platform-mac .title-bar-actions {
    right: 18px !important;
}

.title-bar-controls {
    top: 50% !important;
    right: 10px !important;
    height: auto !important;
    transform: translateY(-50%);
    gap: 6px;
}

.platform-win .title-bar-controls {
    display: flex;
    align-items: center;
}

.title-bar-menu-shell {
    overflow: visible !important;
}

.title-bar-utility-panel,
.title-bar-utility-btn,
.title-bar-controls .title-bar-btn,
.update-available-btn,
.title-bar-utility-panel .status-seal {
    border-radius: 8px !important;
    border: 1px solid var(--rl-admin-border-strong) !important;
    background: var(--rl-admin-top-control-bg) !important;
    box-shadow: var(--rl-admin-top-control-shadow) !important;
    color: var(--rl-admin-top-control-text) !important;
}

.title-bar-utility-panel {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    width: min(calc(100vw - 24px), 520px) !important;
    max-width: min(calc(100vw - 24px), 520px) !important;
    padding: 6px !important;
    right: 0 !important;
    left: auto !important;
    transform-origin: top right !important;
}

.title-bar-utility-btn,
.title-bar-controls .title-bar-btn {
    height: clamp(28px, calc(var(--ui-titlebar-height, 54px) - 8px), 38px) !important;
}

.title-bar-utility-btn {
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 12px !important;
    justify-content: flex-start !important;
}

.title-bar-menu-btn {
    min-width: 106px !important;
    justify-content: center !important;
    padding: 0 14px !important;
    border-color: rgba(var(--theme-accent-rgb), 0.14) !important;
}

/* Menu: ícone = cor do rótulo (sem metal/gradiente). */
.title-bar-menu-btn .title-bar-utility-btn__icon,
.title-bar-menu-btn .title-bar-utility-btn__icon > i {
    color: var(--rl-admin-top-control-text, var(--text-primary)) !important;
    -webkit-text-fill-color: currentColor !important;
    background: none !important;
    -webkit-background-clip: border-box !important;
    background-clip: border-box !important;
    filter: none !important;
    opacity: 1 !important;
}

.title-bar-menu-btn:hover .title-bar-utility-btn__icon,
.title-bar-menu-btn:hover .title-bar-utility-btn__icon > i {
    color: var(--rl-admin-top-control-text-hover, var(--text-primary)) !important;
    -webkit-text-fill-color: currentColor !important;
}

.title-bar-utility-btn__label,
.title-bar-controls .title-bar-btn,
.title-bar-utility-panel .status-seal,
.title-bar-utility-panel .status-seal .status-seal__text {
    color: var(--rl-admin-top-control-text) !important;
}

/* Ícones dos atalhos: cores sólidas saturadas (sem gradiente/glow). */
.title-bar-utility-panel .title-bar-utility-btn__icon > i,
.title-bar-utility-panel .status-seal__icon-wrap > i,
.mobile-menu-actions .title-bar-utility-btn__icon > i,
.mobile-menu-actions .status-seal__icon-wrap > i {
    background: none !important;
    -webkit-background-clip: border-box !important;
    background-clip: border-box !important;
    -webkit-text-fill-color: currentColor !important;
    color: var(--rl-utility-icon-metal, currentColor) !important;
    filter: none !important;
    opacity: 1 !important;
}

.title-bar-utility-panel .title-bar-utility-btn:hover .title-bar-utility-btn__icon > i,
.mobile-menu-actions .title-bar-utility-btn:hover .title-bar-utility-btn__icon > i,
.title-bar-utility-panel .status-seal:hover .status-seal__icon-wrap > i,
.mobile-menu-actions .status-seal:hover .status-seal__icon-wrap > i {
    color: var(--rl-utility-icon-metal, currentColor) !important;
    -webkit-text-fill-color: currentColor !important;
    opacity: 1 !important;
}

.title-bar-controls .title-bar-btn {
    height: clamp(28px, calc(var(--ui-titlebar-height, 54px) - 8px), 38px) !important;
    border-radius: 8px !important;
    width: clamp(40px, calc(var(--ui-titlebar-height, 54px) * 1.15), 46px) !important;
    min-width: clamp(40px, calc(var(--ui-titlebar-height, 54px) * 1.15), 46px) !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    padding: 0 !important;
}

.title-bar-utility-btn:hover,
.title-bar-controls .title-bar-btn:hover,
.update-available-btn:hover,
.title-bar-utility-panel .status-seal:hover {
    background: var(--rl-admin-top-control-hover-bg) !important;
    box-shadow: var(--rl-admin-top-control-hover-shadow) !important;
    color: var(--rl-admin-top-control-text-hover) !important;
    transform: translateY(-1px);
}

.title-bar-utility-btn:hover .title-bar-utility-btn__label,
.title-bar-utility-panel .status-seal:hover .status-seal__text {
    color: var(--rl-admin-top-control-text-hover) !important;
}

.title-bar-controls .title-bar-btn.close-btn:hover {
    background: linear-gradient(180deg, rgba(239, 68, 68, 0.92) 0%, rgba(220, 38, 38, 0.98) 100%) !important;
    border-color: rgba(248, 113, 113, 0.48) !important;
    color: #ffffff !important;
}

.update-available-btn {
    width: auto !important;
    max-width: clamp(148px, 18vw, 196px);
    height: clamp(28px, calc(var(--ui-titlebar-height, 54px) - 8px), 38px);
    min-height: clamp(28px, calc(var(--ui-titlebar-height, 54px) - 8px), 38px);
    padding: 0 clamp(10px, calc(var(--ui-titlebar-height, 54px) * 0.24), 14px) !important;
    gap: 8px;
}

.title-bar-update-slot .update-available-btn {
    width: min(100%, clamp(248px, 34vw, 420px)) !important;
    max-width: min(100%, clamp(248px, 34vw, 420px)) !important;
    min-width: min(100%, 248px) !important;
    height: clamp(34px, calc(var(--ui-titlebar-height, 54px) - 6px), 42px) !important;
    min-height: clamp(34px, calc(var(--ui-titlebar-height, 54px) - 6px), 42px) !important;
    padding: 0 16px 0 13px !important;
    gap: 10px !important;
}

.title-bar-update-slot .update-available-btn__meta {
    margin-left: auto;
}

.title-bar-utility-panel .status-seal {
    width: 100% !important;
    gap: 8px;
    padding: 0 12px !important;
    min-height: clamp(28px, calc(var(--ui-titlebar-height, 54px) - 8px), 38px);
    background: var(--rl-admin-pill-bg) !important;
    border-color: var(--rl-admin-pill-border) !important;
    box-shadow: none !important;
}

.title-bar-utility-panel .status-seal.status-online {
    --rl-connection-status-color: #00b894;
    --rl-utility-icon-metal: #00b894;
    color: var(--rl-admin-top-control-text) !important;
}

.title-bar-utility-panel .status-seal.status-offline {
    --rl-connection-status-color: #dc2626;
    --rl-utility-icon-metal: #dc2626;
    color: var(--rl-admin-top-control-text) !important;
}

.title-bar-utility-panel .status-seal.status-online .status-seal__icon-wrap,
.title-bar-utility-panel .status-seal.status-offline .status-seal__icon-wrap {
    text-shadow: 0 0 12px color-mix(in srgb, var(--rl-connection-status-color) 50%, transparent);
}

.title-bar-plan-badge {
    min-height: clamp(18px, calc(var(--ui-titlebar-height, 54px) - 18px), 26px) !important;
    padding-inline: clamp(7px, calc(var(--ui-titlebar-height, 54px) * 0.18), 11px) !important;
    font-size: clamp(0.55rem, calc(var(--ui-titlebar-height, 54px) * 0.24), 0.72rem) !important;
}

.title-bar-plan-badge,
.panel-header-meta,
.client-status-badge,
.music-catalog-header-context,
.track-catalog-plan-badge,
.catalog-cover-prefetch-status,
.music-catalog-bulk-badge {
    background: var(--rl-admin-pill-bg) !important;
    border: 1px solid var(--rl-admin-pill-border) !important;
    color: var(--rl-admin-pill-text) !important;
    box-shadow: none !important;
}

.panel-header-meta.panel-counter-group {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
    color: inherit !important;
}

.player-container {
    width: var(--ui-main-content-width) !important;
    max-width: var(--ui-main-content-width) !important;
    margin: 0 auto;
}

@media (max-height: 600px),
(max-width: 959px) {
    .title-bar {
        box-sizing: border-box;
        padding-top: 2px !important;
        padding-bottom: 2px !important;
    }

    .title-bar-actions {
        gap: 6px !important;
    }

    .title-bar-utility-panel {
        grid-template-columns: repeat(4, minmax(38px, 1fr)) !important;
        gap: 4px !important;
        padding: 5px !important;
        width: min(calc(100vw - 16px), 340px) !important;
        max-width: min(calc(100vw - 16px), 340px) !important;
        right: 0 !important;
        left: auto !important;
    }

    .title-bar-menu-btn {
        width: clamp(38px, calc(var(--ui-titlebar-height, 36px) + 10px), 46px) !important;
        min-width: clamp(38px, calc(var(--ui-titlebar-height, 36px) + 10px), 46px) !important;
        max-width: clamp(38px, calc(var(--ui-titlebar-height, 36px) + 10px), 46px) !important;
        height: clamp(28px, calc(var(--ui-titlebar-height, 36px) - 2px), 34px) !important;
        min-height: clamp(28px, calc(var(--ui-titlebar-height, 36px) - 2px), 34px) !important;
        padding: 0 !important;
        justify-content: center !important;
        gap: 0 !important;
    }

    .title-bar-menu-btn .title-bar-utility-btn__label {
        display: none !important;
    }

    .title-bar-utility-btn {
        width: 100% !important;
        min-width: 0 !important;
        padding: 0 !important;
        height: 32px !important;
        justify-content: center !important;
        gap: 0 !important;
    }

    .title-bar-utility-panel .status-seal {
        min-height: 32px !important;
        padding: 0 !important;
        justify-content: center !important;
        gap: 0 !important;
    }

    .title-bar-utility-panel .title-bar-utility-btn__label,
    .title-bar-utility-panel .status-seal__text {
        display: none !important;
    }

    .title-bar-utility-btn i {
        font-size: 0.84rem !important;
    }

    .title-bar-actions .update-available-btn {
        width: 30px !important;
        min-width: 30px !important;
        max-width: 30px !important;
        height: 26px !important;
        min-height: 26px !important;
        padding: 0 !important;
        margin-right: 2px !important;
        justify-content: center !important;
        gap: 0 !important;
    }

    .title-bar-actions .update-available-btn__label,
    .title-bar-actions .update-available-btn__meta {
        display: none !important;
    }

    .title-bar-actions .update-available-btn__icon {
        width: 15px;
        height: 15px;
    }

    .title-bar-actions .update-available-btn__icon i {
        font-size: 0.58rem;
    }

    body.platform-win.has-update-available .title-bar {
        --ui-titlebar-leading-reserve: 248px;
        --ui-titlebar-trailing-reserve: 182px;
    }

    body.platform-mac.has-update-available .title-bar {
        --ui-titlebar-leading-reserve: 106px;
        --ui-titlebar-trailing-reserve: 258px;
    }

    .title-bar-controls {
        right: 8px !important;
        gap: 4px;
    }

    .title-bar-controls .title-bar-btn {
        width: clamp(34px, calc(var(--ui-titlebar-height, 36px) + 4px), 40px) !important;
        height: clamp(24px, calc(var(--ui-titlebar-height, 36px) - 4px), 30px) !important;
        min-width: clamp(34px, calc(var(--ui-titlebar-height, 36px) + 4px), 40px) !important;
        min-height: clamp(24px, calc(var(--ui-titlebar-height, 36px) - 4px), 30px) !important;
    }

    .platform-mac .title-bar {
        padding-left: 74px;
    }
}

@media (max-width: 520px),
(max-height: 520px) {
    .title-bar-utility-panel {
        grid-template-columns: repeat(4, 34px) !important;
        width: auto !important;
        max-width: calc(100vw - 12px) !important;
        gap: 3px !important;
        padding: 4px !important;
        border-radius: 8px !important;
    }

    .title-bar-utility-btn,
    .title-bar-utility-panel .status-seal {
        width: 34px !important;
        height: 30px !important;
        min-height: 30px !important;
        border-radius: 8px !important;
    }
}

.content-rhs-column,
.playlists-row {
    gap: 18px !important;
}

.player-column-lhs::before,
.player-column-lhs::after,
.playlist-panel::before,
.playlist-panel::after,
.chamadas-panel::before,
.chamadas-panel::after,
.client-info-panel::before,
.client-info-panel::after,
.theme-selector-panel::before,
.theme-selector-panel::after {
    content: none !important;
    display: none !important;
}

.player-column-lhs,
.playlist-panel,
.chamadas-panel,
.client-info-panel,
.theme-selector-panel,
.modal-content-base,
.track-catalog-selected-card,
.track-catalog-aside-header,
.music-catalog-history,
.track-catalog-favorites,
.music-catalog-bulk-card {
    background: var(--rl-admin-panel-bg) !important;
    border: 1px solid var(--rl-admin-border) !important;
    border-radius: 20px !important;
    box-shadow: var(--rl-admin-panel-outline), var(--rl-admin-panel-glow), var(--rl-admin-surface-shadow) !important;
    -webkit-backdrop-filter: blur(12px) saturate(118%);
    backdrop-filter: blur(12px) saturate(118%);
}

.panel-header:not(#music-panel-header):not(#chamadas-panel-header):not(#announcements-panel-header),
.client-info-header,
.theme-selector-header,
.modal-header,
#trackCatalogModal .track-catalog-header {
    background: var(--rl-admin-header-bg) !important;
    border-bottom: 1px solid var(--rl-admin-border-strong) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18), inset 0 -1px 0 rgba(0, 0, 0, 0.14) !important;
}

.playlist-panel .panel-header,
.chamadas-panel .panel-header,
.player-panel-toolbar {
    --panel-header-bg: var(--rl-admin-header-bg);
    --panel-header-border: var(--rl-admin-border-strong);
    --panel-header-shadow: var(--rl-admin-header-shadow);
    --panel-header-gloss: var(--rl-admin-header-gloss);
    --panel-header-meta-bg: var(--rl-admin-pill-bg);
    --panel-header-meta-border: var(--rl-admin-pill-border);
    --panel-header-meta-text: var(--rl-admin-pill-text);
    --playlist-delta-added-color: var(--theme-accent, var(--accent-music, #b8c2cf));
    --playlist-delta-removed-color: color-mix(in srgb, var(--accent-danger, #ef4444) 82%, #ffb4b4 18%);
    --panel-header-title-text: var(--rl-admin-text);
    background: var(--rl-admin-header-bg) !important;
    border-bottom: 1px solid var(--rl-admin-border-strong) !important;
    box-shadow: var(--rl-admin-header-shadow) !important;
}

/* Tema escuro: mesma borda/sombra de base que playlist-panel .panel-header (modules.css) */
body.theme-dark .modal-header,
body.theme-dark #trackCatalogModal .track-catalog-header {
    border-bottom-color: rgba(255, 255, 255, 0.08) !important;
    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.35), 0 1px 0 rgba(255, 255, 255, 0.03) !important;
}

.volume-mixer-popup {
    background: var(--player-surface-bg) !important;
    border: 1px solid var(--rl-admin-border) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), var(--rl-admin-surface-shadow) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

.volume-mixer-popup::before {
    inset: 1px !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.12) 0%, transparent 72%) !important;
    opacity: 0.52 !important;
}

.volume-mixer-popup::after {
    background: transparent !important;
    padding: 0 !important;
}

.panel-header:not(#music-panel-header):not(#chamadas-panel-header):not(#announcements-panel-header)::before,
.playlist-panel .panel-header::before,
.chamadas-panel .panel-header::before,
.player-panel-toolbar::before,
.client-info-header::before,
.theme-selector-header::before,
.modal-header::before,
#trackCatalogModal .track-catalog-header::before {
    background: var(--rl-admin-header-gloss) !important;
    opacity: 0.6 !important;
}

.panel-header:not(#music-panel-header):not(#chamadas-panel-header):not(#announcements-panel-header),
.client-info-header,
.theme-selector-header {
    padding: 16px 18px !important;
}

.panel-header .panel-title-text,
.client-info-main h2,
.theme-selector-title,
.modal-header h3,
.track-catalog-title-row h3 {
    color: var(--rl-admin-text) !important;
    font-weight: 700 !important;
    letter-spacing: -0.015em;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.05);
}

.panel-title-icon,
.theme-selector-title i,
.track-catalog-header-actions .modal-button i,
#trackCatalogModal .track-catalog-header .modal-close i {
    color: inherit;
}

.panel-header:not(#music-panel-header):not(#chamadas-panel-header):not(#announcements-panel-header) .panel-header-meta {
    min-height: 34px;
    padding: 0 12px !important;
    font-weight: 700 !important;
}

.panel-header-actions,
#trackCatalogModal .track-catalog-header-actions {
    gap: 10px !important;
}

.panel-header-btn,
#music-playlist-panel .playlist-tab,
.control-button,
.modal-button,
#trackCatalogModal .track-catalog-header .modal-close,
.track-select-btn,
.track-preview-btn,
.track-license-btn,
.client-profile-save-btn,
.client-portal-account-btn,
.add-media-option-btn,
.voice-style-toggle-btn {
    background: var(--rl-admin-control-bg) !important;
    border: 1px solid var(--rl-admin-border-strong) !important;
    color: var(--rl-admin-text-soft) !important;
    box-shadow: var(--rl-admin-control-outline), var(--rl-admin-control-shadow) !important;
}

.panel-header-btn::before,
#music-playlist-panel .playlist-tab::before,
.control-button::before,
.main-control::before,
.modal-button::before,
.track-select-btn::before,
.track-preview-btn::before,
.track-license-btn::before {
    content: none !important;
    display: none !important;
}

.panel-header-btn:hover,
#music-playlist-panel .playlist-tab:hover,
.control-button:hover,
.modal-button:hover,
#trackCatalogModal .track-catalog-header .modal-close:hover,
.track-select-btn:hover,
.track-preview-btn:hover,
.track-license-btn:hover,
.client-profile-save-btn:hover,
.client-portal-account-btn:hover,
.add-media-option-btn:hover,
.voice-style-toggle-btn:hover {
    background: var(--rl-admin-control-hover-bg) !important;
    border-color: var(--rl-admin-border-strong) !important;
    color: var(--rl-admin-text) !important;
    box-shadow: var(--rl-admin-control-outline), var(--rl-admin-control-shadow-hover), 0 0 0 1px rgba(94, 164, 255, 0.08) !important;
    transform: translateY(-1px) !important;
}

.panel-header-btn:active,
#music-playlist-panel .playlist-tab:active,
.control-button:active,
.modal-button:active,
#trackCatalogModal .track-catalog-header .modal-close:active,
.track-select-btn:active,
.track-preview-btn:active,
.track-license-btn:active,
.client-profile-save-btn:active,
.client-portal-account-btn:active,
.add-media-option-btn:active,
.voice-style-toggle-btn:active {
    background: var(--rl-admin-control-press-bg) !important;
    transform: translateY(0) scale(0.97) !important;
}

.panel-header-btn,
.track-select-btn,
.track-license-btn {
    border-radius: 14px !important;
}

.panel-header-btn,
.control-button,
.modal-button,
.client-profile-save-btn {
    border-radius: var(--rl-soft-radius, 8px) !important;
}

.client-portal-account-btn {
    border-radius: var(--rl-soft-radius, 8px) !important;
}

.control-button,
#music-panel-footer .control-button,
#announcements-controls-footer .control-button,
#music-playlist-panel [data-tab-announcements-footer] .control-button,
.chamadas-panel .panel-footer .control-button {
    width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
}

/* Rodapés de painel (músicas/anúncios/chamadas): compactos como o header. #player-footer intacto. */
#music-panel-footer,
#announcements-controls-footer,
#music-playlist-panel [data-tab-announcements-footer],
.playlist-panel .panel-footer,
.chamadas-panel .panel-footer {
    height: var(--rl-main-panel-footer-height, 42px) !important;
    min-height: var(--rl-main-panel-footer-height, 42px) !important;
    max-height: var(--rl-main-panel-footer-height, 42px) !important;
    padding: var(--ui-panel-footer-padding, 0 14px) !important;
    gap: var(--ui-panel-footer-gap, 8px) !important;
    box-sizing: border-box !important;
}

#music-panel-footer .control-button,
#announcements-controls-footer .control-button,
#music-playlist-panel [data-tab-announcements-footer] .control-button,
.chamadas-panel .panel-footer .control-button {
    width: var(--ui-panel-footer-control-size, 34px) !important;
    height: var(--ui-panel-footer-control-size, 34px) !important;
    min-width: var(--ui-panel-footer-control-size, 34px) !important;
    min-height: var(--ui-panel-footer-control-size, 34px) !important;
    border-radius: var(--ui-panel-footer-control-radius, 8px) !important;
}

/* Rodapés Músicas/Anúncios/Chamadas: margem 2px; controle direito aninha no canto. */
#music-panel-footer,
#announcements-controls-footer,
#music-playlist-panel [data-tab-announcements-footer],
#chamadas-panel .panel-footer {
    --panel-footer-edge: 2px;
    --panel-footer-edge-radius: 20px;
    align-items: stretch !important;
    padding: var(--panel-footer-edge, 2px) !important;
    overflow: visible !important;
}

#music-panel-footer .control-button,
#announcements-controls-footer .control-button,
#music-playlist-panel [data-tab-announcements-footer] .control-button,
#chamadas-panel .panel-footer .control-button {
    width: auto !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1 !important;
    align-self: stretch !important;
    border-radius: var(--rl-soft-radius, 8px) !important;
}

#announcement-mode-controls,
#music-playlist-panel [data-tab-announcement-mode] {
    align-self: stretch !important;
    display: flex !important;
    height: 100% !important;
    min-height: 0 !important;
}

/* Canto inferior direito: espelha o Menu (topo direito) no eixo vertical. */
#music-panel-footer #clearMusicPlaylistBtn,
#announcements-controls-footer .block-size-select,
#music-playlist-panel [data-tab-announcements-footer] .block-size-select,
#chamadas-panel .panel-footer #createCallBtn {
    border-radius:
        var(--rl-soft-radius, 8px)
        0
        calc(var(--panel-footer-edge-radius, 20px) - var(--panel-footer-edge, 2px))
        var(--rl-soft-radius, 8px) !important;
}

#announcements-controls-footer .block-size-select,
#music-playlist-panel [data-tab-announcements-footer] .block-size-select {
    height: 100% !important;
    min-height: 0 !important;
    align-self: stretch !important;
}

/* Headers dos painéis: botões acompanham a faixa compacta (−20%), sem herdar os 42px do rodapé. */
.playlist-panel .panel-header .panel-header-btn {
    width: calc(var(--panel-control-size, 34px) * var(--rl-panel-header-height-scale, 0.8)) !important;
    height: calc(var(--panel-control-size, 34px) * var(--rl-panel-header-height-scale, 0.8)) !important;
    min-width: calc(var(--panel-control-size, 34px) * var(--rl-panel-header-height-scale, 0.8)) !important;
    min-height: calc(var(--panel-control-size, 34px) * var(--rl-panel-header-height-scale, 0.8)) !important;
    border-radius: var(--rl-soft-radius, 8px) !important;
}

.playlist-panel .panel-header .mobile-panel-menu-trigger {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    aspect-ratio: auto !important;
    padding: 0 10px !important;
}

/* Chamadas: botão preenche a altura do header, margem 2px no contorno. */
#chamadas-panel-header .panel-header-actions {
    height: 100% !important;
    align-self: stretch !important;
    padding: var(--chamadas-header-edge, 2px) !important;
    padding-left: 0 !important;
    gap: var(--chamadas-header-edge, 2px) !important;
}

#chamadas-panel-header .panel-header-btn {
    width: auto !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: var(--rl-soft-radius, 8px) !important;
}

#chamadas-panel-header .mobile-panel-menu-trigger {
    aspect-ratio: auto !important;
    width: auto !important;
    min-width: 0 !important;
    padding: 0 10px !important;
}

/* Canto direito do header: mesma lógica aninhada do Menu (direita do toolbar). */
#chamadas-panel-header #toggleChamadasPanelBtn {
    border-radius:
        var(--rl-soft-radius, 8px)
        calc(var(--chamadas-header-edge-radius, 20px) - var(--chamadas-header-edge, 2px))
        0
        var(--rl-soft-radius, 8px) !important;
}

/* Abas Músicas/Anúncios: mesmo chrome/raio dos botões do header de Chamadas.
 * Altura travada em 26px — não comprimir. */
#music-playlist-panel .playlist-tab {
    border-radius: var(--rl-soft-radius, 8px) !important;
    height: var(--playlist-header-chip-height, 26px) !important;
    min-height: var(--playlist-header-chip-height, 26px) !important;
    max-height: var(--playlist-header-chip-height, 26px) !important;
}

/* Canto esquerdo do header: mesma lógica aninhada do Menu (direita do toolbar). */
#music-playlist-panel .playlist-tab[data-tab="music"],
#playlistTabMusic {
    border-radius:
        calc(var(--playlist-header-edge-radius, 20px) - var(--playlist-header-edge, 2px))
        var(--rl-soft-radius, 8px)
        var(--rl-soft-radius, 8px)
        0 !important;
}

#music-playlist-panel .playlist-tab.active {
    background: var(--rl-admin-control-hover-bg) !important;
    color: var(--rl-admin-text) !important;
    box-shadow: var(--rl-admin-control-outline), var(--rl-admin-control-shadow-hover) !important;
}

#music-playlist-panel .playlist-tab.active[data-tab="music"] {
    color: var(--accent-music) !important;
}

#music-playlist-panel .playlist-tab.active[data-tab="announcement"] {
    color: var(--accent-announcement) !important;
}

#chamadas-panel-header .panel-title-wrapper {
    height: 100% !important;
    align-self: stretch !important;
    padding: var(--chamadas-header-edge, 2px) !important;
    min-width: 0 !important;
}

.control-button,
#music-panel-footer .control-button,
#announcements-controls-footer .control-button,
#music-playlist-panel [data-tab-announcements-footer] .control-button,
.chamadas-panel .panel-footer .control-button,
.panel-header-btn {
    color: var(--rl-admin-text-soft) !important;
}

#music-panel-footer .control-button:hover,
#openMusicCatalogBtn,
#trackCatalogApplyBtn,
#musicCatalogAddFilteredBtn,
#musicCatalogAddFilesBtn,
#musicCatalogAddFolderBtn {
    color: var(--accent-music) !important;
}

#announcements-controls-footer .control-button:hover,
#addAnnouncementBtn {
    color: var(--accent-announcement) !important;
}

#createCallBtn,
#openTrackCatalogBtn,
.modal-theme-tts .modal-button.primary,
.modal-theme-tts .modal-button.tertiary:hover {
    color: var(--accent-tts) !important;
}

.modal-button {
    min-height: 42px;
    padding: 10px 18px !important;
    font-weight: 700 !important;
    letter-spacing: 0.015em;
    transform: none !important;
    filter: none !important;
}

.modal-footer .modal-button {
    min-height: var(--ui-panel-footer-control-size, 34px) !important;
    height: var(--ui-panel-footer-control-size, 34px) !important;
    padding: 0 14px !important;
    font-size: var(--font-size-s, 0.78rem) !important;
    border-radius: var(--ui-panel-footer-control-radius, 8px) !important;
}

.modal-footer .modal-button.modal-close {
    width: auto !important;
    min-width: 0 !important;
    height: var(--ui-panel-footer-control-size, 34px) !important;
    min-height: var(--ui-panel-footer-control-size, 34px) !important;
}

.modal-button.primary,
.modal-button.secondary,
.modal-button.tertiary,
.modal-button.danger {
    background: var(--rl-admin-control-bg) !important;
}

.modal-button.primary {
    border-top: 3px solid var(--accent-primary) !important;
}

.modal-theme-tts .modal-button.primary,
#cameraModal .modal-footer .modal-button.primary,
#manualCallShareModal .modal-footer .modal-button.primary,
#apiConfigModal .modal-footer .modal-button.primary,
#createCallModal .modal-button.primary {
    border-top-color: var(--accent-tts) !important;
}

/* API keys: header/footer no padrão compacto (padding 8px, controle 34px). */
#apiConfigModal .modal-header {
    min-height: 0 !important;
    padding: 8px 14px !important;
    gap: 8px !important;
}

#apiConfigModal .modal-header h3 {
    font-size: var(--font-size-l) !important;
    line-height: 1.2 !important;
}

#apiConfigModal .modal-close {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
    border-radius: 8px !important;
}

#apiConfigModal .modal-footer {
    min-height: 0 !important;
    padding: 8px 14px !important;
    gap: 8px !important;
}

#apiConfigModal .modal-footer .modal-button {
    min-height: 34px !important;
    height: 34px !important;
    padding: 0 14px !important;
    font-size: var(--font-size-s) !important;
    border-radius: 10px !important;
}

/* Voice info: mesma faixa compacta dos headers de painel (~33px). */
#voiceInfoModal .modal-header {
    height: var(--rl-main-panel-header-height, 33px) !important;
    min-height: var(--rl-main-panel-header-height, 33px) !important;
    max-height: var(--rl-main-panel-header-height, 33px) !important;
    padding: 0 14px !important;
    gap: 8px !important;
    box-sizing: border-box !important;
    align-items: center !important;
}

#voiceInfoModal .modal-header h3 {
    font-size: var(--font-size-l) !important;
    line-height: 1.15 !important;
}

#voiceInfoModal .modal-close {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    min-height: 26px !important;
    border-radius: 8px !important;
}

#confirmationModal .modal-footer .modal-button.primary.whatsapp-support-button {
    border-top-color: #25d366 !important;
    color: #25d366 !important;
}

:is(#confirmationModal, #infoModal, #pendingLicenseModal)[role="alertdialog"] .modal-content-base {
    width: min(620px, calc(100vw - 32px));
    max-width: min(620px, calc(100vw - 32px)) !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: min(88vh, 520px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

:is(#confirmationModal, #infoModal, #pendingLicenseModal)[role="alertdialog"] .modal-header {
    min-height: 0 !important;
    padding: 14px 20px 12px !important;
}

:is(#confirmationModal, #infoModal, #pendingLicenseModal)[role="alertdialog"] .modal-header h3 {
    font-size: 18px !important;
    line-height: 22px !important;
}

:is(#confirmationModal, #infoModal, #pendingLicenseModal)[role="alertdialog"] .modal-body {
    flex: 0 0 auto;
    min-height: 0;
    max-height: calc(88vh - 146px);
    overflow-x: hidden;
    overflow-y: auto;
    gap: 8px !important;
    padding: 14px 22px 8px !important;
}

:is(#confirmationModalText, #infoModalText, #pendingLicenseText) {
    width: 100%;
    max-width: 100%;
    margin: 0 !important;
    color: var(--rl-admin-text) !important;
    font-size: 16px !important;
    line-height: 22px;
    text-align: center;
    white-space: pre-line;
    overflow-wrap: break-word;
    word-break: normal;
}

:is(#confirmationModal, #infoModal, #pendingLicenseModal)[role="alertdialog"] .modal-footer {
    min-height: 0 !important;
    padding: 10px 16px 14px !important;
    gap: 8px !important;
}

@media (max-width: 720px),
(max-height: 640px) {
    :is(#confirmationModal, #infoModal, #pendingLicenseModal)[role="alertdialog"] .modal-content-base {
        width: min(96vw, calc(100vw - 18px));
        max-width: min(96vw, calc(100vw - 18px)) !important;
        max-height: calc(100vh - 18px);
    }

    :is(#confirmationModal, #infoModal, #pendingLicenseModal)[role="alertdialog"] .modal-body {
        max-height: calc(100vh - 138px);
        padding: 12px 16px 8px !important;
    }

    :is(#confirmationModalText, #infoModalText, #pendingLicenseText) {
        font-size: 15px !important;
        line-height: 21px;
    }

    :is(#confirmationModal, #infoModal, #pendingLicenseModal)[role="alertdialog"] .modal-footer {
        flex-wrap: wrap;
        justify-content: center;
    }
}

.modal-button.secondary {
    border-top: 3px solid rgba(255, 255, 255, 0.16) !important;
}

.modal-button.tertiary {
    border-top: 3px solid var(--accent-tts) !important;
}

.modal-button.danger {
    border-top: 3px solid var(--accent-danger) !important;
    color: var(--accent-danger) !important;
}

.modal-footer,
.panel-footer,
#player-footer,
#trackCatalogModal .track-catalog-footer {
    background: var(--rl-admin-footer-bg) !important;
    border-top: 1px solid var(--rl-admin-border-strong) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12) !important;
}

#player-footer {
    --player-controls-bg: var(--rl-admin-footer-bg);
    --player-controls-border: var(--rl-admin-border-strong);
    --player-controls-shadow: var(--rl-admin-card-shadow);
    --player-controls-inner: var(--rl-admin-header-gloss);
    --player-focus-ring: var(--rl-admin-highlight-strong);
    --player-control-bg: var(--rl-admin-control-bg);
    --player-control-border: var(--rl-admin-border-strong);
    --player-control-shadow: var(--rl-admin-control-shadow);
    --player-control-shadow-hover: var(--rl-admin-control-shadow-hover);
    --player-control-hover-bg: var(--rl-admin-control-hover-bg);
    --player-control-press-bg: var(--rl-admin-control-press-bg);
    --player-control-icon: var(--rl-admin-text-soft);
    --player-control-icon-hover: var(--rl-admin-text);
    --player-main-bg: var(--rl-admin-control-bg);
    --player-main-border: var(--rl-admin-border-strong);
    --player-main-shadow: var(--rl-admin-control-shadow);
    --player-main-shadow-hover: var(--rl-admin-control-shadow-hover);
    --player-main-accent: var(--rl-admin-highlight-strong);
    border-radius: 0 0 var(--rl-admin-radius-md) var(--rl-admin-radius-md) !important;
}

.app-footer {
    background: var(--rl-admin-footer-bg) !important;
    border-top: 1px solid var(--rl-admin-border-strong) !important;
    color: var(--rl-admin-text-muted) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12) !important;
    padding: 2px 12px 3px !important;
}

.footer-brand__logo-shell {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.footer-brand__logo {
    filter: none !important;
}

.footer-brand__name {
    color: var(--rl-admin-text, var(--text-primary, #27313b)) !important;
    font-family: var(--rl-admin-font-display, var(--font-family-base)) !important;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.08);
}

.footer-brand__name span {
    color: var(--rl-admin-highlight, var(--accent-primary, #0ea5e9)) !important;
}

body.theme-dark .footer-brand__name {
    color: var(--rl-admin-text, rgba(245, 247, 250, 0.9)) !important;
}

.footer-brand .title-bar-plan-badge {
    letter-spacing: 0.035em !important;
    border-width: 1px !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.14),
        0 2px 8px rgba(0, 0, 0, 0.08) !important;
}

.footer-brand .title-bar-plan-badge::before {
    opacity: 0 !important;
}

.app-footer .app-version {
    color: var(--rl-admin-text-muted) !important;
}

body:not(.theme-dark) .app-footer,
body:not(.theme-dark) .app-footer :is(p, span, strong, b, small),
body:not(.theme-dark) .app-footer .app-version {
    color: #374151 !important;
}

body:not(.theme-dark) .footer-brand__name,
body:not(.theme-dark) .footer-brand__name span {
    color: #374151 !important;
}

.playlists-row>.playlist-panel,
.chamadas-panel {
    min-height: 0;
}

.plan-details-card,
.client-profile-form,
.camera-column-local,
.mobile-upload-card,
.block-size-select,
#manualCallShareLink {
    background: var(--rl-admin-panel-muted) !important;
    border: 1px solid var(--rl-admin-border) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), var(--rl-admin-card-shadow) !important;
}

.block-size-select,
#manualCallShareLink {
    border-radius: 16px !important;
}

#manualCallShareModal .call-share-link-row {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
}

#spotScheduleModal .modal-content-base {
    background: var(--spot-shell-bg) !important;
    border-color: var(--spot-shell-border) !important;
    box-shadow: var(--spot-shell-shadow) !important;
}

#spotScheduleModal .modal-header {
    height: var(--rl-main-panel-header-height, 33px) !important;
    min-height: var(--rl-main-panel-header-height, 33px) !important;
    max-height: var(--rl-main-panel-header-height, 33px) !important;
    padding: 0 var(--spot-pad-inline, 14px) !important;
    background: var(--spot-header-bg) !important;
    border-bottom-color: var(--spot-shell-line) !important;
    box-shadow: var(--rl-admin-header-shadow) !important;
}

#spotScheduleModal .modal-header h3 {
    color: var(--spot-title) !important;
    font-size: var(--font-size-l, 0.855rem) !important;
    letter-spacing: 0 !important;
}

/* Só o X do header — Cancelar do rodapé também usa .modal-close. */
#spotScheduleModal .modal-header .modal-close {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    min-height: 26px !important;
    border-radius: var(--rl-soft-radius, 8px) !important;
}

#spotScheduleModal .modal-footer {
    background: var(--spot-footer-bg) !important;
    border-top-color: var(--spot-shell-line) !important;
    box-shadow: var(--rl-admin-footer-shadow, inset 0 1px 0 rgba(255, 255, 255, 0.08)) !important;
}

#spotScheduleModal .modal-footer .modal-button {
    min-height: 34px !important;
    height: 34px !important;
    padding: 0 14px !important;
    border-radius: var(--rl-soft-radius, 8px) !important;
    font-size: var(--font-size-s, 0.78rem) !important;
    font-weight: 700 !important;
}

#spotScheduleModal .modal-footer .modal-button.modal-close {
    width: auto !important;
    min-width: 0 !important;
    height: 34px !important;
    min-height: 34px !important;
}

#spotScheduleModal .modal-footer .modal-button.primary {
    border-top-color: var(--spot-accent-strong) !important;
    color: var(--spot-accent-strong) !important;
}

#spotScheduleModal .spot-schedule-card {
    background: var(--spot-panel-bg) !important;
    border: 1px solid var(--spot-panel-border) !important;
    box-shadow: 0 10px 24px rgba(15, 52, 66, 0.08) !important;
}

#spotScheduleModal .spot-schedule-subsection,
#spotScheduleModal .spot-schedule-timeline-frame,
#spotScheduleModal .schedule-time-window-empty,
#spotScheduleModal .schedule-lock-message,
#spotScheduleModal .instant-play-interval,
#spotScheduleModal .time-window-row,
#spotScheduleModal .spot-schedule-note-band,
#spotScheduleModal .spot-schedule-toggle-card {
    background: var(--spot-panel-bg-strong) !important;
    border-color: var(--spot-panel-border) !important;
}

#spotScheduleModal .form-group input:not([type="checkbox"]),
#spotScheduleModal .form-group select,
#spotScheduleModal .form-group textarea,
#spotScheduleModal #instantPlayEnabled {
    background: var(--spot-field-bg) !important;
    border-color: var(--spot-field-border) !important;
    color: var(--spot-title) !important;
}

#spotScheduleModal .form-group input:focus,
#spotScheduleModal .form-group select:focus,
#spotScheduleModal .form-group textarea:focus {
    border-color: var(--spot-accent) !important;
    box-shadow: 0 0 0 3px var(--spot-focus-ring) !important;
}

#spotScheduleModal .day-toggle {
    background: var(--spot-pill-bg) !important;
    border: 1px solid var(--spot-pill-border) !important;
    border-radius: var(--rl-soft-radius, 8px) !important;
    color: var(--spot-text) !important;
    box-shadow: none !important;
}

#spotScheduleModal .day-toggle:hover {
    color: var(--spot-accent) !important;
    border-color: var(--spot-day-hover-border) !important;
}

#spotScheduleModal .day-toggle.active {
    background: var(--spot-day-active-bg) !important;
    border-color: transparent !important;
    color: #ffffff !important;
    box-shadow: var(--spot-day-active-shadow) !important;
}

#spotScheduleModal .spot-schedule-name {
    background: transparent !important;
    border-color: transparent !important;
    color: var(--spot-title) !important;
    border-radius: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
}

#spotScheduleModal .label-range i,
#spotScheduleModal .label-days i,
#spotScheduleModal .label-periods i,
#spotScheduleModal .spot-schedule-note-band i,
#spotScheduleModal .schedule-time-window-empty i,
#spotScheduleModal .schedule-lock-message i {
    color: var(--spot-accent) !important;
}

.player-core {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    width: 100% !important;
    padding: 0 !important;
}

.track-info-container {
    gap: 3px !important;
    height: 100% !important;
    min-height: 0 !important;
    flex: 1 1 auto !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    background: var(--bg-tertiary-solid) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        inset 0 -1px 0 rgba(0, 0, 0, 0.14),
        0 4px 10px rgba(0, 0, 0, 0.16) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

.track-info-container::before {
    content: none !important;
    display: none !important;
}

.track-info-container>* {
    position: relative;
    z-index: 1;
}

.marquee-wrapper {
    max-width: 100% !important;
    padding-inline: 6px !important;
}

#trackTitle {
    font-size: clamp(1.08rem, 0.96rem + 0.36vw, 1.38rem) !important;
    font-weight: 720 !important;
    line-height: 1.04 !important;
    letter-spacing: 0 !important;
    color: var(--rl-admin-text) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.28) !important;
}

#trackArtist {
    font-size: clamp(0.82rem, 0.78rem + 0.16vw, 0.94rem) !important;
    font-weight: 520 !important;
    line-height: 1.08 !important;
    letter-spacing: 0.006em;
}

#trackArtist,
#trackAlbum,
.add-media-subtitle,
.track-catalog-subtitle,
.modal-subtitle,
.client-profile-sync-status,
.form-help-text,
.track-card-artist,
.theme-option-desc {
    color: var(--rl-admin-text-soft) !important;
}

.track-catalog-aside-label,
.track-catalog-selected-label,
.music-catalog-bulk-counts small,
.music-catalog-programmed-under-title,
.form-group label,
.client-profile-field span,
.client-info-main .client-info-client-id__label,
.info-item__label {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.68rem !important;
    font-weight: 700 !important;
    color: var(--rl-admin-text-muted) !important;
}

.plan-header-eyebrow,
.client-info-secondary-contact,
.client-profile-location,
.client-info-main .client-info-client-id {
    color: var(--rl-admin-text-muted) !important;
}
.form-group input,
.form-group select,
.form-group textarea,
.input-with-prefix,
.client-profile-field input,
.block-size-select,
#manualCallShareLink {
    background: var(--rl-admin-input-bg) !important;
    border-color: var(--rl-admin-input-border) !important;
    color: var(--rl-admin-text) !important;
}

.block-size-select option {
    background: var(--bg-secondary-solid) !important;
    color: var(--rl-admin-text) !important;
}

.form-group input::placeholder,
.form-group textarea::placeholder,
.client-profile-field input::placeholder,
#manualCallShareLink::placeholder {
    color: var(--rl-admin-text-muted) !important;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus,
.input-with-prefix:focus-within,
.client-profile-field input:focus,
.block-size-select:focus,
#manualCallShareLink:focus {
    border-color: rgba(94, 164, 255, 0.72) !important;
    box-shadow: 0 0 0 3px var(--rl-admin-input-focus) !important;
}

/* Abas Músicas/Anúncios: estilo nativo em playlist-tabs.css (evita !important e sombras cortadas) */

.playlist-scroll {
    padding: 1px 0 10px;
}

.playlist-scroll::-webkit-scrollbar,
#trackCatalogModal .track-catalog-grid::-webkit-scrollbar,
.music-catalog-search-history-list::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

.playlist-scroll::-webkit-scrollbar-thumb,
#trackCatalogModal .track-catalog-grid::-webkit-scrollbar-thumb,
.music-catalog-search-history-list::-webkit-scrollbar-thumb {
    border-radius: var(--rl-soft-radius, 8px);
    background: rgba(166, 173, 186, 0.55);
    border: 2px solid transparent;
    background-clip: padding-box;
}

.playlist-item,
.call-button {
    background:
        linear-gradient(90deg, var(--call-accent-color, transparent), var(--call-accent-color, transparent)) top / calc(100% - 2px) 3px no-repeat,
        var(--rl-admin-panel-bg-strong) !important;
    border: 1px solid var(--rl-admin-border) !important;
    border-radius: 16px !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.12),
        inset 0 -1px 0 rgba(15, 23, 42, 0.08),
        0 12px 24px rgba(0, 0, 0, 0.12) !important;
    transition:
        transform 0.18s ease,
        border-color 0.2s ease,
        box-shadow 0.24s ease,
        filter 0.2s ease !important;
}

.playlist-item::before {
    opacity: 0 !important;
}

.playlist-item.has-progress::before {
    opacity: 0.64 !important;
}

.call-button::after {
    opacity: 0.44 !important;
}

.playlist-item:hover,
.playlist-item.active,
.playlist-item.instant-play-active,
.call-button:not(.unavailable):hover {
    border-color: var(--rl-admin-border-strong) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.16),
        0 0 0 1px rgba(94, 164, 255, 0.08),
        var(--rl-admin-card-shadow-hover) !important;
    filter: saturate(1.03) brightness(1.01) !important;
}

/* translateY só em call-button: em .playlist-item na borda causa flicker */
.call-button:not(.unavailable):hover {
    transform: translateY(-2px) !important;
}

.playlist-item:hover,
.playlist-item.active,
.playlist-item.instant-play-active {
    transform: none !important;
}

/* Keep manual-call runtime states visible in admin parity mode. */
.call-button.playing {
    border-color: rgba(var(--call-accent-rgb), 0.46) !important;
    border-top-color: var(--call-accent-color) !important;
    box-shadow:
        0 12px 28px rgba(0, 0, 0, 0.24),
        0 0 0 1px rgba(var(--call-accent-rgb), 0.28),
        0 0 18px rgba(var(--call-accent-rgb), 0.22) !important;
    transform: translateY(-1px) !important;
}

.call-button.in-queue {
    border-color: rgba(251, 191, 36, 0.5) !important;
    border-top-color: #f59e0b !important;
    box-shadow: 0 0 0 1px rgba(245, 158, 11, 0.3) !important;
}

.track-catalog-selected-cover,
.track-catalog-selected-cover.has-cover,
.music-env-thumb,
.music-env-local-source-thumb,
.music-env-collage,
.track-card-cover {
    border-radius: 14px !important;
    border: 1px solid var(--rl-admin-border) !important;
    background: var(--rl-admin-panel-muted) !important;
    box-shadow: none !important;
}

.music-env-overlay,
.track-card-cover::after,
.music-env-card-loading,
.music-env-local-card {
    border-radius: 14px !important;
}

.playlist-panel .playlist-item {
    margin: var(--ui-playlist-item-margin, 1px) !important;
    padding: var(--ui-playlist-item-padding, 0 10px 0 0) !important;
    min-height: calc(var(--ui-playlist-item-min-height, 44px) * var(--rl-playlist-item-scale, 0.95)) !important;
    height: calc(var(--ui-playlist-item-min-height, 44px) * var(--rl-playlist-item-scale, 0.95)) !important;
    max-height: calc(var(--ui-playlist-item-min-height, 44px) * var(--rl-playlist-item-scale, 0.95)) !important;
    box-sizing: border-box !important;
    gap: calc(8px * var(--rl-playlist-item-scale, 0.95)) !important;
    border-radius: 8px !important;
}

.playlist-panel .playlist-item .playlist-item-thumbnail {
    width: calc((var(--ui-playlist-item-min-height, 44px) * var(--rl-playlist-item-scale, 0.95)) - 4px) !important;
    height: calc((var(--ui-playlist-item-min-height, 44px) * var(--rl-playlist-item-scale, 0.95)) - 4px) !important;
    min-width: calc((var(--ui-playlist-item-min-height, 44px) * var(--rl-playlist-item-scale, 0.95)) - 4px) !important;
    max-width: calc((var(--ui-playlist-item-min-height, 44px) * var(--rl-playlist-item-scale, 0.95)) - 4px) !important;
    min-height: calc((var(--ui-playlist-item-min-height, 44px) * var(--rl-playlist-item-scale, 0.95)) - 4px) !important;
    max-height: calc((var(--ui-playlist-item-min-height, 44px) * var(--rl-playlist-item-scale, 0.95)) - 4px) !important;
    flex: 0 0 calc((var(--ui-playlist-item-min-height, 44px) * var(--rl-playlist-item-scale, 0.95)) - 4px) !important;
    align-self: center !important;
    aspect-ratio: 1 / 1 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 5px !important;
    background: var(--rl-admin-panel-muted) !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

.playlist-panel .playlist-item .playlist-item-details-main {
    gap: 0 !important;
    line-height: 1.05 !important;
    min-width: 0 !important;
}

.playlist-panel .playlist-item .playlist-item-details-main p {
    margin: 0 !important;
    font-size: calc(0.78rem * var(--rl-playlist-item-scale, 0.95)) !important;
    font-weight: 600 !important;
    line-height: 1.1 !important;
}

.playlist-panel .playlist-item .playlist-item-details-main p:last-child {
    font-size: calc(0.66rem * var(--rl-playlist-item-scale, 0.95)) !important;
    font-weight: 400 !important;
    line-height: 1.08 !important;
}

.playlist-panel .playlist-item .playlist-item-meta {
    gap: calc(5px * var(--rl-playlist-item-scale, 0.95)) !important;
    padding-left: calc(5px * var(--rl-playlist-item-scale, 0.95)) !important;
}

.playlist-panel .playlist-item .playlist-item-status-slot {
    width: calc(var(--playlist-status-slot-width, 48px) * var(--rl-playlist-item-scale, 0.95)) !important;
    min-width: calc(var(--playlist-status-slot-width, 48px) * var(--rl-playlist-item-scale, 0.95)) !important;
    max-width: calc(var(--playlist-status-slot-width, 48px) * var(--rl-playlist-item-scale, 0.95)) !important;
    height: calc(22px * var(--rl-playlist-item-scale, 0.95)) !important;
    overflow: hidden !important;
}

.playlist-panel .playlist-item .playlist-item-duration {
    font-size: calc(0.66rem * var(--rl-playlist-item-scale, 0.95)) !important;
}

.playlist-panel .playlist-item .playlist-item-thumbnail .thumb-portal,
.playlist-panel .playlist-item .playlist-item-thumbnail .thumb-portal img {
    width: 100% !important;
    height: 100% !important;
    border-radius: 5px !important;
}

.playlist-panel .playlist-item .playlist-item-thumbnail .thumb-portal img {
    object-fit: cover !important;
}

.track-card {
    background: var(--rl-admin-panel-bg) !important;
    border: 1px solid var(--rl-admin-border) !important;
    border-radius: 18px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), inset 0 -1px 0 rgba(15, 23, 42, 0.08), var(--rl-admin-card-shadow) !important;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease !important;
}

.track-card:hover,
.track-card.selected.is-added,
.track-card.music-card.selected,
.track-card.music-card.is-added,
.track-card.music-card.selected.is-added {
    border-color: var(--rl-admin-border-strong) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14), 0 0 0 1px var(--rl-admin-highlight-soft), var(--rl-admin-card-shadow-hover) !important;
    transform: translateY(-1px) !important;
}

.track-card-cover {
    width: calc(100% - 22px) !important;
    margin: 11px auto 0 !important;
    aspect-ratio: 1 / 1;
}

.track-card-cover img {
    object-fit: cover !important;
    background: transparent !important;
}

.music-env-card {
    min-height: 352px !important;
}

#musicCatalogModal .track-catalog-grid.is-environment-overview .music-env-card,
#musicCatalogModal .track-catalog-grid.clusterize-scroll.is-environment-overview .clusterize-content .music-env-card {
    min-height: 172px !important;
    max-height: 224px !important;
    aspect-ratio: auto !important;
    contain: layout paint style;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
    transition: border-color 120ms ease, opacity 120ms linear !important;
    transform: none !important;
    will-change: auto;
}

#musicCatalogModal .track-catalog-grid.is-environment-overview .music-env-card:hover,
#musicCatalogModal .track-catalog-grid.clusterize-scroll.is-environment-overview .clusterize-content .music-env-card:hover {
    transform: none !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 0 0 1px var(--rl-admin-highlight-soft) !important;
}

#musicCatalogModal .track-catalog-grid.is-environment-overview .music-env-thumb,
#musicCatalogModal .track-catalog-grid.clusterize-scroll.is-environment-overview .clusterize-content .music-env-thumb {
    border-radius: 10px !important;
    box-shadow: none !important;
}

#musicCatalogModal .track-catalog-grid.is-environment-overview .music-env-card-loading,
#musicCatalogModal .track-catalog-grid.clusterize-scroll.is-environment-overview .clusterize-content .music-env-card-loading {
    animation: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

.track-card-body {
    padding: 12px 12px 14px !important;
    gap: 6px !important;
}

.track-card-title {
    color: var(--rl-admin-text) !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
}

.track-card-artist,
.music-env-card-count,
.track-badge,
.track-card-meta,
.track-card-styles {
    color: var(--rl-admin-text-soft) !important;
}

.track-badge {
    background: var(--rl-admin-pill-bg) !important;
    border: 1px solid var(--rl-admin-border) !important;
    padding: 4px 8px !important;
}

.track-badge.accent,
.track-source-badge--pixabay,
.track-source-badge--vps,
.track-source-badge--local,
.track-source-badge--online {
    border-color: var(--rl-admin-border-strong) !important;
}

.track-select-btn,
.track-preview-btn,
.track-license-btn {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

.track-select-btn.active,
.track-card.is-previewing .track-preview-btn {
    color: var(--accent-primary) !important;
    box-shadow: 0 0 0 1px var(--rl-admin-highlight-strong), var(--rl-admin-control-shadow-hover) !important;
}

.music-catalog-search-history-item:hover {
    background: var(--rl-admin-control-bg) !important;
}

#musicCatalogModal {
    --mc-app-bg: var(--rl-admin-app-bg);
    --mc-panel-bg: var(--rl-admin-panel-bg);
    --mc-panel-border: var(--rl-admin-border);
    --mc-shell-border: var(--rl-admin-border);
    --mc-hairline: var(--rl-admin-border);
    --mc-surface-1: var(--rl-admin-panel-bg);
    --mc-surface-2: var(--rl-admin-panel-bg-strong);
    --mc-surface-3: var(--rl-admin-panel-muted);
    --mc-card-border: var(--rl-admin-border);
    --mc-card-border-strong: var(--rl-admin-border-strong);
    --mc-card-shadow: var(--rl-admin-card-shadow);
    --mc-card-shadow-hover: var(--rl-admin-control-shadow);
    --mc-field-bg: var(--rl-admin-input-bg);
    --mc-field-border: var(--rl-admin-input-border);
    --mc-field-border-hover: var(--rl-admin-border-strong);
    --mc-field-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
    --mc-field-shadow-focus: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 0 0 2px color-mix(in srgb, var(--accent-primary) 18%, transparent);
    --mc-title-color: var(--rl-admin-text);
    --mc-muted-color: var(--rl-admin-text-muted);
    --mc-soft-text: var(--rl-admin-text-soft);
    --mc-active-bg: linear-gradient(180deg, rgba(var(--theme-accent-rgb), 0.26), rgba(var(--theme-accent-rgb), 0.18)),
        var(--rl-admin-control-hover-bg);
    --mc-active-border: var(--theme-accent);
    --mc-active-ring: rgba(var(--theme-accent-rgb), 0.38);
    --mc-active-glow: rgba(var(--theme-accent-rgb), 0.28);
    --mc-search-pick-bg: var(--rl-admin-pill-bg);
    --mc-search-pick-border: var(--rl-admin-pill-border);
    --mc-search-pick-active-bg: linear-gradient(180deg,
            color-mix(in srgb, var(--accent-primary) 92%, white 8%) 0%,
            color-mix(in srgb, var(--accent-primary) 82%, black 18%) 100%);
    --mc-search-pick-active-border: var(--rl-admin-border-strong);
    --mc-search-row-picked-border: color-mix(in srgb, var(--accent-primary) 42%, var(--rl-admin-border));
    --mc-search-row-picked-bg: color-mix(in srgb, var(--accent-primary) 12%, transparent);
    --mc-search-row-picked-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent-primary) 14%, transparent);
    --mc-success-bg: var(--accent-primary);
    --mc-success-border: color-mix(in srgb, var(--accent-primary) 48%, var(--rl-admin-border));
    --mc-success-text: var(--rl-admin-on-accent, #ffffff);
    --mc-footer-bg: var(--rl-admin-footer-bg);
}

#musicCatalogModal,
#musicCatalogModal:not(.is-windowed),
#musicCatalogModal .modal-content-base,
#musicCatalogModal .music-catalog-shell,
#musicCatalogModal.music-catalog-light-search-active .music-catalog-shell {
    background: var(--rl-admin-app-bg) !important;
}

#musicCatalogModal .music-catalog-shell {
    border-color: var(--rl-admin-border) !important;
}

#musicCatalogModal .track-catalog-header.music-catalog-header--premium {
    background: var(--rl-admin-header-bg) !important;
    border-bottom-color: var(--rl-admin-border) !important;
    /* Controles do header: sombra bem mais leve que o chrome global. */
    --rl-mc-header-control-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 2px rgba(0, 0, 0, 0.08);
    --rl-mc-header-control-shadow-hover: inset 0 1px 0 rgba(255, 255, 255, 0.12), 0 2px 5px rgba(0, 0, 0, 0.1);
}

#musicCatalogModal .music-catalog-style-cards-strip-v2,
#musicCatalogModal .music-catalog-body-simple,
#musicCatalogModal .music-catalog-search-results-head,
#musicCatalogModal .music-catalog-search-history-popover {
    background: var(--rl-admin-panel-bg) !important;
    border-color: var(--rl-admin-border) !important;
    color: var(--rl-admin-text) !important;
}

#musicCatalogModal .music-catalog-toggles-scroll,
#musicCatalogModal .track-catalog-grid,
#musicCatalogModal .track-catalog-grid.clusterize-scroll,
#musicCatalogModal .track-catalog-grid.clusterize-scroll .clusterize-content,
#musicCatalogModal .music-catalog-selection-stage {
    background: transparent !important;
}

#musicCatalogModal .music-catalog-footer-v2,
#musicCatalogModal .track-catalog-footer {
    background: var(--rl-admin-footer-bg) !important;
    border-top-color: var(--rl-admin-border) !important;
}

#musicCatalogModal .music-catalog-source-select,
#musicCatalogModal .music-catalog-top-action--ghost,
#musicCatalogModal .music-catalog-header-hero .track-catalog-search.music-catalog-search-bar--top,
#musicCatalogModal .music-catalog-search-history-btn,
#musicCatalogModal .music-catalog-search-history-clear-btn,
#musicCatalogModal #musicCatalogAddSearchResultsBtn,
#musicCatalogModal .music-catalog-selection-chip,
#musicCatalogModal .music-catalog-nav-btn,
#musicCatalogModal .modal-button {
    background: var(--rl-admin-control-bg) !important;
    border-color: var(--rl-admin-border) !important;
    color: var(--rl-admin-text) !important;
    box-shadow: var(--rl-admin-control-shadow) !important;
}

#musicCatalogModal .track-catalog-header.music-catalog-header--premium :is(
    .music-catalog-source-select,
    .music-catalog-top-action--ghost,
    .music-catalog-clear-selection-btn,
    .music-catalog-search-history-btn,
    .track-catalog-search.music-catalog-search-bar--top,
    .modal-close
) i {
    color: currentColor !important;
    -webkit-text-fill-color: currentColor !important;
}

/* Header premium: select, busca e botões com sombra reduzida. */
#musicCatalogModal .track-catalog-header.music-catalog-header--premium .music-catalog-source-select,
#musicCatalogModal .track-catalog-header.music-catalog-header--premium .music-catalog-top-action--ghost,
#musicCatalogModal .track-catalog-header.music-catalog-header--premium .music-catalog-header-hero .track-catalog-search.music-catalog-search-bar--top,
#musicCatalogModal .track-catalog-header.music-catalog-header--premium .music-catalog-search-history-btn,
#musicCatalogModal .track-catalog-header.music-catalog-header--premium .music-catalog-header-insight-btn,
#musicCatalogModal .track-catalog-header.music-catalog-header--premium .modal-button,
#musicCatalogModal .track-catalog-header.music-catalog-header--premium .modal-close {
    box-shadow: var(--rl-mc-header-control-shadow) !important;
}

#musicCatalogModal .music-catalog-source-select:hover,
#musicCatalogModal .music-catalog-top-action--ghost:hover,
#musicCatalogModal .music-catalog-header-hero .track-catalog-search.music-catalog-search-bar--top:hover,
#musicCatalogModal .music-catalog-search-history-btn:hover,
#musicCatalogModal .music-catalog-search-history-clear-btn:hover:not(:disabled),
#musicCatalogModal #musicCatalogAddSearchResultsBtn:hover:not(:disabled),
#musicCatalogModal .music-catalog-nav-btn:hover,
#musicCatalogModal .modal-button:hover:not(:disabled) {
    background: var(--rl-admin-control-hover-bg) !important;
    border-color: var(--rl-admin-border-strong) !important;
    color: var(--rl-admin-text) !important;
    box-shadow: var(--rl-admin-control-outline), var(--rl-admin-control-shadow) !important;
}

#musicCatalogModal .track-catalog-header.music-catalog-header--premium .music-catalog-source-select:hover,
#musicCatalogModal .track-catalog-header.music-catalog-header--premium .music-catalog-top-action--ghost:hover,
#musicCatalogModal .track-catalog-header.music-catalog-header--premium .music-catalog-header-hero .track-catalog-search.music-catalog-search-bar--top:hover,
#musicCatalogModal .track-catalog-header.music-catalog-header--premium .music-catalog-search-history-btn:hover,
#musicCatalogModal .track-catalog-header.music-catalog-header--premium .music-catalog-header-insight-btn:hover,
#musicCatalogModal .track-catalog-header.music-catalog-header--premium .modal-button:hover:not(:disabled),
#musicCatalogModal .track-catalog-header.music-catalog-header--premium .modal-close:hover {
    box-shadow: var(--rl-mc-header-control-shadow-hover) !important;
}

#musicCatalogModal .music-catalog-source-select:focus,
#musicCatalogModal .music-catalog-header-hero .track-catalog-search.music-catalog-search-bar--top:focus-within,
#musicCatalogModal .music-catalog-style-card:focus-visible {
    border-color: var(--accent-primary) !important;
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent-primary) 20%, transparent) !important;
}

#musicCatalogModal .track-catalog-header.music-catalog-header--premium .music-catalog-source-select:focus,
#musicCatalogModal .track-catalog-header.music-catalog-header--premium .music-catalog-header-hero .track-catalog-search.music-catalog-search-bar--top:focus-within {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 0 0 2px color-mix(in srgb, var(--accent-primary) 18%, transparent) !important;
}

.platform-win #musicCatalogModal .music-catalog-source-select option,
.platform-win #musicCatalogModal .music-catalog-source-select optgroup,
.platform-win #trackCatalogModal .track-catalog-filters select option,
.platform-win #trackCatalogModal .track-catalog-filters select optgroup {
    color: #000 !important;
    background: #fff !important;
}

#musicCatalogModal .music-catalog-header-hero-start h3,
#musicCatalogModal .music-catalog-summary-title,
#musicCatalogModal .music-catalog-style-card .music-catalog-style-label,
#musicCatalogModal .music-catalog-style-card:not(.is-active) .music-catalog-style-label,
#musicCatalogModal .track-card-title,
#musicCatalogModal.music-catalog-light-search-active .track-card.music-catalog-light-search-row.playlist-item .track-card-title {
    color: var(--rl-admin-text) !important;
}

#musicCatalogModal .music-catalog-toggle-section-title,
#musicCatalogModal .music-catalog-section-kicker,
#musicCatalogModal .music-catalog-section-copy,
#musicCatalogModal.music-catalog-light-search-active .track-card.music-catalog-light-search-row.playlist-item .track-card-artist {
    color: var(--rl-admin-text-muted) !important;
}

#musicCatalogModal .music-catalog-style-card .music-catalog-style-state,
#musicCatalogModal .music-catalog-style-card:not(.is-active) .music-catalog-style-state,
#musicCatalogModal .music-catalog-style-card .music-catalog-style-meta,
#musicCatalogModal .music-catalog-style-card:not(.is-active) .music-catalog-style-meta,
#musicCatalogModal .track-card-artist,
#musicCatalogModal .music-env-card-count {
    color: var(--rl-admin-text-soft) !important;
}

/* A geometria e o hover dos cards do catalogo pertencem somente a modal.music-catalog.css. */

body.theme-light #musicCatalogModal.music-catalog-light-search-active .music-catalog-search-result-card.is-active .music-catalog-style-label,
body.theme-light #musicCatalogModal.music-catalog-light-search-active .music-catalog-search-result-card.is-active .music-catalog-style-description,
body.theme-light #musicCatalogModal.music-catalog-light-search-active .music-catalog-search-result-card.is-active .music-catalog-style-legend {
    color: #0f172a !important;
}

body.theme-light #musicCatalogModal.music-catalog-light-search-active .music-catalog-search-result-card.is-active .music-catalog-style-caption,
body.theme-light #musicCatalogModal.music-catalog-light-search-active .music-catalog-search-result-card.is-active .music-catalog-style-state,
body.theme-light #musicCatalogModal.music-catalog-light-search-active .music-catalog-search-result-card.is-active .music-catalog-style-meta {
    color: #334155 !important;
}

#musicCatalogModal .music-catalog-style-card .music-catalog-style-visual-placeholder {
    background: var(--rl-admin-panel-muted) !important;
    color: var(--rl-admin-text-muted) !important;
}

#musicCatalogModal .track-badge,
#musicCatalogModal .track-source-badge,
#musicCatalogModal .music-catalog-bulk-badge,
#musicCatalogModal .music-catalog-header-context,
#musicCatalogModal .catalog-cover-prefetch-status,
#musicCatalogModal .music-catalog-selection-chip.is-ready {
    background: var(--rl-admin-pill-bg) !important;
    border-color: var(--rl-admin-pill-border) !important;
    color: var(--rl-admin-pill-text) !important;
}

.theme-option {
    border-color: rgba(255, 255, 255, 0.12) !important;
}

.theme-option:hover {
    border-color: rgba(255, 255, 255, 0.25) !important;
    filter: brightness(1.1);
}

.theme-option.active {
    border-color: var(--accent-primary) !important;
    filter: brightness(1.12);
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent-primary) 45%, transparent) !important;
}

.theme-option-check {
    background: rgba(34, 197, 94, 0.5) !important;
    color: #166534 !important;
    box-shadow: none !important;
}

.add-media-option-btn {
    min-height: 114px !important;
    transform: none !important;
}

.add-media-option-icon {
    border-radius: 14px !important;
    border: 1px solid var(--rl-admin-border) !important;
    background: var(--rl-admin-panel-bg-strong) !important;
}

.voice-style-toggle-btn.active,
#trackCatalogModal .track-catalog-footer-actions .modal-button:hover:not(:disabled),
#trackCatalogModal .track-catalog-aside-actions .modal-button:hover {
    color: var(--accent-primary) !important;
}

body.theme-dark .voice-style-toggle-btn.active,
body.theme-dark #trackCatalogModal .track-catalog-footer-actions .modal-button:hover:not(:disabled),
body.theme-dark #trackCatalogModal .track-catalog-aside-actions .modal-button:hover {
    color: #8ac1ff !important;
}

.music-catalog-history {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

.music-catalog-history-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    padding: 2px 2px 0 !important;
}

.music-catalog-history-head .track-catalog-selected-label {
    font-family: var(--rl-admin-font-display);
    font-size: 0.98rem !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em !important;
    text-transform: none !important;
    color: var(--rl-admin-text) !important;
}

.music-catalog-programmed-under-title {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 0 12px !important;
    border-radius: var(--rl-soft-radius, 8px) !important;
    background: var(--rl-admin-pill-bg) !important;
    border: 1px solid var(--rl-admin-pill-border) !important;
    color: var(--rl-admin-pill-text) !important;
    box-shadow: none !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
}

.music-catalog-history-list {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 2px 0 0 !important;
}

@media (max-width: 1200px) {
    :root {
        --ui-player-column-width: 327px;
        --ui-player-container-padding: calc(var(--ui-titlebar-height) + 8px) 18px 16px 18px;
    }

    .player-container {
        max-width: 100%;
    }
}

@media (max-width: 960px) {
    :root {
        --ui-player-container-padding: calc(var(--ui-titlebar-height) + 4px) 12px 12px 12px;
        --ui-layout-gap: 10px;
        --ui-content-column-gap: 10px;
        --ui-content-row-gap: 10px;
        --ui-player-column-padding: 16px;
        --ui-player-column-gap: 14px;
    }

    .platform-win .title-bar-actions {
        left: 14px !important;
        right: auto !important;
    }
}

@media (max-width: 720px) {

    .title-bar-utility-btn__label,
    .status-seal__text {
        display: none !important;
    }

    .title-bar-menu-btn {
        width: clamp(38px, calc(var(--ui-titlebar-height, 32px) + 12px), 46px) !important;
        min-width: clamp(38px, calc(var(--ui-titlebar-height, 32px) + 12px), 46px) !important;
        max-width: clamp(38px, calc(var(--ui-titlebar-height, 32px) + 12px), 46px) !important;
        height: clamp(28px, calc(var(--ui-titlebar-height, 32px) - 2px), 34px) !important;
        min-height: clamp(28px, calc(var(--ui-titlebar-height, 32px) - 2px), 34px) !important;
        padding: 0 !important;
        justify-content: center !important;
        gap: 0 !important;
    }

    .title-bar-menu-btn .title-bar-utility-btn__label {
        display: none !important;
    }

    .title-bar-text {
        height: calc(var(--ui-titlebar-height, 32px) - 4px) !important;
        max-width: min(430px, calc(100vw - 150px)) !important;
    }

    .title-brand-cluster {
        max-height: calc(var(--ui-titlebar-height, 32px) - 4px) !important;
        padding: 2px 7px 2px 3px !important;
    }

    .title-brand-cluster__divider {
        margin: 2px 0 !important;
    }

    .title-bar-text h1 {
        font-size: clamp(0.92rem, calc(var(--ui-titlebar-height, 32px) * 0.48), 1.1rem) !important;
    }

    .platform-win .title-bar-actions {
        left: 12px !important;
        right: auto !important;
    }

    #trackCatalogModal .track-catalog-body {
        padding: 14px !important;
    }

    #trackCatalogModal .track-catalog-header,
    #trackCatalogModal .track-catalog-toolbar,
    #trackCatalogModal .track-catalog-footer {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
}

/* player column */
.player-column-lhs {
    --rl-player-column-gap: clamp(10px, 1.35vh, 16px);
    --rl-player-inner-radius: clamp(16px, 1.7vw, 22px);
    --rl-player-art-size: min(42vh, 440px);
    box-sizing: border-box !important;
    gap: var(--rl-player-column-gap) !important;
}

.player-panel-toolbar {
    --rl-player-toolbar-height: calc(var(--rl-main-panel-header-height, 33px) - 6px);
    --rl-player-toolbar-menu-width: 94px;
    --rl-player-toolbar-radius: 20px;
    --rl-player-toolbar-edge: 2px;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    box-sizing: border-box !important;
    width: calc(100% + (var(--ui-player-column-padding, 23px) * 2)) !important;
    min-width: 0 !important;
    max-width: none !important;
    height: var(--rl-main-panel-header-height, 33px) !important;
    min-height: var(--rl-main-panel-header-height, 33px) !important;
    max-height: var(--rl-main-panel-header-height, 33px) !important;
    margin:
        calc(var(--ui-player-column-padding, 23px) * -1)
        calc(var(--ui-player-column-padding, 23px) * -1)
        0 !important;
    /* Sem padding lateral: marca (esq.) e Menu (dir.) usam margem 2px no contorno. */
    padding: 0 !important;
    border-radius: var(--rl-player-toolbar-radius) var(--rl-player-toolbar-radius) 0 0 !important;
    overflow: visible !important;
    position: relative !important;
    z-index: var(--rl-z-panel, 100) !important;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}

.player-panel-toolbar::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: var(--panel-header-gloss, var(--rl-admin-header-gloss));
    opacity: 0.6;
    pointer-events: none;
    z-index: 0;
}

.player-panel-toolbar > * {
    position: relative;
    z-index: 1;
}

.player-panel-menu-shell {
    order: 2;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    align-self: stretch !important;
    height: 100% !important;
    margin: 0 !important;
    /* 2px: lateral direita, topo e base — espelha a logo na esquerda. */
    padding: var(--rl-player-toolbar-edge, 2px) !important;
    padding-left: 0 !important;
    box-sizing: border-box !important;
    margin-left: auto;
    display: inline-flex !important;
    align-items: stretch !important;
    overflow: visible !important;
}

.player-panel-toolbar .player-panel-brand {
    order: 1;
    display: inline-flex !important;
    flex: 1 1 auto;
    align-items: center;
    justify-content: flex-start;
    align-self: stretch !important;
    height: 100% !important;
    min-height: 0 !important;
    min-width: 0;
    margin: 0 !important;
    /* 2px: lateral esquerda, topo e base do header. */
    padding: var(--rl-player-toolbar-edge, 2px) 0 var(--rl-player-toolbar-edge, 2px) var(--rl-player-toolbar-edge, 2px) !important;
    box-sizing: border-box !important;
}

.player-panel-toolbar .player-panel-brand .footer-brand__lockup {
    display: inline-flex !important;
    align-items: center !important;
    align-self: stretch !important;
    height: 100% !important;
    min-height: 0 !important;
    gap: 6px;
}

/* Logo: altura total útil do header; largura proporcional (sem distorcer). */
.player-panel-toolbar .player-panel-brand .footer-brand__logo-shell {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: stretch !important;
    height: 100% !important;
    width: auto !important;
    min-width: 0 !important;
    max-height: 100% !important;
    aspect-ratio: 1 / 1;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.player-panel-toolbar .player-panel-brand .footer-brand__logo {
    display: block !important;
    width: auto !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: left center !important;
}

.player-panel-toolbar .title-bar-menu-btn {
    width: var(--rl-player-toolbar-menu-width) !important;
    min-width: 0 !important;
    max-width: var(--rl-player-toolbar-menu-width) !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 0 10px !important;
    /* Dir. superior: contorno do header. Dir. inferior: reto (header não arredonda embaixo). */
    border-radius:
        var(--rl-soft-radius, 8px)
        calc(var(--rl-player-toolbar-radius, 20px) - var(--rl-player-toolbar-edge, 2px))
        0
        var(--rl-soft-radius, 8px) !important;
    gap: 6px !important;
    justify-content: center !important;
    align-self: stretch !important;
}

.player-panel-toolbar .title-bar-menu-btn .title-bar-utility-btn__label {
    display: inline-flex !important;
    font-size: 0.78rem !important;
}

.player-panel-toolbar .title-bar-menu-btn .title-bar-utility-btn__icon {
    width: 14px !important;
    min-width: 14px !important;
    font-size: 0.85rem !important;
}
.player-panel-toolbar .title-bar-utility-panel {
    --rl-player-menu-button-size: 36px;
    --rl-player-menu-icon-size: 18px;
    --rl-player-menu-panel-gap: 8px;
    --rl-player-menu-panel-padding: 8px;
    --rl-player-menu-panel-width: calc((var(--rl-player-menu-button-size) * 4) + (var(--rl-player-menu-panel-gap) * 3) + (var(--rl-player-menu-panel-padding) * 2));
    top: calc(100% + 8px) !important;
    left: auto !important;
    right: 0 !important;
    grid-template-columns: repeat(4, var(--rl-player-menu-button-size)) !important;
    gap: var(--rl-player-menu-panel-gap) !important;
    width: min(calc(100vw - 48px), var(--rl-player-menu-panel-width)) !important;
    max-width: min(calc(100vw - 48px), var(--rl-player-menu-panel-width)) !important;
    padding: var(--rl-player-menu-panel-padding) !important;
    transform-origin: top right !important;
}

.player-panel-toolbar .title-bar-utility-panel .title-bar-utility-btn,
.player-panel-toolbar .title-bar-utility-panel .status-seal {
    width: var(--rl-player-menu-button-size) !important;
    min-width: var(--rl-player-menu-button-size) !important;
    max-width: var(--rl-player-menu-button-size) !important;
    height: var(--rl-player-menu-button-size) !important;
    min-height: var(--rl-player-menu-button-size) !important;
    padding: 4px !important;
    border-radius: var(--rl-soft-radius, 8px) !important;
    box-sizing: border-box !important;
    justify-content: center !important;
    align-items: center !important;
    overflow: hidden !important;
    container-type: size;
}

.player-panel-toolbar .title-bar-utility-panel .title-bar-utility-btn__label,
.player-panel-toolbar .title-bar-utility-panel .status-seal__text {
    display: none !important;
}

.player-column-lhs > .player-core {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.player-column-lhs > #player-footer {
    box-sizing: border-box !important;
}

.player-column-lhs > .player-panel-toolbar {
    box-sizing: border-box !important;
}

.player-core {
    display: flex !important;
    flex: 0 0 auto !important;
    min-height: clamp(104px, 15vh, 142px) !important;
}

.track-info-container {
    width: 100% !important;
    min-width: 0 !important;
    min-height: clamp(104px, 15vh, 142px) !important;
    flex: 0 0 auto !important;
    height: auto !important;
    justify-content: center !important;
    align-items: center !important;
    padding: clamp(10px, 1.35vh, 14px) 14px !important;
    box-sizing: border-box !important;
}

.track-info-container .marquee-wrapper {
    width: 100%;
    min-width: 0;
    max-width: 100% !important;
    padding-inline: 0 !important;
    overflow: hidden !important;
    white-space: normal !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
}

.track-info-container #trackTitleWrapper,
.track-info-container #trackArtistWrapper,
.track-info-container #trackAlbumWrapper {
    width: 100% !important;
    max-width: 100% !important;
}

#trackTitle,
#trackArtist,
#trackAlbum {
    max-width: 100%;
    letter-spacing: 0 !important;
    white-space: normal !important;
    overflow-wrap: break-word;
    word-break: normal;
    hyphens: auto;
    text-align: center;
}

#trackTitle {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: clamp(0.98rem, 0.86rem + 0.38vw, 1.22rem) !important;
    line-height: 1.13 !important;
}

#trackArtist {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: clamp(0.76rem, 0.72rem + 0.14vw, 0.88rem) !important;
    line-height: 1.18 !important;
}

#trackAlbum {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    line-clamp: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: clamp(0.68rem, 0.64rem + 0.12vw, 0.78rem) !important;
    line-height: 1.16 !important;
}

.track-info-container .marquee-wrapper.is-marquee-active {
    -webkit-mask-image: none !important;
    mask-image: none !important;
}

.track-info-container .marquee-effect,
#trackTitle.text-auto-fit,
#trackArtist.text-auto-fit,
#trackAlbum.text-auto-fit {
    width: auto !important;
    max-width: 100% !important;
    white-space: normal !important;
    animation: none !important;
    transform: translateX(0) !important;
    will-change: auto !important;
}

#player-footer,
#player-footer.panel-footer {
    --rl-player-side-control-size: 36px;
    --rl-player-main-control-size: 46px;
    --rl-player-volume-control-size: 34px;
    --rl-player-side-control-radius: 12px;
    --rl-player-main-control-radius: 14px;
    /* Colado nas laterais e na base do painel pai (cancela o padding da coluna). */
    width: calc(100% + (var(--ui-player-column-padding, 23px) * 2)) !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    min-height: 118px !important;
    margin-top: auto !important;
    margin-right: calc(var(--ui-player-column-padding, 23px) * -1) !important;
    margin-bottom: calc(var(--ui-player-column-padding, 23px) * -1) !important;
    margin-left: calc(var(--ui-player-column-padding, 23px) * -1) !important;
    padding: 8px 6px 10px !important;
    gap: 0 !important;
    border-radius: 0 0 var(--border-radius-l, var(--rl-admin-radius-md)) var(--border-radius-l, var(--rl-admin-radius-md)) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
}

#player-footer .player-footer-content {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    grid-template-columns: minmax(0, 1fr) auto auto auto minmax(0, 1fr);
    justify-items: center;
    row-gap: 6px !important;
    column-gap: 10px !important;
}

#player-footer .player-footer-content .progress-bar-container {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto !important;
    column-gap: 4px !important;
    row-gap: 2px !important;
    width: 100% !important;
    min-width: 0 !important;
}

#player-footer .progress-bar-row {
    display: contents !important;
}

#player-footer .progress-bar-row input[type="range"] {
    grid-column: 1 !important;
    grid-row: 1 !important;
    flex: none !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
}

#player-footer .control-button-volume-wrapper {
    grid-column: 2 !important;
    grid-row: 1 / span 2 !important;
    align-self: center !important;
    justify-self: end !important;
    flex: 0 0 var(--rl-player-volume-control-size) !important;
    width: var(--rl-player-volume-control-size) !important;
    min-width: var(--rl-player-volume-control-size) !important;
    max-width: var(--rl-player-volume-control-size) !important;
    margin: 0 !important;
}

#player-footer .progress-bar-row .volume-mixer-button {
    width: var(--rl-player-volume-control-size) !important;
    height: var(--rl-player-volume-control-size) !important;
    min-width: var(--rl-player-volume-control-size) !important;
    min-height: var(--rl-player-volume-control-size) !important;
}

#player-footer .progress-bar-container .time-display {
    grid-column: 1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    box-sizing: border-box;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 0.7rem !important;
    font-weight: 540 !important;
    letter-spacing: 0.03em !important;
    font-variant-numeric: tabular-nums !important;
}

#player-footer .player-footer-content > #prevButton,
#player-footer .player-footer-content > #nextButton {
    width: var(--rl-player-side-control-size) !important;
    height: var(--rl-player-side-control-size) !important;
    min-width: var(--rl-player-side-control-size) !important;
    min-height: var(--rl-player-side-control-size) !important;
    border-radius: var(--rl-player-side-control-radius) !important;
}

#player-footer .player-footer-content > #playPauseButton {
    width: var(--rl-player-main-control-size) !important;
    height: var(--rl-player-main-control-size) !important;
    min-width: var(--rl-player-main-control-size) !important;
    min-height: var(--rl-player-main-control-size) !important;
    border-radius: var(--rl-player-main-control-radius) !important;
}

#player-footer .player-footer-content > #prevButton,
#player-footer .player-footer-content > #nextButton,
#player-footer .player-footer-content > #playPauseButton,
#player-footer .progress-bar-row .volume-mixer-button {
    background: var(--rl-admin-control-bg) !important;
    border-color: var(--rl-admin-border-strong) !important;
    color: var(--rl-admin-text-soft) !important;
    box-shadow: var(--rl-admin-control-outline), var(--rl-admin-control-shadow) !important;
}

#player-footer .player-footer-content > #prevButton::before,
#player-footer .player-footer-content > #nextButton::before,
#player-footer .player-footer-content > #playPauseButton::before,
#player-footer .progress-bar-row .volume-mixer-button::before {
    opacity: 0.32 !important;
}

#player-footer .player-footer-content > #prevButton i,
#player-footer .player-footer-content > #nextButton i,
#player-footer .progress-bar-row .volume-mixer-button i {
    font-size: 0.84rem !important;
}

#player-footer .player-footer-content > #playPauseButton i {
    font-size: 1.08rem !important;
}

#player-footer .player-footer-content > #prevButton:hover,
#player-footer .player-footer-content > #nextButton:hover,
#player-footer .player-footer-content > #playPauseButton:hover,
#player-footer .player-footer-content > #playPauseButton:focus-visible,
#player-footer .progress-bar-row .volume-mixer-button:hover,
#player-footer .progress-bar-row .volume-mixer-button:focus-visible {
    background: var(--rl-admin-control-hover-bg) !important;
    color: var(--rl-admin-text) !important;
    transform: translateY(-1px) !important;
    box-shadow: var(--rl-admin-control-outline), var(--rl-admin-control-shadow-hover) !important;
}

@media (max-width: 1180px), (max-height: 760px) {
    .player-column-lhs {
        --rl-player-column-gap: 10px;
        --rl-player-inner-radius: 18px;
        --rl-player-art-size: min(34vh, 260px);
    }

    .player-core,
    .track-info-container {
        min-height: clamp(88px, 15vh, 124px) !important;
    }

    #player-footer {
        --rl-player-side-control-size: 34px;
        --rl-player-main-control-size: 44px;
        --rl-player-volume-control-size: 32px;
        min-height: 104px !important;
        padding: 8px 5px 9px !important;
    }
}

@media (max-height: 600px) {
    .player-column-lhs {
        --rl-player-art-size: min(28vh, 168px);
    }

    .player-core,
    .track-info-container {
        min-height: clamp(70px, 13vh, 96px) !important;
    }

    #trackArtist {
        -webkit-line-clamp: 1;
        line-clamp: 1;
    }

    #player-footer {
        --rl-player-side-control-size: 32px;
        --rl-player-main-control-size: 40px;
        --rl-player-volume-control-size: 30px;
        min-height: 88px !important;
        padding: 7px 4px 8px !important;
    }
}

@media (max-height: 420px) {
    .player-column-lhs {
        --rl-player-column-gap: 8px;
        --rl-player-art-size: min(24vh, 82px);
        padding: 8px !important;
    }

    .player-core,
    .track-info-container {
        min-height: clamp(40px, 13vh, 54px) !important;
    }

    .track-info-container {
        padding: 8px 10px !important;
    }

    #trackTitle {
        -webkit-line-clamp: 1;
        line-clamp: 1;
        font-size: clamp(0.82rem, 0.72rem + 0.34vw, 0.96rem) !important;
        line-height: 1.04 !important;
    }

    #trackArtist,
    #trackAlbum {
        -webkit-line-clamp: 1;
        line-clamp: 1;
        font-size: clamp(0.58rem, 0.54rem + 0.16vw, 0.68rem) !important;
        line-height: 1.08 !important;
    }

    #trackAlbumWrapper.is-visible {
        display: none !important;
    }

    #player-footer {
        --rl-player-side-control-size: 28px;
        --rl-player-main-control-size: 36px;
        --rl-player-volume-control-size: 28px;
        min-height: 0 !important;
        padding: 6px 4px !important;
    }

    #player-footer .player-footer-content {
        row-gap: 4px !important;
        column-gap: 6px !important;
    }

    #player-footer .player-footer-content .progress-bar-container {
        column-gap: 3px !important;
    }

    #player-footer .progress-bar-container .time-display {
        margin-bottom: 0 !important;
        font-size: calc(var(--font-size-s) * 0.86) !important;
        line-height: 1 !important;
        font-variant-numeric: tabular-nums !important;
    }

    #player-footer .progress-bar-row .volume-mixer-button i,
    #player-footer .player-footer-content > #prevButton i,
    #player-footer .player-footer-content > #nextButton i {
        font-size: 0.72rem !important;
    }

    #player-footer .player-footer-content > #playPauseButton i {
        font-size: 0.9rem !important;
    }
}

@media (max-height: 600px) {
    .title-bar-text h1 {
        font-size: clamp(0.9rem, calc(var(--ui-titlebar-height, 36px) * 0.48), 1.08rem) !important;
    }

    .title-bar-text {
        height: calc(var(--ui-titlebar-height, 36px) - 4px) !important;
        max-width: min(430px, calc(100vw - 150px)) !important;
    }

    .title-brand-cluster {
        max-height: calc(var(--ui-titlebar-height, 36px) - 4px) !important;
        padding: 2px 7px 2px 3px !important;
    }

    .title-brand-cluster__divider {
        margin: 2px 0 !important;
    }

    .title-logo-shell {
        width: clamp(24px, calc(var(--ui-titlebar-height, 36px) - 8px), 30px) !important;
        height: clamp(24px, calc(var(--ui-titlebar-height, 36px) - 8px), 30px) !important;
        border-radius: 10px !important;
    }

    .title-bar-text .title-logo {
        width: clamp(20px, calc(var(--ui-titlebar-height, 36px) - 12px), 26px) !important;
        height: clamp(20px, calc(var(--ui-titlebar-height, 36px) - 12px), 26px) !important;
    }

    .title-bar-plan-badge {
        min-height: clamp(18px, calc(var(--ui-titlebar-height, 36px) - 16px), 22px) !important;
        font-size: clamp(0.52rem, calc(var(--ui-titlebar-height, 36px) * 0.22), 0.62rem) !important;
    }

    .title-bar-utility-btn,
    .title-bar-controls .title-bar-btn {
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
    }

    .title-bar-utility-panel .status-seal,
    .update-available-btn {
        min-height: 28px;
    }
}

@media (max-width: 1180px),
(max-height: 720px) {
    body.has-update-available .status-seal__text {
        display: none !important;
    }
}

@media (min-width: 721px) and (max-width: 1100px) {
    .title-bar-menu-btn {
        width: auto !important;
        min-width: 92px !important;
        max-width: none !important;
        padding: 0 12px !important;
        gap: 8px !important;
        justify-content: center !important;
    }

    .title-bar-menu-btn .title-bar-utility-btn__label {
        display: inline-flex !important;
    }

    .title-bar-utility-panel {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        width: min(calc(100vw - 18px), 520px) !important;
        max-width: min(calc(100vw - 18px), 520px) !important;
        gap: 6px !important;
        padding: 6px !important;
    }

    .title-bar-utility-panel .title-bar-utility-btn,
    .title-bar-utility-panel .status-seal {
        min-height: 32px !important;
        height: 32px !important;
        padding: 0 10px !important;
        justify-content: flex-start !important;
        gap: 8px !important;
    }

    .title-bar-utility-panel .title-bar-utility-btn__label,
    .title-bar-utility-panel .status-seal__text {
        display: inline-flex !important;
    }
}

/* “No ar” / instant: mesmo fundo que as demais linhas; cor só no preenchimento (::before). */
.playlist-item.active.music-type,
.playlist-item.active.announcement-type,
.playlist-item.instant-play-active.announcement-type {
    background:
        linear-gradient(90deg, var(--call-accent-color, transparent), var(--call-accent-color, transparent)) top / calc(100% - 2px) 3px no-repeat,
        var(--rl-admin-panel-bg-strong) !important;
    border: 1px solid var(--rl-admin-border) !important;
    box-shadow: none !important;
}

body.pwa-native-titlebar {
    --ui-titlebar-height: 0px;
    --ui-player-container-padding: 20px 16px 20px 16px;
    --rl-primary-panel-tabs-height: 52px;
    --rl-pwa-safe-top: env(safe-area-inset-top, 0px);
}

@media (min-width: 768px) and (max-width: 1024px) {
    body.pwa-native-titlebar {
        --ui-player-container-padding: 24px 20px 24px 20px;
        --ui-layout-gap: 20px;
        --ui-content-column-gap: 20px;
        --ui-content-row-gap: 20px;
    }
}

body.pwa-native-titlebar .player-panel-toolbar .title-bar-menu-shell,
body.pwa-native-titlebar .player-panel-toolbar .title-bar-menu-btn,
body.pwa-native-titlebar .player-panel-toolbar .title-bar-utility-panel {
    pointer-events: auto !important;
}

body.pwa-native-titlebar .player-panel-toolbar .title-bar-menu-btn {
    width: var(--rl-player-toolbar-menu-width) !important;
    min-width: 0 !important;
    max-width: var(--rl-player-toolbar-menu-width) !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 0 10px !important;
    border-radius:
        var(--rl-soft-radius, 8px)
        calc(var(--rl-player-toolbar-radius, 20px) - var(--rl-player-toolbar-edge, 2px))
        0
        var(--rl-soft-radius, 8px) !important;
    gap: 6px !important;
}

body.pwa-native-titlebar .player-panel-toolbar .title-bar-menu-btn .title-bar-utility-btn__label {
    display: inline-flex !important;
}

/* Botão Menu: largura −20% fora do celular em retrato; altura já segue a faixa do header. */
@media (min-width: 671px) {
    .player-panel-toolbar {
        --rl-player-toolbar-menu-width: calc(94px * 0.8);
    }

    .player-panel-toolbar .title-bar-menu-btn,
    body.pwa-native-titlebar .player-panel-toolbar .title-bar-menu-btn {
        padding: 0 8px !important;
        border-radius:
            var(--rl-soft-radius, 8px)
            calc(var(--rl-player-toolbar-radius, 20px) - var(--rl-player-toolbar-edge, 2px))
            0
            var(--rl-soft-radius, 8px) !important;
        gap: 5px !important;
    }

    .player-panel-toolbar .title-bar-menu-btn .title-bar-utility-btn__label {
        font-size: 0.74rem !important;
    }

    .player-panel-toolbar .title-bar-menu-btn .title-bar-utility-btn__icon {
        width: 13px !important;
        min-width: 13px !important;
        font-size: 0.8rem !important;
    }
}

body.pwa-native-titlebar .player-panel-toolbar .title-bar-utility-panel {
    top: calc(100% + 8px) !important;
    left: auto !important;
    right: 0 !important;
    width: min(calc(100vw - 48px), var(--rl-player-menu-panel-width)) !important;
    max-width: min(calc(100vw - 48px), var(--rl-player-menu-panel-width)) !important;
    transform-origin: top right !important;
}

.title-bar-utility-panel.is-floating-application-layer.is-player-panel-utility {
    --rl-player-menu-button-size: 36px;
    --rl-player-menu-icon-size: 18px;
    --rl-player-menu-panel-gap: 8px;
    --rl-player-menu-panel-padding: 8px;
    --rl-player-menu-panel-width: calc((var(--rl-player-menu-button-size) * 4) + (var(--rl-player-menu-panel-gap) * 3) + (var(--rl-player-menu-panel-padding) * 2));
    grid-template-columns: repeat(4, var(--rl-player-menu-button-size)) !important;
    gap: var(--rl-player-menu-panel-gap) !important;
    row-gap: var(--rl-player-menu-panel-gap) !important;
    column-gap: var(--rl-player-menu-panel-gap) !important;
    width: min(calc(100vw - 16px), var(--rl-player-menu-panel-width)) !important;
    max-width: min(calc(100vw - 16px), var(--rl-player-menu-panel-width)) !important;
    padding: var(--rl-player-menu-panel-padding) !important;
    border-radius: var(--rl-soft-radius, 8px) !important;
    transform-origin: top left !important;
}

.title-bar-utility-panel.is-floating-application-layer.is-player-panel-utility .title-bar-utility-btn,
.title-bar-utility-panel.is-floating-application-layer.is-player-panel-utility .status-seal {
    width: var(--rl-player-menu-button-size) !important;
    min-width: var(--rl-player-menu-button-size) !important;
    max-width: var(--rl-player-menu-button-size) !important;
    height: var(--rl-player-menu-button-size) !important;
    min-height: var(--rl-player-menu-button-size) !important;
    padding: 4px !important;
    border-radius: var(--rl-soft-radius, 8px) !important;
    box-sizing: border-box !important;
    justify-content: center !important;
    align-items: center !important;
    overflow: hidden !important;
    container-type: size;
}

.title-bar-utility-panel.is-floating-application-layer.is-player-panel-utility .title-bar-utility-btn__label,
.title-bar-utility-panel.is-floating-application-layer.is-player-panel-utility .status-seal__text {
    display: none !important;
}

/* ícone cabe no botão */
.title-bar-utility-panel.is-floating-application-layer.is-player-panel-utility .title-bar-utility-btn__icon,
.title-bar-utility-panel.is-floating-application-layer.is-player-panel-utility .status-seal__icon-wrap,
.player-panel-toolbar .title-bar-utility-panel .title-bar-utility-btn__icon,
.player-panel-toolbar .title-bar-utility-panel .status-seal__icon-wrap {
    display: inline-grid !important;
    place-items: center !important;
    width: var(--rl-player-menu-icon-size, 18px) !important;
    height: var(--rl-player-menu-icon-size, 18px) !important;
    min-width: var(--rl-player-menu-icon-size, 18px) !important;
    min-height: var(--rl-player-menu-icon-size, 18px) !important;
    max-width: var(--rl-player-menu-icon-size, 18px) !important;
    max-height: var(--rl-player-menu-icon-size, 18px) !important;
    overflow: hidden !important;
    font-size: calc(var(--rl-player-menu-icon-size, 18px) * 0.92) !important;
    line-height: 1 !important;
}

.title-bar-utility-panel.is-floating-application-layer.is-player-panel-utility .title-bar-utility-btn__icon > i,
.title-bar-utility-panel.is-floating-application-layer.is-player-panel-utility .status-seal__icon-wrap > i,
.player-panel-toolbar .title-bar-utility-panel .title-bar-utility-btn__icon > i,
.player-panel-toolbar .title-bar-utility-panel .status-seal__icon-wrap > i {
    font-size: 1em !important;
    width: 1em !important;
    height: 1em !important;
    max-width: 100% !important;
    max-height: 100% !important;
    line-height: 1 !important;
    display: inline-grid !important;
    place-items: center !important;
}

body.pwa-native-titlebar .player-container {
    padding: var(--ui-player-container-padding) !important;
}

@media (max-width: 670px) {
    body.pwa-native-titlebar {
        --rl-pwa-safe-top: max(18px, env(safe-area-inset-top, 0px));
        --rl-primary-panel-tabs-height: 42px;
        --ui-player-container-padding: calc(var(--rl-pwa-safe-top) + var(--rl-primary-panel-tabs-height, 42px) + 6px) 10px max(10px, env(safe-area-inset-bottom, 0px)) 10px;
    }

    body.pwa-native-titlebar .primary-panel-tabs {
        background: var(--rl-admin-topbar-bg, var(--panel-header-bg, rgba(26, 28, 32, 0.98))) !important;
        border-bottom: 1px solid var(--rl-admin-border, var(--border-primary)) !important;
        box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04), 0 8px 18px rgba(0, 0, 0, 0.16) !important;
    }

    body.pwa-native-titlebar .primary-panel-tab {
        min-height: 30px !important;
        padding: 0 6px !important;
        font-size: 12px !important;
    }

    body.pwa-native-titlebar .primary-panel-tab i {
        font-size: 0.92em !important;
    }

    body.pwa-native-titlebar .player-panel-toolbar {
        gap: 0 !important;
        min-height: 30px !important;
    }

    body.pwa-native-titlebar .player-panel-brand {
        display: none !important;
    }

    body.pwa-native-titlebar .player-panel-menu-shell {
        flex-basis: 62px !important;
        width: 62px !important;
        min-width: 62px !important;
        max-width: 62px !important;
    }

    body.pwa-native-titlebar .player-panel-toolbar .title-bar-menu-btn {
        max-width: 62px !important;
        height: 30px !important;
        min-height: 30px !important;
        padding: 0 7px !important;
        border-radius:
            var(--rl-soft-radius, 8px)
            calc(var(--rl-player-toolbar-radius, 20px) - var(--rl-player-toolbar-edge, 2px))
            0
            var(--rl-soft-radius, 8px) !important;
        gap: 5px !important;
    }

    body.pwa-native-titlebar .player-panel-toolbar .title-bar-menu-btn .title-bar-utility-btn__label {
        font-size: 11px !important;
    }

    body.pwa-native-titlebar .player-column-lhs {
        --rl-player-column-gap: clamp(7px, 1dvh, 10px);
        --rl-player-art-size: clamp(152px, 25dvh, 212px);
        min-height: 0 !important;
        height: auto !important;
        justify-content: flex-start !important;
        gap: var(--rl-player-column-gap) !important;
        padding: 10px !important;
    }

    body.pwa-native-titlebar #albumArtWrapper {
        width: min(100%, var(--rl-player-art-size)) !important;
        max-width: min(100%, var(--rl-player-art-size)) !important;
        margin: 0 auto !important;
    }

    body.pwa-native-titlebar .player-core,
    body.pwa-native-titlebar .track-info-container {
        min-height: clamp(72px, 11dvh, 96px) !important;
    }

    body.pwa-native-titlebar .track-info-container {
        padding: 8px 12px !important;
    }

    body.pwa-native-titlebar #player-footer {
        --rl-player-side-control-size: 32px;
        --rl-player-main-control-size: 42px;
        --rl-player-volume-control-size: 32px;
        min-height: 96px !important;
        margin-top: 0 !important;
        padding: 7px 4px 8px !important;
    }

    body.pwa-native-titlebar #player-footer .player-footer-content {
        row-gap: 5px !important;
        column-gap: 8px !important;
    }

    body.pwa-native-titlebar .content-rhs-column {
        min-height: 0 !important;
        height: auto !important;
    }
}

@media (min-width: 671px) and (max-width: 1024px) and (pointer: coarse) {
    body.pwa-native-titlebar .player-column-lhs {
        --rl-player-column-gap: clamp(9px, 1dvh, 13px);
        --rl-player-art-size: clamp(220px, 32dvh, 340px);
        justify-content: flex-start !important;
    }

    body.pwa-native-titlebar #albumArtWrapper {
        width: min(100%, var(--rl-player-art-size)) !important;
        max-width: min(100%, var(--rl-player-art-size)) !important;
        margin: 0 auto !important;
    }

    body.pwa-native-titlebar .player-core,
    body.pwa-native-titlebar .track-info-container {
        min-height: clamp(90px, 12dvh, 124px) !important;
    }

    body.pwa-native-titlebar #player-footer {
        min-height: clamp(104px, 13dvh, 124px) !important;
        margin-top: 0 !important;
    }
}

@media (max-width: 720px), (max-height: 600px) {
    body.pwa-native-titlebar .title-bar-actions {
        display: none !important;
    }

    body.pwa-native-titlebar .title-bar-actions .title-bar-menu-btn {
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        height: 34px !important;
        min-height: 34px !important;
        padding: 0 !important;
    }

    body.pwa-native-titlebar .title-bar-actions .title-bar-menu-btn .title-bar-utility-btn__label {
        display: none !important;
    }
}

@media (max-width: 670px) and (max-height: 600px) {
    body.pwa-native-titlebar {
        --rl-primary-panel-tabs-height: 40px;
        --ui-player-container-padding: calc(var(--rl-pwa-safe-top) + var(--rl-primary-panel-tabs-height, 40px) + 5px) 8px max(8px, env(safe-area-inset-bottom, 0px)) 8px;
    }
}

.title-bar-plan-badge {
    min-height: 22px !important;
    height: 22px !important;
    padding: 0 10px !important;
    border-radius: var(--rl-soft-radius, 8px) !important;
    border: 1px solid var(--rl-admin-pill-border, var(--title-brand-badge-border, rgba(120, 126, 116, 0.24))) !important;
    background: color-mix(in srgb, var(--rl-admin-text, #27313b) 9%, transparent) !important;
    background-image: none !important;
    box-shadow: none !important;
    color: var(--rl-admin-pill-text, var(--rl-admin-text, #27313b)) !important;
    font-size: 0.64rem !important;
    font-weight: 760 !important;
    line-height: 1 !important;
    letter-spacing: 0.04em !important;
    transition: none !important;
}

body.theme-dark .title-bar-plan-badge {
    border-color: var(--rl-admin-pill-border, rgba(203, 213, 225, 0.18)) !important;
    background: color-mix(in srgb, var(--rl-admin-text, #f5f7fa) 12%, transparent) !important;
    background-image: none !important;
    color: var(--rl-admin-pill-text, var(--rl-admin-text, rgba(245, 247, 250, 0.88))) !important;
    transition: none !important;
}

body .title-bar-plan-badge,
body .title-bar-plan-badge.plan-start,
body .title-bar-plan-badge.plan-pro,
body .title-bar-plan-badge.plan-max {
    border-color: var(--rl-admin-pill-border, var(--title-brand-badge-border, rgba(120, 126, 116, 0.24))) !important;
    background: color-mix(in srgb, var(--rl-admin-text, #27313b) 9%, transparent) !important;
    background-image: none !important;
    color: var(--rl-admin-pill-text, var(--rl-admin-text, #27313b)) !important;
    box-shadow: none !important;
    transition: none !important;
}

body.theme-dark .title-bar-plan-badge,
body.theme-dark .title-bar-plan-badge.plan-start,
body.theme-dark .title-bar-plan-badge.plan-pro,
body.theme-dark .title-bar-plan-badge.plan-max {
    border-color: var(--rl-admin-pill-border, rgba(203, 213, 225, 0.18)) !important;
    background: color-mix(in srgb, var(--rl-admin-text, #f5f7fa) 12%, transparent) !important;
    background-image: none !important;
    color: var(--rl-admin-pill-text, var(--rl-admin-text, rgba(245, 247, 250, 0.88))) !important;
    box-shadow: none !important;
    transition: none !important;
}

/* Contrato final: a capa principal nunca pode esticar fora de 1:1. */
.player-column-lhs > #albumArtWrapper,
#albumArtWrapper {
    aspect-ratio: 1 / 1 !important;
    width: min(100%, var(--rl-player-art-size, min(42vh, 440px))) !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: min(100%, var(--rl-player-art-size, min(42vh, 440px))) !important;
    max-height: none !important;
    margin: 0 auto !important;
    border-radius: var(--rl-player-inner-radius, 20px) !important;
    overflow: hidden !important;
    background: transparent !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    flex: 0 0 auto !important;
}

#albumArtWrapper::before,
#albumArtWrapper::after {
    content: none !important;
    display: none !important;
}

#albumArtContainer {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 1 / 1 !important;
    border: 0 !important;
    border-radius: inherit !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

#albumArtContainer img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    border-radius: inherit !important;
    background: transparent !important;
    box-shadow: none !important;
}
