/* ========================================================================== 
   BS LOCATION — GLOBAL UI/UX DESIGN SYSTEM v6.0
   Refonte transversale : portail, espace client, back-office, partenaires,
   GPS, finances, statistiques et formulaires.
   Chargé APRÈS style.css afin d'unifier les styles historiques.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. TOKENS DE THÈME — une seule source de vérité
   -------------------------------------------------------------------------- */
html[data-ui-theme="light"],
html[data-bs-theme="light"] {
    --ui-bg: #f4f7fb;
    --ui-bg-elevated: #eef3f8;
    --ui-surface: #ffffff;
    --ui-surface-2: #f8fafc;
    --ui-surface-3: #eef3f7;
    --ui-surface-glass: rgba(255,255,255,.88);
    --ui-border: #e3e9f0;
    --ui-border-strong: #d3dce6;
    --ui-text: #152033;
    --ui-text-2: #526176;
    --ui-text-3: #7d899a;
    --ui-title: #101a2b;
    --ui-link: #1769aa;
    --ui-link-hover: #c95a12;
    --ui-shadow-1: 0 8px 24px rgba(25,42,62,.055);
    --ui-shadow-2: 0 18px 44px rgba(25,42,62,.075);
    --ui-shadow-3: 0 30px 72px rgba(25,42,62,.10);
    --ui-hover: #fff7f1;
    --ui-input: #ffffff;
    --ui-input-focus: #ffffff;
    --ui-sidebar: #08131f;
    --ui-sidebar-2: #0c1b2a;
    --ui-sidebar-text: #c9d3df;
    --ui-sidebar-muted: #73859a;
    --ui-sidebar-border: rgba(255,255,255,.07);
    --ui-topbar: rgba(255,255,255,.91);
    --ui-overlay: rgba(9,18,28,.48);
    --ui-action: #c54f08;
    --ui-action-hover: #b64605;
    --ui-on-action: #ffffff;

    --brand-orange: #f27622;
    --brand-orange-hover: #d95d0d;
    --brand-orange-deep: #b94e0b;
    --brand-orange-soft: #fff0e6;
    --brand-orange-faint: #fff8f4;
    --brand-blue: #1673b7;
    --brand-blue-hover: #105b92;

    --surface-page: var(--ui-bg);
    --surface-card: var(--ui-surface);
    --surface-muted: var(--ui-surface-2);
    --surface-elevated: var(--ui-surface-3);
    --border-soft: var(--ui-border);
    --border-strong: var(--ui-border-strong);
    --text-main: var(--ui-text);
    --text-muted: var(--ui-text-2);
    --text-soft: var(--ui-text-3);
    --shadow-xs: var(--ui-shadow-1);
    --shadow-sm: var(--ui-shadow-2);
    --shadow-md: var(--ui-shadow-3);

    --bs-body-color: var(--ui-text);
    --bs-body-bg: var(--ui-bg);
    --bs-border-color: var(--ui-border);
    --bs-secondary-color: var(--ui-text-2);
    --bs-tertiary-color: var(--ui-text-3);
    --bs-secondary-bg: var(--ui-surface-2);
    --bs-tertiary-bg: var(--ui-surface-3);
}

html[data-ui-theme="dark"],
html[data-bs-theme="dark"] {
    --ui-bg: #091019;
    --ui-bg-elevated: #0d1621;
    --ui-surface: #111b27;
    --ui-surface-2: #162230;
    --ui-surface-3: #1b2938;
    --ui-surface-glass: rgba(13,22,33,.90);
    --ui-border: rgba(223,233,244,.10);
    --ui-border-strong: rgba(223,233,244,.16);
    --ui-text: #eef3f8;
    --ui-text-2: #b4c0cf;
    --ui-text-3: #8190a3;
    --ui-title: #f8fafc;
    --ui-link: #76b9eb;
    --ui-link-hover: #ffad73;
    --ui-shadow-1: 0 10px 28px rgba(0,0,0,.18);
    --ui-shadow-2: 0 20px 52px rgba(0,0,0,.25);
    --ui-shadow-3: 0 34px 88px rgba(0,0,0,.34);
    --ui-hover: rgba(242,118,34,.075);
    --ui-input: #0d1722;
    --ui-input-focus: #101d2a;
    --ui-sidebar: #060d15;
    --ui-sidebar-2: #0a1723;
    --ui-sidebar-text: #c8d2de;
    --ui-sidebar-muted: #718297;
    --ui-sidebar-border: rgba(255,255,255,.07);
    --ui-topbar: rgba(10,17,26,.91);
    --ui-overlay: rgba(0,0,0,.62);
    --ui-action: #ff8a3d;
    --ui-action-hover: #ff9d63;
    --ui-on-action: #101722;

    --brand-orange: #ff7f29;
    --brand-orange-hover: #ff914d;
    --brand-orange-deep: #ffad73;
    --brand-orange-soft: rgba(255,127,41,.13);
    --brand-orange-faint: rgba(255,127,41,.075);
    --brand-blue: #6db4e8;
    --brand-blue-hover: #93caf0;

    --surface-page: var(--ui-bg);
    --surface-card: var(--ui-surface);
    --surface-muted: var(--ui-surface-2);
    --surface-elevated: var(--ui-surface-3);
    --border-soft: var(--ui-border);
    --border-strong: var(--ui-border-strong);
    --text-main: var(--ui-text);
    --text-muted: var(--ui-text-2);
    --text-soft: var(--ui-text-3);
    --shadow-xs: var(--ui-shadow-1);
    --shadow-sm: var(--ui-shadow-2);
    --shadow-md: var(--ui-shadow-3);

    --bs-body-color: var(--ui-text);
    --bs-body-bg: var(--ui-bg);
    --bs-border-color: var(--ui-border);
    --bs-secondary-color: var(--ui-text-2);
    --bs-tertiary-color: var(--ui-text-3);
    --bs-secondary-bg: var(--ui-surface-2);
    --bs-tertiary-bg: var(--ui-surface-3);
}

:root {
    --brand-font-heading: "Manrope", "Segoe UI", system-ui, -apple-system, sans-serif;
    --brand-font-body: "Manrope", "Segoe UI", system-ui, -apple-system, sans-serif;
    --ui-radius-sm: 10px;
    --ui-radius-md: 14px;
    --ui-radius-lg: 20px;
    --ui-radius-xl: 26px;
    --ui-accent-ring: 0 0 0 .22rem rgba(242,118,34,.14);
}

/* --------------------------------------------------------------------------
   2. TYPOGRAPHIE ET SURFACES GLOBALES
   -------------------------------------------------------------------------- */
