/*
 * Theme coherence layer.
 * Keeps legacy brown utility buttons from leaking into expressive themes.
 */
:root {
    --action-fill: var(--accent, #5D4037);
    --action-fill-2: var(--accent-active-end, var(--accent, #5D4037));
    --action-ink: var(--on-accent, #fffaf0);
    --action-border: color-mix(in srgb, var(--accent, #5D4037) 58%, transparent);
    --quiet-action-fill: color-mix(in srgb, var(--surface-strong, #fff) 76%, var(--accent, #5D4037) 24%);
    --quiet-action-ink: var(--brown, #3E2723);
    --quiet-action-border: color-mix(in srgb, var(--accent, #5D4037) 38%, transparent);
    --status-pill-bg: #3E2723;
    --status-pill-ink: #FFFDD0;
    --status-pill-border: color-mix(in srgb, var(--accent-2, #007c82) 52%, transparent);
    --status-track-bg: color-mix(in srgb, var(--brown, #3E2723) 20%, transparent);
    --status-bar-start: var(--accent, #5D4037);
    --status-bar-mid: var(--accent-2, #007c82);
    --status-bar-end: var(--accent-3, #b35a43);
}

html.dark {
    --status-pill-bg: #101015;
    --status-pill-ink: #54d8e8;
    --status-pill-border: rgba(84, 216, 232, 0.58);
    --status-track-bg: rgba(247, 234, 215, 0.18);
    --status-bar-start: #f1a85d;
    --status-bar-mid: #54d8e8;
    --status-bar-end: #f7ead7;
}

html.theme-trek {
    --action-fill: #2f82ff;
    --action-fill-2: #ffc857;
    --action-ink: #06132a;
    --action-border: rgba(104, 184, 255, 0.66);
    --quiet-action-fill: rgba(7, 31, 68, 0.82);
    --quiet-action-ink: #dff2ff;
    --quiet-action-border: rgba(104, 184, 255, 0.42);
    --status-pill-bg: #06132a;
    --status-pill-ink: #ffc857;
    --status-pill-border: rgba(255, 200, 87, 0.62);
    --status-track-bg: rgba(229, 243, 255, 0.16);
    --status-bar-start: #2f82ff;
    --status-bar-mid: #ffc857;
    --status-bar-end: #dff2ff;
}

html.theme-opm {
    --action-fill: #d71920;
    --action-fill-2: #1f1b16;
    --action-ink: #fff8df;
    --action-border: rgba(31, 27, 22, 0.58);
    --quiet-action-fill: rgba(255, 248, 223, 0.88);
    --quiet-action-ink: #1f1b16;
    --quiet-action-border: rgba(215, 25, 32, 0.48);
    --status-pill-bg: #1f1b16;
    --status-pill-ink: #f8c62d;
    --status-pill-border: rgba(31, 27, 22, 0.68);
    --status-track-bg: rgba(31, 27, 22, 0.22);
    --status-bar-start: #d71920;
    --status-bar-mid: #1f1b16;
    --status-bar-end: #fff8df;
}

html.theme-borg {
    --accent: #42f56c;
    --accent-2: #a4ff7a;
    --accent-3: #0b7a39;
    --accent-readable: #bbffb0;
    --accent-active-end: #a4ff7a;
    --on-accent: #031008;
    --badge-fg: #dcffd7;
    --action-fill: #1fc85f;
    --action-fill-2: #a4ff7a;
    --action-ink: #031008;
    --action-border: rgba(119, 255, 126, 0.68);
    --quiet-action-fill: rgba(5, 22, 13, 0.86);
    --quiet-action-ink: #dcffd7;
    --quiet-action-border: rgba(119, 255, 126, 0.44);
    --status-pill-bg: #031008;
    --status-pill-ink: #a4ff7a;
    --status-pill-border: rgba(164, 255, 122, 0.68);
    --status-track-bg: rgba(220, 255, 215, 0.16);
    --status-bar-start: #1fc85f;
    --status-bar-mid: #a4ff7a;
    --status-bar-end: #dcffd7;
}

:is(button, a, [role="button"], .rfp-draft-chat-btn, #downloadBtn)[class~="bg-[#5D4037]"],
#panel-buchung button:first-of-type,
#manifest-bar button,
#downloadBtn,
.rfp-draft-chat-btn.is-primary {
    background: linear-gradient(90deg, var(--action-fill), var(--action-fill-2)) !important;
    border-color: var(--action-border) !important;
    color: var(--action-ink) !important;
}

:is(button, a, [role="button"])[class~="border-[#5D4037]"]:not([class~="bg-[#5D4037]"]),
#btn-open-smart-services,
.booking-proof-card,
.home-offer-card {
    background: var(--quiet-action-fill) !important;
    border-color: var(--quiet-action-border) !important;
    color: var(--quiet-action-ink) !important;
}

:is(button, a, [role="button"])[class~="hover:bg-[#5D4037]"]:hover,
#btn-open-smart-services:hover,
.booking-proof-card:hover,
.home-offer-card:hover {
    background: linear-gradient(90deg, var(--action-fill), var(--action-fill-2)) !important;
    border-color: var(--action-border) !important;
    color: var(--action-ink) !important;
}

[data-theme-option][aria-pressed="true"],
[data-theme-option].active,
#ambientToggle[aria-pressed="true"],
#voiceToggle[aria-pressed="true"] {
    background: linear-gradient(90deg, var(--action-fill), var(--action-fill-2)) !important;
    color: var(--action-ink) !important;
}

html.theme-trek [class~="text-[#5D4037]"],
html.theme-borg [class~="text-[#5D4037]"] {
    color: var(--accent-readable) !important;
}

html.theme-trek [class~="border-[#5D4037]"],
html.theme-borg [class~="border-[#5D4037]"] {
    border-color: var(--action-border) !important;
}

html.theme-borg :is(button, a, [role="button"], .rfp-draft-chat-btn, #downloadBtn)[class~="bg-[#5D4037]"],
html.theme-borg #panel-buchung button:first-of-type,
html.theme-borg #manifest-bar button,
html.theme-borg #downloadBtn,
html.theme-borg .rfp-draft-chat-btn.is-primary,
html.theme-borg [data-theme-option][aria-pressed="true"],
html.theme-borg [data-theme-option].active {
    box-shadow: 0 0 18px rgba(66, 245, 108, 0.24), inset 0 0 0 1px rgba(220, 255, 215, 0.14) !important;
}

html.theme-borg .nav-btn.active {
    border-left-color: var(--accent) !important;
}

.ai-lab-load-percent,
.global-ai-load-percent {
    background: var(--status-pill-bg) !important;
    border-color: var(--status-pill-border) !important;
    color: var(--status-pill-ink) !important;
}

.ai-lab-load-track,
.global-ai-load-track,
#ai-progress-container {
    background: var(--status-track-bg) !important;
}

.ai-lab-load-bar,
.global-ai-load-bar,
#ai-progress-bar,
#intro-progress-bar {
    background: linear-gradient(90deg, var(--status-bar-start), var(--status-bar-mid), var(--status-bar-end)) !important;
    box-shadow: 0 0 18px color-mix(in srgb, var(--status-bar-mid) 34%, transparent) !important;
}
