/* Phase76.11G: additive appearance layer. Existing Light tokens/collision exclusions stay intact.
   Screen-only Dark mappings leave print/export styling light. JS-unavailable fallback is Light. */
:root { color-scheme: light; --mw-appearance-bg: #fff; --mw-appearance-text: #282b8b; --mw-appearance-border: #737b88; --mw-appearance-focus: #282b8b; }
/* Existing plain return link: use the approved link token to meet AA on the muted canvas. */
.mw76-security-stack > a { color: var(--mw76-link); }
.mw-appearance { display: inline-flex; align-items: center; gap: .5rem; max-inline-size: 100%; margin: 0; color: var(--mw-appearance-text); font: 600 .8125rem/1.5 "Manrope", "IBM Plex Sans Arabic", "Segoe UI", sans-serif; }
.mw-appearance svg { flex-shrink: 0; }
.mw-appearance select { box-sizing: border-box; min-block-size: 44px; max-inline-size: 100%; padding: .5rem .55rem; border: 1px solid var(--mw-appearance-border); border-radius: .375rem; background: var(--mw-appearance-bg); color: var(--mw-appearance-text); font: inherit; cursor: pointer; }
.mw-appearance select:focus-visible { outline: 3px solid var(--mw-appearance-focus); outline-offset: 3px; }
.mw-appearance select:disabled { cursor: default; opacity: .65; }
.mw76-header .mw-appearance-label { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); }
/* Keep each header preference together; compact language labels retain the same POSTs/names. */
.mw-language-short { display: none; }
.mw76-header .mw-language-switcher,
.mw76-header .mw-language-options { flex-wrap: nowrap; flex-shrink: 0; }
.mw76-header .mw-language-button { min-block-size: 44px; white-space: nowrap; }
.mw76-root.mw76-header :is(.mw76-customer-topbar,.mw76-tenant-topbar,.mw76-platform-topbar) { flex-wrap: wrap; }
.mw76-root.mw76-header :is(.mw76-customer-account-controls,.mw76-tenant-account-controls,.mw76-platform-account-controls) { flex-wrap: wrap; min-inline-size: 0; }
.mw76-header :is(.mw-appearance,.mw76-customer-account,.mw76-tenant-account,.mw76-platform-account) { flex-shrink: 0; }
@media (max-width: 1199.98px) {
    .mw76-header .mw-language-full,
    .mw76-header .mw-language-label,
    .mw76-header .mw-appearance svg,
    .mw76-root.mw76-header :is(.mw76-customer-account-copy,.mw76-tenant-account-copy,.mw76-platform-account-copy) { display: none; }
    .mw76-header .mw-language-short { display: inline; }
    .mw76-header .mw-language-button { min-inline-size: 44px; padding-inline: var(--mw76-space-2); }
    .mw76-root.mw76-header :is(.mw76-customer-account-controls,.mw76-tenant-account-controls,.mw76-platform-account-controls) { gap: var(--mw76-space-2); }
    .mw76-root.mw76-header :is(.mw76-customer-account-toggle,.mw76-tenant-account-toggle,.mw76-platform-account-toggle) { gap: var(--mw76-space-1); }
}
.mw-legacy-appearance { display: flex; justify-content: flex-end; padding: .5rem 1.25rem; background: var(--mw-surface); }
.mw76-auth-chrome > .mw-appearance { margin-block-start: -.25rem; }
:is(.mw76-verification-brand,.mw76-recovery-brand) { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem; }
@media (max-width: 767.98px) { .mw-appearance-label { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); } }
@media print { .mw-appearance { display: none; } }
@media (forced-colors: active) { .mw-appearance select { border-color: ButtonText; } .mw-appearance select:focus-visible { outline-color: Highlight; } }