html { background: var(--ui-bg); }
body.bs-app {
    font-family: var(--brand-font-body) !important;
    font-size: 14.5px;
    line-height: 1.58;
    color: var(--ui-text) !important;
    background: var(--ui-bg) !important;
    font-feature-settings: "kern" 1, "liga" 1, "tnum" 1;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.bs-app h1, .bs-app h2, .bs-app h3, .bs-app h4, .bs-app h5, .bs-app h6,
.bs-app .h1, .bs-app .h2, .bs-app .h3, .bs-app .h4, .bs-app .h5, .bs-app .h6,
.bs-app .navbar-brand,
.bs-app .dashboard-context-title,
.bs-app .partner-name,
.bs-app .client-name {
    font-family: var(--brand-font-heading) !important;
    color: var(--ui-title);
    font-weight: 800;
    letter-spacing: -.028em;
}

.bs-app p,
.bs-app li,
.bs-app td,
.bs-app th,
.bs-app label,
.bs-app input,
.bs-app select,
.bs-app textarea,
.bs-app button,
.bs-app .btn,
.bs-app .nav-link,
.bs-app .form-text,
.bs-app .small,
.bs-app small {
    font-family: var(--brand-font-body) !important;
}

.bs-app .text-muted { color: var(--ui-text-2) !important; }
.bs-app .text-secondary { color: var(--ui-text-2) !important; }
.bs-app .text-dark { color: var(--ui-title) !important; }
.bs-app a:not(.btn):not(.dash-nav-link):not(.partner-nav-link):not(.client-side-nav a) { color: var(--ui-link); }
.bs-app a:not(.btn):not(.dash-nav-link):not(.partner-nav-link):not(.client-side-nav a):hover { color: var(--ui-link-hover); }

.bs-app .bg-white,
.bs-app .bg-light { background-color: var(--ui-surface) !important; color: var(--ui-text) !important; }
.bs-app .border,
.bs-app .border-top,
.bs-app .border-bottom,
.bs-app .border-start,
.bs-app .border-end { border-color: var(--ui-border) !important; }

.bs-app ::selection { background: rgba(242,118,34,.24); color: var(--ui-title); }
.bs-app * { scrollbar-color: color-mix(in srgb,var(--ui-text-3) 45%,transparent) transparent; }
.bs-app *::-webkit-scrollbar { width: 9px; height: 9px; }
.bs-app *::-webkit-scrollbar-thumb { background: color-mix(in srgb,var(--ui-text-3) 38%,transparent); border: 2px solid transparent; background-clip: padding-box; border-radius: 999px; }

/* --------------------------------------------------------------------------
   3. COMPOSANTS UNIFIÉS BOOTSTRAP
   -------------------------------------------------------------------------- */
.bs-app .card,
.bs-app .modal-content,
.bs-app .offcanvas,
.bs-app .dropdown-menu,
.bs-app .list-group-item,
.bs-app .accordion-item {
    color: var(--ui-text);
    background: var(--ui-surface);
    border-color: var(--ui-border);
}

.bs-app .card {
    border-radius: var(--ui-radius-lg);
    box-shadow: var(--ui-shadow-1);
}
.bs-app .card-header,
.bs-app .card-footer {
    color: var(--ui-title);
    background: transparent;
    border-color: var(--ui-border);
}

.bs-app .btn {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    border-radius: 12px;
    font-weight: 760;
    letter-spacing: -.01em;
    box-shadow: none;
}
.bs-app .btn-primary,
.bs-app .btn-warning {
    --bs-btn-color: var(--ui-on-action);
    --bs-btn-bg: var(--ui-action);
    --bs-btn-border-color: var(--ui-action);
    --bs-btn-hover-color: var(--ui-on-action);
    --bs-btn-hover-bg: var(--ui-action-hover);
    --bs-btn-hover-border-color: var(--ui-action-hover);
    --bs-btn-active-color: var(--ui-on-action);
    --bs-btn-active-bg: var(--ui-action-hover);
    --bs-btn-active-border-color: var(--ui-action-hover);
    box-shadow: 0 10px 24px rgba(242,118,34,.20);
}
.bs-app .btn-primary:hover,
.bs-app .btn-warning:hover { box-shadow: 0 14px 30px rgba(242,118,34,.26); }
.bs-app .btn-outline-secondary,
.bs-app .btn-outline-dark,
.bs-app .btn-outline-primary {
    --bs-btn-color: var(--ui-text-2);
    --bs-btn-border-color: var(--ui-border-strong);
    --bs-btn-hover-color: var(--ui-title);
    --bs-btn-hover-bg: var(--ui-surface-2);
    --bs-btn-hover-border-color: color-mix(in srgb,var(--brand-orange) 45%,var(--ui-border));
    background: var(--ui-surface);
}

.bs-app .form-label {
    color: var(--ui-text-2) !important;
    font-size: .78rem;
    font-weight: 780;
    letter-spacing: .005em;
}
.bs-app .form-control,
.bs-app .form-select,
.bs-app textarea.form-control,
.bs-app .input-group-text {
    min-height: 46px;
    color: var(--ui-text) !important;
    background-color: var(--ui-input) !important;
    border: 1px solid var(--ui-border-strong) !important;
    border-radius: 12px;
    box-shadow: none !important;
}
.bs-app .input-group > .form-control:not(:last-child),
.bs-app .input-group > .form-select:not(:last-child) { border-radius: 12px 0 0 12px; }
.bs-app .input-group > .input-group-text:not(:first-child) { border-radius: 0 12px 12px 0; }
.bs-app .form-control::placeholder { color: var(--ui-text-3) !important; opacity: .85; }
.bs-app .form-control:focus,
.bs-app .form-select:focus,
.bs-app textarea.form-control:focus {
    color: var(--ui-text) !important;
    background-color: var(--ui-input-focus) !important;
    border-color: color-mix(in srgb,var(--brand-orange) 65%,var(--ui-border)) !important;
    box-shadow: var(--ui-accent-ring) !important;
}
.bs-app .form-control:disabled,
.bs-app .form-select:disabled,
.bs-app .form-control[readonly] {
    color: var(--ui-text-2) !important;
    background: var(--ui-surface-3) !important;
    opacity: .82;
}
.bs-app .form-text,
.bs-app .invalid-feedback,
.bs-app .valid-feedback { font-size: .72rem; line-height: 1.45; }
.bs-app .form-text { color: var(--ui-text-3) !important; }
.bs-app select option { color: var(--ui-text); background: var(--ui-surface); }
.bs-app .form-check-input { background-color: var(--ui-input); border-color: var(--ui-border-strong); }
.bs-app .form-check-input:checked { background-color: var(--brand-orange); border-color: var(--brand-orange); }
.bs-app .form-check-label { color: var(--ui-text-2); }

.bs-app .table {
    --bs-table-color: var(--ui-text);
    --bs-table-bg: transparent;
    --bs-table-border-color: var(--ui-border);
    --bs-table-hover-color: var(--ui-title);
    --bs-table-hover-bg: var(--ui-hover);
    color: var(--ui-text) !important;
    margin-bottom: 0;
}
.bs-app .table > :not(caption) > * > * {
    color: inherit;
    background: transparent;
    border-bottom-color: var(--ui-border);
}
.bs-app .table thead th {
    color: var(--ui-text-2) !important;
    background: var(--ui-surface-2) !important;
    border-color: var(--ui-border) !important;
    font-size: .68rem;
    font-weight: 820;
    letter-spacing: .055em;
}
.bs-app .table tbody td { color: var(--ui-text) !important; }
.bs-app .table tbody tr:hover > * { background-color: var(--ui-hover) !important; color: var(--ui-title) !important; }
.bs-app .table-responsive {
    border-radius: 16px;
    border-color: var(--ui-border);
}

.bs-app .pagination .page-link {
    color: var(--ui-text-2);
    background: var(--ui-surface);
    border-color: var(--ui-border);
}
.bs-app .pagination .page-link:hover,
.bs-app .pagination .page-item.active .page-link {
    color: #fff;
    background: var(--brand-orange);
    border-color: var(--brand-orange);
}

.bs-app .dropdown-menu {
    padding: .5rem;
    border-radius: 14px;
    box-shadow: var(--ui-shadow-2);
}
.bs-app .dropdown-item { color: var(--ui-text-2); border-radius: 9px; }
.bs-app .dropdown-item:hover,
.bs-app .dropdown-item:focus { color: var(--ui-title); background: var(--ui-hover); }
.bs-app .modal-header,
.bs-app .modal-footer,
.bs-app .offcanvas-header { border-color: var(--ui-border); }
.bs-app .btn-close { filter: none; }
html[data-ui-theme="dark"] .bs-app .btn-close { filter: invert(1) grayscale(100%) brightness(190%); }

.bs-app .alert {
    border: 1px solid var(--ui-border) !important;
    border-radius: 15px;
    box-shadow: var(--ui-shadow-1);
}
html[data-ui-theme="dark"] .bs-app .alert-info { --bs-alert-color:#a8d9ef; --bs-alert-bg:#102834; --bs-alert-border-color:#1d4556; }
html[data-ui-theme="dark"] .bs-app .alert-warning { --bs-alert-color:#f6d59c; --bs-alert-bg:#2b2315; --bs-alert-border-color:#514126; }
html[data-ui-theme="dark"] .bs-app .alert-success { --bs-alert-color:#a6e0c6; --bs-alert-bg:#132820; --bs-alert-border-color:#27503f; }
html[data-ui-theme="dark"] .bs-app .alert-danger { --bs-alert-color:#f1b4bb; --bs-alert-bg:#301a1d; --bs-alert-border-color:#5d3036; }

.bs-app .badge { font-weight: 760; letter-spacing: 0; }
html[data-ui-theme="dark"] .bs-app .bg-success-subtle { background:rgba(56,201,139,.13)!important; }
html[data-ui-theme="dark"] .bs-app .text-success-emphasis { color:#7cdfb3!important; }
html[data-ui-theme="dark"] .bs-app .bg-warning-subtle { background:rgba(242,184,75,.13)!important; }
html[data-ui-theme="dark"] .bs-app .text-warning-emphasis { color:#f6d37d!important; }
html[data-ui-theme="dark"] .bs-app .bg-danger-subtle { background:rgba(255,95,109,.13)!important; }
html[data-ui-theme="dark"] .bs-app .text-danger-emphasis { color:#ff9ca7!important; }
html[data-ui-theme="dark"] .bs-app .bg-primary-subtle { background:rgba(255,127,41,.13)!important; }
html[data-ui-theme="dark"] .bs-app .text-primary-emphasis { color:#ffb27e!important; }

/* Sections de formulaires : lisibles dans LES DEUX thèmes */
.bs-app .form-section-title,
.bs-app .form-section-header {
    color: var(--ui-title) !important;
    background: linear-gradient(135deg,var(--ui-surface-2),color-mix(in srgb,var(--brand-orange-soft) 55%,var(--ui-surface-2))) !important;
    border: 1px solid var(--ui-border) !important;
    border-radius: 14px !important;
    font-weight: 820 !important;
    box-shadow: none !important;
}
.bs-app .form-section-title i,
.bs-app .form-section-header i { color: var(--brand-orange) !important; }

/* --------------------------------------------------------------------------
   4. NAVIGATION PUBLIQUE — identité forte et stable
   -------------------------------------------------------------------------- */
.public-page .navbar-bs {
    min-height: 76px;
    background: rgba(5,13,21,.94) !important;
    border-bottom: 1px solid rgba(255,255,255,.07) !important;
    box-shadow: 0 12px 34px rgba(0,0,0,.16) !important;
    backdrop-filter: blur(20px) saturate(125%);
}
.public-page .navbar-bs .navbar-brand {
    padding: .32rem .5rem !important;
    border-radius: 12px;
    background: rgba(255,255,255,.025) !important;
}
.public-page .navbar-bs .navbar-brand img { height: 42px; filter: none !important; }
.public-page .navbar-bs .nav-link {
    color: #c7d1dd !important;
    font-size: .87rem;
    font-weight: 670;
    border-radius: 10px;
}
.public-page .navbar-bs .nav-link:hover,
.public-page .navbar-bs .nav-link:focus,
.public-page .navbar-bs .nav-link.active { color: #fff !important; background: rgba(255,127,41,.10) !important; }
.public-page .navbar-bs .theme-toggle-btn { color:#c7d1dd!important; background:rgba(255,255,255,.045)!important; }
.public-page .navbar-toggler { filter: invert(1); }
.public-page .topbar-accent { height: 3px; background: linear-gradient(90deg,#ff7f29,#ffad73 45%,#368ec6 100%); }

/* En thème clair, le hero reste volontairement sombre ; le reste s'adapte. */
html[data-ui-theme="light"] .public-page .portal-home,
html[data-ui-theme="light"] .public-page .section-space,
html[data-ui-theme="light"] .public-page .property-page,
html[data-ui-theme="light"] .public-page .stay-page,
html[data-ui-theme="light"] .public-page .vehicle-detail-page { color: var(--ui-text); background: var(--ui-bg) !important; }

html[data-ui-theme="light"] .public-page .home-strip-card,
html[data-ui-theme="light"] .public-page .showcase-shell,
html[data-ui-theme="light"] .public-page .showcase-shell-soft,
html[data-ui-theme="light"] .public-page .search-panel,
html[data-ui-theme="light"] .public-page .card-bien,
html[data-ui-theme="light"] .public-page .property-page .card,
html[data-ui-theme="light"] .public-page .stay-summary,
html[data-ui-theme="light"] .public-page .stay-item-card,
html[data-ui-theme="light"] .public-page .saved-stays-panel,
html[data-ui-theme="light"] .public-page .saved-stay-card,
html[data-ui-theme="light"] .public-page .empty-state,
html[data-ui-theme="light"] .public-page .vehicle-detail-product,
html[data-ui-theme="light"] .public-page .vehicle-booking-panel {
    color: var(--ui-text) !important;
    background: var(--ui-surface) !important;
    border-color: var(--ui-border) !important;
    box-shadow: var(--ui-shadow-2) !important;
}
html[data-ui-theme="light"] .public-page .section-title,
html[data-ui-theme="light"] .public-page .category-title,
html[data-ui-theme="light"] .public-page .home-strip-title,
html[data-ui-theme="light"] .public-page .card-title,
html[data-ui-theme="light"] .public-page .property-title { color: var(--ui-title) !important; }
html[data-ui-theme="light"] .public-page .section-subtitle,
html[data-ui-theme="light"] .public-page .category-text,
html[data-ui-theme="light"] .public-page .home-strip-text,
html[data-ui-theme="light"] .public-page .card-meta { color: var(--ui-text-2) !important; }

html[data-ui-theme="dark"] .public-page .search-panel,
html[data-ui-theme="dark"] .public-page .card-bien,
html[data-ui-theme="dark"] .public-page .property-page .card,
html[data-ui-theme="dark"] .public-page .stay-summary,
html[data-ui-theme="dark"] .public-page .stay-item-card,
html[data-ui-theme="dark"] .public-page .saved-stays-panel,
html[data-ui-theme="dark"] .public-page .saved-stay-card,
html[data-ui-theme="dark"] .public-page .empty-state,
html[data-ui-theme="dark"] .public-page .vehicle-detail-product,
html[data-ui-theme="dark"] .public-page .vehicle-booking-panel {
    color: var(--ui-text) !important;
    background: linear-gradient(145deg,var(--ui-surface),#0d1722) !important;
    border-color: var(--ui-border) !important;
}
html[data-ui-theme="dark"] .public-page .card-title,
html[data-ui-theme="dark"] .public-page .property-title,
html[data-ui-theme="dark"] .public-page .section-title { color: var(--ui-title) !important; }

.public-page .site-footer { background: #050c13 !important; border-top: 1px solid rgba(255,255,255,.06); }

/* --------------------------------------------------------------------------
   5. BACK-OFFICE / CENTRE DE PILOTAGE
   -------------------------------------------------------------------------- */
.dashboard-page,
.dashboard-page .dashboard-workspace,
.dashboard-page .dashboard-content {
    color: var(--ui-text) !important;
    background: var(--ui-bg) !important;
}
.dashboard-page .dashboard-content {
    background-image: radial-gradient(circle at 100% 0,rgba(242,118,34,.045),transparent 26%) !important;
    background-color: var(--ui-bg) !important;
    padding: 1.65rem clamp(1rem,2vw,2rem) 3rem;
}

/* La sidebar reste sombre dans les deux thèmes : identité, contraste, stabilité. */
.dashboard-page .dashboard-sidebar {
    background: linear-gradient(180deg,var(--ui-sidebar) 0%,var(--ui-sidebar-2) 58%,#07131f 100%) !important;
    border-right: 1px solid var(--ui-sidebar-border) !important;
    box-shadow: 16px 0 46px rgba(7,18,30,.08) !important;
}
.dashboard-page .dashboard-sidebar-brand { border-bottom-color: var(--ui-sidebar-border) !important; }
.dashboard-page .dashboard-sidebar-brand a { background: transparent !important; padding: 0 !important; }
.dashboard-page .dashboard-sidebar-brand img { filter: none !important; height: 42px; }
.dashboard-page .dashboard-brand-name,
.dashboard-page .dashboard-user-name { color:#fff !important; }
.dashboard-page .dashboard-brand-label,
.dashboard-page .dashboard-user-role { color:var(--ui-sidebar-muted) !important; }
.dashboard-page .dash-nav-section-title {
    color: var(--ui-sidebar-muted) !important;
    font-size: .62rem;
    font-weight: 820;
    letter-spacing: .15em;
}
.dashboard-page .dash-nav-link {
    min-height: 44px;
    color: var(--ui-sidebar-text) !important;
    border: 1px solid transparent;
    border-radius: 12px;
    font-size: .82rem;
    font-weight: 660;
}
.dashboard-page .dash-nav-link i { color:#8394aa !important; }
.dashboard-page .dash-nav-link:hover {
    color:#fff !important;
    background:rgba(255,255,255,.055) !important;
    border-color:rgba(255,255,255,.05) !important;
}
.dashboard-page .dash-nav-link.active {
    color:#fff !important;
    background:linear-gradient(135deg,rgba(242,118,34,.23),rgba(242,118,34,.075)) !important;
    border-color:rgba(255,154,91,.16) !important;
    box-shadow: inset 3px 0 0 var(--brand-orange) !important;
}
.dashboard-page .dash-nav-link.active i { color:#ffb27e !important; }
.dashboard-page .dashboard-user-card { background:rgba(255,255,255,.045)!important; border-color:rgba(255,255,255,.055)!important; }

.dashboard-page .dashboard-topbar {
    min-height: 76px;
    color: var(--ui-text);
    background: var(--ui-topbar) !important;
    border-bottom: 1px solid var(--ui-border) !important;
    box-shadow: 0 8px 28px rgba(18,31,47,.055) !important;
    backdrop-filter: blur(20px) saturate(125%);
}
.dashboard-page .dashboard-context-label { color: var(--ui-text-3) !important; }
.dashboard-page .dashboard-context-title { color: var(--ui-title) !important; }
.dashboard-page .dashboard-topbar-chip,
.dashboard-page .dashboard-mobile-toggle {
    color: var(--ui-text-2) !important;
    background: var(--ui-surface-2) !important;
    border-color: var(--ui-border) !important;
}
.dashboard-page .dashboard-topbar-chip:hover { color: var(--ui-title) !important; border-color: color-mix(in srgb,var(--brand-orange) 40%,var(--ui-border)) !important; }

.dashboard-page .dashboard-kpi,
.dashboard-page .premium-panel,
.dashboard-page .chart-card,
.dashboard-page .stats-hero,
.dashboard-page .list-toolbar,
.dashboard-page .list-card,
.dashboard-page .form-card,
.dashboard-page .pivot-hero,
.dashboard-page .pivot-toolbar,
.dashboard-page .pivot-card,
.dashboard-page .dashboard-panel,
.dashboard-page #calendrier-gestionnaire,
.dashboard-page .partner-admin-panel,
.dashboard-page .partner-admin-kpi,
.dashboard-page .partner-admin-hero {
    color: var(--ui-text) !important;
    background: var(--ui-surface) !important;
    border-color: var(--ui-border) !important;
    box-shadow: var(--ui-shadow-1) !important;
}
.dashboard-page .dashboard-kpi,
.dashboard-page .partner-admin-kpi { border-radius: 18px !important; }
.dashboard-page .dashboard-kpi:hover,
.dashboard-page .partner-admin-kpi:hover { transform: translateY(-2px); box-shadow: var(--ui-shadow-2) !important; }

.dashboard-page .dashboard-kpi-value,
.dashboard-page .premium-panel-title,
.dashboard-page .chart-card-title,
.dashboard-page .page-heading h1,
.dashboard-page .stats-hero h1,
.dashboard-page .pivot-hero h1,
.dashboard-page .partner-admin-page h1,
.dashboard-page .partner-admin-page h2,
.dashboard-page .partner-admin-page h3 { color: var(--ui-title) !important; }
.dashboard-page .page-heading p,
.dashboard-page .premium-panel-subtitle,
.dashboard-page .chart-card-note,
.dashboard-page .dashboard-kpi-label,
.dashboard-page .dashboard-kpi-note { color: var(--ui-text-2) !important; }

.dashboard-page .premium-panel-head,
.dashboard-page .dashboard-panel-head,
.dashboard-page .partner-admin-panel-head,
.dashboard-page .card-header { border-color: var(--ui-border) !important; }
.dashboard-page .premium-panel .table thead th,
.dashboard-page .partner-admin-table thead th,
.dashboard-page .partner-pivot-table thead th { background: var(--ui-surface-2) !important; color: var(--ui-text-2) !important; }
.dashboard-page .partner-admin-table tbody td,
.dashboard-page .partner-pivot-table tbody td { color: var(--ui-text) !important; border-color: var(--ui-border) !important; }
.dashboard-page .partner-admin-link { color: var(--ui-link) !important; }
.dashboard-page .partner-admin-link:hover { color: var(--ui-link-hover) !important; }
.dashboard-page .partner-admin-panel .partner-admin-filterbar { background: var(--ui-surface-2) !important; }
.dashboard-page .partner-admin-note { background: var(--ui-surface-2) !important; border-color: var(--ui-border) !important; }
.dashboard-page .partner-admin-note strong { color: var(--ui-title) !important; }
.dashboard-page .partner-admin-note p { color: var(--ui-text-2) !important; }
.dashboard-page .partner-admin-count { color: var(--ui-text); background: var(--ui-surface-2); border-color: var(--ui-border); }

/* Les anciens titres bleu foncé des formulaires partenaires étaient beaux en clair,
   mais durs à lire en sombre. Nouveau bandeau neutre/accent adapté au thème. */
.dashboard-page .partner-admin-page .form-section-title {
    color: var(--ui-title) !important;
    background: linear-gradient(135deg,var(--ui-surface-2),color-mix(in srgb,var(--brand-orange-soft) 65%,var(--ui-surface-2))) !important;
    border: 1px solid var(--ui-border) !important;
}
.dashboard-page .partner-admin-page .form-section-title i { color: var(--brand-orange) !important; }
.dashboard-page .partner-admin-page #partner-bs-share {
    color: var(--ui-title) !important;
    background: var(--brand-orange-soft) !important;
    border-color: color-mix(in srgb,var(--brand-orange) 30%,var(--ui-border)) !important;
}

/* Plein écran / pivots / GPS */
.dashboard-page .pivot-fallback-fullscreen,
.dashboard-page .gps-map-shell:fullscreen,
.dashboard-page .gps-map-shell.fullscreen-fallback,
.dashboard-page .partner-pivot-panel:fullscreen,
.dashboard-page .partner-pivot-panel.pivot-fallback-fullscreen {
    background: var(--ui-bg) !important;
    color: var(--ui-text) !important;
}
.dashboard-page .maplibregl-popup-content {
    color: #182230 !important;
    background:#fff !important;
    border-radius:12px !important;
    box-shadow:0 16px 42px rgba(0,0,0,.18)!important;
}

/* --------------------------------------------------------------------------
   6. ESPACE PARTENAIRE — vrai espace SaaS, cohérent avec le back-office
   -------------------------------------------------------------------------- */
.partner-page,
.partner-main,
.partner-content-frame { color: var(--ui-text) !important; background: var(--ui-bg) !important; }
.partner-shell { min-height: 100vh; }
.partner-sidebar {
    background: linear-gradient(180deg,var(--ui-sidebar) 0%,var(--ui-sidebar-2) 56%,#07131f 100%) !important;
    border-right: 1px solid var(--ui-sidebar-border) !important;
    box-shadow: 18px 0 48px rgba(7,18,30,.08) !important;
}
.partner-brand-card,
.partner-sidebar-footer {
    background: rgba(255,255,255,.04) !important;
    border: 1px solid rgba(255,255,255,.06) !important;
}
.partner-brand-logo { background: rgba(255,255,255,.04) !important; }
.partner-brand-logo img { filter:none!important; }
.partner-sidebar .partner-kicker { color:#ffb27e !important; }
.partner-sidebar .partner-name { color:#fff !important; }
.partner-sidebar .partner-code,
.partner-sidebar-footer .text-muted { color:var(--ui-sidebar-muted)!important; }
.partner-sidebar-footer { color:#d8e1eb!important; }
.partner-nav-title { color:var(--ui-sidebar-muted)!important; }
.partner-nav-link { color:var(--ui-sidebar-text)!important; }
.partner-nav-link > i { color:#8496aa!important; background:rgba(255,255,255,.035)!important; }
.partner-nav-link:hover { color:#fff!important; background:rgba(255,255,255,.055)!important; }
.partner-nav-link.active {
    color:#fff!important;
    background:linear-gradient(135deg,rgba(242,118,34,.23),rgba(242,118,34,.075))!important;
    border-color:rgba(255,159,95,.15)!important;
    box-shadow:inset 3px 0 0 var(--brand-orange)!important;
}
.partner-nav-link.active > i { color:#ffb27e!important; background:rgba(242,118,34,.12)!important; }

.partner-topbar {
    min-height: 76px;
    color: var(--ui-text);
    background: var(--ui-topbar) !important;
    border-bottom-color: var(--ui-border) !important;
    box-shadow: 0 8px 28px rgba(18,31,47,.055) !important;
}
.partner-topbar-context span { color: var(--brand-orange-deep) !important; }
.partner-topbar-context strong { color: var(--ui-title) !important; }
.partner-topbar-chip,
.partner-mobile-toggle {
    color: var(--ui-text-2) !important;
    background: var(--ui-surface-2) !important;
    border-color: var(--ui-border) !important;
}
.partner-topbar-chip:hover { color:var(--ui-title)!important; background:var(--ui-hover)!important; }

.partner-page-head,
.partner-panel,
.partner-kpi,
.partner-form-card,
.partner-asset-card,
.partner-quick-card,
.partner-mobile-head,
.partner-register-card,
.partner-status-card,
.partner-money-panel {
    color: var(--ui-text) !important;
    background: var(--ui-surface) !important;
    border-color: var(--ui-border) !important;
    box-shadow: var(--ui-shadow-1) !important;
}
.partner-page-head {
    background: linear-gradient(125deg,var(--ui-surface),color-mix(in srgb,var(--brand-orange-soft) 34%,var(--ui-surface))) !important;
}
.partner-page-head h1,
.partner-panel-head h2,
.partner-kpi strong,
.partner-asset-card h2,
.partner-asset-card h3,
.partner-form-card h1,
.partner-form-card h2,
.partner-form-card h3 { color: var(--ui-title) !important; }
.partner-page-head p,
.partner-kpi span,
.partner-kpi small,
.partner-back,
.partner-asset-card p { color: var(--ui-text-2) !important; }
.partner-panel-head {
    color:var(--ui-text)!important;
    background:linear-gradient(180deg,var(--ui-surface),var(--ui-surface-2))!important;
    border-color:var(--ui-border)!important;
}
.partner-table thead th { color:var(--ui-text-2)!important; background:var(--ui-surface-2)!important; }
.partner-table tbody td { color:var(--ui-text)!important; border-color:var(--ui-border)!important; }
.partner-table tbody tr:hover > * { background:var(--ui-hover)!important; color:var(--ui-title)!important; }
.partner-filterbar { background:var(--ui-surface-2)!important; border-color:var(--ui-border)!important; }
.partner-activity { color:var(--ui-text)!important; border-color:var(--ui-border)!important; }
.partner-activity:hover { color:var(--ui-title)!important; background:var(--ui-hover)!important; }
.partner-kpi.money .kpi-icon { color:#2d9d6d!important; background:rgba(45,157,109,.11)!important; }
html[data-ui-theme="dark"] .partner-kpi.money .kpi-icon { color:#79d6ad!important; background:rgba(66,190,136,.13)!important; }

/* Offcanvas partenaire mobile suit le thème, mais ses liens gardent le contraste. */
#partnerMobileNav .offcanvas-body { background:var(--ui-surface); }
#partnerMobileNav .partner-nav-link { color:var(--ui-text-2)!important; }
#partnerMobileNav .partner-nav-link > i { color:var(--ui-text-3)!important; background:var(--ui-surface-2)!important; }
#partnerMobileNav .partner-nav-link:hover { color:var(--ui-title)!important; background:var(--ui-hover)!important; }

/* --------------------------------------------------------------------------
   7. ESPACE CLIENT — même langage visuel, sans perdre son identité
   -------------------------------------------------------------------------- */
.client-space-page { color:var(--ui-text)!important; background:var(--ui-bg)!important; }
.client-sidebar {
    overflow:hidden;
    color:#dbe4ee!important;
    background:linear-gradient(180deg,var(--ui-sidebar) 0%,var(--ui-sidebar-2) 62%,#07131f 100%)!important;
    border:1px solid rgba(255,255,255,.055)!important;
    box-shadow:0 20px 54px rgba(7,18,30,.13)!important;
}
.client-welcome { color:#8fa0b3!important; }
.client-name { color:#fff!important; }
.client-type { color:#ffc39b!important; background:rgba(242,118,34,.12)!important; border:1px solid rgba(242,118,34,.16); }
.client-contact-list { border-color:rgba(255,255,255,.07)!important; }
.client-contact-list div { color:#c4cfdb!important; }
.client-contact-list i { color:#ff9b58!important; }
.client-side-nav a { color:#c4cfdb!important; border:1px solid transparent; }
.client-side-nav a:hover { color:#fff!important; background:rgba(255,255,255,.055)!important; }
.client-side-nav a.active {
    color:#fff!important;
    background:linear-gradient(135deg,rgba(242,118,34,.25),rgba(242,118,34,.09))!important;
    border-color:rgba(255,159,95,.15)!important;
    box-shadow:inset 3px 0 0 var(--brand-orange)!important;
}
.client-mini-stat { background:rgba(255,255,255,.045)!important; }
.client-mini-stat span { color:#aab8c7!important; }
.client-mini-stat strong { color:#fff!important; }

.client-main-header,
.client-panel,
.client-kpi-card,
.client-stay-card,
.client-empty-state,
.client-subcard,
.client-info-grid > div,
.client-doc-card {
    color:var(--ui-text)!important;
    background:var(--ui-surface)!important;
    border-color:var(--ui-border)!important;
    box-shadow:var(--ui-shadow-1)!important;
}
.client-main-header { background:linear-gradient(125deg,var(--ui-surface),color-mix(in srgb,var(--brand-orange-soft) 30%,var(--ui-surface)))!important; }
.client-page-title,
.client-kpi-value,
.client-panel-head h2,
.client-info-grid strong { color:var(--ui-title)!important; }
.client-page-subtitle,
.client-kpi-label,
.client-empty-mini,
.client-info-grid span { color:var(--ui-text-2)!important; }
.client-panel-head,
.client-list-item,
.client-stay-footer { border-color:var(--ui-border)!important; }
.client-table thead th { color:var(--ui-text-2)!important; background:var(--ui-surface-2)!important; border-color:var(--ui-border)!important; }
.client-table tbody td { color:var(--ui-text)!important; border-color:var(--ui-border)!important; }
.client-table tbody tr:hover > * { background:var(--ui-hover)!important; color:var(--ui-title)!important; }
.client-doc-label { color:var(--ui-text-2)!important; }
.client-doc-card.full img { background:var(--ui-surface-2)!important; border-color:var(--ui-border)!important; }
.client-doc-empty { color:var(--ui-text-3)!important; background:var(--ui-surface-2)!important; }
.client-mobile-nav-toggle { color:var(--ui-text)!important; background:var(--ui-surface)!important; border-color:var(--ui-border)!important; box-shadow:var(--ui-shadow-1)!important; }

/* Bloc premium sombre conservé comme élément de contraste contrôlé. */
.client-highlight {
    color:#fff!important;
    background:radial-gradient(circle at 88% 0,rgba(242,118,34,.20),transparent 30%),linear-gradient(145deg,#101c29,#07111b)!important;
    border:1px solid rgba(255,127,41,.13)!important;
}
.client-highlight h1,.client-highlight h2,.client-highlight h3,.client-highlight h4 { color:#fff!important; }
.client-highlight p,.client-highlight .text-muted { color:#b9c4d0!important; }

/* --------------------------------------------------------------------------
   8. PAGE LOGIN / INSCRIPTION / FORMULAIRES PUBLICS
   -------------------------------------------------------------------------- */
.public-page .auth-card,
.public-page .login-card,
.public-page .register-card,
.public-page .partner-register-card {
    color:var(--ui-text)!important;
    background:var(--ui-surface)!important;
    border-color:var(--ui-border)!important;
    box-shadow:var(--ui-shadow-3)!important;
}

/* --------------------------------------------------------------------------
   9. FINITIONS : focus, animations, responsive, accessibilité
   -------------------------------------------------------------------------- */
.bs-app :focus-visible {
    outline: 3px solid color-mix(in srgb,var(--brand-orange) 38%,transparent);
    outline-offset: 2px;
}
.bs-app .card,
.bs-app .dashboard-kpi,
.bs-app .partner-kpi,
.bs-app .partner-panel,
.bs-app .client-kpi-card,
.bs-app .client-panel,
.bs-app .premium-panel,
.bs-app .list-card {
    transition: background-color .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease,transform .18s ease;
}
html.theme-switching *, html.theme-switching *::before, html.theme-switching *::after {
    transition: background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease !important;
}

@media (prefers-reduced-motion: reduce) {
    .bs-app *, .bs-app *::before, .bs-app *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
}

@media (max-width: 991.98px) {
    .dashboard-page .dashboard-content,
    .partner-content-frame { padding: 1rem .85rem 2rem; }
    .dashboard-page .dashboard-topbar,
    .partner-topbar { min-height: 68px; }
}

@media (max-width: 767.98px) {
    body.bs-app { font-size:14px; }
    .bs-app .btn { min-height:40px; }
    .dashboard-page .page-heading h1,
    .partner-page-head h1,
    .client-page-title { font-size:1.65rem!important; }
    .bs-app .table thead th { font-size:.64rem; }
    .bs-app .table tbody td { font-size:.8rem; }
}

/* --------------------------------------------------------------------------
   10. VERROUS DE COHÉRENCE — neutralise les anciens overrides très spécifiques
   -------------------------------------------------------------------------- */
/* Navigation publique sombre dans les deux thèmes. */
html[data-ui-theme="light"] body.bs-app.public-page .navbar-bs,
html[data-ui-theme="dark"] body.bs-app.public-page .navbar-bs {
    background:rgba(5,13,21,.94)!important;
    border-bottom-color:rgba(255,255,255,.07)!important;
    box-shadow:0 12px 34px rgba(0,0,0,.16)!important;
}
html[data-ui-theme="light"] body.bs-app.public-page .navbar-bs .nav-link,
html[data-ui-theme="dark"] body.bs-app.public-page .navbar-bs .nav-link { color:#c7d1dd!important; }
html[data-ui-theme="light"] body.bs-app.public-page .navbar-bs .nav-link:hover,
html[data-ui-theme="light"] body.bs-app.public-page .navbar-bs .nav-link:focus,
html[data-ui-theme="dark"] body.bs-app.public-page .navbar-bs .nav-link:hover,
html[data-ui-theme="dark"] body.bs-app.public-page .navbar-bs .nav-link:focus { color:#fff!important; background:rgba(255,127,41,.10)!important; }
html[data-ui-theme="light"] body.bs-app.public-page .navbar-bs .theme-toggle-btn,
html[data-ui-theme="dark"] body.bs-app.public-page .navbar-bs .theme-toggle-btn { color:#c7d1dd!important; background:rgba(255,255,255,.045)!important; }

/* Sidebar gestionnaire toujours sombre, même lorsque le contenu est clair. */
html[data-ui-theme="light"] body.bs-app.dashboard-page .dashboard-sidebar,
html[data-ui-theme="dark"] body.bs-app.dashboard-page .dashboard-sidebar {
    background:linear-gradient(180deg,var(--ui-sidebar) 0%,var(--ui-sidebar-2) 58%,#07131f 100%)!important;
    border-right-color:rgba(255,255,255,.07)!important;
}
html[data-ui-theme="light"] body.bs-app.dashboard-page .dashboard-brand-name,
html[data-ui-theme="light"] body.bs-app.dashboard-page .dashboard-user-name,
html[data-ui-theme="dark"] body.bs-app.dashboard-page .dashboard-brand-name,
html[data-ui-theme="dark"] body.bs-app.dashboard-page .dashboard-user-name { color:#fff!important; }
html[data-ui-theme="light"] body.bs-app.dashboard-page .dashboard-brand-label,
html[data-ui-theme="light"] body.bs-app.dashboard-page .dashboard-user-role,
html[data-ui-theme="light"] body.bs-app.dashboard-page .dash-nav-section-title,
html[data-ui-theme="dark"] body.bs-app.dashboard-page .dashboard-brand-label,
html[data-ui-theme="dark"] body.bs-app.dashboard-page .dashboard-user-role,
html[data-ui-theme="dark"] body.bs-app.dashboard-page .dash-nav-section-title { color:#73859a!important; }
html[data-ui-theme="light"] body.bs-app.dashboard-page .dash-nav-link,
html[data-ui-theme="dark"] body.bs-app.dashboard-page .dash-nav-link { color:#c9d3df!important; }
html[data-ui-theme="light"] body.bs-app.dashboard-page .dash-nav-link i,
html[data-ui-theme="dark"] body.bs-app.dashboard-page .dash-nav-link i { color:#8394aa!important; }
html[data-ui-theme="light"] body.bs-app.dashboard-page .dash-nav-link:hover,
html[data-ui-theme="dark"] body.bs-app.dashboard-page .dash-nav-link:hover { color:#fff!important; background:rgba(255,255,255,.055)!important; border-color:rgba(255,255,255,.05)!important; }
html[data-ui-theme="light"] body.bs-app.dashboard-page .dash-nav-link.active,
html[data-ui-theme="dark"] body.bs-app.dashboard-page .dash-nav-link.active {
    color:#fff!important;
    background:linear-gradient(135deg,rgba(242,118,34,.23),rgba(242,118,34,.075))!important;
    border-color:rgba(255,154,91,.16)!important;
    box-shadow:inset 3px 0 0 var(--brand-orange)!important;
}
html[data-ui-theme="light"] body.bs-app.dashboard-page .dashboard-user-card,
html[data-ui-theme="dark"] body.bs-app.dashboard-page .dashboard-user-card { background:rgba(255,255,255,.045)!important; border-color:rgba(255,255,255,.055)!important; }

/* Sidebar client sombre dans les deux thèmes + contenu réellement thémé. */
html[data-ui-theme="light"] body.bs-app .client-space-page .client-sidebar,
html[data-ui-theme="dark"] body.bs-app .client-space-page .client-sidebar {
    color:#dbe4ee!important;
    background:linear-gradient(180deg,var(--ui-sidebar) 0%,var(--ui-sidebar-2) 62%,#07131f 100%)!important;
    border-color:rgba(255,255,255,.055)!important;
}
html[data-ui-theme="light"] body.bs-app .client-space-page .client-welcome,
html[data-ui-theme="dark"] body.bs-app .client-space-page .client-welcome { color:#8fa0b3!important; }
html[data-ui-theme="light"] body.bs-app .client-space-page .client-name,
html[data-ui-theme="dark"] body.bs-app .client-space-page .client-name { color:#fff!important; }
html[data-ui-theme="light"] body.bs-app .client-space-page .client-type,
html[data-ui-theme="dark"] body.bs-app .client-space-page .client-type { color:#ffc39b!important; background:rgba(242,118,34,.12)!important; }
html[data-ui-theme="light"] body.bs-app .client-space-page .client-contact-list span,
html[data-ui-theme="dark"] body.bs-app .client-space-page .client-contact-list span { color:#c4cfdb!important; }
html[data-ui-theme="light"] body.bs-app .client-space-page .client-contact-list i,
html[data-ui-theme="dark"] body.bs-app .client-space-page .client-contact-list i { color:#ff9b58!important; }
html[data-ui-theme="light"] body.bs-app .client-space-page .client-mini-stat,
html[data-ui-theme="dark"] body.bs-app .client-space-page .client-mini-stat { background:rgba(255,255,255,.045)!important; border-color:rgba(255,255,255,.04)!important; }
html[data-ui-theme="light"] body.bs-app .client-space-page .client-mini-stat span,
html[data-ui-theme="dark"] body.bs-app .client-space-page .client-mini-stat span { color:#aab8c7!important; }
html[data-ui-theme="light"] body.bs-app .client-space-page .client-mini-stat strong,
html[data-ui-theme="dark"] body.bs-app .client-space-page .client-mini-stat strong { color:#fff!important; }
html[data-ui-theme="light"] body.bs-app .client-space-page .client-side-nav a,
html[data-ui-theme="dark"] body.bs-app .client-space-page .client-side-nav a { color:#c4cfdb!important; }
html[data-ui-theme="light"] body.bs-app .client-space-page .client-side-nav a.active,
html[data-ui-theme="dark"] body.bs-app .client-space-page .client-side-nav a.active { color:#fff!important; background:linear-gradient(135deg,rgba(242,118,34,.25),rgba(242,118,34,.09))!important; border-color:rgba(255,159,95,.15)!important; }

/* Le bloc d'appel à l'action client reste sombre, même en thème clair. */
html[data-ui-theme="light"] body.bs-app .client-space-page .client-highlight,
html[data-ui-theme="dark"] body.bs-app .client-space-page .client-highlight {
    color:#fff!important;
    background:radial-gradient(circle at 88% 0,rgba(242,118,34,.20),transparent 30%),linear-gradient(145deg,#101c29,#07111b)!important;
    border-color:rgba(255,127,41,.13)!important;
}
html[data-ui-theme="light"] body.bs-app .client-space-page .client-highlight h3,
html[data-ui-theme="dark"] body.bs-app .client-space-page .client-highlight h3 { color:#fff!important; }
html[data-ui-theme="light"] body.bs-app .client-space-page .client-highlight p,
html[data-ui-theme="dark"] body.bs-app .client-space-page .client-highlight p { color:#b9c4d0!important; }

/* Titres/labels de formulaires : aucune couleur codée en dur ne doit casser le thème. */
html[data-ui-theme="light"] body.bs-app .form-section-title,
html[data-ui-theme="dark"] body.bs-app .form-section-title,
html[data-ui-theme="light"] body.bs-app .partner-admin-page .form-section-title,
html[data-ui-theme="dark"] body.bs-app .partner-admin-page .form-section-title {
    color:var(--ui-title)!important;
    background:linear-gradient(135deg,var(--ui-surface-2),color-mix(in srgb,var(--brand-orange-soft) 55%,var(--ui-surface-2)))!important;
    border:1px solid var(--ui-border)!important;
}
html[data-ui-theme="light"] body.bs-app .form-label,
html[data-ui-theme="dark"] body.bs-app .form-label { color:var(--ui-text-2)!important; }
html[data-ui-theme="light"] body.bs-app .form-text,
html[data-ui-theme="dark"] body.bs-app .form-text { color:var(--ui-text-3)!important; }

/* Bootstrap utility text/backgrounds sur les surfaces thémées. */
html[data-ui-theme="dark"] body.bs-app .bg-white,
html[data-ui-theme="dark"] body.bs-app .bg-light,
html[data-ui-theme="dark"] body.bs-app .text-bg-light { background:var(--ui-surface-2)!important; color:var(--ui-text)!important; }
html[data-ui-theme="light"] body.bs-app .bg-white,
html[data-ui-theme="light"] body.bs-app .bg-light { background:var(--ui-surface)!important; color:var(--ui-text)!important; }