@media screen {
    :root[data-theme="dark"] {
        color-scheme: dark;
        --mw-appearance-bg: #1b2031; --mw-appearance-text: #d6d9ff; --mw-appearance-border: #818da5; --mw-appearance-focus: #fda4d3;
        /* Compatibility tokens for retained legacy views, deliberately separate from Phase76 islands. */
        --mw-canvas: #121522; --mw-surface: #1b2031; --mw-surface-subtle: #22293b;
        --mw-surface-elevated: #293147; --mw-surface-interactive: #30374b;
        --mw-text-primary: #f1f3fa; --mw-text-secondary: #d1d7e5; --mw-text-muted: #b1bbce;
        --mw-border-default: #818da5; --mw-border-subtle: #414b63; --mw-border-strong: #a0aec5;
        --mw-brand-primary: #bd005f; --mw-brand-primary-hover: #a60053;
        --mw-brand-secondary: #bfc5ff; --mw-primary-soft: #35213a; --mw-accent-soft: #392d23;
        --mw-focus: #fda4d3; --mw-focus-ring: #fda4d3;
        --mw-success-foreground: #8ce0b0; --mw-success-background: #182f29; --mw-success-border: #5d9f7c;
        --mw-warning-foreground: #f4ce87; --mw-warning-background: #342c1d; --mw-warning-border: #ad874c;
        --mw-danger-foreground: #ffacb5; --mw-danger-background: #39232e; --mw-danger-border: #b37988;
        --mw-info-foreground: #a9cbff; --mw-info-background: #202f49; --mw-info-border: #779bc9;
        --mw-shadow-surface: 0 2px 8px rgb(0 0 0 / 16%); --mw-shadow-popover: 0 12px 28px rgb(0 0 0 / 30%);
        --mw-shadow-dialog: 0 24px 64px rgb(0 0 0 / 40%);
    }
    /* A visual island resets its own palette; no legacy selector can enter through this layer. */
    [data-theme="dark"] .mw76-root {
        --mw76-color-primary: #ff80bf; --mw76-color-action: #ff80bf; --mw76-color-secondary: #bdc4ff; --mw76-color-accent: #f4ce87;
        --mw76-surface: #1b2031; --mw76-surface-muted: #121522; --mw76-surface-tint: #35263e;
        --mw76-text: #f1f3fa; --mw76-text-muted: #b1bbce; --mw76-border: #818da5;
        --mw76-success: #8ce0b0; --mw76-warning: #f4ce87; --mw76-error: #ffacb5; --mw76-info: #a9cbff;
        --mw76-link: #c5cbff; --mw76-focus: #fda4d3;
        --mw76-shadow-card: 0 .25rem 1.5rem rgb(0 0 0 / 18%);
        --mw76-o-line: #414b63; --mw76-e-line: #414b63;
        --mw-theme-line: #414b63; --mw-theme-raised: #242b3f; --mw-theme-action-fill: #bd005f; --mw-theme-on-action: #fff;
        --mw-theme-success-bg: #182f29; --mw-theme-warning-bg: #342c1d; --mw-theme-danger-bg: #39232e; --mw-theme-info-bg: #202f49;
    }
    [data-theme="dark"] .mw76-root :where(a) { color: var(--mw76-link); }
    /* Map the existing Bootstrap utility's variable without escalating selector priority. */
    [data-theme="dark"] .mw76-root .text-dark { --bs-dark-rgb: 241, 243, 250; }
    [data-theme="dark"] .mw76-root .text-primary { --bs-primary-rgb: 197, 203, 255; }
    [data-theme="dark"] .mw76-root .text-secondary { --bs-secondary-rgb: 177, 187, 206; }
    [data-theme="dark"] .mw76-root .text-success { --bs-success-rgb: 140, 224, 176; }
    [data-theme="dark"] .mw76-root .text-warning { --bs-warning-rgb: 244, 206, 135; }
    [data-theme="dark"] .mw76-root .text-danger { --bs-danger-rgb: 255, 172, 181; }
    [data-theme="dark"] .mw76-root .text-info { --bs-info-rgb: 169, 203, 255; }
    [data-theme="dark"] .mw76-root .bg-white { --bs-white-rgb: 27, 32, 49; }
    [data-theme="dark"] .mw76-root .bg-light { --bs-light-rgb: 36, 43, 63; }
    /* Bootstrap 5 fixes this single utility to a literal important color, with no variable.
       Match its priority only for adopted islands; no universal palette override. */
    [data-theme="dark"] .mw76-root .text-muted { color: var(--mw76-text-muted) !important; }
    [data-theme="dark"] .mw76-root :is(.mw76-action--primary,.mw-button--primary,.mw76-button--primary,.mw76-brand-mark,.mw76-c-button--primary,.mw76-e-button,.mw76-p-button--primary,.mw76-verify-action) {
        color: var(--mw-theme-on-action); background: var(--mw-theme-action-fill); border-color: var(--mw76-color-primary);
    }
    [data-theme="dark"] .mw76-recovery-page .mw76-root.mw76-auth-content .mw76-auth-form-panel a.mw76-action--primary { color: var(--mw-theme-on-action); }
    [data-theme="dark"] .mw76-root :is(.mw76-action--primary,.mw-button--primary,.mw76-button--primary,.mw76-c-button--primary,.mw76-e-button,.mw76-p-button--primary,.mw76-verify-action):hover { background: #a60053; color: #fff; }
    [data-theme="dark"] .mw76-root .mw76-security-danger-button { background: #962944; border-color: var(--mw76-error); color: #fff; }
    [data-theme="dark"] .mw76-root .mw76-security-danger-button:hover { background: #7f2038; filter: none; }
    [data-theme="dark"] .mw76-root :is(input,textarea)::placeholder { color: var(--mw76-text-muted); opacity: 1; }
    [data-theme="dark"] .mw76-root :is(input,select,textarea) { accent-color: var(--mw76-color-primary); }
    [data-theme="dark"] .mw76-root #mfa-code { background: var(--mw76-surface); color: var(--mw76-text); }
    [data-theme="dark"] .mw76-root .mw76-email-status { background: var(--mw-theme-warning-bg); }
    [data-theme="dark"] .mw76-root :is(.mw76-email-status.is-verified,.mw76-verification-symbol.is-verified) { background: var(--mw-theme-success-bg); }
    [data-theme="dark"] .mw76-root .mw76-account-errors { background: var(--mw-theme-danger-bg); }
    [data-theme="dark"] :is(.mw76-verification-page,.mw76-root.mw76-superadmin-content,.mw76-root.mw76-receptionist-content) { background: var(--mw76-surface-muted); }
    [data-theme="dark"] .mw76-verification-brand { background: var(--mw76-surface); border-color: var(--mw-theme-line); }
    [data-theme="dark"] .mw76-root :is(.mw76-email-feedback,.mw76-verification-footnote) { border-color: var(--mw-theme-line); }
    [data-theme="dark"] .mw76-root :is(.mw76-verify-action:disabled,.mw76-email-request button:disabled) { background: #30374b; color: #b1bbce; border-color: #818da5; }
    [data-theme="dark"] .mw76-root .mw76-skip { color: var(--mw76-surface); }
    /* Bootstrap overlay variables are local to adopted islands. No vendor CSS or JS replacement. */
    [data-theme="dark"] .mw76-root :is(.dropdown-menu,.modal-content,.offcanvas,.popover) {
        --bs-dropdown-bg: var(--mw-theme-raised); --bs-dropdown-color: var(--mw76-text); --bs-dropdown-link-color: var(--mw76-text);
        --bs-dropdown-link-hover-bg: var(--mw76-surface-tint); --bs-dropdown-link-hover-color: var(--mw76-text);
        --bs-modal-bg: var(--mw-theme-raised); --bs-modal-color: var(--mw76-text);
        --bs-offcanvas-bg: var(--mw76-surface); --bs-offcanvas-color: var(--mw76-text);
        --bs-popover-bg: var(--mw-theme-raised); --bs-popover-body-color: var(--mw76-text);
    }

    /* Bounded adapters for the three adopted operational families with literal Light colors. */
    [data-theme="dark"] .mw76-root.mw76-superadmin-content :is(h1,h2,h3,h4,h5,h6) { color: var(--mw76-color-secondary); }
    [data-theme="dark"] .mw76-root :is(.mw76-p-panel,.mw76-p-section-heading,.mw76-p-filter,.mw76-p-scroll,.mw76-p-form-panel,.mw76-p-editor,.mw76-p-metric,.mw76-p-jump a,.mw76-p-destination,.mw76-p-mutations > form) { border-color: var(--mw-theme-line); }
    [data-theme="dark"] .mw76-root :is(.mw76-p-editor,.mw76-p-metric,.mw76-p-jump a) { background: var(--mw76-surface); }
    [data-theme="dark"] .mw76-root :is(.mw76-p-filter,.mw76-p-table th,.mw76-p-reply,.mw76-p-code,.mw76-p-mutations > form) { background: var(--mw-theme-raised); color: var(--mw76-text-muted); }
    [data-theme="dark"] .mw76-root :is(.mw76-p-label,.mw76-p-jump a) { color: var(--mw76-text-muted); }
    [data-theme="dark"] .mw76-root :is(.mw76-p-metric strong,.mw76-p-destination) { color: var(--mw76-color-secondary); }
    [data-theme="dark"] .mw76-root .mw76-p-table :is(th,td),
    [data-theme="dark"] .mw76-root .mw76-p-editor > :not(summary) { border-color: var(--mw-theme-line); }
    [data-theme="dark"] .mw76-root .mw76-p-table tbody tr:hover { background: var(--mw76-surface-tint); }
    [data-theme="dark"] .mw76-root .mw76-p-button:not(.mw76-p-button--primary) { background: var(--mw76-surface); color: var(--mw76-link); border-color: var(--mw76-border); }
    [data-theme="dark"] .mw76-root .mw76-p-button:not(.mw76-p-button--primary):hover { background: var(--mw76-surface-tint); }
    [data-theme="dark"] .mw76-root :is(.mw76-p-guidance,.mw76-p-icon) { background: var(--mw76-surface-tint); }
    [data-theme="dark"] .mw76-root .mw76-p-warning { background: var(--mw-theme-warning-bg); color: var(--mw76-warning); border-color: var(--mw76-warning); }
    [data-theme="dark"] .mw76-root .mw76-p-status { background: var(--mw-theme-raised); color: var(--mw76-text-muted); }
    [data-theme="dark"] .mw76-root :is(.mw76-p-status--success,.mw76-p-button--success:not(.mw76-p-button--primary)) { background: var(--mw-theme-success-bg); color: var(--mw76-success); }
    [data-theme="dark"] .mw76-root :is(.mw76-p-status--warning,.mw76-p-button--warning:not(.mw76-p-button--primary)) { background: var(--mw-theme-warning-bg); color: var(--mw76-warning); }
    [data-theme="dark"] .mw76-root .mw76-p-button--danger:not(.mw76-p-button--primary) { background: var(--mw-theme-danger-bg); color: var(--mw76-error); }
    [data-theme="dark"] .mw76-root .mw76-p-status--info { background: var(--mw-theme-info-bg); color: var(--mw76-info); }
    [data-theme="dark"] .mw76-root :is(.mw76-p-input,.mw76-e-input,.mw76-o-input) { background: var(--mw76-surface); color: var(--mw76-text); border-color: var(--mw76-border); }

    [data-theme="dark"] .mw76-root :is(.mw76-e-panel,.mw76-e-day-strip,.mw76-e-button--quiet,.mw76-o-panel,.mw76-o-bookings-filter-card,.mw76-o-bookings-results-card,.mw76-o-side-panel,.mw76-o-owner-table-card,.mw76-o-booking-section,.mw76-o-booking-summary,.mw76-o-alert,.mw76-o-today-summary-card,.mw76-o-list-item,.mw76-o-customer-search-card,.mw76-o-request-attention-card,.mw76-o-appointment-card,.mw76-o-metric-card,.mw76-o-availability-tool,.mw76-o-availability-slot-chip,.mw76-o-button,.mw76-o-danger-action) { background: var(--mw76-surface); }
    [data-theme="dark"] .mw76-root .mw76-e-button--quiet { color: var(--mw76-link); border-color: var(--mw76-border); }
    [data-theme="dark"] .mw76-root .mw76-e-button--quiet:hover { background: var(--mw76-surface-tint); }
    [data-theme="dark"] .mw76-root :is(.mw76-e-empty,.mw76-e-request-table th,.mw76-o-table th,.mw76-o-appointment-group-header,.mw76-o-availability-summary-card,.mw76-o-input[readonly]) { background: var(--mw-theme-raised); color: var(--mw76-text-muted); }
    [data-theme="dark"] .mw76-root .mw76-e-timeline-item { border-color: var(--mw-theme-line); }
    [data-theme="dark"] .mw76-root .mw76-o-table-hover tbody tr:hover { background: var(--mw76-surface-tint); }
    [data-theme="dark"] .mw76-root :is(.mw76-e-badge,.mw76-e-notification--read .mw76-e-notification-icon,.mw76-o-status,.mw76-o-soft-pill,.mw76-o-chip,.mw76-o-bookings-status-badge) { background: var(--mw-theme-raised); color: var(--mw76-text-muted); }
    [data-theme="dark"] .mw76-root :is(.mw76-e-badge--success,.mw76-o-status-success) { background: var(--mw-theme-success-bg); color: var(--mw76-success); }
    [data-theme="dark"] .mw76-root :is(.mw76-e-badge--warning,.mw76-o-status-warning) { background: var(--mw-theme-warning-bg); color: var(--mw76-warning); }
    [data-theme="dark"] .mw76-root :is(.mw76-e-badge--danger,.mw76-o-status-danger) { background: var(--mw-theme-danger-bg); color: var(--mw76-error); }
    [data-theme="dark"] .mw76-root :is(.mw76-e-badge--info,.mw76-o-status-info) { background: var(--mw-theme-info-bg); color: var(--mw76-info); }
    [data-theme="dark"] .mw76-root .mw76-o-status-muted { background: var(--mw-theme-raised); }
    /* Navy navigation is a surface, whereas secondary text is lavender in Dark. */
    [data-theme="dark"] .mw76-root.mw76-platform.mw76-platform-sidebar,
    [data-theme="dark"] .mw76-root.mw76-platform .mw76-platform-panel { background: #1b2031; color: var(--mw76-text); }
    [data-theme="dark"] .mw76-root.mw76-platform :is(.app-nav-link,.mw76-platform-panel .mw76-brand,.mw76-platform-menu-close) { color: var(--mw76-text); }
    [data-theme="dark"] .mw76-root.mw76-platform :is(.app-nav-title,.mw76-platform-navigation-title) { color: var(--mw76-text-muted); }
    [data-theme="dark"] .mw76-root.mw76-platform .app-nav-link.is-active { background: var(--mw-theme-action-fill); color: #fff; border-inline-start-color: var(--mw76-color-primary); }
    [data-theme="dark"] .mw76-root.mw76-platform .mw76-platform-panel :where(a,button):focus-visible { outline-color: var(--mw76-focus); }
    [data-theme="dark"] .mw76-root.mw76-platform .mw76-platform-menu-close { border-color: var(--mw76-border); }
    [data-theme="dark"] .mw76-root .mw76-p-page-link.active { color: var(--mw76-surface); }
}
