/* ClubOS UI Foundation R1 — generated, do not edit directly.
 * Source modules remain separated for maintenance; runtime receives deterministic bundles.
 * Day/Night share the same bundle via CSS custom properties; no theme stylesheet is injected late.
 */
:root {
  --club-ui-page:#f4f7fb;
  --club-ui-surface:#ffffff;
  --club-ui-surface-soft:#f8fbff;
  --club-ui-border:rgba(55,86,120,.19);
  --club-ui-shadow-1:0 5px 16px rgba(15,48,86,.085);
  --club-ui-shadow-2:0 12px 34px rgba(15,48,86,.12);
  --club-ui-radius-card:16px;
}
:root[data-theme="dark"] {
  --club-ui-page:#0d1522;
  --club-ui-surface:#132036;
  --club-ui-surface-soft:#101b2e;
  --club-ui-border:rgba(132,161,199,.22);
  --club-ui-shadow-1:0 5px 18px rgba(0,0,0,.23);
  --club-ui-shadow-2:0 14px 38px rgba(0,0,0,.31);
}
html.clubos-desktop-preflight,html.clubos-desktop-preflight body { min-height:100%; }
#site-shell-content.clubos-surface-bundle-pending { visibility:hidden !important; }
@media (min-width:650px) {
  html.clubos-desktop-preflight body { background:var(--bs-body-bg,var(--club-ui-page)); overflow-x:hidden; }
}

/* BUNDLE clubos-core.css · R119R4ADESK5CFIX15P3FIX1 */

/* ===== SOURCE: site-theme.css ===== */
:root {
    --site-bg: #f5f7fb;
    --site-bg-gradient: radial-gradient(circle at top right, #eff6ff 0%, #f5f7fb 55%);
    --site-surface: #ffffff;
    --site-surface-2: #eef3fb;
    --site-text: #0f172a;
    --site-text-muted: #64748b;
    --site-border: #cfd8e5;
    --site-accent: #0f766e;
    --site-accent-contrast: #ffffff;
    --site-shadow: 0 10px 22px rgba(15, 23, 42, 0.08);
    /*
     * Échelle z-index centralisée (mur blog + topbar + modales).
     * Objectif: éviter les valeurs arbitraires dispersées.
     */
    --z-blog-content: 1;
    --z-blog-card-local: 850;
    --z-blog-card-local-open: 860;
    --z-blog-card-popover: 870;
    --z-blog-composer-sticky: 900;
    --z-site-topbar: 2000;
    --z-blog-modal-backdrop: 110070;
    --z-blog-modal: 110080;
    --z-blog-submodal: 110090;
    --z-blog-article-overlay: 120060;
}

:root[data-theme="dark"] {
    --site-bg: #070d18;
    --site-bg-gradient: radial-gradient(circle at top right, #17233d 0%, #0d1526 48%, #070d18 100%);
    --site-surface: #111a2c;
    --site-surface-2: #1a253b;
    --site-text: #e6ebf5;
    --site-text-muted: #98a8c4;
    --site-border: #30415d;
    --site-accent: #36c8ff;
    --site-accent-contrast: #07111f;
    --site-shadow: 0 12px 28px rgba(0, 0, 0, 0.35);
}

html,
body {
    background: var(--site-bg);
    color: var(--site-text);
}

body {
    background-image: var(--site-bg-gradient);
}

#site-shell-root,
.site-public-shell {
    color: var(--site-text);
}

.site-shell {
    max-width: 1180px;
}

#site-shell-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: var(--z-site-topbar, 2000);
}

#site-shell-header .navbar {
    margin-bottom: 0 !important;
}

/*
 * Uniformisation "pill" des actions de topbar.
 *
 * Objectif:
 * - tous les boutons de navigation (Blog, Musique, Offres Borg, Mon compte),
 * - le bouton notifications,
 * - Déconnexion,
 * - le bouton thème,
 * utilisent la même base ovale que la recherche.
 *
 * Important:
 * - on ne change pas la logique JS,
 * - on ne change pas les couleurs métier day/dark déjà définies plus bas,
 * - on harmonise uniquement forme / padding / alignement.
 */
#site-shell-header .navbar .btn {
    border-radius: 999px !important;
    min-height: 2.25rem;
    padding: 0.35rem 0.95rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    line-height: 1.1;
}

/*
 * Le bouton thème est visuellement plus compact,
 * mais reste bien ovale comme les autres.
 */
#site-shell-header .navbar .site-theme-toggle {
    min-width: 2.25rem;
    padding-left: 0.6rem;
    padding-right: 0.6rem;
}

/*
 * Bloc logo + recherche de la topbar publique.
 *
 * Ce bloc remplace le texte "wow.alexborg.us" par:
 * - un logo rond à gauche,
 * - un champ de recherche ovale à droite.
 *
 * Important:
 * - uniquement visuel pour cette V1.
 * - aucune logique de recherche backend ici.
 */
.site-topbar-brand-search {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.site-topbar-logo-link {
    text-decoration: none;
    flex: 0 0 auto;
}

.site-topbar-logo-circle {
    width: 40px;
    height: 40px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.site-topbar-logo-image {
    width: 28px;
    height: 28px;
    object-fit: contain;
    display: block;
}

.site-topbar-search {
    min-width: 180px;
    max-width: 260px;
    width: min(36vw, 260px);
    height: 40px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0 0.8rem;
    margin: 0;
}

.site-topbar-search-icon {
    font-size: 1rem;
    line-height: 1;
    opacity: 0.82;
}

.site-topbar-search-input {
    width: 100%;
    border: 0;
    background: transparent;
    outline: 0;
    font-size: 1.05rem;
    line-height: 1.2;
    padding: 0;
}

.site-topbar-search-input::placeholder {
    opacity: 1;
}

@media (max-width: 991.98px) {
    .site-topbar-search {
        width: min(44vw, 240px);
    }
}

:root[data-theme="light"] #site-shell-header .navbar {
    background: #f8fbff !important;
    border-bottom: 1px solid #cfd8e5 !important;
}

:root[data-theme="light"] .site-topbar-logo-circle {
    background: #259ef1;
}

:root[data-theme="light"] .site-topbar-search {
    background: #d7dbe1;
}

:root[data-theme="light"] .site-topbar-search-icon {
    color: #3f4a59;
}

:root[data-theme="light"] .site-topbar-search-input,
:root[data-theme="light"] .site-topbar-search-input::placeholder {
    color: #2f3a48;
}

:root[data-theme="light"] #site-shell-header .navbar .navbar-brand,
:root[data-theme="light"] #site-shell-header .navbar a {
    color: #0f172a !important;
}

:root[data-theme="light"] #site-shell-header .btn-outline-secondary,
:root[data-theme="light"] #site-shell-header .btn-outline-light {
    color: #1f3653;
    border-color: #8ea8c8;
    background: rgba(255, 255, 255, 0.72);
}

:root[data-theme="light"] #site-shell-header .btn-outline-secondary:hover,
:root[data-theme="light"] #site-shell-header .btn-outline-light:hover {
    color: #11263f;
    border-color: #6f95bf;
    background: #eaf3ff;
}

:root[data-theme="dark"] #site-shell-header .navbar {
    background: #111a2c !important;
    border-bottom: 1px solid #30415d !important;
}

:root[data-theme="dark"] .site-topbar-logo-circle {
    background: #0058b5;
}

:root[data-theme="dark"] .site-topbar-search {
    background: #0f1830;
}

:root[data-theme="dark"] .site-topbar-search-icon {
    color: #c7d3ea;
}

:root[data-theme="dark"] .site-topbar-search-input,
:root[data-theme="dark"] .site-topbar-search-input::placeholder {
    color: #e0e8f7;
}

:root[data-theme="dark"] #site-shell-header .navbar .navbar-brand,
:root[data-theme="dark"] #site-shell-header .navbar a {
    color: #e6ebf5 !important;
}

:root[data-theme="dark"] #site-shell-header .btn-outline-secondary,
:root[data-theme="dark"] #site-shell-header .btn-outline-light {
    color: #d9e5f8;
    border-color: #486084;
    background: rgba(17, 30, 49, 0.38);
}

:root[data-theme="dark"] #site-shell-header .btn-outline-secondary:hover,
:root[data-theme="dark"] #site-shell-header .btn-outline-light:hover,
:root[data-theme="dark"] #site-shell-header .btn-outline-secondary:focus-visible,
:root[data-theme="dark"] #site-shell-header .btn-outline-light:focus-visible {
    color: #edf4ff;
    border-color: #6f91be;
    background: rgba(52, 77, 115, 0.62);
}

#site-shell-header .navbar a.btn.is-shell-active,
#site-shell-header .navbar .btn.is-shell-active {
    color: #ffffff !important;
    background: #1f6feb !important;
    border-color: #1f6feb !important;
}

#site-shell-header .navbar a.btn.is-shell-active:hover,
#site-shell-header .navbar a.btn.is-shell-active:focus-visible,
#site-shell-header .navbar .btn.is-shell-active:hover,
#site-shell-header .navbar .btn.is-shell-active:focus-visible {
    color: #ffffff !important;
    background: #1a5ed0 !important;
    border-color: #1a5ed0 !important;
    box-shadow: 0 0 0 0.2rem rgba(31, 111, 235, 0.24);
}

/* Auth buttons: Connexion/Inscription are neutral unless active */
:root[data-theme="light"] #site-shell-header .navbar a[href$="/connexion"]:not(.is-shell-active),
:root[data-theme="light"] #site-shell-header .navbar a[href$="/inscription"]:not(.is-shell-active) {
    color: #1f3653 !important;
    background: rgba(255, 255, 255, 0.78) !important;
    border-color: #8ea8c8 !important;
}

:root[data-theme="dark"] #site-shell-header .navbar a[href$="/connexion"]:not(.is-shell-active),
:root[data-theme="dark"] #site-shell-header .navbar a[href$="/inscription"]:not(.is-shell-active) {
    color: #d9e5f8 !important;
    background: rgba(17, 30, 49, 0.7) !important;
    border-color: #486084 !important;
}

:root[data-theme="light"] #site-shell-header .navbar a[href$="/connexion"]:not(.is-shell-active):hover,
:root[data-theme="light"] #site-shell-header .navbar a[href$="/inscription"]:not(.is-shell-active):hover,
:root[data-theme="light"] #site-shell-header .navbar a[href$="/connexion"]:not(.is-shell-active):focus-visible,
:root[data-theme="light"] #site-shell-header .navbar a[href$="/inscription"]:not(.is-shell-active):focus-visible,
:root[data-theme="dark"] #site-shell-header .navbar a[href$="/connexion"]:not(.is-shell-active):hover,
:root[data-theme="dark"] #site-shell-header .navbar a[href$="/inscription"]:not(.is-shell-active):hover,
:root[data-theme="dark"] #site-shell-header .navbar a[href$="/connexion"]:not(.is-shell-active):focus-visible,
:root[data-theme="dark"] #site-shell-header .navbar a[href$="/inscription"]:not(.is-shell-active):focus-visible {
    color: inherit !important;
    filter: none;
}

/* Deconnexion must stay yellow/black in all themes */
:root[data-theme="light"] #site-shell-header .navbar a[href$="/deconnexion"],
:root[data-theme="dark"] #site-shell-header .navbar a[href$="/deconnexion"],
:root[data-theme="light"] #site-shell-header .navbar a[href$="/deconnexion"].is-shell-active,
:root[data-theme="dark"] #site-shell-header .navbar a[href$="/deconnexion"].is-shell-active {
    color: #111111 !important;
    background: #facc15 !important;
    border-color: #facc15 !important;
}

:root[data-theme="light"] #site-shell-header .navbar a[href$="/deconnexion"]:hover,
:root[data-theme="light"] #site-shell-header .navbar a[href$="/deconnexion"]:focus-visible,
:root[data-theme="dark"] #site-shell-header .navbar a[href$="/deconnexion"]:hover,
:root[data-theme="dark"] #site-shell-header .navbar a[href$="/deconnexion"]:focus-visible {
    color: #111111 !important;
    background: #eab308 !important;
    border-color: #eab308 !important;
    box-shadow: 0 0 0 0.2rem rgba(234, 179, 8, 0.28);
}

#site-shell-main {
    padding-top: calc(64px + 1rem);
}

@media (min-width: 992px) {
    .site-shell-main-member {
        height: 100dvh;
        max-height: 100dvh;
        overflow: hidden;
        padding-bottom: 0 !important;
    }

    #site-shell-content[data-shell-page="member"] {
        height: 100%;
        max-height: 100%;
        min-height: 0;
        overflow: hidden;
    }

    /* R118 R1 : seulement connexion et inscription, pas le mur ni Mon compte. */
    #site-shell-main.site-shell-main-member:has(> #site-shell-content[data-auth-scroll-page="1"]) {
        height: auto;
        min-height: calc(100dvh - 64px);
        max-height: none;
        overflow: visible;
        padding-bottom: 1.5rem !important;
    }

    #site-shell-content[data-shell-page="member"][data-auth-scroll-page="1"] {
        height: auto;
        max-height: none;
        min-height: 0;
        overflow: visible;
    }
    #site-shell-content[data-auth-scroll-page="1"] > .row {
        height: auto;
        max-height: none;
        overflow: visible;
    }
}

.site-public-shell .theme-surface {
    background: var(--site-surface);
    color: var(--site-text);
    border-color: var(--site-border) !important;
}

.site-public-shell .theme-muted {
    color: var(--site-text-muted) !important;
}

.site-theme-toggle {
    min-width: 2.2rem;
    font-weight: 600;
}

.site-theme-toggle:focus-visible {
    outline: 2px solid var(--site-accent);
    outline-offset: 2px;
}

/* Blog layout rules must be global because <head> styles are not swapped by shell Ajax */
#site-shell-content[data-shell-page="blog"] .blog-post-card {
    overflow: hidden;
}

#site-shell-content[data-shell-page="blog"] .blog-post-image-link {
    display: block;
    text-decoration: none;
}

#site-shell-content[data-shell-page="blog"] .blog-post-image-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #e9eef8;
}

#site-shell-content[data-shell-page="blog"] .blog-post-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

#site-shell-content[data-shell-page="blog"] .blog-post-featured-image {
    max-height: 460px;
    object-fit: cover;
}

#site-shell-content[data-shell-page="blog"] .blog-post-view {
    padding-bottom: 170px;
}

#site-shell-content[data-shell-page="blog"] .access-cta {
    border-left: 4px solid #0f766e;
    background: #eefbf8;
}

#site-shell-content[data-shell-page="blog"] .comments-access-alert {
    background: #f7fbff;
    border: 1px solid #b8d6fb;
    color: #0b223d;
}

#site-shell-content[data-shell-page="blog"] .comments-access-alert .alert-link {
    color: #0b63b4;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

#site-shell-content[data-shell-page="blog"] .comments-access-alert .alert-link:hover,
#site-shell-content[data-shell-page="blog"] .comments-access-alert .alert-link:focus-visible {
    color: #084d8b;
    text-decoration-thickness: 2px;
}

:root[data-theme="dark"] #site-shell-content[data-shell-page="blog"] .card {
    background: #111a2c;
    color: #e6ebf5;
    border-color: #30415d !important;
}

:root[data-theme="dark"] #site-shell-content[data-shell-page="blog"] .text-muted,
:root[data-theme="dark"] #site-shell-content[data-shell-page="blog"] .small.text-muted {
    color: #9ab0cb !important;
}

:root[data-theme="dark"] #site-shell-content[data-shell-page="blog"] .bg-light {
    background-color: #1a253b !important;
}

:root[data-theme="dark"] #site-shell-content[data-shell-page="blog"] .access-cta {
    background: #1a253b;
    border-left-color: #36c8ff;
}

:root[data-theme="dark"] #site-shell-content[data-shell-page="blog"] .blog-post-image-wrap {
    background: #0f1728;
}

:root[data-theme="dark"] #site-shell-content[data-shell-page="blog"] .comments-access-alert {
    background: #17243a;
    border-color: #385072;
    color: #e6eefb;
}

:root[data-theme="dark"] #site-shell-content[data-shell-page="blog"] .comments-access-alert .alert-link {
    color: #9bd9ff;
}

:root[data-theme="dark"] #site-shell-content[data-shell-page="blog"] .comments-access-alert .alert-link:hover,
:root[data-theme="dark"] #site-shell-content[data-shell-page="blog"] .comments-access-alert .alert-link:focus-visible {
    color: #b6e5ff;
}

:root[data-theme="dark"] #site-shell-content[data-shell-page="blog"] .blog-comment-form .form-control,
:root[data-theme="dark"] #site-shell-content[data-shell-page="blog"] .blog-comment-form .form-control:focus,
:root[data-theme="dark"] #site-shell-content[data-shell-page="blog"] .blog-comment-form textarea.form-control {
    background: #0f1728;
    color: #e6ebf5;
    border-color: #30415d;
    box-shadow: none;
}

:root[data-theme="dark"] #site-shell-content[data-shell-page="blog"] .blog-comment-form .form-control::placeholder,
:root[data-theme="dark"] #site-shell-content[data-shell-page="blog"] .blog-comment-form textarea.form-control::placeholder {
    color: #8fa2bf;
    opacity: 1;
}

:root[data-theme="dark"] #site-shell-content[data-shell-page="blog"] .blog-comment-form .btn-outline-primary {
    color: #d6e9ff;
    border-color: #4f6f9d;
    background: rgba(21, 34, 55, 0.55);
}

:root[data-theme="dark"] #site-shell-content[data-shell-page="blog"] .blog-comment-form .btn-outline-primary:hover,
:root[data-theme="dark"] #site-shell-content[data-shell-page="blog"] .blog-comment-form .btn-outline-primary:focus-visible {
    color: #eaf4ff;
    border-color: #6c93c8;
    background: rgba(33, 51, 80, 0.78);
}

/* Member/account dark readability */
:root[data-theme="dark"] #site-shell-content[data-shell-page="member"] .card {
    background: #111a2c;
    color: #e6ebf5;
    border-color: #30415d !important;
}

:root[data-theme="dark"] #site-shell-content[data-shell-page="member"] .text-muted,
:root[data-theme="dark"] #site-shell-content[data-shell-page="member"] .small.text-muted {
    color: #9ab0cb !important;
}

:root[data-theme="dark"] #site-shell-content[data-shell-page="member"] .form-control,
:root[data-theme="dark"] #site-shell-content[data-shell-page="member"] .form-control:focus,
:root[data-theme="dark"] #site-shell-content[data-shell-page="member"] .form-select {
    background: #0f1728;
    border-color: #30415d;
    color: #e6ebf5;
}

:root[data-theme="dark"] #site-shell-content[data-shell-page="member"] .form-control::placeholder,
:root[data-theme="dark"] #site-shell-content[data-shell-page="member"] textarea.form-control::placeholder {
    color: #8fa2bf;
    opacity: 1;
}

/* Navbar notifications */
#navbarNotificationsPanel {
    background: color-mix(in srgb, var(--site-surface) 92%, #ffffff 8%);
    color: var(--site-text);
    border-color: var(--site-border) !important;
    border-radius: 14px;
    box-shadow: 0 14px 28px rgba(12, 23, 43, 0.14);
    padding: .7rem !important;
    backdrop-filter: saturate(130%) blur(4px);
}

#navbarNotificationsPanel .text-muted,
#navbarNotificationsPanel .small.text-muted {
    color: var(--site-text-muted) !important;
}

#navbarNotificationsPanel > .d-flex {
    border-bottom: 1px solid color-mix(in srgb, var(--site-border) 88%, transparent);
    padding-bottom: .48rem;
    margin-bottom: .56rem !important;
}

#navbarNotificationsPanel > .d-flex strong {
    font-size: .78rem;
    letter-spacing: .01em;
}

.navbar-notifications-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    margin-bottom: .54rem;
}

.navbar-notifications-filters {
    display: inline-flex;
    align-items: center;
    gap: .22rem;
    padding: .14rem;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--site-border) 84%, transparent);
    background: color-mix(in srgb, var(--site-surface-2) 84%, transparent);
}

.navbar-notifications-filter-btn {
    border: 0;
    background: transparent;
    color: var(--site-text-muted);
    font-size: .69rem;
    font-weight: 600;
    border-radius: 999px;
    padding: .22rem .56rem;
    line-height: 1.2;
}

.navbar-notifications-filter-btn.is-active {
    color: var(--site-text);
    background: color-mix(in srgb, #ffffff 78%, var(--site-link) 22%);
    box-shadow: 0 1px 2px rgba(12, 23, 43, .12);
}

.navbar-notifications-menu-wrap {
    position: relative;
}

.navbar-notifications-menu-button {
    width: 1.84rem;
    height: 1.84rem;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--site-border) 84%, transparent);
    background: color-mix(in srgb, var(--site-surface-2) 84%, transparent);
    color: var(--site-text-muted);
    font-size: .96rem;
    font-weight: 700;
    line-height: 1;
}

.navbar-notifications-menu {
    position: absolute;
    top: calc(100% + .36rem);
    right: 0;
    min-width: 212px;
    border-radius: 11px;
    border: 1px solid color-mix(in srgb, var(--site-border) 84%, transparent);
    background: color-mix(in srgb, var(--site-surface) 95%, #fff 5%);
    box-shadow: 0 14px 24px rgba(12, 23, 43, .15);
    padding: .28rem;
    z-index: 8;
}

.navbar-notifications-menu-item {
    width: 100%;
    display: flex;
    align-items: center;
    border: 0;
    background: transparent;
    color: inherit;
    text-decoration: none;
    border-radius: 8px;
    padding: .42rem .56rem;
    font-size: .72rem;
    text-align: left;
}

.navbar-notifications-menu-item:hover,
.navbar-notifications-menu-item:focus-visible {
    background: color-mix(in srgb, var(--site-surface-2) 78%, var(--site-link) 22%);
    color: inherit;
}

#navbarNotificationsList {
    max-height: min(68vh, 520px);
    overflow-y: auto;
    padding-right: .2rem;
}

#navbarNotificationsList .navbar-notification-item {
    background: var(--site-surface-2);
    border-color: var(--site-border) !important;
    color: var(--site-text);
    padding: .72rem .78rem;
    transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

#navbarNotificationsList .navbar-notification-item.is-unread {
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--site-link) 28%, transparent);
    background: linear-gradient(180deg, color-mix(in srgb, var(--site-surface-2) 82%, var(--site-link) 18%), var(--site-surface-2));
}

#accountNotificationsList .account-notification-item {
    background: var(--site-surface-2);
    border-color: var(--site-border) !important;
    color: var(--site-text);
    padding: .84rem .92rem;
    transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

#accountNotificationsList .account-notification-item.is-unread {
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--site-link) 26%, transparent);
    background: linear-gradient(180deg, color-mix(in srgb, var(--site-surface-2) 84%, var(--site-link) 16%), var(--site-surface-2));
}

#accountNotificationsCard .text-muted,
#accountNotificationsCard .small.text-muted {
    color: var(--site-text-muted) !important;
}

#accountNotificationsList .account-notification-item.is-clickable,
#navbarNotificationsList .navbar-notification-item.is-clickable {
    cursor: pointer;
}

#accountNotificationsList .account-notification-item.is-clickable:hover,
#accountNotificationsList .account-notification-item.is-clickable:focus-visible,
#navbarNotificationsList .navbar-notification-item.is-clickable:hover,
#navbarNotificationsList .navbar-notification-item.is-clickable:focus-visible {
    background: color-mix(in srgb, var(--site-surface-2) 72%, var(--site-link) 28%);
    border-color: color-mix(in srgb, var(--site-border) 44%, var(--site-link) 56%) !important;
    box-shadow: 0 8px 18px rgba(12, 23, 43, 0.12);
    transform: translateY(-1px);
    outline: none;
}

.notification-item-layout {
    display: grid;
    grid-template-columns: 3rem minmax(0, 1fr);
    gap: .78rem;
    align-items: flex-start;
}

.notification-avatar-wrap {
    position: relative;
    width: 3rem;
    height: 3rem;
    flex: 0 0 3rem;
}

.notification-avatar {
    width: 100%;
    height: 100%;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .02em;
    background: color-mix(in srgb, var(--site-link) 16%, var(--site-surface));
    color: color-mix(in srgb, var(--site-link) 64%, var(--site-text));
    border: 1px solid color-mix(in srgb, var(--site-border) 74%, var(--site-link) 26%);
}

.notification-avatar-wrap img.notification-avatar {
    display: block;
    object-fit: cover;
}

.notification-avatar-image {
    background: color-mix(in srgb, var(--site-surface) 76%, #d6e2f2 24%);
}

.notification-avatar-fallback {
    background:
        radial-gradient(circle at 26% 20%, rgba(255, 255, 255, .26), rgba(255, 255, 255, 0) 54%),
        linear-gradient(155deg, color-mix(in srgb, var(--notification-avatar-bg, #3b82f6) 94%, #ffffff 6%), color-mix(in srgb, var(--notification-avatar-bg, #3b82f6) 74%, #111827 26%));
    color: #f8fafc;
    border-color: color-mix(in srgb, var(--notification-avatar-ring, #2563eb) 72%, #0f172a 28%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 3px 8px rgba(15, 23, 42, .18);
    text-transform: uppercase;
}

.notification-avatar-wrap.is-hoverable {
    cursor: pointer;
}

.notification-avatar-wrap.is-hoverable .notification-avatar {
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.notification-avatar-wrap.is-hoverable:hover .notification-avatar,
.notification-avatar-wrap.is-hoverable:focus-within .notification-avatar {
    transform: translateY(-1px);
    box-shadow: 0 5px 14px rgba(15, 23, 42, .24);
}

.notification-type-badge {
    position: absolute;
    right: -.24rem;
    bottom: -.14rem;
    width: 1.72rem;
    height: 1.72rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .64rem;
    font-weight: 700;
    line-height: 1;
    border: 0;
    background: #65676b;
    color: #ffffff;
    box-shadow: 0 2px 7px rgba(15, 23, 42, .25);
}

/* Familiar social semantics, redrawn for ClubOS: green discussion,
 * blue reaction/follow/message, amber moderation, neutral system. */
.notification-type-badge.notification-type-comment,
.notification-type-badge.notification-type-reply {
    background: #31a24c;
    border-color: var(--site-surface);
}

.notification-type-badge.notification-type-reaction,
.notification-type-badge.notification-type-message,
.notification-type-badge.notification-type-follow {
    background: #0866ff;
    border-color: var(--site-surface);
}

.notification-type-badge.notification-type-report {
    background: #d88919;
    border-color: var(--site-surface);
}

.notification-type-badge.notification-type-generic {
    background: #65676b;
    border-color: var(--site-surface);
}

.notification-type-icon {
    width: 1.04rem;
    height: 1.04rem;
    display: block;
}

.notification-type-icon path,
.notification-type-icon circle {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.75;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.notification-type-icon.notification-type-icon-filled path,
.notification-type-icon.notification-type-icon-filled circle,
.notification-type-icon.notification-type-icon-heart path {
    fill: currentColor;
    stroke: none;
}

.notification-main {
    min-width: 0;
}

.notification-main-top {
    display: flex;
    align-items: center;
    gap: .44rem;
    min-height: 1.15rem;
    margin-bottom: .2rem;
}

.notification-actor {
    font-size: .77rem;
    font-weight: 650;
    color: var(--site-text);
    max-width: 58%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.notification-action-text {
    font-size: .72rem;
    color: var(--site-text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: 500;
}

.account-notification-item.is-unread .notification-actor,
.navbar-notification-item.is-unread .notification-actor {
    color: color-mix(in srgb, var(--site-text) 84%, var(--site-link) 16%);
}

.notification-type-label {
    font-size: .67rem;
    color: var(--site-text-muted);
    border: 1px solid var(--site-border);
    border-radius: 999px;
    padding: .03rem .42rem;
    line-height: 1.3;
}

.notification-unread-dot {
    width: .6rem;
    height: .6rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--site-link) 92%, #7de2ff 8%);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--site-link) 24%, transparent);
    margin-left: auto;
    flex: 0 0 auto;
}

.notification-message {
    font-size: .835rem;
    line-height: 1.46;
    color: var(--site-text);
    margin-bottom: .4rem;
}

.notification-context {
    display: inline-flex;
    align-items: center;
    font-size: .67rem;
    font-weight: 600;
    border-radius: 999px;
    padding: .04rem .42rem;
    margin-right: .22rem;
    background: color-mix(in srgb, var(--site-surface-2) 84%, var(--site-link) 16%);
    border: 1px solid color-mix(in srgb, var(--site-border) 72%, var(--site-link) 28%);
    color: color-mix(in srgb, var(--site-text) 70%, var(--site-link) 30%);
}

.notification-context-sep {
    display: none;
}

.notification-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.notification-meta time {
    font-size: .73rem;
    color: var(--site-text-muted);
}

.notification-read-state {
    font-size: .66rem;
    color: var(--site-text-muted);
    border: 1px solid var(--site-border);
    border-radius: 999px;
    padding: .04rem .46rem;
}

.notification-group-label {
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .075em;
    font-weight: 700;
    color: var(--site-text-muted);
    margin: .28rem .08rem .14rem;
}

.notification-group-label + .account-notification-item,
.notification-group-label + .navbar-notification-item {
    margin-top: .1rem;
}

.notification-group-empty {
    font-size: .72rem;
    color: var(--site-text-muted);
    margin: 0 .1rem .32rem;
    padding: .06rem 0 .02rem;
}

#accountNotificationsList .js-notification-read,
#navbarNotificationsList .js-navbar-notification-read {
    border-radius: 999px;
    padding: .22rem .58rem;
    font-size: .68rem;
    white-space: nowrap;
}

:root[data-theme="dark"] #navbarNotificationsPanel {
    box-shadow: 0 16px 34px rgba(3, 7, 14, .48);
}

:root[data-theme="dark"] .navbar-notifications-filters,
:root[data-theme="dark"] .navbar-notifications-menu-button {
    border-color: #355173;
    background: #112035;
    color: #9fb3cd;
}

:root[data-theme="dark"] .navbar-notifications-filter-btn {
    color: #9fb3cd;
}

:root[data-theme="dark"] .navbar-notifications-filter-btn.is-active {
    color: #e6eef9;
    background: color-mix(in srgb, #1b3556 72%, var(--site-link) 28%);
}

:root[data-theme="dark"] .navbar-notifications-menu {
    border-color: #355173;
    background: #0f1b2f;
    box-shadow: 0 16px 28px rgba(2, 8, 18, .55);
}

:root[data-theme="dark"] .notification-avatar {
    background: color-mix(in srgb, var(--site-link) 20%, #0d1c31 80%);
    color: #d7ebff;
}

:root[data-theme="dark"] .notification-avatar-fallback {
    color: #f8fafc;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 5px 14px rgba(2, 8, 18, .42);
}

:root[data-theme="dark"] .notification-type-badge {
    box-shadow: 0 3px 8px rgba(2, 8, 18, .5);
}

:root[data-theme="dark"] .notification-action-text,
:root[data-theme="dark"] .notification-context,
:root[data-theme="dark"] .notification-context-sep,
:root[data-theme="dark"] .notification-group-label,
:root[data-theme="dark"] .notification-group-empty {
    color: #9fb3cd;
}

:root[data-theme="dark"] .notification-context {
    background: color-mix(in srgb, #13243b 78%, var(--site-link) 22%);
    border-color: color-mix(in srgb, #335071 72%, var(--site-link) 28%);
    color: #c7dbf5;
}

:root[data-theme="dark"] #accountNotificationsList .account-notification-item.is-clickable:hover,
:root[data-theme="dark"] #accountNotificationsList .account-notification-item.is-clickable:focus-visible,
:root[data-theme="dark"] #navbarNotificationsList .navbar-notification-item.is-clickable:hover,
:root[data-theme="dark"] #navbarNotificationsList .navbar-notification-item.is-clickable:focus-visible {
    box-shadow: 0 10px 22px rgba(2, 8, 18, 0.46);
}

/* Music page in light theme */
:root[data-theme="light"] body.music-page-shell {
    --music-bg-start: var(--site-bg);
    --music-bg-end: var(--site-bg);
    --music-card: var(--site-surface);
    --music-card-soft: var(--site-surface-2);
    --music-border: var(--site-border);
    --music-text: var(--site-text);
    --music-muted: var(--site-text-muted);
    --music-accent: #1a97d3;
    --music-accent-soft: #1a97d3;
}

:root[data-theme="light"] body.music-page-shell .card {
    background: var(--site-surface) !important;
    color: var(--site-text) !important;
    border-color: var(--site-border) !important;
}

:root[data-theme="light"] body.music-page-shell .text-secondary {
    color: var(--site-text-muted) !important;
}

:root[data-theme="light"] body.music-page-shell .music-context-bar,
:root[data-theme="light"] body.music-page-shell .music-track-comments,
:root[data-theme="light"] body.music-page-shell .music-comment-item {
    background: var(--site-surface) !important;
    border-color: var(--site-border) !important;
    color: var(--site-text) !important;
}

:root[data-theme="light"] body.music-page-shell .music-track-comments .form-control,
:root[data-theme="light"] body.music-page-shell .music-track-comments .form-control:focus,
:root[data-theme="light"] body.music-page-shell .music-track-comments .js-comment-reply-content {
    background: #ffffff !important;
    color: #12263f !important;
    border-color: #b8cade !important;
    box-shadow: none;
}

:root[data-theme="light"] body.music-page-shell .music-track-comments .form-control::placeholder,
:root[data-theme="light"] body.music-page-shell .music-track-comments .js-comment-reply-content::placeholder {
    color: #6b819f !important;
    opacity: 1;
}

:root[data-theme="light"] body.music-page-shell .music-comment-replies {
    border-left-color: #c3d3e8 !important;
}

:root[data-theme="light"] body.music-page-shell .music-comment-ts {
    color: #0b6aa7 !important;
}

:root[data-theme="light"] body.music-page-shell .music-btn-subtle,
:root[data-theme="light"] body.music-page-shell .music-comment-reactions .btn {
    color: #2f4766 !important;
    border-color: #9cb3cc !important;
    background: #f4f8fe !important;
}

:root[data-theme="light"] body.music-page-shell .music-btn-subtle:hover,
:root[data-theme="light"] body.music-page-shell .music-comment-reactions .btn:hover,
:root[data-theme="light"] body.music-page-shell .music-btn-subtle:focus-visible,
:root[data-theme="light"] body.music-page-shell .music-comment-reactions .btn:focus-visible {
    color: #1c3552 !important;
    border-color: #6f92b8 !important;
    background: #eaf2fb !important;
}

:root[data-theme="light"] body.music-page-shell .music-btn-comment {
    color: #0b6aa7 !important;
    border-color: #7fb7de !important;
    background: #edf7ff !important;
}

:root[data-theme="light"] body.music-page-shell .music-btn-comment:hover,
:root[data-theme="light"] body.music-page-shell .music-btn-comment:focus-visible {
    color: #075786 !important;
    border-color: #4e98c9 !important;
    background: #dcf0ff !important;
}

:root[data-theme="light"] body.music-page-shell .music-comment-reactions .btn.is-active {
    color: #0d6335 !important;
    border-color: #35ab6f !important;
    background: #e9f9f0 !important;
}

:root[data-theme="light"] body.music-page-shell .placeholder-cover,
:root[data-theme="light"] body.music-page-shell .track-cover-placeholder {
    background: #dfe8f5 !important;
}

:root[data-theme="light"] body.music-page-shell .album-cover,
:root[data-theme="light"] body.music-page-shell .album-detail-cover,
:root[data-theme="light"] body.music-page-shell .track-cover-thumb {
    border-color: #b9cce3 !important;
}

:root[data-theme="light"] body.music-page-shell .music-track-table {
    --bs-table-color: var(--site-text);
    --bs-table-border-color: var(--site-border);
    --bs-table-striped-bg: rgba(15, 23, 42, 0.015);
    --bs-table-hover-bg: rgba(15, 118, 110, 0.055);
}

:root[data-theme="light"] body.music-page-shell .music-track-row:hover {
    background: rgba(15, 23, 42, 0.03) !important;
}

:root[data-theme="light"] body.music-page-shell .music-track-row:hover a,
:root[data-theme="light"] body.music-page-shell .music-track-row:hover .fw-semibold,
:root[data-theme="light"] body.music-page-shell .music-track-row:hover .text-decoration-none {
    color: #11263f !important;
}

:root[data-theme="light"] body.music-page-shell .music-track-row.is-track-playing {
    background: linear-gradient(90deg, rgba(15, 118, 110, 0.12), rgba(15, 23, 42, 0.03)) !important;
    box-shadow: inset 0 0 0 1px rgba(15, 118, 110, 0.25);
}

:root[data-theme="light"] body.music-page-shell .music-track-row.is-track-paused {
    background: linear-gradient(90deg, rgba(15, 118, 110, 0.08), rgba(15, 23, 42, 0.02)) !important;
    box-shadow: inset 0 0 0 1px rgba(15, 118, 110, 0.15);
}

:root[data-theme="light"] body.music-page-shell a {
    color: #0b6aa7 !important;
}

:root[data-theme="light"] body.music-page-shell a:hover {
    color: #0a5b8f !important;
}

:root[data-theme="light"] body.music-page-shell .music-btn-like,
:root[data-theme="light"] body.music-page-shell #global-player-like {
    color: #a11836 !important;
    border-color: #d35b78 !important;
    background: rgba(255, 255, 255, 0.88) !important;
}

:root[data-theme="light"] body.music-page-shell .music-btn-ghost,
:root[data-theme="light"] body.music-page-shell .music-track-actions .btn-outline-secondary,
:root[data-theme="light"] body.music-page-shell .music-track-actions .btn-outline-success {
    color: #153454 !important;
    border-color: #8ca9ca !important;
    background: rgba(255, 255, 255, 0.92) !important;
}

:root[data-theme="light"] body.music-page-shell .music-btn-ghost:hover,
:root[data-theme="light"] body.music-page-shell .music-track-actions .btn-outline-secondary:hover,
:root[data-theme="light"] body.music-page-shell .music-track-actions .btn-outline-success:hover {
    color: #0f2b47 !important;
    border-color: #668dba !important;
    background: rgba(236, 245, 255, 0.98) !important;
}

:root[data-theme="light"] body.music-page-shell .js-music-play-trigger.btn-warning {
    color: #39250a !important;
    border-color: #df9e37 !important;
    background: linear-gradient(120deg, #ffd87f 0%, #ffc469 100%) !important;
}

:root[data-theme="light"] body.music-page-shell .music-btn-favorite,
:root[data-theme="light"] body.music-page-shell #global-player-favorite {
    color: #70511b !important;
    border-color: #d0b27a !important;
    background: rgba(255, 251, 240, 0.96) !important;
}

:root[data-theme="light"] body.music-page-shell .music-btn-favorite.is-active,
:root[data-theme="light"] body.music-page-shell #global-player-favorite.is-active {
    color: #5f420f !important;
    border-color: #c4912b !important;
    background: rgba(255, 236, 192, 0.95) !important;
}

:root[data-theme="light"] body.music-page-shell .music-btn-comment,
:root[data-theme="light"] body.music-page-shell #global-player-comments {
    color: #0a5f89 !important;
    border-color: #70afd5 !important;
    background: rgba(238, 247, 255, 0.94) !important;
}

:root[data-theme="light"] body.music-page-shell .music-btn-comment:hover,
:root[data-theme="light"] body.music-page-shell #global-player-comments:hover {
    color: #08496a !important;
    border-color: #4e93c1 !important;
    background: rgba(222, 240, 255, 0.98) !important;
}

:root[data-theme="light"] body.music-page-shell .music-btn-like:hover,
:root[data-theme="light"] body.music-page-shell #global-player-like:hover,
:root[data-theme="light"] body.music-page-shell .music-btn-like:focus-visible,
:root[data-theme="light"] body.music-page-shell #global-player-like:focus-visible {
    color: #8f0d2c !important;
    border-color: #b9274f !important;
    background: rgba(255, 233, 239, 0.95) !important;
}

:root[data-theme="light"] body.music-page-shell .music-btn-like.is-active,
:root[data-theme="light"] body.music-page-shell #global-player-like.is-active {
    color: #8f0d2c !important;
    border-color: #c43a5f !important;
    background: rgba(255, 220, 230, 0.95) !important;
    box-shadow: 0 0 0 1px rgba(196, 58, 95, 0.24) inset;
}

/* Global persistent player theme */
:root[data-theme="light"] .global-music-player {
    background: linear-gradient(180deg, #f3f7fd 0%, #e8eff9 100%) !important;
    border-top-color: #c8d6e9 !important;
    box-shadow: 0 -10px 24px rgba(15, 23, 42, 0.12) !important;
}

:root[data-theme="light"] .global-music-player__cover {
    background: #dce7f6 !important;
    border-color: #b9cce3 !important;
}

:root[data-theme="light"] .global-music-player__title {
    color: #12263f !important;
}

:root[data-theme="light"] .global-music-player__subtitle,
:root[data-theme="light"] .global-music-player__times {
    color: #4a6484 !important;
}

/* Player visual baseline must stay identical across Music/Blog/Member pages */
:root[data-theme="light"] .global-music-player[data-display-mode="dock-right"] .global-music-player__title {
    color: #14375f !important;
}

:root[data-theme="light"] .global-music-player[data-display-mode="dock-right"] .global-music-player__subtitle {
    color: #4d6f95 !important;
}

:root[data-theme="dark"] .global-music-player[data-display-mode="dock-right"] .global-music-player__title {
    color: #e6ebf5 !important;
}

:root[data-theme="dark"] .global-music-player[data-display-mode="dock-right"] .global-music-player__subtitle {
    color: #98a8c4 !important;
}

:root[data-theme="light"] .global-music-player .btn-outline-light,
:root[data-theme="light"] .global-music-player .btn-outline-secondary {
    color: #1d3553;
    border-color: #8ea8c8;
    background: rgba(255, 255, 255, 0.7);
}

:root[data-theme="light"] .global-music-player #global-player-toggle,
:root[data-theme="light"] .global-music-player #global-player-prev,
:root[data-theme="light"] .global-music-player #global-player-next,
:root[data-theme="light"] .global-music-player #global-player-shuffle,
:root[data-theme="light"] .global-music-player #global-player-volume {
    color: #173657 !important;
    border-color: #7ea0c8 !important;
    background: linear-gradient(180deg, #ffffff, #edf4ff) !important;
}

:root[data-theme="light"] .global-music-player #global-player-loop[data-loop-mode="none"] {
    color: #3f5f87 !important;
    border-color: #84a5cb !important;
    background: linear-gradient(180deg, #ffffff, #edf4ff) !important;
}

:root[data-theme="light"] .global-music-player #global-player-loop[data-loop-mode="track"] {
    color: #9b5b12 !important;
    border-color: #e1b56b !important;
    background: linear-gradient(180deg, #fff6e7, #ffe8c4) !important;
}

:root[data-theme="light"] .global-music-player #global-player-loop[data-loop-mode="album"] {
    color: #0f4f77 !important;
    border-color: #78afd4 !important;
    background: linear-gradient(180deg, #eef8ff, #d9effd) !important;
}

:root[data-theme="light"] .global-music-player #global-player-shuffle[data-shuffle-mode="local"] {
    color: #9b5b12 !important;
    border-color: #e1b56b !important;
    background: linear-gradient(180deg, #fff6e7, #ffe8c4) !important;
}

:root[data-theme="light"] .global-music-player #global-player-shuffle[data-shuffle-mode="global"] {
    color: #0f4f77 !important;
    border-color: #78afd4 !important;
    background: linear-gradient(180deg, #eef8ff, #d9effd) !important;
}

:root[data-theme="light"] .global-music-player .music-loop-badge {
    border-color: rgba(167, 115, 35, 0.45) !important;
    background: rgba(255, 220, 170, 0.85) !important;
    color: #7d4d10 !important;
}

:root[data-theme="light"] .global-music-player #global-player-toggle:hover,
:root[data-theme="light"] .global-music-player #global-player-prev:hover,
:root[data-theme="light"] .global-music-player #global-player-next:hover,
:root[data-theme="light"] .global-music-player #global-player-shuffle:hover,
:root[data-theme="light"] .global-music-player #global-player-volume:hover {
    color: #0f2a46 !important;
    border-color: #5c83b2 !important;
    background: linear-gradient(180deg, #ffffff, #dfeeff) !important;
}

:root[data-theme="light"] .global-music-player .music-btn-like.is-active,
:root[data-theme="light"] .global-music-player .music-btn-favorite.is-active,
:root[data-theme="light"] .global-music-player #global-player-like.is-active,
:root[data-theme="light"] .global-music-player #global-player-favorite.is-active {
    background: rgba(255, 255, 255, 0.95);
}

:root[data-theme="light"] .global-music-player #global-player-like {
    color: #a11836 !important;
    border-color: #d35b78 !important;
    background: rgba(255, 255, 255, 0.88) !important;
}

:root[data-theme="light"] .global-music-player #global-player-like:hover,
:root[data-theme="light"] .global-music-player #global-player-like:focus-visible {
    color: #8f0d2c !important;
    border-color: #b9274f !important;
    background: rgba(255, 233, 239, 0.95) !important;
}

:root[data-theme="light"] .global-music-player #global-player-like.is-active {
    color: #8f0d2c !important;
    border-color: #c43a5f !important;
    background: rgba(255, 220, 230, 0.95) !important;
    box-shadow: 0 0 0 1px rgba(196, 58, 95, 0.24) inset !important;
}

:root[data-theme="light"] .global-music-player #global-player-favorite {
    color: #70511b !important;
    border-color: #d0b27a !important;
    background: rgba(255, 251, 240, 0.96) !important;
}

:root[data-theme="light"] .global-music-player #global-player-favorite:hover,
:root[data-theme="light"] .global-music-player #global-player-favorite:focus-visible {
    color: #5f420f !important;
    border-color: #bf984f !important;
    background: rgba(255, 242, 216, 0.96) !important;
}

:root[data-theme="light"] .global-music-player #global-player-favorite.is-active {
    color: #5f420f !important;
    border-color: #c4912b !important;
    background: rgba(255, 236, 192, 0.95) !important;
}

:root[data-theme="light"] .global-music-player .btn-outline-light:hover,
:root[data-theme="light"] .global-music-player .btn-outline-secondary:hover {
    color: #10243d;
    border-color: #5f84ad;
    background: rgba(255, 255, 255, 0.96);
}

:root[data-theme="light"] .global-music-player .music-btn-like-icon {
    color: #c1244e;
}

:root[data-theme="light"] .global-music-player .music-btn-favorite-icon {
    color: #acb8cb;
}

:root[data-theme="light"] .global-music-player #global-player-favorite.is-active .music-btn-favorite-icon {
    color: #cc8b11;
    filter: drop-shadow(0 0 5px rgba(209, 146, 18, 0.3));
}

:root[data-theme="light"] .global-music-player .global-music-player__volume-popover {
    border-color: #abc3de;
    background: linear-gradient(180deg, rgba(250, 253, 255, 0.98), rgba(236, 244, 253, 0.98));
    box-shadow: 0 14px 28px rgba(20, 44, 77, 0.2);
}

:root[data-theme="light"] .global-music-player .global-music-player__overflow-popover {
    border-color: #abc3de;
    background: linear-gradient(180deg, rgba(250, 253, 255, 0.98), rgba(236, 244, 253, 0.98));
    box-shadow: 0 14px 28px rgba(20, 44, 77, 0.2);
}

:root[data-theme="light"] .global-music-player .global-music-player__overflow-item {
    border-color: rgba(125, 152, 186, 0.48);
    background: rgba(255, 255, 255, 0.88);
    color: #173657;
}

:root[data-theme="light"] .global-music-player .global-music-player__overflow-item:hover {
    border-color: rgba(93, 133, 179, 0.76);
    background: rgba(243, 249, 255, 0.97);
    color: #10243d;
}

:root[data-theme="light"] .global-music-player .global-music-player__overflow-item.is-active {
    border-color: rgba(219, 167, 95, 0.7);
    background: rgba(255, 238, 205, 0.9);
    color: #7e4e15;
}

:root[data-theme="light"] .global-music-player .global-music-player__overflow-item .global-music-player__overflow-loop-state {
    border-color: rgba(126, 152, 186, 0.32);
    color: #496486;
}

:root[data-theme="light"] .global-music-player .global-music-player__overflow-item[data-overflow-target="global-player-loop"][data-loop-mode="track"] {
    border-color: rgba(219, 167, 95, 0.7);
    background: rgba(255, 238, 205, 0.9);
    color: #7e4e15;
}

:root[data-theme="light"] .global-music-player .global-music-player__overflow-item[data-overflow-target="global-player-loop"][data-loop-mode="track"] .global-music-player__overflow-loop-state {
    border-color: rgba(195, 147, 74, 0.45);
    background: rgba(255, 220, 164, 0.88);
    color: #8f5310;
}

:root[data-theme="light"] .global-music-player .global-music-player__overflow-item[data-overflow-target="global-player-loop"][data-loop-mode="album"] {
    border-color: rgba(100, 165, 206, 0.76);
    background: rgba(221, 241, 255, 0.95);
    color: #13517a;
}

:root[data-theme="light"] .global-music-player .global-music-player__overflow-item[data-overflow-target="global-player-loop"][data-loop-mode="album"] .global-music-player__overflow-loop-state {
    border-color: rgba(90, 157, 199, 0.42);
    background: rgba(203, 234, 252, 0.92);
    color: #1a628f;
}

:root[data-theme="light"] .global-music-player .global-music-player__overflow-item[data-overflow-target="global-player-shuffle"][data-shuffle-mode="local"] {
    border-color: rgba(219, 167, 95, 0.7);
    background: rgba(255, 238, 205, 0.9);
    color: #7e4e15;
}

:root[data-theme="light"] .global-music-player .global-music-player__overflow-item[data-overflow-target="global-player-shuffle"][data-shuffle-mode="local"] .global-music-player__overflow-shuffle-state {
    border-color: rgba(195, 147, 74, 0.45);
    background: rgba(255, 220, 164, 0.88);
    color: #8f5310;
}

:root[data-theme="light"] .global-music-player .global-music-player__overflow-item[data-overflow-target="global-player-shuffle"][data-shuffle-mode="global"] {
    border-color: rgba(100, 165, 206, 0.76);
    background: rgba(221, 241, 255, 0.95);
    color: #13517a;
}

:root[data-theme="light"] .global-music-player .global-music-player__overflow-item[data-overflow-target="global-player-shuffle"][data-shuffle-mode="global"] .global-music-player__overflow-shuffle-state {
    border-color: rgba(90, 157, 199, 0.42);
    background: rgba(203, 234, 252, 0.92);
    color: #1a628f;
}

:root[data-theme="light"] .global-music-player #global-player-volume[data-volume-level="muted"] {
    color: #7f96b4 !important;
}

:root[data-theme="light"] .global-music-player #global-player-volume[data-volume-level="low"] {
    color: #a66218 !important;
}

:root[data-theme="light"] .global-music-player #global-player-volume[data-volume-level="high"] {
    color: #0f6798 !important;
}

:root[data-theme="light"] .global-music-player__wave-wrap {
    border-color: #b8cade !important;
    background: linear-gradient(180deg, #eef4fd, #e6eef9) !important;
}

:root[data-theme="light"] .global-music-player__seek {
    --seek-played: #de6f43;
    --seek-unplayed: rgba(116, 144, 188, 0.5);
    --seek-thumb: #d95d36;
    --seek-thumb-ring: #fff9f1;
}

:root[data-theme="light"] .global-music-player__marker {
    background: rgba(30, 143, 211, 0.85) !important;
}

:root[data-theme="light"] .global-music-player__wave-hover {
    background: rgba(21, 64, 110, 0.24) !important;
}

:root[data-theme="light"] .global-music-player__wave-time {
    background: rgba(248, 252, 255, 0.96) !important;
    border-color: #b6cbe3 !important;
    color: #0f223a !important;
}

:root[data-theme="light"] .global-music-player__tooltip {
    background: #f8fbff !important;
    border-color: #b8cade !important;
    color: #0f223a !important;
}

/* Playlist modal theme */
#music-playlist-modal .card {
    background: var(--site-surface);
    color: var(--site-text);
    border-color: var(--site-border) !important;
}

#music-playlist-modal .music-playlist-modal-panel {
    max-width: 640px;
    margin: 40px auto;
    border-radius: 12px;
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.3);
    overflow: hidden;
    background: var(--site-surface);
    color: var(--site-text);
    border: 1px solid var(--site-border);
}

#music-playlist-modal .music-playlist-modal-header,
#music-playlist-modal .music-playlist-modal-body,
#music-playlist-modal .music-playlist-modal-create {
    background: var(--site-surface);
    color: var(--site-text);
    border-color: var(--site-border) !important;
}

#music-playlist-modal .text-muted,
#music-playlist-modal .small.text-muted {
    color: var(--site-text-muted) !important;
}

:root[data-theme="dark"] #music-playlist-modal .btn-outline-secondary {
    color: #d9e5f8;
    border-color: #486084;
}

:root[data-theme="dark"] #music-playlist-modal .form-control,
:root[data-theme="dark"] #music-playlist-modal .form-control:focus {
    background: #0f1728;
    border-color: #30415d;
    color: #e6ebf5;
}

:root[data-theme="dark"] #music-playlist-modal .form-control::placeholder {
    color: #8fa2bf;
    opacity: 1;
}

:root[data-theme="dark"] body.music-page-shell .music-track-comments .form-control,
:root[data-theme="dark"] body.music-page-shell .music-track-comments .form-control:focus,
:root[data-theme="dark"] body.music-page-shell .music-track-comments .js-comment-reply-content {
    background: #0f1728 !important;
    border-color: #30415d !important;
    color: #e6ebf5 !important;
    box-shadow: none;
}

:root[data-theme="dark"] body.music-page-shell .music-track-comments .form-control::placeholder,
:root[data-theme="dark"] body.music-page-shell .music-track-comments .js-comment-reply-content::placeholder {
    color: #8fa2bf !important;
    opacity: 1;
}

:root[data-theme="dark"] body.music-page-shell .music-btn-subtle,
:root[data-theme="dark"] body.music-page-shell .music-comment-reactions .btn {
    color: #d5dceb !important;
    border-color: rgba(112, 131, 168, 0.55) !important;
}

:root[data-theme="light"] .global-music-player #global-player-shuffle::after {
    border-color: transparent !important;
    background: transparent !important;
    color: transparent !important;
}

:root[data-theme="light"] .global-music-player #global-player-shuffle[data-shuffle-mode="local"]::after {
    border-color: rgba(195, 147, 74, 0.45) !important;
    background: rgba(255, 220, 164, 0.9) !important;
    color: #8f5310 !important;
}

:root[data-theme="light"] .global-music-player #global-player-shuffle[data-shuffle-mode="global"]::after {
    border-color: rgba(90, 157, 199, 0.42) !important;
    background: rgba(203, 234, 252, 0.92) !important;
    color: #1a628f !important;
}

:root[data-theme="light"] .global-music-player .global-music-player__visualizer {
    border-color: #9ab8da !important;
    background: radial-gradient(circle at 24% 22%, rgba(68, 148, 213, 0.26), rgba(220, 235, 251, 0.95)) !important;
}

:root[data-theme="light"] .global-music-player .global-music-player__visualizer-empty {
    color: rgba(31, 73, 117, 0.78) !important;
}

:root[data-theme="light"] .global-music-player #global-player-display-toggle[data-display-mode="dock-right"] {
    color: #0f4f77 !important;
    border-color: #78afd4 !important;
    background: linear-gradient(180deg, #eef8ff, #d9effd) !important;
}

:root[data-theme="light"] .global-music-player .global-music-player__overflow-item[data-player-display-mode].is-active {
    border-color: rgba(100, 165, 206, 0.76) !important;
    background: rgba(221, 241, 255, 0.95) !important;
    color: #13517a !important;
}

:root[data-theme="light"] .global-music-player .global-music-player__overflow-item[data-player-display-mode].is-active .global-music-player__overflow-display-state {
    border-color: rgba(90, 157, 199, 0.42) !important;
    background: rgba(203, 234, 252, 0.92) !important;
    color: #1a628f !important;
    opacity: 1 !important;
}


.site-messaging-nav{position:relative;min-width:42px;display:inline-flex!important;align-items:center;justify-content:center;gap:.25rem}
.site-messaging-nav-icon{font-size:1.18rem;line-height:1}
.site-messaging-nav-badge{position:absolute;right:-.35rem;top:-.45rem;min-width:1.22rem;height:1.22rem;padding:0 .28rem;border-radius:999px;display:grid;place-items:center;background:#dc2626;color:#fff;font-size:.65rem;font-weight:900;box-shadow:0 0 0 2px var(--bs-body-bg,#fff)}
.site-messaging-nav-badge[hidden]{display:none!important}

/* ClubOS 8.9.1 — topbar bord à bord et rendu initial sans flash legacy */
#site-shell-header .navbar > .container.site-shell {
    width: 100%;
    max-width: none !important;
    padding-left: clamp(.8rem, 1.35vw, 1.5rem);
    padding-right: clamp(.8rem, 1.35vw, 1.5rem);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
}

#site-shell-header .navbar > .container.site-shell > .site-topbar-brand-search {
    margin-right: auto;
    min-width: 0;
}

#site-shell-header .navbar > .container.site-shell > .d-flex {
    margin-left: auto;
    flex-wrap: nowrap !important;
    justify-content: flex-end !important;
}

/*
 * Les vues PHP historiques contiennent encore les anciens contrôles.
 * Ils restent comme secours sans JavaScript, mais ne doivent plus flasher
 * avant que le menu compact n'ait fini sa réhydratation.
 */
#site-shell-header:not([data-compact-header-ready="1"]) .navbar > .container.site-shell > .d-flex > a[href$="/mon-compte"],
#site-shell-header:not([data-compact-header-ready="1"]) .navbar > .container.site-shell > .d-flex > a[href*="/mon-compte?"],
#site-shell-header:not([data-compact-header-ready="1"]) .navbar > .container.site-shell > .d-flex > a[href$="/account"],
#site-shell-header:not([data-compact-header-ready="1"]) .navbar > .container.site-shell > .d-flex > a[href*="/account?"],
#site-shell-header:not([data-compact-header-ready="1"]) .navbar > .container.site-shell > .d-flex > .site-theme-toggle,
#site-shell-header:not([data-compact-header-ready="1"]) .navbar > .container.site-shell > .d-flex > [data-theme-toggle] {
    display: none !important;
}

#site-shell-header:not([data-compact-header-ready="1"]) .navbar > .container.site-shell > .d-flex > a[href$="/deconnexion"],
#site-shell-header:not([data-compact-header-ready="1"]) .navbar > .container.site-shell > .d-flex > a[href*="/deconnexion?"] {
    width: 2.7rem;
    min-width: 2.7rem;
    height: 2.7rem;
    min-height: 2.7rem;
    padding: 0 !important;
    overflow: hidden;
    color: transparent !important;
    border-radius: 999px !important;
    background: var(--site-surface-2) !important;
    border-color: var(--site-border) !important;
}

#site-shell-header:not([data-compact-header-ready="1"]) .navbar > .container.site-shell > .d-flex > a[href$="/deconnexion"]::before,
#site-shell-header:not([data-compact-header-ready="1"]) .navbar > .container.site-shell > .d-flex > a[href*="/deconnexion?"]::before {
    content: "";
    width: 1.45rem;
    height: 1.45rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--site-text-muted) 38%, transparent);
}

#site-shell-header a[href$="/messages"]:not(.site-messaging-nav),
#site-shell-header a[href*="/messages?"]:not(.site-messaging-nav) {
    width: 2.55rem;
    min-width: 2.55rem;
    height: 2.55rem;
    min-height: 2.55rem;
    padding: 0 !important;
    overflow: hidden;
    font-size: 0;
}

#site-shell-header a[href$="/messages"]:not(.site-messaging-nav)::before,
#site-shell-header a[href*="/messages?"]:not(.site-messaging-nav)::before {
    content: "✉";
    font-size: 1.05rem;
    line-height: 1;
}

@media (max-width: 760px) {
    #site-shell-header .navbar > .container.site-shell {
        gap: .55rem;
        padding-left: .55rem;
        padding-right: .55rem;
    }

    #site-shell-header .navbar > .container.site-shell > .d-flex {
        gap: .35rem !important;
    }
}

/* ClubOS 8.9.1 — espace du player conservé hors de la Music Room. */
body.music-player-persistent {
    padding-bottom: 136px;
}

@media (max-width: 767.98px) {
    body.music-player-persistent {
        padding-bottom: 186px;
    }
}

#site-shell-header:not([data-compact-header-ready="1"]) .navbar > .container.site-shell > .d-flex > a[href$="/deconnexion"],
#site-shell-header:not([data-compact-header-ready="1"]) .navbar > .container.site-shell > .d-flex > a[href*="/deconnexion?"] {
    display: inline-grid !important;
    place-items: center;
}

#site-shell-header:not([data-compact-header-ready="1"]) .navbar > .container.site-shell > .d-flex > a[href$="/deconnexion"]::before,
#site-shell-header:not([data-compact-header-ready="1"]) .navbar > .container.site-shell > .d-flex > a[href*="/deconnexion?"]::before {
    display: block;
}


/* ClubOS 8.9.2 — contrastes musique et protection des liens du menu de compte. */
:root[data-theme="light"] body.music-page-shell .btn-primary,
:root[data-theme="light"] body.music-page-shell a.btn-primary,
:root[data-theme="light"] body.music-page-shell .music-btn-primary {
    color: #ffffff !important;
}

:root[data-theme="light"] body.music-page-shell .btn-primary:hover,
:root[data-theme="light"] body.music-page-shell .btn-primary:focus-visible,
:root[data-theme="light"] body.music-page-shell a.btn-primary:hover,
:root[data-theme="light"] body.music-page-shell a.btn-primary:focus-visible {
    color: #ffffff !important;
}

/* Les liens internes du menu de compte ne sont jamais des boutons de topbar. */
#site-shell-header .site-account-menu a,
#site-shell-header .site-account-menu button {
    font-size: inherit;
}

#site-shell-header .site-account-menu-footer a {
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    font-size: inherit !important;
}

#site-shell-header .site-account-menu-footer a::before {
    content: none !important;
    display: none !important;
}


/* ========================================================================== */
/* ClubOS B.3.2 — commentaires Musique alignés sur les fils Publications.     */
/* ========================================================================== */
body.music-page-shell .music-comment-thread {
    --comment-rail-width: 44px;
    display: flex;
    flex-direction: column;
    gap: .35rem;
    margin: .25rem 0 .75rem;
}

body.music-page-shell .music-comment-thread .music-comment-item {
    --c-avatar-size: 32px;
    position: relative;
    z-index: 1;
    padding: .15rem 0;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.music-page-shell .music-comment-thread .music-comment-item.is-reply {
    --c-avatar-size: 24px;
}

body.music-page-shell .music-comment-thread .c-row {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

body.music-page-shell .music-comment-thread .av {
    width: var(--c-avatar-size);
    height: var(--c-avatar-size);
    min-width: var(--c-avatar-size);
    min-height: var(--c-avatar-size);
    flex: 0 0 var(--c-avatar-size);
    border-radius: 50%;
}

body.music-page-shell .music-comment-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: color-mix(in srgb, var(--site-link) 18%, var(--site-surface-2));
    color: var(--site-text);
    font-size: .78rem;
    font-weight: 800;
}

body.music-page-shell .music-comment-avatar-image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

body.music-page-shell .music-comment-bubble {
    min-width: 0;
    width: 100%;
    padding: .5rem .72rem;
    border-radius: 16px;
    background: var(--site-surface-2);
    color: var(--site-text);
}

body.music-page-shell .music-comment-heading {
    display: flex;
    align-items: baseline;
    gap: .35rem;
    min-width: 0;
    font-size: .82rem;
}

body.music-page-shell .music-comment-heading strong {
    color: var(--site-text);
}

body.music-page-shell .music-comment-date {
    overflow: hidden;
    color: var(--site-text-muted);
    font-size: .74rem;
    white-space: nowrap;
    text-overflow: ellipsis;
}

body.music-page-shell .music-comment-ts {
    margin-left: auto;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--site-link);
    font-size: .76rem;
    font-weight: 700;
    white-space: nowrap;
}

body.music-page-shell .music-comment-content {
    margin-top: .28rem;
    color: var(--site-text);
    font-size: .86rem;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

body.music-page-shell .music-comment-actions {
    display: flex;
    align-items: center;
    gap: .65rem;
    min-height: 1.85rem;
    margin: .1rem 0 0 calc(var(--c-avatar-size) + 8px);
    color: var(--site-text-muted);
    font-size: .76rem;
    font-weight: 700;
}

body.music-page-shell .music-comment-action,
body.music-page-shell .music-comment-reaction-trigger {
    min-height: 30px;
    padding: .18rem .28rem;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--site-text-muted);
    font: inherit;
    font-weight: 750;
    touch-action: manipulation;
}

body.music-page-shell .music-comment-action:hover,
body.music-page-shell .music-comment-action:focus-visible,
body.music-page-shell .music-comment-reaction-trigger:hover,
body.music-page-shell .music-comment-reaction-trigger:focus-visible {
    background: color-mix(in srgb, var(--site-link) 10%, transparent);
    color: var(--site-link);
    outline: none;
}

body.music-page-shell .music-comment-reaction-trigger.is-active {
    color: var(--site-link);
}

body.music-page-shell .music-comment-reaction-trigger__emoji {
    margin-right: .2rem;
}

body.music-page-shell .music-comment-reaction-wrap {
    position: relative;
}

body.music-page-shell .music-comment-reaction-picker {
    position: absolute;
    z-index: 6500;
    left: 0;
    bottom: calc(100% + .4rem);
    display: flex;
    gap: .25rem;
    width: max-content;
    max-width: calc(100vw - 2rem);
    padding: .42rem .5rem;
    border: 1px solid var(--site-border);
    border-radius: 999px;
    background: var(--site-surface);
    box-shadow: 0 12px 30px rgba(15, 23, 42, .18);
}

body.music-page-shell .music-comment-reaction-picker[hidden] {
    display: none !important;
}

body.music-page-shell .music-comment-reaction-choice {
    display: inline-flex;
    width: 36px;
    height: 36px;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: transparent;
    font-size: 1.08rem;
    transition: transform 120ms ease, background-color 120ms ease;
}

body.music-page-shell .music-comment-reaction-choice:hover,
body.music-page-shell .music-comment-reaction-choice:focus-visible,
body.music-page-shell .music-comment-reaction-choice.is-active {
    transform: translateY(-1px) scale(1.06);
    background: color-mix(in srgb, var(--site-link) 13%, transparent);
    outline: none;
}

body.music-page-shell .music-comment-reaction-summary {
    display: inline-flex;
    align-items: center;
    gap: .2rem;
    color: var(--site-text-muted);
    font-size: .73rem;
}

body.music-page-shell .music-comment-reaction-summary__icons {
    display: inline-flex;
    letter-spacing: -.18rem;
    padding-right: .12rem;
}

body.music-page-shell .music-comment-reply-form {
    margin: .35rem 0 .45rem calc(var(--c-avatar-size) + 8px);
    padding: .55rem;
    border: 1px solid var(--site-border);
    border-radius: 12px;
    background: var(--site-surface);
}

body.music-page-shell .music-comment-reply-form[hidden] {
    display: none !important;
}

body.music-page-shell .music-comment-reply-form__actions {
    display: flex;
    justify-content: flex-end;
    gap: .4rem;
    margin-top: .4rem;
}

body.music-page-shell .music-comment-reply-submit {
    min-height: 34px;
    padding: .3rem .72rem;
    border: 0;
    border-radius: 9px;
    background: var(--site-link);
    color: #fff;
    font-weight: 800;
}

body.music-page-shell .music-comment-replies-toggle {
    margin: .28rem 0 0 calc(var(--c-avatar-size) + 8px);
    padding: .25rem .4rem;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--site-link);
    font-size: .76rem;
    font-weight: 800;
}

body.music-page-shell .music-comment-thread .c-node > svg.c-rails-collapsed {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    overflow: visible;
    pointer-events: none;
}

body.music-page-shell .music-comment-thread .c-node > svg.c-rails-collapsed[hidden] {
    display: none !important;
}

body.music-page-shell .music-comment-thread .c-node > svg.c-rails-collapsed path {
    stroke: color-mix(in srgb, var(--site-text-muted) 38%, transparent);
    stroke-width: 2;
}

body.music-page-shell .music-comment-thread .c-node > .c-row,
body.music-page-shell .music-comment-thread .c-node > .actions,
body.music-page-shell .music-comment-thread .c-node > .music-comment-replies-toggle,
body.music-page-shell .music-comment-thread .c-node > .c-group {
    position: relative;
    z-index: 1;
}

body.music-page-shell .music-comment-thread .c-group {
    --comment-rail-width: 44px;
    position: relative;
    margin-top: .2rem;
    padding-left: var(--comment-rail-width);
    overflow: visible;
}

body.music-page-shell .music-comment-thread .c-group[hidden] {
    display: none !important;
}

body.music-page-shell .music-comment-thread .c-group > svg.c-rails {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    width: var(--comment-rail-width);
    overflow: visible;
    pointer-events: none;
}

body.music-page-shell .music-comment-thread .c-group > svg.c-rails path {
    stroke: color-mix(in srgb, var(--site-text-muted) 38%, transparent);
    stroke-width: 2;
}

body.music-page-shell .music-comment-thread .c-item {
    position: relative;
    padding-top: 8px;
    overflow: visible;
}

body.music-page-shell .music-comment-thread .c-item-inner {
    position: relative;
    overflow: visible;
}

body.music-page-shell .music-comment-item.is-highlighted .music-comment-bubble {
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--site-link) 55%, transparent);
}

:root[data-theme="dark"] body.music-page-shell .music-comment-bubble {
    background: color-mix(in srgb, var(--site-surface-2) 88%, #1b2a42 12%);
}

:root[data-theme="dark"] body.music-page-shell .music-comment-reaction-picker,
:root[data-theme="dark"] body.music-page-shell .music-comment-reply-form {
    box-shadow: 0 16px 36px rgba(0, 0, 0, .38);
}

@media (max-width: 767.98px) {
    body.music-page-shell .music-comment-thread .c-group {
        --comment-rail-width: 36px;
    }

    body.music-page-shell .music-comment-thread .music-comment-item {
        --c-avatar-size: 30px;
    }

    body.music-page-shell .music-comment-thread .music-comment-item.is-reply {
        --c-avatar-size: 24px;
    }

    body.music-page-shell .music-comment-actions {
        gap: .45rem;
    }

    body.music-page-shell .music-comment-reaction-picker {
        left: -.25rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.music-page-shell .music-comment-reaction-choice {
        transition: none;
    }
}

/* ========================================================================== */
/* ClubOS 8.14.0-B.3.2.2 — colonne racine et rails Musique mesurés.          */
/* ========================================================================== */
body.music-page-shell .music-comment-thread {
    position: relative;
    isolation: isolate;
}
body.music-page-shell .music-comment-thread > svg.c-root-spine {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    overflow: visible;
    pointer-events: none;
}
body.music-page-shell .music-comment-thread > svg.c-root-spine[hidden] {
    display: none !important;
}
body.music-page-shell .music-comment-thread > svg.c-root-spine path {
    stroke: color-mix(in srgb, var(--site-text-muted) 38%, transparent);
    stroke-width: 2;
}

/* ========================================================================== */
/* ClubOS 8.14.0-B.3.2.3 — neutralisation de l’ancienne gouttière Musique.   */
/*                                                                            */
/* Le renderer historique ajoute encore margin-left, padding-left et une      */
/* bordure pointillée à .music-comment-replies. Le nouvel arbre SVG possède   */
/* déjà sa propre gouttière mesurée : conserver les deux systèmes décale les  */
/* rails et produit une deuxième ligne verticale à côté des avatars.          */
/* ========================================================================== */
body.music-page-shell .music-comment-thread .music-comment-replies.c-group {
    margin-left: 0 !important;
    padding-left: var(--comment-rail-width) !important;
    border-left: 0 !important;
    border-inline-start: 0 !important;
    box-sizing: border-box;
}


/* ClubOS 8.14.0-B.3.2.4 — le niveau zéro Musique garde sa géométrie racine. */
body.music-page-shell .music-comment-thread > .music-comment-item,
body.music-page-shell .music-comment-thread > .music-comment-item.is-reply {
    --c-avatar-size: 32px;
}
@media (max-width: 767.98px) {
    body.music-page-shell .music-comment-thread > .music-comment-item,
    body.music-page-shell .music-comment-thread > .music-comment-item.is-reply {
        --c-avatar-size: 30px;
    }
}


/* ========================================================================== */
/* ClubOS 8.14.0-B.3.2.5 — spine racine Musique visible entre les fils.      */
/* Les anciennes règles Day/Night donnaient un fond opaque à l'article        */
/* complet. Le SVG racine existait bien, mais restait peint derrière ce fond. */
/* Les bulles conservent leur surface ; le conteneur d'arbre reste transparent.*/
/* ========================================================================== */
:root[data-theme="light"] body.music-page-shell .music-comment-thread > .music-comment-item,
:root[data-theme="dark"] body.music-page-shell .music-comment-thread > .music-comment-item,
body.music-page-shell .music-comment-thread > .music-comment-item {
    background: transparent !important;
    box-shadow: none !important;
}
body.music-page-shell .music-comment-thread > svg.c-root-spine {
    z-index: 1;
}
body.music-page-shell .music-comment-thread > .music-comment-item {
    z-index: auto;
}
body.music-page-shell .music-comment-thread > .music-comment-item > .c-row,
body.music-page-shell .music-comment-thread > .music-comment-item > .actions,
body.music-page-shell .music-comment-thread > .music-comment-item > .music-comment-replies-toggle,
body.music-page-shell .music-comment-thread > .music-comment-item > .c-group,
body.music-page-shell .music-comment-thread > .music-comment-item > .music-comment-reply-form {
    position: relative;
    z-index: 2;
}
body.music-page-shell .music-comment-thread > svg.c-root-spine path,
body.music-page-shell .music-comment-thread .c-group > svg.c-rails path,
body.music-page-shell .music-comment-thread .c-node > svg.c-rails-collapsed path {
    stroke: color-mix(in srgb, var(--site-text-muted) 45%, transparent);
    stroke-width: 2;
    vector-effect: non-scaling-stroke;
}

/* Club Alex Borg 9.8.0B — accès Push depuis la cloche */
.navbar-notifications-tools {
    display: flex;
    align-items: center;
    gap: .35rem;
}

.navbar-notifications-preferences-button {
    display: inline-grid;
    place-items: center;
    width: 1.84rem;
    height: 1.84rem;
    border: 1px solid color-mix(in srgb, var(--site-border) 84%, transparent);
    border-radius: 999px;
    background: color-mix(in srgb, var(--site-surface-2) 84%, transparent);
    color: var(--site-text-muted);
    text-decoration: none;
}

.navbar-notifications-preferences-button:hover,
.navbar-notifications-preferences-button:focus-visible {
    background: color-mix(in srgb, var(--site-link) 11%, var(--site-surface-2));
    color: var(--site-link);
}

.navbar-notifications-preferences-button svg {
    width: 1rem;
    height: 1rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.navbar-push-callout {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr) auto;
    align-items: center;
    gap: .55rem;
    margin: .25rem 0 .55rem;
    padding: .65rem;
    border: 1px solid color-mix(in srgb, var(--site-link) 22%, var(--site-border));
    border-radius: .8rem;
    background: color-mix(in srgb, var(--site-surface-2) 90%, var(--site-link) 10%);
}

.navbar-push-callout-icon {
    display: inline-grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: .65rem;
    background: color-mix(in srgb, var(--site-link) 12%, transparent);
    color: var(--site-link);
}

.navbar-push-callout-icon svg {
    width: 1.1rem;
    height: 1.1rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.navbar-push-callout-copy { display: grid; gap: .08rem; min-width: 0; }
.navbar-push-callout-copy strong { font-size: .73rem; line-height: 1.25; }
.navbar-push-callout-copy small { color: var(--site-text-muted); font-size: .65rem; line-height: 1.3; }
.navbar-push-callout-status { color: var(--site-text-muted); font-size: .64rem; }
.navbar-push-callout-actions { display: flex; align-items: center; gap: .2rem; }

.navbar-push-callout-activate {
    border: 0;
    border-radius: 999px;
    padding: .35rem .58rem;
    background: var(--site-link);
    color: #fff;
    font-size: .67rem;
    font-weight: 800;
}

.navbar-push-callout-dismiss {
    display: inline-grid;
    place-items: center;
    width: 1.55rem;
    height: 1.55rem;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--site-text-muted);
    font-size: 1rem;
}


/* Club Alex Borg 9.8.0D — activation Push directe depuis la cloche */
.navbar-push-callout {
    grid-template-columns: minmax(0, 1fr) auto;
    border-width: 1.5px;
    cursor: pointer;
    box-shadow: 0 .35rem 1rem color-mix(in srgb, var(--site-link) 10%, transparent);
    transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.navbar-push-callout.is-available {
    border-color: color-mix(in srgb, var(--site-link) 46%, var(--site-border));
    background: color-mix(in srgb, var(--site-surface-2) 80%, var(--site-link) 20%);
}
.navbar-push-callout:hover,
.navbar-push-callout:focus-within {
    border-color: color-mix(in srgb, var(--site-link) 62%, var(--site-border));
    box-shadow: 0 .45rem 1.2rem color-mix(in srgb, var(--site-link) 16%, transparent);
    transform: translateY(-1px);
}
.navbar-push-callout-main {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    align-items: center;
    gap: .55rem;
    min-width: 0;
    color: inherit;
    text-decoration: none;
    border-radius: .62rem;
    outline: none;
}
.navbar-push-callout-main:focus-visible {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--site-link) 25%, transparent);
}
.navbar-push-callout-more {
    width: fit-content;
    margin-top: .12rem;
    color: var(--site-link);
    font-size: .64rem;
    font-weight: 800;
}
.navbar-push-callout-activate {
    white-space: nowrap;
    cursor: pointer;
    box-shadow: 0 .2rem .55rem color-mix(in srgb, var(--site-link) 18%, transparent);
}
.navbar-push-callout-activate:hover,
.navbar-push-callout-activate:focus-visible {
    filter: brightness(.96);
}
.navbar-push-callout.is-blocked {
    border-color: color-mix(in srgb, #c88428 42%, var(--site-border));
}
.navbar-push-callout.is-unavailable {
    opacity: .92;
}
.notifications-device-card.is-direct-focus {
    border-color: color-mix(in srgb, var(--site-link) 72%, var(--site-border)) !important;
    background: color-mix(in srgb, var(--site-surface-2) 76%, var(--site-link) 24%) !important;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--site-link) 16%, transparent), 0 .6rem 1.45rem color-mix(in srgb, var(--site-link) 14%, transparent) !important;
    animation: clubosNotificationDeviceFocus 1.15s ease-in-out 2;
}
@keyframes clubosNotificationDeviceFocus {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-2px); }
}
@media (max-width: 640px) {
    .navbar-push-callout {
        grid-template-columns: 1fr;
        gap: .45rem;
    }
    .navbar-push-callout-main {
        grid-template-columns: 1.9rem minmax(0, 1fr);
    }
    .navbar-push-callout-actions {
        grid-column: 1;
        padding-left: 2.45rem;
        justify-content: flex-start;
    }
}

/* R93 — Facebook-like quick notifications: le contenu avant le chrome. */
#navbarNotificationsPanel {
    width: min(370px, calc(100vw - 1rem)) !important;
    padding: .5rem .45rem .55rem !important;
    border-radius: 13px !important;
    background: var(--site-surface, #fff) !important;
    backdrop-filter: none !important;
    box-shadow: 0 12px 28px rgba(12, 23, 43, .22) !important;
}
#navbarNotificationsPanel > .navbar-notifications-header {
    position: relative;
    min-height: 2.8rem;
    padding: .1rem .45rem .15rem;
    margin: 0 !important;
    border: 0 !important;
}
#navbarNotificationsPanel .navbar-notifications-title {
    font-size: 1.48rem !important;
    line-height: 1.12;
    letter-spacing: -.025em !important;
    font-weight: 800;
}
#navbarNotificationsPanel .navbar-notifications-load-state {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
#navbarNotificationsPanel .navbar-notifications-toolbar {
    margin: .15rem .35rem .35rem;
}
#navbarNotificationsPanel .navbar-notifications-filters {
    gap: .2rem;
    padding: 0;
    border: 0;
    background: transparent;
}
#navbarNotificationsPanel .navbar-notifications-filter-btn {
    min-height: 2.15rem;
    padding: .42rem .78rem;
    font-size: .88rem;
    font-weight: 700;
}
#navbarNotificationsPanel .navbar-notifications-filter-btn.is-active {
    color: #0866ff;
    background: #e7f3ff;
    box-shadow: none;
}
#navbarNotificationsPanel .navbar-notifications-preferences-button { display: none !important; }
#navbarNotificationsPanel .navbar-notifications-menu-button {
    width: 2.1rem;
    height: 2.1rem;
    border: 0;
    background: transparent;
    font-size: 1.15rem;
}
#navbarNotificationsPanel .navbar-push-callout { display: none !important; }
#navbarNotificationsList {
    max-height: min(72vh, 570px);
    overflow-y: auto;
    padding: 0 .1rem .2rem 0;
    gap: 0 !important;
}
#navbarNotificationsList .notification-group-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin: .35rem .5rem .15rem;
    font-size: 1rem;
    line-height: 1.25;
    letter-spacing: 0;
    text-transform: none;
    font-weight: 800;
    color: var(--site-text);
}
#navbarNotificationsList .notification-group-label a {
    color: #0866ff;
    font-size: .82rem;
    font-weight: 500;
    text-decoration: none;
}
#navbarNotificationsList .notification-group-label a:hover { text-decoration: underline; }
#navbarNotificationsList .navbar-notification-item {
    position: relative;
    margin: 0;
    padding: .55rem .45rem !important;
    border: 0 !important;
    border-radius: .55rem !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}
#navbarNotificationsList .navbar-notification-item.is-unread {
    background: color-mix(in srgb, #e7f3ff 82%, var(--site-surface) 18%) !important;
    box-shadow: none !important;
}
#navbarNotificationsList .navbar-notification-item.is-clickable:hover,
#navbarNotificationsList .navbar-notification-item.is-clickable:focus-visible {
    background: color-mix(in srgb, var(--site-surface-2) 66%, #e7f3ff 34%) !important;
    box-shadow: none !important;
    outline: none;
}
#navbarNotificationsList .notification-item-layout {
    display: grid;
    grid-template-columns: 3rem minmax(0, 1fr) .65rem;
    gap: .65rem;
    align-items: start;
}
#navbarNotificationsList .notification-avatar-wrap {
    width: 3rem;
    height: 3rem;
    flex-basis: 3rem;
}
#navbarNotificationsList .notification-avatar {
    font-size: .82rem;
}
#navbarNotificationsList .notification-type-badge {
    right: -.18rem;
    bottom: -.14rem;
    width: 1.72rem;
    height: 1.72rem;
    border: 0 !important;
}
#navbarNotificationsList .notification-type-icon {
    width: 1.04rem;
    height: 1.04rem;
}
#navbarNotificationsList .notification-facebook-copy {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    color: var(--site-text);
    font-size: .925rem;
    line-height: 1.28;
    overflow-wrap: anywhere;
}
#navbarNotificationsList .notification-facebook-copy .notification-actor {
    max-width: none;
    overflow: visible;
    white-space: normal;
    font-size: inherit;
    font-weight: 800;
    color: inherit;
}
#navbarNotificationsList .notification-sentence-text {
    color: inherit;
    font-weight: 400;
}
#navbarNotificationsList .notification-meta {
    display: block;
    margin-top: .16rem;
}
#navbarNotificationsList .notification-meta time {
    color: var(--site-text-muted);
    font-size: .77rem;
    line-height: 1.2;
}
#navbarNotificationsList .notification-meta time.is-unread-time {
    color: #0866ff;
    font-weight: 700;
}
#navbarNotificationsList .notification-unread-dot {
    align-self: center;
    width: .52rem;
    height: .52rem;
    margin: 0;
    background: #0866ff;
    box-shadow: none;
}
#navbarNotificationsList .notification-unread-dot.is-placeholder { visibility: hidden; }
#navbarNotificationsList .navbar-notifications-empty-state {
    padding: 1.4rem .75rem;
    color: var(--site-text-muted);
    font-size: .9rem;
    text-align: center;
}
#navbarNotificationsList .notification-group-empty {
    margin: .15rem .5rem .5rem;
    font-size: .78rem;
}
:root[data-theme="dark"] #navbarNotificationsPanel .navbar-notifications-filter-btn.is-active {
    color: #8ab4ff;
    background: rgba(24, 119, 242, .19);
}
:root[data-theme="dark"] #navbarNotificationsList .navbar-notification-item.is-unread {
    background: rgba(24, 119, 242, .14) !important;
}
#navbarNotificationsList .notification-type-badge.notification-type-follow {
    color: #fff;
    background: #1877f2;
}
#navbarNotificationsPanel > .navbar-notifications-header .navbar-notifications-menu-wrap {
    margin-left: auto;
}
#navbarNotificationsPanel .navbar-notifications-tools:empty { display: none !important; }
#navbarNotificationsPanel .navbar-notifications-tools { display: none !important; }
#navbarNotificationsPanel > .navbar-notifications-header .navbar-notifications-menu-wrap { display: block !important; }


/* R101 FIX1 — accès direct au centre de contrôle depuis la cloche + lecture Facebook-like. */
#navbarNotificationsPanel > .navbar-notifications-header .navbar-notifications-preferences-button{display:inline-grid!important;margin-left:auto;width:2.1rem;height:2.1rem;border:0;background:transparent;color:var(--site-text-muted)}
#navbarNotificationsPanel > .navbar-notifications-header .navbar-notifications-preferences-button:hover,
#navbarNotificationsPanel > .navbar-notifications-header .navbar-notifications-preferences-button:focus-visible{background:var(--site-surface-2);color:#0866ff;outline:none}
#navbarNotificationsPanel > .navbar-notifications-header .navbar-notifications-menu-wrap{margin-left:.15rem}
#navbarNotificationsPanel .navbar-notifications-toolbar .navbar-notifications-preferences-button{display:none!important}
@media(max-width:720px){
 #navbarNotificationsPanel > .navbar-notifications-header .navbar-notifications-preferences-button{width:2.2rem;height:2.2rem}
}

#navbarNotificationsList .notification-group-actions{display:inline-flex;align-items:center;gap:.55rem;margin-left:auto}
#navbarNotificationsList .notification-group-actions button{border:0;background:transparent;padding:0;color:#0866ff;font-size:.78rem;font-weight:650;cursor:pointer}
#navbarNotificationsList .notification-group-actions button:hover,#navbarNotificationsList .notification-group-actions button:focus-visible{text-decoration:underline;outline:none}
#navbarNotificationsList .notification-group-actions button:disabled{opacity:.55;cursor:wait}
@media(max-width:420px){#navbarNotificationsList .notification-group-actions{gap:.42rem}#navbarNotificationsList .notification-group-actions button,#navbarNotificationsList .notification-group-actions a{font-size:.72rem!important}}
/* R119.3 — carte notification sauvetage visibilité */
#navbarNotificationsList .navbar-notification-item.is-visibility-rescue{padding:.58rem .66rem .6rem;border-radius:15px;background:linear-gradient(180deg,#ffffff,#f8fbff);position:relative;cursor:pointer}
#navbarNotificationsList .navbar-notification-item.is-visibility-rescue:hover{background:linear-gradient(180deg,#ffffff,#f1f7ff)}
#navbarNotificationsList .navbar-notification-item.is-visibility-rescue:focus-visible{outline:2px solid #7db0ff;outline-offset:2px}
.notification-rescue-card{display:grid;gap:.42rem;min-width:0}.notification-rescue-kicker{display:flex;align-items:center;gap:.34rem;font-size:.69rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#2563eb}.notification-rescue-spark{display:grid;place-items:center;width:1.25rem;height:1.25rem;border-radius:50%;background:#e8f1ff;color:#0866ff;font-size:.72rem}.notification-rescue-heading{font-size:.89rem;line-height:1.2;color:#172033}.notification-rescue-preview{display:grid;grid-template-columns:50px minmax(0,1fr);gap:.55rem;align-items:center;padding:.44rem;border-radius:12px;background:#f1f6fd;border:1px solid #dce8f8;cursor:pointer}.notification-rescue-preview img,.notification-rescue-preview-fallback{width:50px;height:50px;border-radius:9px;object-fit:cover;display:block;background:#dbe7f7}.notification-rescue-preview-fallback{display:grid;place-items:center;color:#6e82a0;font-size:1rem}.notification-rescue-preview strong{display:block;font-size:.8rem;line-height:1.18;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-rescue-preview p{margin:.12rem 0 0;font-size:.72rem;line-height:1.2;color:var(--site-text-muted);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.notification-rescue-preview small{display:block;margin-top:.14rem;font-size:.66rem;color:#73849c}.notification-rescue-copy{margin:0;color:var(--site-text-muted);font-size:.735rem;line-height:1.25;cursor:pointer}.notification-rescue-actions{display:grid;grid-template-columns:minmax(112px,1.34fr) minmax(54px,.58fr) minmax(91px,1.03fr);gap:.32rem}.notification-rescue-actions button{min-width:0;border:1px solid #c8d5e9;border-radius:9px;background:#fff;color:#29415f;padding:.43rem .34rem;font-size:.675rem;font-weight:750;line-height:1.08;cursor:pointer;white-space:nowrap}.notification-rescue-actions button:hover{background:#edf4ff;border-color:#a9c7f5}.notification-rescue-actions .notification-rescue-primary{background:#0866ff;border-color:#0866ff;color:#fff}.notification-rescue-actions .notification-rescue-primary:hover{background:#075bdc}.notification-rescue-actions button small{display:block;font-size:.555rem;font-weight:700;opacity:.82;margin-top:.08rem;white-space:nowrap}.notification-rescue-actions button:disabled{opacity:.55;cursor:wait}.notification-rescue-card .notification-meta{font-size:.66rem;line-height:1.15}.notification-rescue-unread-dot{position:absolute;top:.48rem;right:.48rem}
:root[data-theme="dark"] #navbarNotificationsList .navbar-notification-item.is-visibility-rescue{background:linear-gradient(180deg,#152036,#10192a);border-color:#30415d}.dark .notification-rescue-preview,:root[data-theme="dark"] .notification-rescue-preview{background:#111c30;border-color:#30415d}.dark .notification-rescue-actions button,:root[data-theme="dark"] .notification-rescue-actions button{background:#162239;border-color:#40516d;color:#e6ebf5}:root[data-theme="dark"] .notification-rescue-actions .notification-rescue-primary{background:#0866ff;border-color:#0866ff;color:#fff}
@media(max-width:390px){.notification-rescue-actions{grid-template-columns:1fr 1fr}.notification-rescue-actions .notification-rescue-primary{grid-column:1/-1}.notification-rescue-actions button{padding:.46rem .5rem}.notification-rescue-preview{grid-template-columns:46px minmax(0,1fr)}.notification-rescue-preview img,.notification-rescue-preview-fallback{width:46px;height:46px}}

/* R119.4A DESK5C FIX12 — canonical notification reaction badges. */
.notification-type-badge.notification-type-reaction-like{background:#0866ff;color:#fff}
.notification-type-badge.notification-type-reaction-love{background:#f02849;color:#fff}
.notification-type-badge.notification-type-reaction-haha,
.notification-type-badge.notification-type-reaction-wow,
.notification-type-badge.notification-type-reaction-sad,
.notification-type-badge.notification-type-reaction-angry{
  background:#fff;color:#111;border:1px solid rgba(26,44,67,.08)!important;
  box-shadow:0 3px 9px rgba(15,23,42,.22),0 0 12px rgba(255,183,0,.08);
}
.notification-reaction-glyph{display:grid;place-items:center;width:1.15rem;height:1.15rem;font-size:1.02rem;line-height:1;transform:translateY(-.01rem)}
.notification-reaction-heart{font-family:Arial,sans-serif;font-size:1.08rem;font-weight:900;color:#fff;text-shadow:0 1px 2px rgba(120,0,20,.18)}
.notification-type-badge.notification-type-music{background:#7c3aed;color:#fff}
:root[data-theme="dark"] .notification-type-badge.notification-type-reaction-haha,
:root[data-theme="dark"] .notification-type-badge.notification-type-reaction-wow,
:root[data-theme="dark"] .notification-type-badge.notification-type-reaction-sad,
:root[data-theme="dark"] .notification-type-badge.notification-type-reaction-angry{
  background:#f7f9fc!important;border-color:rgba(255,255,255,.16)!important;
  box-shadow:0 4px 11px rgba(0,0,0,.48),0 0 13px rgba(255,190,30,.10)!important;
}
#accountNotificationsList .notification-item-layout{grid-template-columns:3rem minmax(0,1fr) .65rem}
#accountNotificationsList .notification-facebook-copy{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;color:var(--site-text);font-size:.925rem;line-height:1.28}
#accountNotificationsList .notification-facebook-copy .notification-actor{max-width:none;overflow:visible;white-space:normal;font-size:inherit;font-weight:800;color:inherit}

/* ===== SOURCE: club-ui.css ===== */
:root {
    --club-ui-layer-menu: 2147482000;
    --club-ui-layer-dialog: 2147483000;
    --club-ui-radius: 16px;
    --club-ui-shadow: 0 24px 70px rgba(15, 23, 42, .28);
}
.club-ui-scroll-locked { overflow: hidden !important; }
.club-ui-dialog {
    width: min(92vw, 560px);
    max-height: min(88vh, 760px);
    padding: 0;
    border: 0;
    border-radius: var(--club-ui-radius);
    background: var(--bs-body-bg, #fff);
    color: var(--bs-body-color, #0f172a);
    box-shadow: var(--club-ui-shadow);
    z-index: var(--club-ui-layer-dialog);
}
.club-ui-dialog::backdrop { background: rgba(15, 23, 42, .62); }
.club-ui-dialog-shell { display: flex; flex-direction: column; max-height: inherit; }
.club-ui-dialog-header,.club-ui-dialog-footer { display:flex; align-items:center; gap:.75rem; padding:1rem 1.15rem; }
.club-ui-dialog-header { justify-content:space-between; border-bottom:1px solid rgba(148,163,184,.28); }
.club-ui-dialog-header h2 { margin:0; font-size:1.2rem; }
.club-ui-dialog-body { padding:1.15rem; overflow:auto; }
.club-ui-dialog-footer { justify-content:flex-end; border-top:1px solid rgba(148,163,184,.28); }
.club-ui-icon-button { min-width:44px; min-height:44px; border:0; border-radius:999px; background:transparent; font-size:1.5rem; line-height:1; }
.club-ui-icon-button:hover,.club-ui-icon-button:focus-visible { background:rgba(148,163,184,.18); }
.club-ui-menu {
    position: fixed;
    inset: auto;
    min-width: 220px;
    max-width: min(92vw, 360px);
    padding: .4rem;
    margin: 0;
    border: 1px solid rgba(148,163,184,.34);
    border-radius: 14px;
    background: var(--bs-body-bg, #fff);
    color: var(--bs-body-color, #0f172a);
    box-shadow: 0 18px 50px rgba(15,23,42,.25);
    z-index: var(--club-ui-layer-menu);
}
.club-ui-menu[hidden] { display:none !important; }
.club-ui-menu [role="menuitem"],.club-ui-menu button,.club-ui-menu a { display:block; width:100%; min-height:42px; border:0; border-radius:9px; padding:.62rem .75rem; background:transparent; color:inherit; text-align:left; text-decoration:none; }
.club-ui-menu [role="menuitem"]:hover,.club-ui-menu [role="menuitem"]:focus-visible,.club-ui-menu button:hover,.club-ui-menu button:focus-visible { background:rgba(148,163,184,.16); outline:none; }
.club-ui-menu .is-danger { color:#dc2626; }
.club-ui-toast-region { position:fixed; right:1rem; bottom:1rem; z-index:var(--club-ui-layer-dialog); display:grid; gap:.65rem; max-width:min(92vw,420px); }
.club-ui-toast { display:flex; align-items:center; gap:.8rem; padding:.85rem 1rem; border-radius:13px; background:#111827; color:#fff; box-shadow:0 16px 40px rgba(15,23,42,.3); }
.club-ui-toast-message { flex:1 1 auto; }
.club-ui-toast.is-error { background:#7f1d1d; }
.club-ui-toast-action { border:0; background:transparent; color:#93c5fd; font-weight:700; }
.club-ui-field-error { margin-top:.35rem; color:#b91c1c; font-size:.875rem; }
.club-ui-confirm-detail { color:#64748b; }
@media (pointer: coarse), (max-width: 768px) {
    .club-ui-menu [role="menuitem"],.club-ui-menu button,.club-ui-menu a { min-height:48px; }
    .club-ui-dialog-footer .btn,.club-ui-dialog-footer button { min-height:44px; }
}
@media (prefers-reduced-motion: reduce) {
    *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
}

/* ClubOS 8.13.0 — les menus portalisés utilisent strictement les coordonnées du viewport. */
.club-ui-menu {
    position: fixed !important;
    right: auto !important;
    bottom: auto !important;
    margin: 0 !important;
}

/* Les menus portalisés restent dans un plan de composition net, au-dessus du voile. */
.club-ui-menu {
    filter: none !important;
    -webkit-filter: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    opacity: 1 !important;
    isolation: isolate;
}
.club-ui-menu-backdrop {
    filter: none !important;
    opacity: 1;
}


/* R60 FIX1 — a nested Bootstrap modal must never stay under the article reader. */
.modal.show[data-clubos-promoted-layer] {
    isolation: isolate;
    pointer-events: auto !important;
}
.modal-backdrop.show[data-ui-layer-root="promoted-modal-backdrop"] {
    pointer-events: auto;
}

/* ===== SOURCE: site-global-search.css ===== */
.site-topbar-search { position: relative; }
.site-global-search-dropdown {
    position: absolute;
    z-index: 130100;
    top: calc(100% + 8px);
    left: 0;
    width: min(460px, calc(100vw - 24px));
    max-height: min(72vh, 680px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 8px;
    border: 1px solid #d9e0ea;
    border-radius: 16px;
    color: #172033;
    background: rgba(255, 255, 255, .985);
    box-shadow: 0 18px 48px rgba(15, 23, 42, .2);
}
.site-global-search-suggestion-section + .site-global-search-suggestion-section { border-top: 1px solid #e5e7eb; }
.site-global-search-suggestion-section h3,
.site-global-search-dropdown-heading {
    margin: 0;
    padding: 9px 9px 5px;
    color: #64748b;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.site-global-search-dropdown-heading { display: flex; align-items: center; justify-content: space-between; }
.site-global-search-dropdown-heading button {
    border: 0;
    color: #0b5bd3;
    background: transparent;
    font: inherit;
    font-size: .74rem;
    text-transform: none;
}
.site-global-search-suggestion,
.site-global-search-result-card {
    display: flex;
    align-items: center;
    gap: 11px;
    color: inherit;
    text-decoration: none;
}
.site-global-search-suggestion { padding: 8px; border-radius: 11px; }
.site-global-search-suggestion:hover,
.site-global-search-suggestion:focus-visible,
.site-global-search-recent-item:hover,
.site-global-search-recent-item:focus-visible { background: #edf4ff; outline: 0; }
.site-global-search-suggestion-media,
.site-global-search-result-media {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    overflow: hidden;
    color: #334155;
    background: #e7edf5;
}
.site-global-search-suggestion-media { width: 42px; height: 42px; border-radius: 11px; }
.site-global-search-suggestion-media img,
.site-global-search-result-media img { width: 100%; height: 100%; object-fit: cover; }
.site-global-search-suggestion-copy,
.site-global-search-result-copy { display: flex; min-width: 0; flex: 1; flex-direction: column; }
.site-global-search-suggestion-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.site-global-search-suggestion-copy span { overflow: hidden; color: #64748b; font-size: .82rem; text-overflow: ellipsis; white-space: nowrap; }
.site-global-search-suggestion mark,
.site-global-search-result-card mark {
    padding: 0 .06em;
    border-radius: 3px;
    color: inherit;
    background: #fff0a8;
}
.site-global-search-all {
    width: 100%;
    margin-top: 6px;
    padding: 10px 12px;
    border: 0;
    border-radius: 11px;
    color: #0b5bd3;
    background: #edf4ff;
    font-weight: 750;
}
.site-global-search-empty { margin: 0; padding: 18px 12px; color: #64748b; }
.site-global-search-recent-item {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 10px;
    padding: 9px 10px;
    border: 0;
    border-radius: 10px;
    color: inherit;
    background: transparent;
    text-align: left;
}
.site-global-search-recent-item > span:first-child { color: #94a3b8; }
.site-global-search-page { width: min(1160px, 100%); margin: 0 auto; padding: 12px 0 42px; }
.site-global-search-page-header {
    display: grid;
    gap: 18px;
    margin-bottom: 14px;
    padding: 20px;
    border: 1px solid #e5eaf1;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .08);
}
.site-global-search-page-header h1 { margin: 0 0 5px; font-size: clamp(1.45rem, 2vw, 2rem); }
.site-global-search-page-header p { margin: 0; color: #64748b; }
.site-global-search-filters { display: grid; grid-template-columns: minmax(150px, .8fr) minmax(190px, 1fr) minmax(210px, 1fr); gap: 10px; }
.site-global-search-filter { display: grid; gap: 5px; min-width: 0; }
.site-global-search-filter > span { color: #64748b; font-size: .74rem; font-weight: 750; }
.site-global-search-filter select {
    width: 100%;
    min-height: 42px;
    padding: 8px 34px 8px 11px;
    border: 1px solid #d7dee8;
    border-radius: 11px;
    color: #172033;
    background: #fff;
}
.site-global-search-recent-panel {
    margin-bottom: 14px;
    padding: 14px 16px;
    border: 1px solid #e5eaf1;
    border-radius: 16px;
    background: #fff;
}
.site-global-search-recent-panel > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.site-global-search-recent-panel h2 { margin: 0; font-size: .96rem; }
.site-global-search-recent-panel > div:first-child button { border: 0; color: #0b5bd3; background: transparent; font-weight: 700; }
.site-global-search-recent-panel > div:last-child { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.site-global-search-recent-panel > div:last-child button {
    padding: 7px 11px;
    border: 1px solid #d7e2f0;
    border-radius: 999px;
    color: #29415f;
    background: #f6f9fd;
}
.site-global-search-results-section { margin-bottom: 16px; padding: 16px; border: 1px solid #e3e8f0; border-radius: 18px; background: #fff; }
.site-global-search-results-section h2 { margin: 0 0 13px; font-size: 1.02rem; }
.site-global-search-results-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.site-global-search-result-card {
    min-width: 0;
    padding: 12px;
    border: 1px solid #e5eaf1;
    border-radius: 14px;
    background: #fbfcfe;
}
.site-global-search-result-card:hover,
.site-global-search-result-card:focus-visible { border-color: #8db6f5; background: #f1f6ff; outline: 0; box-shadow: 0 7px 18px rgba(37, 99, 235, .08); }
.site-global-search-result-media { width: 62px; height: 62px; border-radius: 13px; }
.site-global-search-result-card[data-type="person"] .site-global-search-result-media { border-radius: 50%; }
.site-global-search-result-copy { gap: 3px; }
.site-global-search-result-copy > strong { line-height: 1.25; }
.site-global-search-result-copy > span:not(.site-global-search-result-meta) { display: -webkit-box; overflow: hidden; color: #64748b; font-size: .84rem; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.site-global-search-result-copy em { color: #0b5bd3; font-size: .75rem; font-style: normal; font-weight: 700; }
.site-global-search-result-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 1px; }
.site-global-search-result-meta small { color: #64748b; font-size: .68rem; font-weight: 750; text-transform: uppercase; }
.site-global-search-result-meta small + small { text-transform: none; }
.site-global-search-result-arrow { color: #94a3b8; font-size: 1.55rem; }
.site-global-search-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.site-global-search-pagination button {
    min-width: 38px;
    min-height: 38px;
    padding: 6px 10px;
    border: 1px solid #d6deea;
    border-radius: 10px;
    color: #23324a;
    background: #fff;
}
.site-global-search-pagination button[aria-current="page"] { border-color: #0b67e3; color: #fff; background: #0b67e3; }
.site-global-search-pagination button:disabled { opacity: .45; }
.site-global-search-pagination span { display: grid; min-width: 28px; place-items: center; color: #64748b; }
.site-global-search-loading,
.site-global-search-page-empty { margin: 30px auto; padding: 30px; border-radius: 18px; text-align: center; background: #fff; }
.site-global-search-page-empty { display: flex; flex-direction: column; gap: 5px; color: #64748b; }
.site-global-search-page-empty strong { color: #172033; }
:root[data-theme="dark"] .site-global-search-dropdown,
:root[data-theme="dark"] .site-global-search-page-header,
:root[data-theme="dark"] .site-global-search-recent-panel,
:root[data-theme="dark"] .site-global-search-results-section,
:root[data-theme="dark"] .site-global-search-loading,
:root[data-theme="dark"] .site-global-search-page-empty { color: #e5edf8; border-color: #334155; background: rgba(17, 26, 44, .985); }
:root[data-theme="dark"] .site-global-search-suggestion:hover,
:root[data-theme="dark"] .site-global-search-suggestion:focus-visible,
:root[data-theme="dark"] .site-global-search-recent-item:hover,
:root[data-theme="dark"] .site-global-search-recent-item:focus-visible,
:root[data-theme="dark"] .site-global-search-all,
:root[data-theme="dark"] .site-global-search-result-card:hover,
:root[data-theme="dark"] .site-global-search-result-card:focus-visible { background: #1d3150; }
:root[data-theme="dark"] .site-global-search-result-card,
:root[data-theme="dark"] .site-global-search-filter select,
:root[data-theme="dark"] .site-global-search-pagination button,
:root[data-theme="dark"] .site-global-search-recent-panel > div:last-child button { color: #e5edf8; border-color: #334155; background: #131f33; }
:root[data-theme="dark"] .site-global-search-page-empty strong { color: #f8fafc; }
:root[data-theme="dark"] .site-global-search-suggestion mark,
:root[data-theme="dark"] .site-global-search-result-card mark { background: #735f00; }
@media (max-width: 800px) {
    .site-global-search-dropdown { position: fixed; top: 58px; right: 8px; left: 8px; width: auto; max-height: calc(100dvh - 72px); }
    .site-global-search-results-grid { grid-template-columns: 1fr; }
    .site-global-search-filters { grid-template-columns: 1fr; }
    .site-global-search-page { padding-top: 4px; }
    .site-global-search-page-header,
    .site-global-search-results-section { border-radius: 13px; }
}
@media (max-width: 480px) {
    .site-global-search-result-media { width: 52px; height: 52px; }
    .site-global-search-result-card { align-items: flex-start; padding: 10px; }
    .site-global-search-result-arrow { display: none; }
}

/* ===== SOURCE: site-account-menu.css ===== */
#site-shell-header .site-topbar-icon-button {
    position: relative;
    width: 2.55rem;
    min-width: 2.55rem;
    height: 2.55rem;
    min-height: 2.55rem;
    padding: 0 !important;
    border-radius: 999px !important;
}

#site-shell-header .site-topbar-icon-button > svg,
#site-shell-header .site-messaging-nav-icon svg {
    width: 1.18rem;
    height: 1.18rem;
    fill: currentColor;
}

#site-shell-header .site-topbar-icon-button .badge,
#site-shell-header .site-messaging-nav-badge {
    position: absolute;
    top: -0.32rem;
    right: -0.32rem;
    min-width: 1.12rem;
    height: 1.12rem;
    padding: 0 .26rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    font-size: .62rem;
    line-height: 1;
    box-shadow: 0 0 0 2px var(--site-surface);
}

.site-account-menu-root {
    position: relative;
    flex: 0 0 auto;
}

.site-account-trigger {
    position: relative;
    width: 2.7rem;
    height: 2.7rem;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    display: inline-grid;
    place-items: center;
}

.site-account-trigger:hover,
.site-account-trigger:focus-visible,
.site-account-trigger.is-current {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--site-accent) 30%, transparent);
    outline: 0;
}

.site-account-trigger-avatar,
.site-account-menu-avatar {
    overflow: hidden;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #4f46e5, #0ea5e9);
    color: #fff;
    font-weight: 800;
}

.site-account-trigger-avatar {
    width: 2.55rem;
    height: 2.55rem;
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--site-border) 85%, transparent);
}

.site-account-trigger-avatar img,
.site-account-menu-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.site-account-trigger-chevron {
    position: absolute;
    right: -.08rem;
    bottom: -.08rem;
    width: 1.02rem;
    height: 1.02rem;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: var(--site-surface-2);
    color: var(--site-text);
    border: 2px solid var(--site-surface);
}

.site-account-trigger-chevron svg {
    width: .68rem;
    height: .68rem;
}

.site-account-menu {
    position: absolute;
    right: 0;
    top: calc(100% + .68rem);
    width: min(360px, calc(100vw - 1rem));
    padding: .72rem;
    border: 1px solid var(--site-border);
    border-radius: 1rem;
    background: var(--site-surface);
    color: var(--site-text);
    box-shadow: 0 18px 50px rgba(15, 23, 42, .24);
    z-index: 2450;
}

.site-account-menu[hidden] {
    display: none !important;
}

.site-account-menu-profile,
.site-account-menu-row {
    width: 100%;
    border: 0;
    text-decoration: none;
    color: inherit !important;
    background: transparent;
    display: flex;
    align-items: center;
    gap: .72rem;
    text-align: left;
    border-radius: .82rem;
}

.site-account-menu-profile {
    padding: .62rem;
}

.site-account-menu-profile:hover,
.site-account-menu-profile:focus-visible,
.site-account-menu-row:hover,
.site-account-menu-row:focus-visible {
    background: var(--site-surface-2);
    outline: none;
}

.site-account-menu-avatar {
    width: 3rem;
    height: 3rem;
    flex: 0 0 auto;
}

.site-account-menu-profile > span:last-child,
.site-account-menu-row > span:last-child {
    min-width: 0;
    display: grid;
}

.site-account-menu-profile strong,
.site-account-menu-row strong {
    color: var(--site-text);
    line-height: 1.2;
}

.site-account-menu-profile small,
.site-account-menu-row small {
    color: var(--site-text-muted);
    margin-top: .12rem;
}

.site-account-menu-separator {
    height: 1px;
    background: var(--site-border);
    margin: .48rem .2rem;
}

.site-account-menu-row {
    padding: .58rem;
}

.site-account-menu-icon {
    width: 2.3rem;
    height: 2.3rem;
    flex: 0 0 auto;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: var(--site-surface-2);
    color: var(--site-text);
}

.site-account-menu-icon svg {
    width: 1.24rem;
    height: 1.24rem;
    fill: currentColor;
}

.site-account-menu-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .2rem .34rem;
    padding: .62rem .48rem .18rem;
    font-size: .71rem;
    color: var(--site-text-muted);
}

.site-account-menu-footer a {
    color: inherit !important;
    text-decoration: none;
}

.site-account-menu-footer a:hover,
.site-account-menu-footer a:focus-visible {
    text-decoration: underline;
}

@media (max-width: 767.98px) {
    .site-account-menu {
        position: fixed;
        right: .5rem;
        top: 3.75rem;
    }
}

/* ClubOS 8.9.1 — avatar = profil public, texte = gestion du compte */
.site-account-menu-profile {
    display: flex;
    align-items: center;
    gap: .72rem;
}

.site-account-menu-avatar-link {
    flex: 0 0 auto;
    display: block;
    border-radius: 999px;
    text-decoration: none;
}

.site-account-menu-avatar-link:hover,
.site-account-menu-avatar-link:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--site-accent) 30%, transparent);
    outline-offset: 2px;
}

.site-account-menu-profile-copy {
    min-width: 0;
    flex: 1 1 auto;
    display: grid;
    text-decoration: none;
    color: inherit !important;
    padding: .32rem .2rem;
    border-radius: .6rem;
}

.site-account-menu-profile-copy:hover,
.site-account-menu-profile-copy:focus-visible {
    background: color-mix(in srgb, var(--site-text) 7%, transparent);
    outline: none;
}

.site-account-menu-profile-copy strong {
    color: var(--site-text);
    line-height: 1.2;
}

.site-account-menu-profile-copy small {
    color: var(--site-text-muted);
    margin-top: .12rem;
}


/* ClubOS 8.9.2 — contraste de déconnexion et liens légaux stables. */
.site-account-menu a[href$="/deconnexion"],
.site-account-menu a[href*="/deconnexion?"] {
    color: #111827 !important;
}

.site-account-menu a[href$="/deconnexion"] strong,
.site-account-menu a[href$="/deconnexion"] small,
.site-account-menu a[href$="/deconnexion"] .site-account-menu-icon,
.site-account-menu a[href*="/deconnexion?"] strong,
.site-account-menu a[href*="/deconnexion?"] small,
.site-account-menu a[href*="/deconnexion?"] .site-account-menu-icon {
    color: #111827 !important;
}

.site-account-menu-footer a {
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    font-size: .71rem !important;
    line-height: 1.35;
}

.site-account-menu-footer a::before,
.site-account-menu-footer a::after {
    content: none !important;
}

:root[data-theme="dark"] .site-account-menu-footer,
:root[data-theme="dark"] .site-account-menu-footer a {
    color: #aebbd0 !important;
}

/* ClubOS 8.10.0 — l’icône de sortie reste visible dans le bouton jaune en mode nuit. */
:root[data-theme="dark"] .site-account-menu a[href$="/deconnexion"] .site-account-menu-icon,
:root[data-theme="dark"] .site-account-menu a[href*="/deconnexion?"] .site-account-menu-icon {
    background: #172238;
    color: #f59e0b !important;
}
:root[data-theme="dark"] .site-account-menu a[href$="/deconnexion"] .site-account-menu-icon svg,
:root[data-theme="dark"] .site-account-menu a[href*="/deconnexion?"] .site-account-menu-icon svg {
    color: #f59e0b !important;
}
:root[data-theme="dark"] .site-account-menu a[href$="/deconnexion"] .site-account-menu-icon svg path,
:root[data-theme="dark"] .site-account-menu a[href*="/deconnexion?"] .site-account-menu-icon svg path {
    stroke: #f59e0b !important;
}

/* 8.15.7 — lien juridique anonyme qui reste atteignable même avec un feed infini. */
.site-guest-legal-dock{position:fixed;left:14px;bottom:14px;z-index:1180;display:inline-flex;align-items:center;justify-content:center;padding:.48rem .72rem;border:1px solid rgba(100,116,139,.28);border-radius:999px;background:rgba(255,255,255,.94);color:#475569;font-size:.78rem;font-weight:700;text-decoration:none;box-shadow:0 8px 30px rgba(15,23,42,.11);backdrop-filter:blur(12px)}
.site-guest-legal-dock:hover{color:#0f172a;border-color:rgba(37,99,235,.45)}
[data-theme="dark"] .site-guest-legal-dock{background:rgba(15,23,42,.94);color:#cbd5e1;border-color:rgba(148,163,184,.22)}
@media(max-width:767.98px){.site-guest-legal-dock{left:auto;right:calc(3px + env(safe-area-inset-right));top:50%;bottom:auto;width:30px;height:30px;padding:0;border-radius:50%;font-size:0;opacity:.5;transform:translateY(-50%);box-shadow:0 4px 16px rgba(15,23,42,.10)}.site-guest-legal-dock::before{content:"i";font-family:Georgia,"Times New Roman",serif;font-size:1.08rem;font-style:italic;font-weight:700;line-height:1}.site-guest-legal-dock:hover,.site-guest-legal-dock:focus-visible,.site-guest-legal-dock:active{opacity:.9}}

/* 8.15.8.1 — information des membres lorsqu'un document juridique courant change. */
.clubos-legal-update-notice{margin:.55rem auto 0;max-width:1180px;border:1px solid #bfd3f5;background:#f7fbff;border-radius:14px;padding:.75rem .9rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;box-shadow:0 5px 18px rgba(30,64,175,.08)}.clubos-legal-update-copy{display:grid;gap:.12rem;min-width:0}.clubos-legal-update-copy strong{font-size:.9rem;color:#172554}.clubos-legal-update-copy span{font-size:.84rem;color:#475569}.clubos-legal-update-copy small{font-size:.74rem;color:#64748b}.clubos-legal-update-actions{display:flex;gap:.45rem;flex:0 0 auto}@media(max-width:680px){.clubos-legal-update-notice{margin:.45rem .55rem 0;display:grid}.clubos-legal-update-actions{justify-content:flex-end;flex-wrap:wrap}}

/* 8.15.8.1.3 — sur Musique, le lien légal reste hors de la barre du player. */
.music-page-shell .site-guest-legal-dock{left:auto;right:14px;bottom:96px}
@media(max-width:767.98px){.music-page-shell .site-guest-legal-dock{left:auto;right:calc(3px + env(safe-area-inset-right));top:50%;bottom:auto}}

/* 8.15.9.2.1.3.2 — les avis juridiques importants restent toujours visibles au-dessus du contenu. */
.clubos-legal-update-notice {
    position: fixed;
    top: calc(64px + .55rem);
    left: 50%;
    width: min(1180px, calc(100vw - 2rem));
    margin: 0;
    transform: translateX(-50%);
    z-index: 2140;
    max-height: calc(100dvh - 96px);
    overflow: auto;
}

@media (max-width: 767.98px) {
    body.clubos-mobile-active .clubos-legal-update-notice {
        top: calc(var(--clubos-mobile-safe-top, 0px) + var(--clubos-mobile-header-height, 56px) + .45rem);
        left: max(.55rem, var(--clubos-mobile-safe-left, 0px));
        right: max(.55rem, var(--clubos-mobile-safe-right, 0px));
        width: auto;
        margin: 0;
        transform: none;
        z-index: 2140;
        max-height: calc(100dvh - var(--clubos-mobile-safe-top, 0px) - var(--clubos-mobile-header-height, 56px) - 1rem);
    }

    body.clubos-mobile-active.clubos-mobile-search-open .clubos-legal-update-notice {
        top: calc(var(--clubos-mobile-safe-top, 0px) + var(--clubos-mobile-header-height, 56px) + var(--clubos-mobile-search-height, 58px) + .45rem);
        max-height: calc(100dvh - var(--clubos-mobile-safe-top, 0px) - var(--clubos-mobile-header-height, 56px) - var(--clubos-mobile-search-height, 58px) - 1rem);
    }
}

/* ===== SOURCE: managed-identities.css ===== */
/* ClubOS R115 FIX2 — Managed identities, delegated access and responsive switcher */
:root{
    --r115-blue:#1877f2;
    --r115-blue-soft:#eaf3ff;
    --r115-text:#182033;
    --r115-muted:#66758f;
    --r115-line:#dce3ec;
    --r115-surface:#fff;
    --r115-surface-soft:#f5f7fa;
    --r115-danger:#e22635;
    --r115-success:#24a266;
    --r115-shadow:0 18px 48px rgba(21,35,60,.20);
}
:root[data-theme="dark"],.theme-dark{
    --r115-text:#eef4ff;
    --r115-muted:#a9b5c8;
    --r115-line:rgba(255,255,255,.13);
    --r115-surface:#182131;
    --r115-surface-soft:#202b3c;
    --r115-blue-soft:rgba(42,124,255,.18);
    --r115-shadow:0 18px 54px rgba(0,0,0,.48);
}
.r115-identity-avatar,.r115-switch-avatar,.r115-management-avatar,.r115-member-avatar,.r115-modal-avatar{
    border-radius:50%;object-fit:cover;display:inline-flex;align-items:center;justify-content:center;background:#e9eff8;color:#1e293b;font-weight:800;overflow:hidden;flex:0 0 auto
}
:root[data-theme="dark"] .r115-identity-avatar,:root[data-theme="dark"] .r115-switch-avatar,:root[data-theme="dark"] .r115-management-avatar,:root[data-theme="dark"] .r115-member-avatar,:root[data-theme="dark"] .r115-modal-avatar{background:#334155;color:#f8fafc}
.r115-identity-avatar{width:32px;height:32px;min-width:32px;font-size:.72rem}.r115-management-avatar{width:42px;height:42px;min-width:42px}.r115-member-avatar{width:42px;height:42px;min-width:42px}.r115-modal-avatar{width:48px;height:48px;min-width:48px}.r115-switch-avatar{width:46px;height:46px;min-width:46px}

/* Header account menu */
.site-account-menu-profile{position:relative}.r115-header-switch-button{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:11px;background:var(--r115-blue-soft);color:var(--r115-blue);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2}.r115-header-switch-button:hover{filter:brightness(.97);box-shadow:0 4px 12px rgba(24,119,242,.14)}.r115-header-switch-button svg{width:19px;height:19px;fill:currentColor}.site-account-menu-profile-copy{padding-right:50px!important}
.r115-header-identities{padding:7px 8px 6px}.r115-header-identities-title{font-size:.69rem;font-weight:800;color:var(--r115-muted);padding:3px 8px 7px;text-transform:uppercase;letter-spacing:.045em}.r115-header-identity,.r115-identity-option{width:100%;border:0;background:transparent;display:flex;align-items:center;gap:10px;text-align:left;padding:8px;border-radius:11px;color:inherit;cursor:pointer}.r115-header-identity:hover,.r115-identity-option:hover,.r115-header-identity.is-active,.r115-identity-option.is-active{background:var(--r115-blue-soft)}.r115-header-identity>span:nth-child(2),.r115-identity-option>span:nth-child(2){min-width:0;flex:1}.r115-header-identity strong,.r115-header-identity small,.r115-identity-option strong,.r115-identity-option small{display:block}.r115-header-identity strong,.r115-identity-option strong{font-size:.9rem;line-height:1.15}.r115-header-identity small,.r115-identity-option small{font-size:.72rem;color:var(--r115-muted);margin-top:3px}.r115-identity-check{font-weight:900;color:var(--r115-blue);font-size:1.05rem}.r115-header-show-all{width:100%;border:0;background:transparent;padding:8px 9px;color:var(--r115-text);display:flex;align-items:center;gap:10px;font-size:.83rem;border-radius:10px}.r115-header-show-all:hover{background:var(--r115-surface-soft)}.r115-header-show-all svg{width:18px;height:18px;fill:var(--r115-blue)}.r115-header-manage{display:flex;align-items:center;gap:10px;padding:8px 9px;color:inherit!important;text-decoration:none!important;border-radius:10px}.r115-header-manage:hover{background:var(--r115-surface-soft)}.r115-header-manage-icon{width:32px;height:32px;border-radius:50%;background:var(--r115-surface-soft);display:flex;align-items:center;justify-content:center;flex:0 0 auto}.r115-header-manage-icon svg{width:17px;height:17px;fill:currentColor}.r115-header-manage strong,.r115-header-manage small{display:block}.r115-header-manage strong{font-size:.84rem}.r115-header-manage small{font-size:.70rem;color:var(--r115-muted);margin-top:2px}

/* Small identity picker used in composer/comment */
.r115-identity-popover{position:fixed;z-index:25050;width:min(320px,calc(100vw - 16px));max-height:380px;overflow:auto;padding:8px;background:var(--r115-surface);color:var(--r115-text);border:1px solid var(--r115-line);box-shadow:var(--r115-shadow);border-radius:14px}.r115-identity-popover-title{font-weight:800;font-size:.84rem;padding:5px 8px 8px}.r115-inline-identity-chip,.r115-post-identity-button{border:0;background:var(--r115-blue-soft);border-radius:999px;padding:4px 8px;display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:inherit;margin-bottom:6px}.r115-post-identity-button{margin-left:8px}.r115-mobile-picker{display:grid;gap:4px}

/* Modal foundation */
body.r115-modal-open{overflow:hidden}.r115-modal-layer{position:fixed;inset:0;z-index:30200;display:flex;align-items:center;justify-content:center;padding:20px}.r115-modal-layer+.r115-modal-layer{z-index:30220}.r115-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.44);backdrop-filter:blur(2px)}.r115-modal{position:relative;z-index:1;width:min(620px,calc(100vw - 32px));max-height:min(86vh,820px);overflow:hidden;background:var(--r115-surface);color:var(--r115-text);border:1px solid var(--r115-line);border-radius:18px;box-shadow:var(--r115-shadow);display:flex;flex-direction:column}.r115-modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px 12px}.r115-modal-header h3{margin:0;font-size:1.18rem;font-weight:900}.r115-modal-close{width:38px;height:38px;border:0;border-radius:50%;background:var(--r115-surface-soft);color:inherit;display:flex;align-items:center;justify-content:center;cursor:pointer}.r115-modal-close svg{width:20px;height:20px;fill:currentColor}.r115-modal-body{padding:0 22px 20px;overflow:auto}.r115-modal-intro{margin:0 0 16px;color:var(--r115-muted);font-size:.88rem;line-height:1.45}.r115-modal-actions{display:flex;align-items:center;gap:10px;padding-top:18px}.r115-modal-actions-spacer{flex:1}

/* Identity switch modal */
.r115-modal-identities{width:min(720px,calc(100vw - 32px))}.r115-switch-dialog{display:grid;gap:12px}.r115-switch-search{height:44px;border-radius:22px;background:var(--r115-surface-soft);display:flex;align-items:center;gap:9px;padding:0 14px}.r115-switch-search svg{width:18px;height:18px;fill:var(--r115-muted);flex:0 0 auto}.r115-switch-search input{border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;color:inherit!important;width:100%;height:100%;font-size:.92rem}.r115-switch-list{display:grid;gap:0}.r115-switch-row{width:100%;border:0;border-bottom:1px solid var(--r115-line);background:transparent;color:inherit;display:flex;align-items:center;gap:12px;padding:11px 4px;text-align:left;cursor:pointer}.r115-switch-row:last-child{border-bottom:0}.r115-switch-row:hover,.r115-switch-row.is-active{background:var(--r115-blue-soft);border-radius:10px;padding-left:10px;padding-right:10px}.r115-switch-copy{min-width:0;flex:1}.r115-switch-copy strong,.r115-switch-copy small{display:block}.r115-switch-copy strong{font-size:.95rem}.r115-switch-copy small{font-size:.75rem;color:var(--r115-muted);margin-top:3px}.r115-switch-check{color:var(--r115-blue);font-size:1.1rem;font-weight:900}.r115-unread-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--r115-blue);margin-right:6px}

/* Account panel */
.r115-account-hero{border-radius:18px!important}.r115-account-stack{display:grid;gap:16px}.r115-card{border:0!important;border-radius:17px!important;box-shadow:0 1px 0 rgba(15,23,42,.03)}.r115-card>.card-body{padding:18px 20px!important}.r115-card h3{font-size:.96rem!important;font-weight:900!important;margin-bottom:6px!important}.r115-field-help{font-size:.81rem;color:var(--r115-muted);margin:0 0 9px}.r115-invite-form{display:grid;gap:13px}.r115-member-search{position:relative}.r115-member-search-input{display:flex;align-items:center;gap:8px;border:1px solid var(--r115-line);border-radius:10px;background:var(--r115-surface);padding:0 10px}.r115-member-search-input:focus-within{border-color:#69a8ff;box-shadow:0 0 0 3px rgba(24,119,242,.15)}.r115-member-search-input>svg{width:18px;height:18px;fill:var(--r115-muted);flex:0 0 auto}.r115-member-search-input .form-control{border:0!important;box-shadow:none!important;background:transparent!important;height:42px;padding:0!important;color:inherit!important}.r115-member-search-input>[data-clear]{width:30px;height:30px;border:0;background:transparent;color:var(--r115-muted);display:flex;align-items:center;justify-content:center}.r115-member-search-input>[data-clear] svg{width:16px;height:16px;fill:currentColor}.r115-member-results{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;background:var(--r115-surface);border:1px solid var(--r115-line);border-radius:12px;box-shadow:0 16px 34px rgba(23,36,58,.18);max-height:340px;overflow:auto;padding:5px}.r115-member-result{display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--r115-line)}.r115-member-result:last-child{border-bottom:0}.r115-member-select{border:0;background:transparent;color:inherit;display:flex;align-items:center;gap:10px;flex:1;min-width:0;text-align:left;padding:7px 5px;border-radius:8px}.r115-member-select:hover{background:var(--r115-blue-soft)}.r115-member-copy{min-width:0;flex:1}.r115-member-copy strong,.r115-member-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.r115-member-copy strong{font-size:.88rem}.r115-member-copy small{font-size:.74rem;color:var(--r115-muted);margin-top:2px}.r115-relation-badge{font-size:.68rem;color:var(--r115-muted);background:var(--r115-surface-soft);border-radius:999px;padding:4px 8px;white-space:nowrap}.r115-profile-link{font-size:.73rem;color:var(--r115-text);text-decoration:none;display:flex;align-items:center;gap:5px;padding:7px 8px;border-radius:8px;white-space:nowrap}.r115-profile-link:hover{background:var(--r115-surface-soft);color:var(--r115-blue)}.r115-profile-link svg{width:15px;height:15px;fill:currentColor}.r115-member-loading,.r115-member-empty{padding:14px;color:var(--r115-muted);font-size:.8rem;text-align:center}.r115-selected-member{display:flex;align-items:center;gap:10px;border:1px solid #9dc6ff;background:var(--r115-blue-soft);border-radius:11px;padding:8px 10px;margin-top:7px}.r115-selected-member>div:nth-child(2){flex:1;min-width:0}.r115-selected-member strong,.r115-selected-member small{display:block}.r115-selected-member small{font-size:.72rem;color:var(--r115-muted);margin-top:2px}.r115-selected-member button{border:0;background:transparent;color:var(--r115-blue);font-size:.75rem;font-weight:700}
.r115-capabilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.r115-capabilities label{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border:1px solid transparent;border-radius:10px;margin:0;cursor:pointer}.r115-capabilities label:hover{background:var(--r115-surface-soft)}.r115-capabilities input{margin-top:3px;accent-color:var(--r115-blue)}.r115-capabilities span{min-width:0}.r115-capabilities strong,.r115-capabilities small{display:block}.r115-capabilities strong{font-size:.83rem}.r115-capabilities small{font-size:.69rem;color:var(--r115-muted);line-height:1.3;margin-top:2px}.r115-invite-expiry{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.r115-invite-expiry>strong{font-size:.82rem}.r115-expiration-control{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.r115-expiration-add,.r115-expiration-summary,.r115-expiration-remove{border:1px solid var(--r115-line);background:var(--r115-surface);color:inherit;border-radius:9px;min-height:36px;padding:7px 10px;display:inline-flex;align-items:center;gap:7px;font-size:.78rem}.r115-expiration-add:hover,.r115-expiration-summary:hover{border-color:#87b8ff;background:var(--r115-blue-soft)}.r115-expiration-add svg,.r115-expiration-summary svg{width:16px;height:16px;fill:currentColor}.r115-expiration-remove{color:var(--r115-muted)}.r115-expiration-control>small{color:var(--r115-muted);font-size:.72rem}.r115-invite-submit{width:100%}

/* Management cards */
.r115-management-card{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(180px,1fr) auto;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--r115-line)}.r115-management-card:last-child{border-bottom:0}.r115-management-person{display:flex;align-items:center;gap:10px;min-width:0}.r115-management-person>div{min-width:0}.r115-management-person strong,.r115-management-person small{display:block}.r115-management-person strong{font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.r115-management-person small{font-size:.72rem;color:var(--r115-muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.r115-row-meta{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.r115-cap-pill,.r115-expiry-pill,.r115-status-pill{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:4px 8px;font-size:.66rem;white-space:nowrap}.r115-cap-pill{background:var(--r115-blue-soft);color:var(--r115-blue)}.r115-expiry-pill{background:var(--r115-surface-soft);color:var(--r115-muted)}.r115-expiry-pill svg{width:12px;height:12px;fill:currentColor}.r115-status-pill{background:var(--r115-surface-soft);color:var(--r115-muted)}.r115-status-pill.is-active{background:rgba(36,162,102,.12);color:var(--r115-success)}.r115-status-pill.is-pending{background:rgba(245,158,11,.13);color:#b66b00}.r115-management-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap}

/* Delegation edit modal */
.r115-modal-editor{width:min(570px,calc(100vw - 32px))}.r115-modal-profile{display:flex;align-items:center;gap:11px;margin-bottom:18px}.r115-modal-profile>div{flex:1;min-width:0}.r115-modal-profile strong,.r115-modal-profile small{display:block}.r115-modal-profile small{color:var(--r115-muted);font-size:.75rem;margin-top:3px}.r115-delegation-editor-modal h4{font-size:.86rem;margin:0 0 8px;font-weight:900}.r115-modal-editor .r115-capabilities{grid-template-columns:1fr}.r115-modal-editor .r115-capabilities label{border-bottom:1px solid var(--r115-line);border-radius:0;padding:10px 2px}.r115-expiry-section{border-top:1px solid var(--r115-line);padding-top:14px;margin-top:12px}.r115-expiry-section>strong{display:block;font-size:.8rem;margin-bottom:8px}.r115-editor-footer{border-top:1px solid var(--r115-line);margin-top:15px}

/* Calendar modal */
.r115-modal-expiry{width:min(610px,calc(100vw - 32px))}.r115-calendar-layout{display:grid;grid-template-columns:minmax(320px,1fr) 190px;gap:18px}.r115-calendar{border:1px solid var(--r115-line);border-radius:12px;padding:12px}.r115-calendar-head{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;text-align:center;margin-bottom:9px}.r115-calendar-head strong{font-size:.88rem}.r115-calendar-nav{width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:inherit;display:flex;align-items:center;justify-content:center}.r115-calendar-nav:hover{background:var(--r115-surface-soft)}.r115-calendar-nav svg{width:17px;height:17px;fill:currentColor}.r115-calendar-week,.r115-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.r115-calendar-week span{text-align:center;font-size:.64rem;color:var(--r115-muted);padding:4px 0}.r115-calendar-day{aspect-ratio:1;border:0;border-radius:50%;background:transparent;color:inherit;font-size:.74rem}.r115-calendar-day:hover:not(:disabled){background:var(--r115-blue-soft)}.r115-calendar-day.is-selected{background:var(--r115-blue);color:#fff;font-weight:800}.r115-calendar-day.is-today:not(.is-selected){outline:1px solid var(--r115-blue);outline-offset:-2px}.r115-calendar-day.is-outside{color:#aab3c0}.r115-calendar-day:disabled{opacity:.35}.r115-calendar-side label{font-size:.73rem;color:var(--r115-muted);display:block;margin-bottom:6px}.r115-date-preview{border:1px solid var(--r115-line);border-radius:9px;padding:10px;display:flex;align-items:center;gap:8px;font-size:.8rem}.r115-date-preview svg{width:16px;height:16px;fill:currentColor}.r115-calendar-info{margin-top:12px;background:var(--r115-blue-soft);border-radius:10px;padding:11px;display:flex;gap:8px;color:var(--r115-muted);font-size:.72rem;line-height:1.4}.r115-calendar-info strong{color:var(--r115-blue);font-size:.9rem}

/* Mobile */
@media(max-width:900px){
    .r115-management-card{grid-template-columns:1fr auto}.r115-row-meta{grid-column:1/-1}.r115-management-actions{grid-column:2;grid-row:1}.r115-capabilities{grid-template-columns:1fr}
}
@media(max-width:680px){
    .r115-modal-layer{align-items:flex-end;padding:0}.r115-modal{width:100%!important;max-width:none!important;max-height:92vh;border-radius:20px 20px 0 0;border-left:0;border-right:0;border-bottom:0}.r115-modal-header{padding:16px 16px 10px}.r115-modal-body{padding:0 14px 16px}.r115-modal-header h3{font-size:1.03rem}.r115-modal-close{width:34px;height:34px}
    .r115-switch-row{padding:10px 2px}.r115-switch-avatar{width:44px;height:44px;min-width:44px}.r115-switch-search{height:42px}
    .r115-calendar-layout{grid-template-columns:1fr}.r115-calendar-side{display:grid;gap:8px}.r115-calendar-side label{margin:0}.r115-calendar-info{margin-top:0}.r115-calendar{padding:9px}.r115-calendar-day{font-size:.72rem}
    .r115-modal-actions{position:sticky;bottom:0;background:var(--r115-surface);padding:12px 0 2px;flex-wrap:wrap}.r115-modal-actions .btn{flex:1}.r115-modal-actions-spacer{display:none}.r115-editor-footer [data-revoke]{flex-basis:100%}
    .r115-card>.card-body{padding:15px!important}.r115-account-stack{gap:12px}.r115-member-results{position:fixed;left:10px;right:10px;top:auto;bottom:10px;max-height:58vh;border-radius:16px;z-index:30300;box-shadow:0 18px 60px rgba(15,23,42,.35)}.r115-member-result{align-items:stretch}.r115-member-select{padding:9px 5px}.r115-profile-link span{display:none}.r115-profile-link{width:38px;justify-content:center}.r115-relation-badge{max-width:120px;overflow:hidden;text-overflow:ellipsis}
    .r115-management-card{grid-template-columns:1fr;gap:9px;padding:12px 0}.r115-management-actions{grid-column:1;grid-row:auto;justify-content:flex-start}.r115-row-meta{grid-column:1}.r115-management-actions .btn{flex:1}.r115-management-person small{white-space:normal}.r115-invite-expiry{align-items:flex-start;flex-direction:column;gap:6px}.r115-expiration-control{width:100%}.r115-expiration-add,.r115-expiration-summary{flex:1;justify-content:center}.r115-selected-member{align-items:center}
    .r115-header-switch-button{right:6px;width:36px;height:36px}.site-account-menu-profile-copy{padding-right:46px!important}
}
\n\n/* R115 FIX3 — navigation compacte par onglets */
.r115-account-tabs-shell{margin-top:14px;background:var(--r115-surface);border:1px solid var(--r115-line);border-radius:17px;box-shadow:0 1px 0 rgba(15,23,42,.03);overflow:hidden}
.r115-account-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;min-height:66px;padding:0 8px;gap:4px}
.r115-account-tab{position:relative;border:0;background:transparent;color:var(--r115-muted);display:flex;align-items:center;justify-content:center;gap:9px;min-width:0;padding:10px 9px;font-weight:750;font-size:.85rem;cursor:pointer;border-radius:12px 12px 0 0;transition:background .16s ease,color .16s ease}
.r115-account-tab::after{content:"";position:absolute;left:10px;right:10px;bottom:0;height:3px;border-radius:99px 99px 0 0;background:transparent}
.r115-account-tab:hover{background:var(--r115-surface-soft);color:var(--r115-text)}
.r115-account-tab.is-active{background:var(--r115-blue-soft);color:var(--r115-blue)}
.r115-account-tab.is-active::after{background:var(--r115-blue)}
.r115-tab-icon{width:25px;height:25px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.r115-tab-icon svg{width:23px;height:23px;fill:currentColor}
.r115-tab-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.r115-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:25px;height:25px;padding:0 7px;border-radius:999px;background:#e8eef7;color:#53657e;font-size:.72rem;font-weight:900;flex:0 0 auto}
.r115-account-tab.is-active .r115-tab-count{background:#dbeafe;color:var(--r115-blue)}
.r115-account-tab[data-r115-account-tab="received"] .r115-tab-count[data-count]:not([data-count="0"]){background:#fff0d8;color:#b76600}
:root[data-theme="dark"] .r115-tab-count{background:#26364c;color:#b9c6d8}
:root[data-theme="dark"] .r115-account-tab[data-r115-account-tab="received"] .r115-tab-count[data-count]:not([data-count="0"]){background:#4b361c;color:#ffc978}
.r115-tab-panel[hidden]{display:none!important}
.r115-tab-panel{animation:r115-tab-in .16s ease-out}
@keyframes r115-tab-in{from{opacity:.55;transform:translateY(3px)}to{opacity:1;transform:none}}
.r115-empty-state{display:flex;flex-direction:column;gap:4px;padding:18px 4px;color:var(--r115-muted)}
.r115-empty-state strong{font-size:.88rem;color:var(--r115-text)}
.r115-empty-state span{font-size:.78rem}
.r115-managed-profile-card .r115-management-actions{min-width:max-content}

@media (max-width:980px){
  .r115-account-tabs{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;padding:0 6px;gap:2px}
  .r115-account-tabs::-webkit-scrollbar{display:none}
  .r115-account-tab{flex:1 0 auto;min-width:150px;scroll-snap-align:center}
}
@media (max-width:620px){
  .r115-account-tabs-shell{border-radius:15px;margin-top:10px}
  .r115-account-tabs{min-height:58px}
  .r115-account-tab{min-width:62px;max-width:82px;padding:8px 7px;gap:4px;border-radius:10px 10px 0 0}
  .r115-tab-label{display:none}
  .r115-tab-icon{width:28px;height:28px}.r115-tab-icon svg{width:24px;height:24px}
  .r115-tab-count{min-width:20px;height:20px;padding:0 5px;font-size:.65rem;position:absolute;right:5px;top:7px}
  .r115-account-tab::after{left:7px;right:7px}
  .r115-managed-profile-card .r115-management-actions{min-width:0}
}

/* R115 FIX4 — onglets lisibles + badges notifications multi-profils */
.r115-account-tabs{min-height:80px}
.r115-account-tab{min-height:80px;padding-top:11px;padding-bottom:11px}
.r115-tab-label{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.16;text-align:left;max-width:136px;display:block}
.r115-account-tab .r115-tab-count{align-self:center}
.r115-identity-name-line{display:flex!important;align-items:center;gap:7px;min-width:0}
.r115-identity-name-line>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.r115-notification-badge{display:inline-flex;align-items:center;justify-content:center;min-width:21px;height:21px;padding:0 6px;border-radius:999px;background:#e41e2b;color:#fff;font-size:.68rem;font-weight:900;line-height:1;box-shadow:0 0 0 2px var(--r115-surface);flex:0 0 auto}
.r115-header-unread{min-width:20px;height:20px;font-size:.64rem;padding:0 5px;box-shadow:none}
.r115-switch-unread{min-width:22px;height:22px;font-size:.67rem;box-shadow:none}
.r115-header-show-all .r115-hidden-unread{margin-left:auto;box-shadow:none}
:root[data-theme="dark"] .r115-notification-badge{background:#f02d3a;color:#fff}

@media (max-width:980px){
  .r115-account-tab{min-width:178px;min-height:78px}
  .r115-tab-label{max-width:120px}
}
@media (max-width:620px){
  .r115-account-tabs{min-height:58px}
  .r115-account-tab{min-height:58px;min-width:62px;max-width:82px}
  .r115-tab-label{display:none}
  .r115-notification-badge{min-width:20px;height:20px;font-size:.63rem;padding:0 5px}
}


/* R115 FIX5 — badges sur avatars + switch mobile */
.r115-avatar-with-badge{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.r115-avatar-with-badge>.r115-identity-avatar,.r115-avatar-with-badge>.r115-switch-avatar{display:block}
.r115-avatar-corner-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;font-size:.6rem;line-height:1;box-shadow:0 0 0 2px var(--r115-surface)}
.r115-header-unread.r115-avatar-corner-badge{min-width:17px;height:17px;font-size:.58rem;padding:0 4px}
.r115-switch-unread.r115-avatar-corner-badge{min-width:20px;height:20px;font-size:.63rem;padding:0 5px}
.r115-identity-name-line{display:block!important;min-width:0}
.clubos-mobile-account-profile-name.r115-mobile-profile-switch{display:flex!important;align-items:center;justify-content:center;width:44px;max-width:none;height:44px;border-radius:14px;background:#eaf1ff;color:var(--r115-blue);font-size:0;line-height:1;text-align:center;overflow:visible;white-space:normal;cursor:pointer}
.clubos-mobile-account-profile-name.r115-mobile-profile-switch svg{width:20px;height:20px;fill:currentColor}
:root[data-theme='dark'] .clubos-mobile-account-profile-name.r115-mobile-profile-switch{background:#1f3454;color:#9bc4ff}
@media (max-width:680px){.r115-avatar-corner-badge{top:-3px;right:-3px}}


/* R115 FIX8 — actions discrètes sur les profils gérés */
.r115-managed-profile-card{position:relative}
.r115-managed-hover-actions{opacity:0;pointer-events:none;transform:translateX(5px);transition:opacity .15s ease,transform .15s ease;gap:7px!important}
.r115-managed-profile-card:hover .r115-managed-hover-actions,.r115-managed-profile-card:focus-within .r115-managed-hover-actions{opacity:1;pointer-events:auto;transform:none}
.r115-row-icon-action{width:34px;height:34px;border:1px solid var(--r115-line);border-radius:9px;background:var(--r115-surface);color:var(--r115-text);display:inline-flex;align-items:center;justify-content:center;text-decoration:none!important;cursor:pointer;padding:0}
.r115-row-icon-action svg{width:17px;height:17px;fill:currentColor}
.r115-row-icon-action:hover{background:var(--r115-surface-soft);color:var(--r115-blue)}
.r115-row-icon-action.is-primary{color:var(--r115-blue);border-color:#bfdbfe;background:#eff6ff}
.r115-row-icon-action.is-danger{color:#dc2626;border-color:#fecaca;background:#fff7f7}
.r115-row-icon-action.is-danger:hover{background:#fee2e2;color:#b91c1c}
@media(max-width:680px){.r115-managed-hover-actions{opacity:1;pointer-events:auto;transform:none}.r115-row-icon-action{width:38px;height:38px}}


/* R115 FIX11 — les pickers d'identité doivent toujours survoler un article modal. */
.r115-identity-popover{z-index:2147483600!important}
.r115-modal-layer{z-index:2147483610!important}
.r115-modal-layer+.r115-modal-layer{z-index:2147483620!important}

/* R115 FIX16 — picker publication toujours au-dessus des overlays. */
.r115-identity-popover{z-index:2147483640!important;pointer-events:auto!important}
.r115-identity-option{pointer-events:auto!important}


/* R115 FIX17 — le rond d'identité du compositeur est une vraie action cliquable. */
.post-display-comment-account[data-comment-account-chip],
.r115-inline-identity-chip {
    cursor: pointer !important;
    pointer-events: auto !important;
    touch-action: manipulation;
}
.post-display-comment-account[data-comment-account-chip] {
    z-index: 8;
}


/* R115 FIX18 — la photo ne doit jamais voler le clic du bouton d'identité. */
.post-display-comment-account[data-comment-account-chip] {
    position: relative !important;
    z-index: 30 !important;
    width: 30px !important;
    height: 30px !important;
    flex-basis: 30px !important;
    clip-path: circle(50% at 50% 50%);
    isolation: isolate;
    pointer-events: auto !important;
}
.post-display-comment-account[data-comment-account-chip] .post-display-comment-account-avatar,
.post-display-comment-account[data-comment-account-chip] .post-display-comment-account-tooltip {
    pointer-events: none !important;
}
.post-display-comment-account[data-comment-account-chip] .post-display-comment-account-avatar {
    width: 28px !important;
    height: 28px !important;
}


/* R115 FIX19 — identité sans accès à la publication */
.r115-identity-option.is-publication-inaccessible {
    opacity: .48;
    filter: grayscale(.45);
    cursor: not-allowed !important;
    background: color-mix(in srgb, var(--bs-body-bg, #fff) 88%, #94a3b8 12%) !important;
}
.r115-identity-option.is-publication-inaccessible:hover,
.r115-identity-option.is-publication-inaccessible:focus {
    transform: none !important;
    box-shadow: none !important;
}
.r115-identity-option.is-publication-inaccessible small {
    color: #b45309 !important;
}
:root[data-theme="dark"] .r115-identity-option.is-publication-inaccessible small {
    color: #fbbf24 !important;
}


/* R116 R1 — le composeur n'affiche qu'une identité: sa ligne native est le switch global. */
#blogPostComposerModal [data-r115-post-picker],
#blogPostComposerModal .r115-post-identity-button { display: none !important; }
#blogPostComposerModal .r116-composer-identity-trigger { cursor: pointer; border-radius: 999px; }
#blogPostComposerModal .r116-composer-identity-trigger:focus-visible { outline: 2px solid var(--bs-primary, #0d6efd); outline-offset: 2px; }
#blogPostComposerModal .cab-composer-user-name.r116-composer-identity-trigger:hover { text-decoration: underline; text-underline-offset: 2px; }


/* R116 R2 — catalogue de délégation étendu */
.r116-capabilities{display:grid;gap:12px}
.r116-cap-presets{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:10px;border:1px solid var(--bs-border-color,#d7dee8);border-radius:12px;background:rgba(127,127,127,.045)}
.r116-cap-presets>span{font-weight:800;margin-right:3px}
.r116-cap-presets button{border:1px solid var(--bs-border-color,#cbd5e1);background:var(--bs-body-bg,#fff);color:inherit;border-radius:999px;padding:6px 10px;font-weight:700;font-size:.82rem}
.r116-cap-presets button:hover{border-color:#0d6efd;color:#0d6efd}
.r116-cap-group{border:1px solid var(--bs-border-color,#d8e0eb);border-radius:14px;padding:10px 12px 12px;margin:0}
.r116-cap-group legend{float:none;width:auto;padding:0 6px;margin:0 0 6px;font-size:.84rem;font-weight:850;color:var(--bs-secondary-color,#64748b)}
.r116-cap-group label{min-height:54px}
.r116-owner-only{margin:0;padding:10px 12px;border-radius:12px;background:rgba(245,158,11,.10);font-size:.82rem;line-height:1.45}
[data-bs-theme="dark"] .r116-owner-only{background:rgba(245,158,11,.16)}
@media(max-width:700px){.r116-cap-group{padding:9px}.r116-cap-presets{align-items:flex-start}.r116-cap-presets>span{width:100%}}

/* ===== SOURCE: context-menu-system.css ===== */
/* ClubOS 8.12.0 — langage visuel commun des menus contextuels. */
.club-context-menu {
    --club-menu-bg: #fff;
    --club-menu-fg: #172033;
    --club-menu-muted: #64748b;
    --club-menu-hover: #eef2f7;
    --club-menu-border: rgba(100,116,139,.24);
    background: var(--club-menu-bg) !important;
    color: var(--club-menu-fg) !important;
    border-color: var(--club-menu-border) !important;
}
.club-context-menu-item {
    display: grid !important;
    grid-template-columns: 1.25rem minmax(0,1fr) !important;
    align-items: start !important;
    column-gap: .72rem !important;
    width: 100%;
    min-width: 0;
    text-align: left;
}
.club-context-menu-item:hover,
.club-context-menu-item:focus-visible { background: var(--club-menu-hover) !important; }
.club-context-menu-icon {
    grid-column: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.25rem;
    height: 1.25rem;
    margin-top: .08rem;
    color: currentColor;
    opacity: .88;
}
.club-context-menu-icon svg { width: 1.18rem; height: 1.18rem; fill: currentColor; }
.club-context-menu-copy {
    grid-column: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
    gap: .13rem;
}
.club-context-menu-label {
    display: block !important;
    width: 100%;
    color: inherit;
    font-weight: 650;
    line-height: 1.25;
}
.club-context-menu-description {
    display: block !important;
    width: 100%;
    margin: 0 !important;
    color: var(--club-menu-muted) !important;
    font-size: .75rem;
    font-weight: 400;
    line-height: 1.3;
    white-space: normal;
}
.club-context-menu-item.is-danger,
.club-context-menu-item.is-danger .club-context-menu-icon { color: #c62828 !important; }
:root[data-theme="dark"] .club-context-menu {
    --club-menu-bg: #111c30;
    --club-menu-fg: #eef4ff;
    --club-menu-muted: #9fb0c9;
    --club-menu-hover: #1d2a43;
    --club-menu-border: rgba(125,180,255,.22);
}
:root[data-theme="dark"] .club-context-menu-item.is-danger,
:root[data-theme="dark"] .club-context-menu-item.is-danger .club-context-menu-icon { color: #ffaaa7 !important; }

/* Le menu publication garde une largeur indépendante de celle de la carte. */
.blog-post-card-menu-popover.club-context-menu {
    width: min(16rem, calc(100vw - 2rem)) !important;
    min-width: 13.25rem !important;
    right: -.8rem !important;
}
.blog-post-card-menu-item.club-context-menu-item { padding: .66rem .7rem !important; }
/* Menus commentaire, profil et avatar. */
.blog-comment-actions-menu.club-context-menu,
.profile-public-action-menu.club-context-menu,
.profile-public-social-menu.club-context-menu,
.account-avatar-context-menu.club-context-menu,
.site-messaging-panel-item-menu.club-context-menu,
.messaging-options-menu.club-context-menu,
.navbar-notifications-menu.club-context-menu,
.account-notifications-menu.club-context-menu {
    padding: .42rem !important;
    border-radius: .9rem !important;
    box-shadow: 0 16px 38px rgba(15,23,42,.2) !important;
}
.blog-comment-actions-menu .club-context-menu-item,
.profile-public-action-menu .club-context-menu-item,
.profile-public-social-menu .club-context-menu-item,
.account-avatar-context-menu .club-context-menu-item,
.site-messaging-panel-item-menu .club-context-menu-item,
.messaging-options-menu .club-context-menu-item,
.navbar-notifications-menu .club-context-menu-item,
.account-notifications-menu .club-context-menu-item { padding: .62rem .68rem !important; border-radius: .62rem !important; }
.club-context-menu-icon { filter: grayscale(1) saturate(0) contrast(1.2); }
:root[data-theme="dark"] .club-context-menu-icon { filter: grayscale(1) saturate(0) brightness(2.1) contrast(1.1); }

/* 8.12.0 — neutralise les anciennes mises en page inline des menus historiques. */
.blog-post-card-menu-item.club-context-menu-item > .club-context-menu-copy {
    grid-column: 2 !important;
    grid-row: 1 / span 2 !important;
}
.blog-post-card-menu-item .club-context-menu-label,
.blog-post-card-menu-item .club-context-menu-description {
    grid-column: auto !important;
    grid-row: auto !important;
    text-align: left !important;
}
.messaging-options-menu.club-context-menu .messaging-options-section {
    display: contents;
}
.messaging-options-menu.club-context-menu > strong,
.messaging-options-menu.club-context-menu .messaging-options-section > strong {
    padding: .3rem .68rem .16rem;
    color: var(--club-menu-muted);
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .06em;
}


/* ClubOS 8.12.1 — largeurs fiables et alignement des menus de profil. */
.profile-public-action-menu.club-context-menu {
    width: min(22rem, calc(100vw - 1.25rem)) !important;
    min-width: min(19rem, calc(100vw - 1.25rem)) !important;
}
.profile-public-avatar-menu.club-context-menu .profile-public-action-menu-item,
.profile-public-cover-actions .profile-public-action-menu.club-context-menu .profile-public-action-menu-item {
    white-space: normal !important;
}
.profile-public-social-menu.club-context-menu {
    width: min(19rem, calc(100vw - 1.25rem)) !important;
    min-width: min(17rem, calc(100vw - 1.25rem)) !important;
}
.profile-public-social-menu.club-context-menu .club-context-menu-label,
.profile-public-action-menu.club-context-menu .club-context-menu-label {
    overflow-wrap: anywhere;
}

/* ClubOS 8.13.0 — neutralise tous les anciens ancrages absolus après déplacement sous body. */
.blog-post-card-menu-popover.club-context-menu.club-ui-menu,
.blog-comment-actions-menu.club-context-menu.club-ui-menu,
.profile-public-action-menu.club-context-menu.club-ui-menu,
.profile-public-social-menu.club-context-menu.club-ui-menu,
.account-avatar-context-menu.club-context-menu.club-ui-menu,
.site-messaging-panel-item-menu.club-context-menu.club-ui-menu,
.messaging-options-menu.club-context-menu.club-ui-menu,
.navbar-notifications-menu.club-context-menu.club-ui-menu,
.account-notifications-menu.club-context-menu.club-ui-menu {
    position: fixed !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
}

/* ===== SOURCE: site-account-admin-entry.css ===== */
.site-account-menu-admin-row {
    margin-top: .22rem;
    color: #0f3f8f !important;
    background: color-mix(in srgb, var(--site-accent) 9%, transparent);
    border: 1px solid color-mix(in srgb, var(--site-accent) 22%, transparent);
}
.site-account-menu-admin-row .site-account-menu-icon {
    color: var(--site-accent);
    background: color-mix(in srgb, var(--site-accent) 17%, var(--site-surface));
}
.site-account-menu-admin-row:hover,
.site-account-menu-admin-row:focus-visible {
    background: color-mix(in srgb, var(--site-accent) 15%, var(--site-surface));
}
@media (max-width: 767.98px) {
    [data-account-admin-link] { display: none !important; }
}

/* ===== SOURCE: site-messaging-panel.css ===== */
/* Club Alex Borg 8.15.9.7.12 — sur desktop, le tiroir Discussions ne doit
 * jamais supprimer l'ascenseur principal de la page. Le panneau reste fixe,
 * mais le document derrière continue à défiler. */
:root.has-site-messaging-panel {
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-gutter: stable;
}

/* Sur mobile, le panneau est une vraie surface plein écran : on conserve le
 * verrouillage du document pour éviter un double défilement sous le doigt. */
@media (max-width: 767.98px) {
    :root.has-site-messaging-panel {
        overflow: hidden;
        scrollbar-gutter: auto;
    }
}

.site-messaging-panel-layer {
    position: fixed;
    inset: 0;
    z-index: 2460;
}

.site-messaging-panel-layer[hidden] {
    display: none !important;
}

.site-messaging-panel-backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: transparent;
    backdrop-filter: none;
}

.site-messaging-panel {
    position: absolute;
    top: 64px;
    right: 0;
    bottom: 0;
    width: min(390px, 100vw);
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: visible;
    border-left: 1px solid var(--site-border);
    background: var(--site-surface);
    color: var(--site-text);
    box-shadow: -18px 0 45px rgba(15, 23, 42, .2);
    animation: site-messaging-panel-enter .2s ease-out;
}

@keyframes site-messaging-panel-enter {
    from { transform: translateX(24px); opacity: .2; }
    to { transform: translateX(0); opacity: 1; }
}

.site-messaging-panel-conversations-view,
.site-messaging-panel-new-view {
    min-height: 0;
}

.site-messaging-panel-conversations-view {
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr) auto;
}

.site-messaging-panel-new-view {
    padding: 0 1rem 1rem;
    overflow: auto;
}

.site-messaging-panel-new-view[hidden],
.site-messaging-panel-conversations-view[hidden] {
    display: none !important;
}

.site-messaging-panel-new-head {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-bottom: .75rem;
}

.site-messaging-panel-new-head div {
    min-width: 0;
    display: grid;
    gap: .08rem;
}

.site-messaging-panel-new-head strong {
    color: var(--site-text);
    font-size: 1rem;
}

.site-messaging-panel-new-head small,
.site-messaging-panel-new-help,
.site-messaging-panel-contact-status,
.site-messaging-panel-contact-copy small {
    color: var(--site-text-muted);
}

.site-messaging-panel-new-help {
    margin: 0 0 .75rem;
    font-size: .78rem;
    line-height: 1.45;
}

.site-messaging-panel-new-view .site-messaging-panel-search {
    margin: 0 0 .7rem;
}

.site-messaging-panel-contact-status {
    margin-bottom: .65rem;
    font-size: .78rem;
}

.site-messaging-panel-contact-status[data-kind="error"] {
    color: #ef4444;
}

.site-messaging-panel-contact-results {
    display: grid;
    gap: .25rem;
}

.site-messaging-panel-contact {
    width: 100%;
    padding: .62rem;
    border: 0;
    border-radius: .85rem;
    display: flex;
    align-items: center;
    gap: .72rem;
    background: transparent;
    color: var(--site-text);
    text-align: left;
}

.site-messaging-panel-contact:hover,
.site-messaging-panel-contact:focus-visible {
    background: color-mix(in srgb, var(--site-accent) 9%, var(--site-surface));
    outline: 2px solid color-mix(in srgb, var(--site-accent) 35%, transparent);
    outline-offset: -2px;
}

.site-messaging-panel-contact:disabled {
    opacity: .65;
}

.site-messaging-panel-contact-copy {
    min-width: 0;
    display: grid;
    gap: .12rem;
}

.site-messaging-panel-contact-copy strong,
.site-messaging-panel-contact-copy small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.site-messaging-panel-empty.is-compact {
    min-height: 8rem;
    padding: 1rem;
}

.site-messaging-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1rem .75rem;
}

.site-messaging-panel-header h2 {
    margin: .05rem 0 0;
    font-size: 1.55rem;
    font-weight: 850;
    letter-spacing: -.035em;
}

.site-messaging-panel-kicker {
    display: block;
    color: var(--site-accent);
    font-size: .65rem;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.site-messaging-panel-header-actions {
    display: flex;
    align-items: center;
    gap: .35rem;
}

.site-messaging-panel-round-action {
    width: 2.35rem;
    height: 2.35rem;
    padding: 0;
    border: 1px solid var(--site-border);
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: var(--site-surface-2);
    color: var(--site-text) !important;
    text-decoration: none;
}

.site-messaging-panel-round-action:hover,
.site-messaging-panel-round-action:focus-visible {
    background: color-mix(in srgb, var(--site-accent) 12%, var(--site-surface-2));
    outline: 2px solid color-mix(in srgb, var(--site-accent) 40%, transparent);
    outline-offset: 1px;
}

.site-messaging-panel-round-action.is-primary {
    border-color: var(--site-accent);
    background: var(--site-accent);
    color: var(--site-accent-contrast) !important;
}

.site-messaging-panel-round-action svg,
.site-messaging-panel-search svg,
.site-messaging-panel-item-menu-trigger svg,
.site-messaging-panel-menu-icon svg {
    width: 1.12rem;
    height: 1.12rem;
    fill: currentColor;
}

.site-messaging-panel-search {
    min-height: 2.65rem;
    margin: 0 1rem .75rem;
    padding: 0 .85rem;
    border: 1px solid color-mix(in srgb, var(--site-border) 75%, transparent);
    border-radius: 999px;
    display: flex;
    align-items: center;
    gap: .55rem;
    background: var(--site-surface-2);
    color: var(--site-text-muted);
}

.site-messaging-panel-search input {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--site-text);
}

.site-messaging-panel-search input::placeholder {
    color: var(--site-text-muted);
}

.site-messaging-panel-status {
    margin: 0 1rem .6rem;
    padding: .6rem .72rem;
    border-radius: .72rem;
    background: color-mix(in srgb, var(--site-accent) 10%, var(--site-surface-2));
    color: var(--site-text-muted);
    font-size: .78rem;
}

.site-messaging-panel-status[data-kind="error"] {
    background: color-mix(in srgb, #dc2626 14%, var(--site-surface));
    color: #ef4444;
}

.site-messaging-panel-list {
    min-height: 0;
    overflow: auto;
    padding: 0 .55rem .7rem;
    scrollbar-width: thin;
}

.site-messaging-panel-item {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    border-radius: .9rem;
}

.site-messaging-panel-item:hover,
.site-messaging-panel-item:focus-within {
    background: color-mix(in srgb, var(--site-accent) 8%, transparent);
}

.site-messaging-panel-conversation {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: .72rem;
    padding: .68rem .35rem .68rem .55rem;
    color: inherit !important;
    text-decoration: none;
}

.site-messaging-panel-avatar {
    width: 3rem;
    height: 3rem;
    flex: 0 0 auto;
    overflow: hidden;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #4f46e5, #0ea5e9);
    color: #fff;
    font-size: .78rem;
    font-weight: 900;
}

.site-messaging-panel-avatar img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.site-messaging-panel-copy {
    min-width: 0;
    display: grid;
    gap: .16rem;
}

.site-messaging-panel-topline {
    min-width: 0;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: .55rem;
}

.site-messaging-panel-topline strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--site-text);
    font-size: .92rem;
}

.site-messaging-panel-topline small,
.site-messaging-panel-preview {
    color: var(--site-text-muted);
    font-size: .73rem;
}

.site-messaging-panel-topline small {
    flex: 0 0 auto;
}

.site-messaging-panel-preview {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.site-messaging-panel-item.is-unread .site-messaging-panel-topline strong,
.site-messaging-panel-item.is-unread .site-messaging-panel-preview {
    color: var(--site-text);
    font-weight: 800;
}

.site-messaging-panel-unread {
    position: absolute;
    right: 2.95rem;
    bottom: .78rem;
    width: .68rem;
    height: .68rem;
    border-radius: 999px;
    background: #1677ff;
    box-shadow: 0 0 0 2px var(--site-surface);
}

.site-messaging-panel-item-menu-wrap {
    position: relative;
    padding-right: .45rem;
}

.site-messaging-panel-item-menu-trigger {
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: 0;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: transparent;
    color: var(--site-text-muted);
    opacity: .18;
}

.site-messaging-panel-item:hover .site-messaging-panel-item-menu-trigger,
.site-messaging-panel-item:focus-within .site-messaging-panel-item-menu-trigger,
.site-messaging-panel-item-menu-trigger[aria-expanded="true"] {
    opacity: 1;
    background: var(--site-surface-2);
}

.site-messaging-panel-item-menu {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2480;
    width: min(270px, calc(100vw - 1rem));
    padding: .4rem;
    border: 1px solid var(--site-border);
    border-radius: .85rem;
    background: var(--site-surface);
    box-shadow: 0 18px 46px rgba(15, 23, 42, .24);
}

.site-messaging-panel-item-menu[hidden] {
    display: none !important;
}

.site-messaging-panel-menu-action {
    width: 100%;
    min-height: 2.55rem;
    padding: .45rem .55rem;
    border: 0;
    border-radius: .65rem;
    display: flex;
    align-items: center;
    gap: .65rem;
    background: transparent;
    color: var(--site-text) !important;
    text-align: left;
    text-decoration: none;
}

.site-messaging-panel-menu-action:hover,
.site-messaging-panel-menu-action:focus-visible {
    background: var(--site-surface-2);
    outline: none;
}

.site-messaging-panel-menu-action.is-danger {
    color: #dc2626 !important;
}

.site-messaging-panel-menu-icon {
    width: 1.9rem;
    height: 1.9rem;
    flex: 0 0 auto;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: var(--site-surface-2);
}

.site-messaging-panel-empty {
    min-height: 12rem;
    padding: 2rem 1rem;
    display: grid;
    align-content: center;
    justify-items: center;
    gap: .3rem;
    color: var(--site-text-muted);
    text-align: center;
}

.site-messaging-panel-empty strong {
    color: var(--site-text);
}

.site-messaging-panel footer {
    padding: .75rem 1rem 1rem;
    border-top: 1px solid var(--site-border);
    text-align: center;
}

.site-messaging-panel footer a {
    color: var(--site-accent) !important;
    font-weight: 800;
    text-decoration: none;
}

:root[data-theme="dark"] .site-messaging-panel-backdrop {
    background: transparent;
}

@media (max-width: 575.98px) {
    .site-messaging-panel {
        top: 60px;
        width: 100vw;
    }
}

@media (prefers-reduced-motion: reduce) {
    .site-messaging-panel {
        animation: none;
    }
}

/* ClubOS 8.10.0 — état de sourdine visible dans la liste rapide. */
.site-messaging-panel-muted {
    position: absolute;
    right: 3rem;
    top: .65rem;
    width: 1.05rem;
    height: 1.05rem;
    display: grid;
    place-items: center;
    color: var(--site-text-muted);
    pointer-events: none;
}
.site-messaging-panel-muted svg {
    width: 1rem;
    height: 1rem;
    fill: none;
}
.site-messaging-panel-item.is-unread .site-messaging-panel-muted {
    top: .5rem;
}

/* ===== SOURCE: visibility-rescue-modal.css ===== */
/* ClubOS R119.3 FIX4 — modal global Visibilité de mes publications sans iframe */
body.club-visibility-modal-open{overflow:hidden!important}
.club-visibility-modal-backdrop{position:fixed;inset:0;z-index:2147482400;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(21,32,49,.42);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .16s ease}
.club-visibility-modal-backdrop.is-open{opacity:1}
.club-visibility-modal{width:min(1180px,calc(100vw - 36px));height:min(88vh,880px);min-height:520px;background:#f7f9fc;border:1px solid rgba(207,218,233,.95);border-radius:26px;box-shadow:0 34px 90px rgba(15,23,42,.28);overflow:hidden;display:flex;flex-direction:column;transform:translateY(12px) scale(.992);transition:transform .18s ease;position:relative}
.club-visibility-modal-backdrop.is-open .club-visibility-modal{transform:translateY(0) scale(1)}
.club-visibility-modal-header{height:66px;flex:0 0 66px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 16px 0 20px;background:rgba(255,255,255,.96);border-bottom:1px solid #dbe3ee}
.club-visibility-modal-title-wrap{display:flex;align-items:center;gap:12px;min-width:0}
.club-visibility-modal-icon{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:#e7f0ff;color:#1166df;font-size:18px;font-weight:800;flex:0 0 38px}
.club-visibility-modal-copy{display:flex;flex-direction:column;min-width:0}
.club-visibility-modal-copy strong{font-size:1.05rem;color:#152238;line-height:1.18;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.club-visibility-modal-copy small{margin-top:2px;color:#74849b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.club-visibility-modal-close{width:42px;height:42px;border:0;border-radius:50%;display:grid;place-items:center;background:#f0f4fa;color:#293950;font-size:25px;line-height:1;cursor:pointer;transition:.15s ease;flex:0 0 42px}.club-visibility-modal-close:hover{background:#e3ebf6;color:#0b5fd8;transform:scale(1.03)}
.club-visibility-modal-body{position:relative;flex:1;min-height:0;background:#f5f7fb}

.club-visibility-modal-content{position:absolute;inset:0;overflow:auto;background:#f5f7fb;overscroll-behavior:contain}
.club-visibility-modal-content .visibility-shell{max-width:none;padding:16px 18px 24px}
.club-visibility-modal-content .visibility-toolbar{margin-top:12px;box-shadow:none}
.club-visibility-modal-content .visibility-summary{margin-top:14px;margin-bottom:16px}
.club-visibility-modal-content .visibility-list-wrap{box-shadow:none}
.club-visibility-modal-error{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:28px;text-align:center;color:#586b84}.club-visibility-modal-error strong{font-size:1.05rem;color:#24364d}.club-visibility-modal-error span{max-width:540px}.club-visibility-modal-error-close{margin-top:8px;border:1px solid #bfd0e7;background:#fff;color:#2457d6;border-radius:12px;padding:9px 16px;font-weight:700;cursor:pointer}
.club-visibility-modal-loading{position:absolute;inset:0;display:grid;place-items:center;background:rgba(247,249,252,.88);z-index:2;color:#5d6e86;font-weight:700;transition:opacity .14s ease}.club-visibility-modal-loading.is-hidden{opacity:0;pointer-events:none}
.club-visibility-modal-spinner{width:34px;height:34px;border-radius:50%;border:3px solid #d9e5f6;border-top-color:#176ce2;animation:club-visibility-spin .7s linear infinite;margin:0 auto 10px}@keyframes club-visibility-spin{to{transform:rotate(360deg)}}
:root[data-theme="dark"] .club-visibility-modal{background:#0e1626;border-color:#30415d}:root[data-theme="dark"] .club-visibility-modal-header{background:rgba(17,26,44,.98);border-color:#30415d}:root[data-theme="dark"] .club-visibility-modal-copy strong{color:#e8eef8}:root[data-theme="dark"] .club-visibility-modal-copy small{color:#9aacC4}:root[data-theme="dark"] .club-visibility-modal-close{background:#172238;color:#dce7f6}:root[data-theme="dark"] .club-visibility-modal-body,:root[data-theme="dark"] .club-visibility-modal-content{background:#0e1626}
@media(max-width:760px){.club-visibility-modal-backdrop{padding:8px}.club-visibility-modal{width:100%;height:calc(100vh - 16px);min-height:0;border-radius:20px}.club-visibility-modal-header{height:58px;flex-basis:58px;padding-left:13px}.club-visibility-modal-icon{width:34px;height:34px;flex-basis:34px}.club-visibility-modal-copy strong{font-size:.95rem}.club-visibility-modal-copy small{font-size:.74rem}.club-visibility-modal-close{width:38px;height:38px;flex-basis:38px}.club-visibility-modal-content .visibility-shell{padding:10px}}
@media(prefers-reduced-motion:reduce){.club-visibility-modal-backdrop,.club-visibility-modal,.club-visibility-modal-close{transition:none}.club-visibility-modal-spinner{animation-duration:1.4s}}

/* ===== SOURCE: post-visibility-rescue.css ===== */
body.cab-visibility-page{margin:0;background:#f5f7fb;color:#122033;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.visibility-shell{max-width:1240px;margin:0 auto;padding:28px 18px 48px}.visibility-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px}.visibility-kicker{display:inline-flex;padding:6px 10px;border-radius:999px;background:#e0ecff;color:#2457d6;font-size:.78rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.visibility-hero h1{margin:12px 0 10px;font-size:2rem;line-height:1.1}.visibility-hero p{margin:0;max-width:760px;color:#5b6b82;line-height:1.55}.visibility-return{display:inline-flex;align-items:center;padding:10px 14px;border-radius:14px;background:#fff;border:1px solid #d7dfed;color:#2457d6;text-decoration:none;font-weight:700;box-shadow:0 12px 28px rgba(15,23,42,.06)}.visibility-toolbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px}.visibility-toolbar-group{display:grid;gap:6px}.visibility-toolbar-group label{font-size:.82rem;font-weight:800;color:#42536a}.visibility-toolbar select,.visibility-toolbar .btn{min-height:48px;border-radius:16px;border:1px solid #d7dfed;background:#fff;padding:0 14px;font-size:1rem}.visibility-toolbar-actions{align-items:end}.visibility-feedback{margin-bottom:16px;padding:14px 16px;border-radius:16px;background:#e8f2ff;color:#144da7;border:1px solid #c9dcff}.visibility-feedback.is-error{background:#fff0f0;color:#a52626;border-color:#f5c9c9}.visibility-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.visibility-stat{background:#fff;border:1px solid #d7dfed;border-radius:22px;padding:18px 20px;box-shadow:0 18px 40px rgba(15,23,42,.06)}.visibility-stat span{display:block;color:#5b6b82;font-size:.92rem;margin-bottom:6px}.visibility-stat strong{display:block;font-size:2rem;line-height:1;font-weight:800;margin-bottom:8px}.visibility-stat small{color:#90a0b8}.visibility-list-wrap{background:#fff;border:1px solid #d7dfed;border-radius:28px;padding:22px;box-shadow:0 24px 48px rgba(15,23,42,.07)}.visibility-list-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.visibility-list-header h2{margin:0 0 8px;font-size:1.3rem}.visibility-list-header p{margin:0;color:#607089;max-width:780px}.visibility-chip{display:inline-flex;align-items:center;gap:8px;background:#edf4ff;color:#2457d6;padding:8px 12px;border-radius:999px;font-weight:700;font-size:.88rem;white-space:nowrap}.visibility-list{display:grid;gap:18px}.visibility-card{display:grid;grid-template-columns:220px 1fr;gap:18px;padding:18px;border:1px solid #e5ebf5;border-radius:24px;background:linear-gradient(180deg,#fff,#fbfcff);position:relative}.visibility-card.is-highlight{border-color:#7cb1ff;box-shadow:0 0 0 3px rgba(36,87,214,.12)}.visibility-card-thumb{border-radius:20px;overflow:hidden;min-height:145px;background:#dbe6f8;position:relative}.visibility-card-thumb img{width:100%;height:100%;object-fit:cover;display:block}.visibility-card-thumb-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#5b6b82;font-weight:800;font-size:1rem;background:linear-gradient(135deg,#d9e7ff,#eef4ff)}.visibility-card-main{display:grid;gap:14px}.visibility-card-top{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.visibility-card-title{margin:0;font-size:1.16rem;line-height:1.3}.visibility-card-excerpt{margin:8px 0 0;color:#607089;line-height:1.5}.visibility-status{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;font-size:.82rem;font-weight:800}.visibility-status.pending{background:#fff4d8;color:#a86400}.visibility-status.opened{background:#e6faee;color:#0d7a3d}.visibility-status.kept{background:#eef4ff;color:#2457d6}.visibility-status.hidden{background:#f3f4f6;color:#556274}.visibility-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.visibility-metric{background:#f8fbff;border:1px solid #e7eefb;border-radius:18px;padding:12px}.visibility-metric span{display:block;font-size:.78rem;font-weight:700;color:#7b8aa2;margin-bottom:6px}.visibility-metric strong{font-size:1.1rem}.visibility-actions{display:flex;flex-wrap:wrap;gap:10px}.visibility-actions .btn{border-radius:14px;padding:10px 14px;font-weight:700}.visibility-actions .btn-primary{background:#2457d6;color:#fff;border:1px solid #2457d6}.visibility-actions .btn-secondary{background:#fff;border:1px solid #b8c7df;color:#244168}.visibility-card-footer{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}.visibility-meta{display:flex;gap:12px;flex-wrap:wrap;color:#6f8098;font-size:.88rem}.visibility-empty{padding:32px 18px;border:1px dashed #c8d5e9;border-radius:22px;text-align:center;color:#687a91;background:#f9fbff}.visibility-link{color:#2457d6;font-weight:700;text-decoration:none}.btn{cursor:pointer}.btn[disabled]{opacity:.55;cursor:not-allowed}
@media (max-width:960px){.visibility-toolbar{grid-template-columns:1fr 1fr}.visibility-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.visibility-card{grid-template-columns:1fr}.visibility-card-thumb{min-height:180px}.visibility-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.visibility-shell{padding:16px 12px 32px}.visibility-hero{flex-direction:column}.visibility-toolbar{grid-template-columns:1fr}.visibility-summary{grid-template-columns:1fr}.visibility-list-wrap{padding:16px}.visibility-list-header{flex-direction:column}.visibility-metrics{grid-template-columns:1fr 1fr}.visibility-actions{flex-direction:column}.visibility-actions .btn{width:100%}}
/* R119.3 PH2 — shell visuel aligné ClubOS desktop/mobile */
.visibility-app-shell{min-height:100vh;background:radial-gradient(circle at 12% 0%,rgba(77,144,255,.09),transparent 28%),linear-gradient(180deg,#f7f9fc 0,#f3f6fa 100%)}.visibility-topbar{position:sticky;top:0;z-index:1200;background:rgba(255,255,255,.96);border-bottom:1px solid #dbe3ee;backdrop-filter:blur(16px)}.visibility-topbar-inner{height:72px;max-width:1460px;margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.visibility-topbar-left{display:flex;align-items:center;gap:12px;min-width:0}.visibility-logo-link{text-decoration:none}.visibility-logo-circle{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#2b8df4;box-shadow:0 8px 22px rgba(43,141,244,.24)}.visibility-logo-circle img{width:27px;height:27px;object-fit:contain}.visibility-search{width:min(310px,26vw);height:42px;border-radius:22px;background:#e9edf3;display:flex;align-items:center;gap:8px;padding:0 14px;color:#6d7b8f}.visibility-search input{border:0;outline:0;background:transparent;min-width:0;width:100%;color:#1c2a3d}.visibility-search input::placeholder{color:#617086}.visibility-topbar-nav{display:flex;align-items:center;gap:9px}.visibility-nav-pill,.visibility-icon-pill,.visibility-profile-pill{height:42px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid #ccd8e7;background:#fff;color:#1d2c40;font-weight:700;transition:.15s ease}.visibility-nav-pill{padding:0 18px;border-radius:22px}.visibility-nav-pill:hover,.visibility-icon-pill:hover{background:#edf4ff;color:#0866ff;border-color:#a9c8f5}.visibility-icon-pill{width:42px;border-radius:50%;font-size:.95rem}.visibility-profile-pill{width:42px;border-radius:50%;background:linear-gradient(135deg,#57c1a7,#219a7b);color:#fff;border-color:transparent;font-size:1rem}.visibility-shell{max-width:1180px}.visibility-hero{margin-top:4px;padding:26px 28px;background:#fff;border:1px solid #dde5ef;border-radius:24px;box-shadow:0 14px 36px rgba(31,48,74,.06)}.visibility-hero h1{font-size:2.05rem}.visibility-toolbar{margin-top:18px;padding:16px 18px;background:#fff;border:1px solid #dde5ef;border-radius:20px;box-shadow:0 10px 28px rgba(31,48,74,.04)}.visibility-summary{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px}.visibility-stat{position:relative;overflow:hidden;padding:20px 22px}.visibility-stat::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:4px}.visibility-stat-attention::before{background:#f5a623}.visibility-stat-opened::before{background:#23a567}.visibility-stat-kept::before{background:#4387f5}.visibility-stat strong{font-size:2.25rem}.visibility-list-wrap{border-radius:24px}.visibility-card{grid-template-columns:190px minmax(0,1fr);border-radius:20px;padding:16px}.visibility-card-thumb{min-height:132px;border-radius:16px}.visibility-card-title{font-size:1.12rem}.visibility-status{white-space:nowrap}.visibility-actions .btn-primary{background:#0866ff;border-color:#0866ff}.visibility-actions .btn-primary:hover{background:#075bdc;border-color:#075bdc}.visibility-card.is-highlight{animation:visibility-highlight 1.8s ease 1}@keyframes visibility-highlight{0%,100%{box-shadow:0 0 0 3px rgba(36,87,214,.12)}50%{box-shadow:0 0 0 6px rgba(36,87,214,.22)}}
:root[data-theme="dark"] body.cab-visibility-page,:root[data-theme="dark"] .visibility-app-shell{background:#0d1422;color:#e6ebf5}:root[data-theme="dark"] .visibility-topbar{background:rgba(14,22,36,.96);border-color:#2d3c55}:root[data-theme="dark"] .visibility-search{background:#172238}:root[data-theme="dark"] .visibility-search input{color:#e6ebf5}:root[data-theme="dark"] .visibility-nav-pill,:root[data-theme="dark"] .visibility-icon-pill,:root[data-theme="dark"] .visibility-return,:root[data-theme="dark"] .visibility-hero,:root[data-theme="dark"] .visibility-toolbar,:root[data-theme="dark"] .visibility-stat,:root[data-theme="dark"] .visibility-list-wrap,:root[data-theme="dark"] .visibility-card{background:#111a2c;color:#e6ebf5;border-color:#30415d}:root[data-theme="dark"] .visibility-toolbar select,:root[data-theme="dark"] .visibility-toolbar .btn,:root[data-theme="dark"] .visibility-actions .btn-secondary{background:#0f1728;color:#e6ebf5;border-color:#40516d}:root[data-theme="dark"] .visibility-hero p,:root[data-theme="dark"] .visibility-list-header p,:root[data-theme="dark"] .visibility-card-excerpt,:root[data-theme="dark"] .visibility-meta,:root[data-theme="dark"] .visibility-stat span,:root[data-theme="dark"] .visibility-stat small{color:#9ab0cb}:root[data-theme="dark"] .visibility-metric{background:#0f1728;border-color:#30415d}:root[data-theme="dark"] .visibility-metric span{color:#8fa3c0}:root[data-theme="dark"] .visibility-chip{background:#152847;color:#81b5ff}
@media(max-width:820px){.visibility-topbar-inner{height:62px;padding:0 12px}.visibility-search{width:190px}.visibility-nav-pill{display:none}.visibility-icon-pill{width:38px;height:38px}.visibility-profile-pill{width:38px;height:38px}.visibility-logo-circle{width:38px;height:38px}.visibility-summary{grid-template-columns:1fr 1fr 1fr}.visibility-stat{padding:15px}.visibility-stat strong{font-size:1.8rem}.visibility-card{grid-template-columns:150px minmax(0,1fr)}.visibility-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.visibility-topbar-inner{gap:8px}.visibility-search{flex:1;width:auto;max-width:190px}.visibility-topbar-nav{gap:6px}.visibility-icon-pill:nth-of-type(3){display:none}.visibility-shell{padding:12px 10px 28px}.visibility-hero{padding:18px;border-radius:18px;gap:14px}.visibility-hero h1{font-size:1.6rem;margin-top:10px}.visibility-return{padding:8px 11px;font-size:.86rem}.visibility-toolbar{padding:13px;border-radius:16px}.visibility-summary{grid-template-columns:1fr}.visibility-list-wrap{padding:14px;border-radius:18px}.visibility-card{grid-template-columns:1fr;padding:12px;border-radius:17px}.visibility-card-thumb{min-height:170px}.visibility-card-top{gap:8px}.visibility-status{padding:6px 9px;font-size:.72rem}.visibility-metrics{grid-template-columns:1fr 1fr}.visibility-metric{padding:10px;border-radius:14px}.visibility-metric:nth-child(5){grid-column:1/-1}.visibility-card-footer{align-items:stretch}.visibility-meta{font-size:.8rem}.visibility-actions{gap:7px}.visibility-actions .btn{min-height:44px}.visibility-list-header h2{font-size:1.15rem}}
/* R119.3 FIX3 — rendu embarqué dans le modal sans casser le shell parent */
body.cab-visibility-page.is-embedded{overflow:auto;background:#f6f8fc}
body.cab-visibility-page.is-embedded .visibility-app-shell{min-height:0;background:transparent}
body.cab-visibility-page.is-embedded .visibility-shell{max-width:none;padding:16px 18px 24px}
body.cab-visibility-page.is-embedded .visibility-toolbar{margin-top:12px;box-shadow:none}
body.cab-visibility-page.is-embedded .visibility-summary{margin-top:14px;margin-bottom:16px}
body.cab-visibility-page.is-embedded .visibility-list-wrap{box-shadow:none}
.visibility-embed-identity{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#fff;border:1px solid #dde5ef;border-radius:18px;box-shadow:0 8px 24px rgba(31,48,74,.05)}
.visibility-embed-avatar-wrap{width:50px;height:50px;flex:0 0 50px;border-radius:50%;overflow:hidden;background:#dce8f9;box-shadow:0 0 0 3px #eef4ff}
.visibility-embed-avatar{width:100%;height:100%;object-fit:cover;display:block}
.visibility-embed-avatar-fallback{display:grid;place-items:center;background:linear-gradient(135deg,#57c1a7,#219a7b);color:#fff;font-weight:800;font-size:1.2rem}
.visibility-embed-identity-copy{display:flex;flex-direction:column;min-width:0}
.visibility-embed-identity-copy .visibility-kicker{align-self:flex-start;margin-bottom:4px;padding:4px 8px;font-size:.68rem}
.visibility-embed-identity-copy strong{font-size:1rem;color:#18263a;line-height:1.25}
.visibility-embed-identity-copy small{margin-top:3px;color:#667892;line-height:1.35}
:root[data-theme="dark"] .visibility-embed-identity{background:#111a2c;border-color:#30415d}:root[data-theme="dark"] .visibility-embed-identity-copy strong{color:#e6ebf5}:root[data-theme="dark"] .visibility-embed-identity-copy small{color:#9ab0cb}
@media(max-width:640px){body.cab-visibility-page.is-embedded .visibility-shell{padding:10px}.visibility-embed-identity{padding:12px;border-radius:15px}.visibility-embed-avatar-wrap{width:44px;height:44px;flex-basis:44px}.visibility-embed-identity-copy small{font-size:.78rem}}
.visibility-profile-pill img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}

/* ===== SOURCE: profile-hover-card.css ===== */
.profile-hover-card-portal {
    position: fixed;
    left: -9999px;
    top: -9999px;
    z-index: var(--z-profile-hover-card, 120120);
}

.profile-hover-card {
    width: min(340px, calc(100vw - 24px));
    border-radius: 16px;
    border: 1px solid rgba(148, 163, 184, .24);
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 20px 48px rgba(15, 23, 42, .24);
    padding: 1rem;
    backdrop-filter: blur(12px);
    opacity: 0;
    transform: translateY(4px) scale(.985);
    transition: opacity 200ms ease, transform 200ms ease;
    will-change: opacity, transform;
    pointer-events: none;
}

.profile-hover-card-portal.is-visible .profile-hover-card {
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
}

.profile-hover-card-portal.is-closing .profile-hover-card {
    opacity: 0;
    transform: translateY(2px) scale(.99);
    transition-duration: 95ms;
}

.profile-hover-card-head {
    display: flex;
    align-items: center;
    gap: .8rem;
}

.profile-hover-card-avatar {
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
    border-radius: 999px;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #1d4ed8, #0ea5e9);
    color: #fff;
    font-weight: 700;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .18);
}

.profile-hover-card-avatar-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.profile-hover-card-avatar-fallback {
    font-size: 1.25rem;
}

.profile-hover-card-head-text {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: .15rem;
}

.profile-hover-card-name {
    font-weight: 700;
    color: #0f172a;
    line-height: 1.15;
}

.profile-hover-card-slug {
    color: #64748b;
    font-size: .92rem;
    line-height: 1.1;
}

.profile-hover-card-tagline,
.profile-hover-card-bio,
.profile-hover-card-meta {
    margin-top: .7rem;
}

.profile-hover-card-tagline {
    color: #334155;
    font-weight: 600;
    line-height: 1.35;
}

.profile-hover-card-bio,
.profile-hover-card-meta {
    color: #475569;
    font-size: .94rem;
    line-height: 1.45;
}

.profile-hover-card-actions {
    margin-top: .9rem;
    display: flex;
    align-items: center;
    gap: .45rem;
    flex-wrap: wrap;
}

.profile-hover-card-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: .45rem .78rem;
    border-radius: .75rem;
    background: #2563eb;
    color: #fff !important;
    font-weight: 600;
    text-decoration: none;
    border: 1px solid #1d4ed8;
}

.profile-hover-card-action {
    min-height: 36px;
    padding: .45rem .7rem;
    border-radius: .75rem;
    border: 1px solid #2563eb;
    background: transparent;
    color: #2563eb;
    font-weight: 600;
    text-decoration: none;
}
.profile-hover-card-action:hover,
.profile-hover-card-action:focus-visible { background: rgba(37,99,235,.1); color: #1d4ed8; }
.profile-hover-card-action.is-message { display: inline-flex; align-items: center; justify-content: center; }
.profile-hover-card-action.d-none { display: none !important; }

.profile-hover-card-link:hover {
    background: #1d4ed8;
    color: #fff !important;
}

.profile-hover-card-link:focus-visible {
    outline: 2px solid rgba(37, 99, 235, .38);
    outline-offset: 2px;
    color: #fff !important;
}

[data-profile-hover-trigger="1"] {
    cursor: pointer;
}

:root[data-theme="dark"] .profile-hover-card {
    background: rgba(15, 23, 42, .96);
    border-color: rgba(148, 163, 184, .22);
    box-shadow: 0 20px 56px rgba(2, 6, 23, .48);
}

:root[data-theme="dark"] .profile-hover-card-name {
    color: #e2e8f0;
}

:root[data-theme="dark"] .profile-hover-card-slug {
    color: #94a3b8;
}

:root[data-theme="dark"] .profile-hover-card-tagline,
:root[data-theme="dark"] .profile-hover-card-bio,
:root[data-theme="dark"] .profile-hover-card-meta {
    color: #cbd5e1;
}

:root[data-theme="dark"] .profile-hover-card-link {
    background: #3b82f6;
    border-color: #2563eb;
    color: #fff !important;
}

:root[data-theme="dark"] .profile-hover-card-link:hover {
    background: #2563eb;
    color: #fff !important;
}

:root[data-theme="dark"] .profile-hover-card-link:focus-visible {
    outline-color: rgba(147, 197, 253, .38);
}

/* ClubOS 8.12.0 — pont de survol entre l’avatar et la carte. */
.profile-hover-card { position: relative; }
.profile-hover-card::before,
.profile-hover-card::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    height: 12px;
    pointer-events: auto;
}
.profile-hover-card::before { top: -10px; }
.profile-hover-card::after { bottom: -10px; }

/* ClubOS 8.12.0 — zone interactive stable entre le déclencheur et la carte. */
.profile-hover-card-portal { pointer-events: auto; }
.profile-hover-card::before,
.profile-hover-card::after { height: 20px; }
.profile-hover-card::before { top: -18px; }
.profile-hover-card::after { bottom: -18px; }

/* ClubOS 8.13.0 — le thème musical ne recolore jamais le bouton primaire de la carte. */
:root[data-theme="light"] body.music-page-shell .profile-hover-card .profile-hover-card-link,
:root[data-theme="light"] body.music-page-shell .profile-hover-card .profile-hover-card-link:hover,
:root[data-theme="light"] body.music-page-shell .profile-hover-card .profile-hover-card-link:focus-visible {
    color: #fff !important;
    background: #2563eb !important;
    border-color: #1d4ed8 !important;
}

/* ClubOS 8.14.0-A.5 — fiche profil tactile en bottom sheet. */
.profile-hover-card-backdrop,
.profile-hover-card-close,
.profile-hover-card-grabber { display: none; }
.profile-hover-card-loading { padding: .85rem 0 .15rem; color: #64748b; font-size: .9rem; }
.profile-hover-card-content[hidden],
.profile-hover-card-loading[hidden] { display: none !important; }
.profile-hover-card-action.is-mute { border-color: #64748b; color: #475569; }
.profile-hover-card-action.is-block { border-color: #64748b; color: #475569; }
.profile-hover-card-action.is-block.is-danger { border-color: #dc2626; color: #b42318; }

@media (max-width: 767.98px), (hover: none), (pointer: coarse) {
    body.profile-hover-card-sheet-open { overflow: hidden !important; }
    .profile-hover-card-portal.is-mobile-sheet {
        position: fixed;
        inset: 0;
        left: 0 !important;
        top: 0 !important;
        width: 100%;
        height: 100%;
        display: grid;
        align-items: end;
        pointer-events: auto;
        z-index: var(--z-profile-hover-card, 120120);
    }
    .profile-hover-card-portal.is-mobile-sheet.d-none { display: none !important; }
    .profile-hover-card-portal.is-mobile-sheet .profile-hover-card-backdrop {
        display: block;
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        padding: 0;
        border: 0;
        background: rgba(15, 23, 42, .48);
        backdrop-filter: blur(3px);
    }
    .profile-hover-card-portal.is-mobile-sheet .profile-hover-card {
        position: relative;
        z-index: 1;
        width: 100%;
        max-width: none;
        max-height: min(78dvh, 640px);
        overflow: auto;
        padding: .55rem max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
        border: 0;
        border-top: 1px solid rgba(148, 163, 184, .28);
        border-radius: 1.35rem 1.35rem 0 0;
        background: var(--site-surface, #fff);
        color: var(--site-text, #172033);
        box-shadow: 0 -24px 64px rgba(15, 23, 42, .28);
        opacity: 1;
        transform: translateY(100%);
        pointer-events: auto;
        transition: transform .2s ease;
    }
    .profile-hover-card-portal.is-mobile-sheet.is-visible .profile-hover-card { transform: translateY(0); }
    .profile-hover-card-portal.is-mobile-sheet.is-closing .profile-hover-card { transform: translateY(100%); opacity: 1; }
    .profile-hover-card-portal.is-mobile-sheet .profile-hover-card-grabber {
        display: block;
        width: 42px;
        height: 4px;
        margin: 0 auto .7rem;
        border-radius: 999px;
        background: color-mix(in srgb, var(--site-text-muted, #64748b) 38%, transparent);
    }
    .profile-hover-card-portal.is-mobile-sheet .profile-hover-card-close {
        position: absolute;
        top: .72rem;
        right: max(.75rem, env(safe-area-inset-right));
        z-index: 2;
        width: 40px;
        height: 40px;
        display: grid;
        place-items: center;
        padding: 0;
        border: 1px solid var(--site-border, #dbe3ef);
        border-radius: 999px;
        background: var(--site-surface-2, #f1f5f9);
        color: var(--site-text, #172033);
        font-size: 1.45rem;
        line-height: 1;
    }
    .profile-hover-card-portal.is-mobile-sheet .profile-hover-card-head { padding-right: 48px; }
    .profile-hover-card-portal.is-mobile-sheet .profile-hover-card-avatar {
        width: 64px;
        height: 64px;
        flex-basis: 64px;
    }
    .profile-hover-card-portal.is-mobile-sheet .profile-hover-card-name { color: var(--site-text, #172033); font-size: 1.05rem; }
    .profile-hover-card-portal.is-mobile-sheet .profile-hover-card-slug,
    .profile-hover-card-portal.is-mobile-sheet .profile-hover-card-bio,
    .profile-hover-card-portal.is-mobile-sheet .profile-hover-card-meta { color: var(--site-text-muted, #64748b); }
    .profile-hover-card-portal.is-mobile-sheet .profile-hover-card-tagline { color: var(--site-text, #334155); }
    .profile-hover-card-portal.is-mobile-sheet .profile-hover-card-bio {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow: hidden;
    }
    .profile-hover-card-portal.is-mobile-sheet .profile-hover-card-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .55rem;
        margin-top: 1rem;
    }
    .profile-hover-card-portal.is-mobile-sheet .profile-hover-card-link,
    .profile-hover-card-portal.is-mobile-sheet .profile-hover-card-action {
        min-width: 0;
        min-height: 46px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: .55rem .62rem;
        border-radius: .82rem;
        font-size: .88rem;
        text-align: center;
    }
    .profile-hover-card-portal.is-mobile-sheet .profile-hover-card-link:first-child:last-child { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
    .profile-hover-card-portal.is-mobile-sheet .profile-hover-card { transition: none !important; }
}

/* ClubOS 8.14.0-A.5.2 — bottom sheet auteur prioritaire et sans clic traversant. */
@media (max-width: 767.98px), (hover: none), (pointer: coarse) {
    .profile-hover-card-portal.is-mobile-sheet {
        isolation: isolate;
        overscroll-behavior: contain;
        touch-action: manipulation;
    }
    .profile-hover-card-portal.is-mobile-sheet .profile-hover-card-backdrop,
    .profile-hover-card-portal.is-mobile-sheet .profile-hover-card,
    .profile-hover-card-portal.is-mobile-sheet .profile-hover-card-close,
    .profile-hover-card-portal.is-mobile-sheet .profile-hover-card-link,
    .profile-hover-card-portal.is-mobile-sheet .profile-hover-card-action {
        pointer-events: auto;
        touch-action: manipulation;
    }
    .profile-hover-card-portal.is-mobile-sheet .profile-hover-card-close {
        color: var(--site-text, #172033) !important;
        opacity: 1;
    }
    :root[data-theme="dark"] .profile-hover-card-portal.is-mobile-sheet .profile-hover-card {
        background: #111a2c;
        color: #e6ebf5;
        border-color: #30415d;
    }
    :root[data-theme="dark"] .profile-hover-card-portal.is-mobile-sheet .profile-hover-card-close {
        background: #17243a;
        color: #f1f5fb !important;
        border-color: #405475;
    }
    :root[data-theme="dark"] .profile-hover-card-portal.is-mobile-sheet .profile-hover-card-name,
    :root[data-theme="dark"] .profile-hover-card-portal.is-mobile-sheet .profile-hover-card-tagline {
        color: #f1f5fb;
    }
    :root[data-theme="dark"] .profile-hover-card-portal.is-mobile-sheet .profile-hover-card-slug,
    :root[data-theme="dark"] .profile-hover-card-portal.is-mobile-sheet .profile-hover-card-bio,
    :root[data-theme="dark"] .profile-hover-card-portal.is-mobile-sheet .profile-hover-card-meta {
        color: #9fb0c9;
    }
}


/* ClubOS 8.14.0-A.5.3 — toute la page située derrière la fiche est non interactive. */
@media (max-width: 767.98px), (hover: none), (pointer: coarse) {
    body.profile-hover-card-sheet-open > [data-profile-sheet-inert="1"] {
        pointer-events: none !important;
        user-select: none !important;
    }
    .profile-hover-card-portal.is-mobile-sheet { z-index: 120180 !important; }
    .profile-hover-card-portal.is-mobile-sheet .profile-hover-card-backdrop { z-index: 0; pointer-events: auto !important; }
    .profile-hover-card-portal.is-mobile-sheet .profile-hover-card { z-index: 2; }
}

/* ===== SOURCE: clubos-media-primitives.css ===== */
/* ClubOS shared media tile primitive — FIX6.
 * Geometry only. Surface-specific grids remain in their own bundle.
 */
.clubos-media-tile {
    position: relative;
    display: block;
    min-width: 0;
    aspect-ratio: 1 / 1;
    overflow: hidden;
}
.clubos-media-tile > .clubos-media-tile__image,
.clubos-media-tile > img.clubos-media-tile__image {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 100%;
    object-fit: cover;
    object-position: center;
}

/* ===== SOURCE: desktop-app-shell-r1194.css ===== */
/* ClubOS R119.4A DESK4 — persistent desktop shell.
 * Historical mobile remains isolated below 650px.
 */
@media (min-width:650px){
  :root{
    --club-desktop-left-width:244px;
    --club-desktop-right-width:330px;
    --club-desktop-left-collapsed:58px;
    --club-desktop-right-collapsed:58px;
    --club-desktop-shell-top:64px;
    --club-desktop-shell-bottom:0px;
    --club-desktop-gap:14px;
  }

  body.club-r1194-desktop-shell{
    overflow:hidden!important;
  }
  body.club-r1194-desktop-shell #site-shell-root{
    min-height:100vh;
  }
  body.club-r1194-desktop-shell #site-shell-main{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding-left:calc(var(--club-desktop-left-width) + var(--club-desktop-gap))!important;
    padding-right:calc(var(--club-desktop-right-width) + var(--club-desktop-gap))!important;
    padding-top:0!important;
    padding-bottom:var(--club-desktop-shell-bottom)!important;
    box-sizing:border-box;
    height:calc(100vh - var(--club-desktop-shell-top));
    overflow:hidden!important;
  }
  body.club-r1194-desktop-shell.club-desktop-left-collapsed #site-shell-main{
    padding-left:calc(var(--club-desktop-left-collapsed) + var(--club-desktop-gap))!important;
  }
  body.club-r1194-desktop-shell.club-desktop-right-collapsed #site-shell-main{
    padding-right:calc(var(--club-desktop-right-collapsed) + var(--club-desktop-gap))!important;
  }
  body.club-r1194-desktop-shell.club-desktop-player-docked-right #site-shell-main{
    padding-right:var(--club-desktop-gap)!important;
  }
  body.club-r1194-desktop-shell #site-shell-content{
    min-width:0;
    width:100%;
    height:100%;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
    position:relative;
  }
  body.club-r1194-desktop-shell #site-shell-content.club-desktop-stage-loading::after{
    content:'Chargement…';
    position:fixed;
    z-index:2100;
    left:50%;
    top:calc(var(--club-desktop-shell-top) + 12px);
    transform:translateX(-50%);
    border:1px solid #d9e5f3;
    border-radius:999px;
    background:rgba(255,255,255,.96);
    color:#536b86;
    box-shadow:0 8px 28px rgba(15,23,42,.12);
    padding:8px 14px;
    font-size:.78rem;
    font-weight:800;
    pointer-events:none;
  }

  .club-desktop-rail-host{
    position:fixed;
    z-index:1080;
    top:var(--club-desktop-shell-top);
    bottom:var(--club-desktop-shell-bottom);
    background:#f7faff;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    transition:width .16s ease,opacity .16s ease;
  }
  .club-desktop-rail-host-left{
    left:0;
    width:var(--club-desktop-left-width);
    border-right:1px solid #dfe8f3;
  }
  .club-desktop-rail-host-right{
    right:0;
    width:var(--club-desktop-right-width);
    border-left:1px solid #dfe8f3;
  }
  .club-desktop-rail-host-left.is-collapsed{width:var(--club-desktop-left-collapsed)}
  .club-desktop-rail-host-right.is-collapsed{width:var(--club-desktop-right-collapsed)}
  body.club-desktop-player-docked-right .club-desktop-rail-host-right{display:none!important}

  .club-desktop-rail-host .club-discovery-left,
  .club-desktop-rail-host .club-discovery-right{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
  }
  .club-desktop-rail-host .club-discovery-left-inner,
  .club-desktop-rail-host .club-discovery-right-inner{
    position:static!important;
    top:auto!important;
    width:auto!important;
    padding:12px 10px 24px;
  }
  .club-desktop-rail-host .club-discovery-left-shell{
    position:relative;
    min-height:100%;
  }
  .club-desktop-rail-host .club-discovery-nav{
    display:grid;
    gap:5px;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:transparent!important;
    padding:14px 10px 24px!important;
  }
  .club-desktop-rail-host .club-discovery-nav-group{
    display:grid;
    gap:4px;
  }
  .club-desktop-rail-host .club-discovery-nav-group + .club-discovery-nav-group{
    margin-top:10px;
    padding-top:12px;
    border-top:1px solid #dde7f3;
  }
  .club-desktop-rail-host .club-discovery-nav-link{
    display:flex;
    align-items:center;
    gap:11px;
    min-height:42px;
    padding:9px 11px;
    border-radius:12px;
    color:#23364d;
    text-decoration:none;
    font-size:.88rem;
    font-weight:750;
  }
  .club-desktop-rail-host .club-discovery-nav-link:hover{
    background:#eef5fd;
    color:#086fd9;
  }
  .club-desktop-rail-host .club-discovery-nav-link.is-active{
    background:#dfefff;
    color:#0875e0;
  }
  .club-desktop-rail-host .club-discovery-nav-icon{
    width:22px;
    height:22px;
    flex:0 0 22px;
    display:grid;
    place-items:center;
    font-size:1rem;
  }
  .club-desktop-rail-host .club-discovery-nav-badge{
    margin-left:auto;
    min-width:20px;
    padding:2px 6px;
    border-radius:999px;
    background:#087af0;
    color:#fff;
    font-size:.67rem;
    text-align:center;
  }
  .club-desktop-rail-host.is-collapsed .club-discovery-nav-link{
    justify-content:center;
    padding-inline:6px;
  }
  .club-desktop-rail-host.is-collapsed .club-discovery-nav-link > span:not(.club-discovery-nav-icon):not(.club-discovery-nav-badge),
  .club-desktop-rail-host.is-collapsed .club-discovery-nav-badge,
  .club-desktop-rail-host-right.is-collapsed .club-discovery-right-inner > :not(.club-discovery-rail-toggle):not(.club-discovery-rail-toggle-right){
    display:none!important;
  }
  .club-desktop-rail-host .club-discovery-rail-toggle{
    position:sticky!important;
    top:8px!important;
    z-index:3;
    float:right;
    display:grid!important;
    place-items:center;
    width:32px;
    height:32px;
    margin:8px 8px 2px auto!important;
    border:1px solid #d7e3f0!important;
    border-radius:10px!important;
    background:#fff!important;
    color:#54708f!important;
    box-shadow:0 5px 14px rgba(15,23,42,.07);
    cursor:pointer;
  }

  .club-desktop-rail-host-right .club-discovery-right-card{
    border:1px solid #e1e9f3;
    border-radius:18px;
    background:#fff;
    box-shadow:0 8px 24px rgba(15,23,42,.045);
    overflow:hidden;
    margin-bottom:12px;
  }
  .club-desktop-rail-host-right .club-discovery-right-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:10px;
    padding:15px 15px 10px;
  }
  .club-desktop-rail-host-right .club-discovery-right-head h2{
    margin:0;
    color:#172338;
    font-size:1.02rem;
    font-weight:850;
  }
  .club-desktop-rail-host-right .club-discovery-right-head p{
    margin:3px 0 0;
    color:#7789a1;
    font-size:.73rem;
    line-height:1.35;
  }
  .club-desktop-rail-host-right .club-discovery-view-all{
    color:#0875df;
    text-decoration:none;
    font-size:.72rem;
    font-weight:800;
    white-space:nowrap;
  }
  .club-desktop-rail-host-right .club-discovery-list{padding:0 10px 12px;display:grid;gap:8px}
  .club-desktop-empty-rail{padding:12px;color:#75859a;font-size:.78rem}

  .club-desktop-person-card{
    display:grid;
    grid-template-columns:46px minmax(0,1fr) auto;
    align-items:start;
    gap:9px;
    min-width:0;
    border:1px solid #e2eaf4;
    border-radius:15px;
    background:#fbfdff;
    padding:10px;
  }
  .club-desktop-person-avatar{
    width:46px;height:46px;border-radius:50%;overflow:hidden;background:#e4eef9;
    display:grid;place-items:center;text-decoration:none;color:#466789;font-weight:850;
  }
  .club-desktop-person-avatar img{width:100%;height:100%;object-fit:cover;display:block}
  .club-desktop-person-copy{min-width:0}
  .club-desktop-person-copy>a{text-decoration:none;color:#17243a}
  .club-desktop-person-copy strong,.club-desktop-person-copy span,.club-desktop-person-copy small{display:block;overflow:hidden;text-overflow:ellipsis}
  .club-desktop-person-copy strong{font-size:.83rem;white-space:nowrap}
  .club-desktop-person-copy span{color:#73869d;font-size:.7rem;white-space:nowrap}
  .club-desktop-person-copy small{margin-top:3px;color:#536982;font-size:.7rem;line-height:1.25}
  .club-desktop-topic-pills{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
  .club-desktop-topic-pills span{padding:3px 6px;border-radius:999px;background:#edf4fc;color:#54708d;font-size:.62rem}
  .club-desktop-person-actions{display:flex;gap:5px;align-items:center}
  .club-desktop-person-actions button{
    border:0;border-radius:9px;min-height:30px;padding:5px 9px;background:#1684ff;color:#fff;font-size:.7rem;font-weight:800;cursor:pointer
  }
  .club-desktop-person-actions button[data-club-dismiss]{width:30px;padding:0;background:#eef3f8;color:#687b93}
  .club-desktop-person-actions button.is-followed{background:#e2f1ff;color:#0b6fd5}
  .club-desktop-rail-host-right .club-discovery-right-card ul{list-style:none;margin:0;padding:0 14px 12px}
  .club-desktop-rail-host-right .club-discovery-right-card li{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:6px;align-items:center;padding:6px 0;border-top:1px solid #eef2f7;font-size:.72rem}
  .club-desktop-rail-host-right .club-discovery-right-card li:first-child{border-top:0}
  .club-desktop-rail-host-right .club-discovery-right-card li b{color:#6a7e96}
  .club-desktop-rail-host-right .club-discovery-right-card li span{font-weight:800;color:#26384f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .club-desktop-rail-host-right .club-discovery-right-card li small{color:#7d8fa6;white-space:nowrap}

  /* Blog center: only center remains in the server-rendered discovery layout. */
  body.club-r1194-desktop-shell #site-shell-content .club-discovery-layout.club-desktop-center-only{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0 8px 28px!important;
  }
  body.club-r1194-desktop-shell #site-shell-content .club-discovery-layout.club-desktop-center-only>.club-discovery-center{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:auto!important;
    overflow:visible!important;
  }
  body.club-r1194-desktop-shell #site-shell-content .club-discovery-left,
  body.club-r1194-desktop-shell #site-shell-content .club-discovery-right{display:none!important}
  body.club-r1194-desktop-shell .club-discovery-center-head{
    margin:12px 0 10px;
    padding:0 4px;
  }
  body.club-r1194-desktop-shell .club-discovery-center-head h1{margin:0;color:#172338;font-size:1.55rem;font-weight:850}
  body.club-r1194-desktop-shell .club-discovery-center-head p{margin:3px 0 0;color:#6e8097;font-size:.82rem}
  body.club-r1194-desktop-shell .club-discovery-content-filters{
    display:flex!important;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    margin:0 0 10px;
    padding:8px 10px;
    border:1px solid #e1e9f3;
    border-radius:15px;
    background:#fff;
  }
  body.club-r1194-desktop-shell .club-discovery-filter{
    border:0;
    border-radius:999px;
    background:#eef3f8;
    color:#26394f;
    padding:7px 14px;
    min-height:34px;
    font-size:.78rem;
    font-weight:800;
    cursor:pointer;
  }
  body.club-r1194-desktop-shell .club-discovery-filter.is-active{background:#1684ff;color:#fff;box-shadow:0 5px 14px rgba(22,132,255,.18)}
  body.club-r1194-desktop-shell #blogWallCardsContainer{
    --bs-gutter-x:1rem;
    --bs-gutter-y:1rem;
  }
  body.club-r1194-desktop-shell #blogWallCardsContainer>.js-blog-post-card-col{
    min-width:0;
  }
  @media(min-width:1500px){
    body.club-r1194-desktop-shell #blogWallCardsContainer>.js-blog-post-card-col{flex:0 0 33.333333%!important;max-width:33.333333%!important;width:33.333333%!important}
  }
  @media(min-width:1200px) and (max-width:1499.98px){
    body.club-r1194-desktop-shell #blogWallCardsContainer>.js-blog-post-card-col{flex:0 0 50%!important;max-width:50%!important;width:50%!important}
  }

  .club-desktop-mix-host{flex:0 0 100%!important;max-width:100%!important;width:100%!important}
  .club-desktop-mix-host[hidden]{display:none!important}
  .club-desktop-mix-section{
    width:100%;
    border:1px solid #e1e9f3;
    border-radius:18px;
    background:#fff;
    box-shadow:0 8px 24px rgba(15,23,42,.04);
    padding:16px;
  }
  .club-desktop-mix-section>header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}
  .club-desktop-mix-section>header span{display:block;color:#1684ff;font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
  .club-desktop-mix-section>header h2{margin:2px 0 2px;color:#17243a;font-size:1.08rem;font-weight:850}
  .club-desktop-mix-section>header p{margin:0;color:#76889f;font-size:.75rem}
  .club-desktop-mix-section>header>a{color:#0875df;text-decoration:none;font-size:.75rem;font-weight:800}
  .club-desktop-album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .club-desktop-album-card{display:grid;grid-template-columns:72px minmax(0,1fr);gap:9px;align-items:center;border:1px solid #e4ebf4;border-radius:14px;background:#fbfdff;overflow:hidden;min-width:0}
  .club-desktop-album-cover{display:grid;width:72px;height:72px;place-items:center;background:#e7f1fc;color:#1477df;text-decoration:none}
  .club-desktop-album-cover img{width:100%;height:100%;object-fit:cover;display:block}
  .club-desktop-album-card>div{min-width:0;padding-right:9px}
  .club-desktop-album-card>div>a{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#126fd0;text-decoration:none;font-size:.8rem}
  .club-desktop-album-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#75879d;font-size:.68rem}
  .club-desktop-people-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .club-desktop-topics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
  .club-desktop-topic-card{display:flex;flex-direction:column;align-items:flex-start;min-height:92px;padding:12px;border:1px solid #e2e9f3;border-radius:14px;background:#fbfdff;text-align:left;cursor:pointer}
  .club-desktop-topic-card strong{color:#116ed0}.club-desktop-topic-card small{margin-top:auto;color:#7d8fa5}
  .club-desktop-topic-result{display:flex;align-items:center;gap:12px;padding:.25rem .5rem .75rem}
  .club-desktop-topic-result button{border:0;border-radius:999px;background:#eaf3ff;color:#116fd3;padding:6px 10px;font-size:.75rem;font-weight:800}
  .club-desktop-empty{padding:16px;color:#76879d;font-size:.8rem}

  /* Messages — existing mature runtime, new desktop presentation only. */
  body.club-r1194-desktop-shell #site-shell-content.club-desktop-messages-stage{
    padding:14px 8px 24px;
  }
  .club-desktop-surface-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    margin:0 0 10px;
    padding:16px 18px;
    border:1px solid #e1e9f3;
    border-radius:18px;
    background:#fff;
    box-shadow:0 8px 22px rgba(15,23,42,.04);
  }
  .club-desktop-surface-head h1{margin:0;color:#172338;font-size:1.5rem;font-weight:850}
  .club-desktop-surface-head p{margin:3px 0 0;color:#73859d;font-size:.8rem}
  body.club-r1194-desktop-shell .messaging-page{
    grid-template-columns:minmax(300px,360px) minmax(0,1fr)!important;
    height:calc(100vh - var(--club-desktop-shell-top) - var(--club-desktop-shell-bottom) - 112px)!important;
    min-height:520px!important;
    border-radius:18px!important;
    border:1px solid #dde7f2!important;
    box-shadow:0 12px 32px rgba(15,23,42,.06)!important;
  }
  body.club-r1194-desktop-shell .messaging-sidebar{background:#fbfdff!important}
  body.club-r1194-desktop-shell .messaging-sidebar-head{padding:.8rem .9rem!important}
  body.club-r1194-desktop-shell .messaging-sidebar-head .messaging-kicker,
  body.club-r1194-desktop-shell .messaging-sidebar-head h1{display:none!important}
  body.club-r1194-desktop-shell .messaging-conversation-item{border-radius:12px!important;padding:.68rem!important}
  body.club-r1194-desktop-shell .messaging-conversation-item.is-active{background:#eaf4ff!important}
  body.club-r1194-desktop-shell .messaging-thread{background:#fff!important}

  /* Notifications — dedicated lightweight desktop renderer. */
  .club-desktop-notifications-surface{padding:14px 8px 30px;max-width:1180px;margin:0 auto}
  .club-desktop-notification-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 10px;padding:8px 10px;border:1px solid #e1e9f3;border-radius:15px;background:#fff}
  .club-desktop-notification-tabs button{border:0;border-radius:999px;background:#eef3f8;color:#2a3b50;padding:7px 13px;font-size:.76rem;font-weight:800;cursor:pointer}
  .club-desktop-notification-tabs button.is-active{background:#1684ff;color:#fff}
  .club-desktop-notification-list{display:grid;gap:9px}
  .club-desktop-notification-card{display:block;width:100%;min-width:0;border:1px solid #e2e9f3;border-radius:16px;background:#fff;padding:11px 12px;box-shadow:0 6px 18px rgba(15,23,42,.035);cursor:pointer}
  .club-desktop-notification-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#edf5ff;color:#116fd1;font-weight:850}
  .club-desktop-notification-avatar{display:block;width:42px;height:42px;border-radius:50%;background:#eef3f8;overflow:hidden}
  .club-desktop-notification-avatar img{width:100%;height:100%;object-fit:cover}
  .club-desktop-notification-card>div{min-width:0}.club-desktop-notification-card strong{display:block;color:#1f3046;font-size:.86rem}.club-desktop-notification-card p{margin:2px 0 0;color:#6f8198;font-size:.75rem;line-height:1.35}.club-desktop-notification-card time{color:#8797aa;font-size:.7rem;white-space:nowrap}.club-desktop-notification-more{border:0;background:transparent;color:#668099;font-size:1rem}
  .club-desktop-loading,.club-desktop-empty{border:1px dashed #d8e3ef;border-radius:14px;background:#fbfdff;padding:22px;text-align:center;color:#73849a}
}

/* R119.4A DESK2 — surfaces secondaires desktop, strictement >=1200px. */
@media (min-width:650px){
  body.club-r1194-desktop-shell #site-shell-content.club-desktop-stage-surface,
  body.club-r1194-desktop-shell #site-shell-content.club-desktop-profile-stage,
  body.club-r1194-desktop-shell #site-shell-content.club-desktop-music-stage,
  body.club-r1194-desktop-shell #site-shell-content.club-desktop-playlists-stage{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:14px 18px 30px!important;
  }
  .club-desktop-surface-head-wide{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    width:100%;
    margin:0 0 14px;
    padding:16px 18px;
    border:1px solid #e2eaf4;
    border-radius:18px;
    background:#fff;
    box-shadow:0 8px 24px rgba(15,23,42,.045);
  }
  .club-desktop-surface-head-wide h1{margin:2px 0 2px;color:#172338;font-size:1.55rem;font-weight:850}
  .club-desktop-surface-head-wide p{margin:0;color:#72859d;font-size:.82rem}
  .club-desktop-eyebrow{display:block;color:#1684ff;font-size:.65rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
  .club-desk2-surface-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px;padding:8px 10px;border:1px solid #e2eaf4;border-radius:15px;background:#fff}
  .club-desk2-surface-tabs button{border:0;border-radius:999px;background:#eef3f8;color:#26394f;padding:8px 15px;font-size:.78rem;font-weight:800;cursor:pointer}
  .club-desk2-surface-tabs button.is-active{background:#1684ff;color:#fff;box-shadow:0 5px 14px rgba(22,132,255,.18)}

  .club-desk2-favorites-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}
  .club-desk2-favorite-card{display:grid;grid-template-columns:96px minmax(0,1fr) 38px;gap:12px;align-items:center;min-width:0;padding:10px;border:1px solid #e2eaf4;border-radius:17px;background:#fff;box-shadow:0 7px 20px rgba(15,23,42,.04)}
  .club-desk2-favorite-cover{width:96px;height:96px;border-radius:13px;overflow:hidden;background:#e9f2fb;color:#1477df;display:grid;place-items:center;font-size:1.4rem}
  .club-desk2-favorite-cover img{width:100%;height:100%;object-fit:cover;display:block}
  .club-desk2-favorite-copy{min-width:0}.club-desk2-favorite-copy strong,.club-desk2-favorite-copy span,.club-desk2-favorite-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .club-desk2-favorite-copy strong{color:#17243a;font-size:.9rem}.club-desk2-favorite-copy span{color:#61758d;font-size:.76rem}.club-desk2-favorite-copy small{color:#91a0b2;font-size:.68rem;margin-top:4px}
  .club-desk2-round-action{width:36px;height:36px;border:1px solid #cfe0f4;border-radius:50%;display:grid;place-items:center;text-decoration:none;color:#0879e7;background:#fff}
  .club-desk5c-favorite-play{appearance:none;padding:0;cursor:pointer;font:inherit;line-height:1;transition:transform .15s ease,background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}
  .club-desk5c-favorite-play:hover{transform:scale(1.05);background:#eef6ff;border-color:#9bc7f2;box-shadow:0 5px 14px rgba(8,121,231,.14)}
  .club-desk5c-favorite-play.is-playing{background:#1684ff!important;border-color:#1684ff!important;color:#fff!important;box-shadow:0 6px 16px rgba(22,132,255,.28)}
  .club-desk5c-favorite-play:disabled{cursor:wait;opacity:.66;transform:none}
  .club-desk5c-favorite-album{font-weight:750;color:#4f647d!important}
  .club-desk5c-favorite-artist{margin-top:2px}
  .club-desk5c-favorite-cover-fallback{display:grid;place-items:center;width:100%;height:100%;background:linear-gradient(145deg,#e7f1fc,#f7fbff);color:#1684ff;font-size:1.65rem;font-weight:900}

  .club-desk2-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch}
  .club-desk2-directory-card{position:relative;display:flex;min-width:0;height:100%;overflow:visible;flex-direction:column;border:1px solid #e1e9f3;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.045)}
  /* Discovery member covers deliberately mirror Profile > Abonnements/Abonnés:
   * 158px full-bleed cover, 76px avatar overlapping by ~64px, real covers sharp,
   * avatar-only fallbacks strongly blurred so they cannot be mistaken for a cover. */
  .club-desk2-directory-banner{position:relative;height:158px;overflow:hidden;background:linear-gradient(135deg,#dcecff,#eef5ff 48%,#e5e7ff);isolation:isolate}
  .club-desk2-directory-banner::after{content:"";position:absolute;z-index:3;inset:0;background:linear-gradient(180deg,rgba(10,24,43,.02) 0%,rgba(10,24,43,.03) 58%,rgba(10,24,43,.18) 100%);pointer-events:none}
  .club-desk2-directory-banner-image,.club-desk2-directory-banner-fallback{position:absolute;z-index:1;inset:0;display:block;width:100%;height:100%;margin:0;object-fit:cover;object-position:center}
  .club-desk2-directory-banner-image.is-avatar-fallback{inset:-24px;width:calc(100% + 48px);height:calc(100% + 48px);filter:blur(32px) saturate(.82) brightness(.78);transform:scale(1.25);opacity:.92}
  .club-desk2-directory-banner-fallback{background:linear-gradient(135deg,#dcecff,#eef5ff 48%,#e5e7ff)}
  .club-desk2-directory-body{position:relative;display:flex;flex:1;min-height:0;flex-direction:column;padding:28px 14px 14px}
  .club-desk2-directory-avatar{position:absolute;left:14px;top:-64px;width:76px;height:76px;border:4px solid #fff;border-radius:50%;overflow:hidden;background:#edf4fb;display:grid;place-items:center;color:#4a6b8f;font-weight:900;text-decoration:none;box-shadow:0 7px 18px rgba(20,55,90,.18);z-index:4}
  .club-desk2-directory-avatar img{width:100%;height:100%;object-fit:cover}
  .club-desk2-directory-body h3{margin:0;color:#17243a;font-size:1rem}.club-desk2-handle{margin:2px 0 7px;color:#7d8ea2;font-size:.75rem}.club-desk2-reason{min-height:34px;margin:0 0 9px;color:#536982;font-size:.76rem;line-height:1.35}
  .club-desk2-directory-actions{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:8px;margin-top:auto;padding-top:12px}.club-desk2-directory-actions button{min-height:36px;border:0;border-radius:11px;background:#1684ff;color:#fff;font-weight:800;cursor:pointer}.club-desk2-directory-actions button[data-club-dismiss]{background:#eef3f8;color:#61758d}

  /* Profil public : le shell ne possède que la géométrie du stage.
   * Le design interne (surfaces, cards, cover, tabs, shadows) appartient exclusivement
   * à profile-public.css / au bundle Profile. */
  body.club-r1194-desktop-shell .club-desktop-profile-stage .profile-public-wrap,
  body.club-r1194-desktop-shell .club-desktop-profile-stage .public-profile-wrap,
  body.club-r1194-desktop-shell .club-desktop-profile-stage [data-profile-public]{width:100%!important;max-width:none!important;margin:0!important}

  /* Musique / playlists : aucune page complète, uniquement le contenu central chargé par Site Shell. */
  body.club-r1194-desktop-shell .club-desktop-music-stage > .container,
  body.club-r1194-desktop-shell .club-desktop-music-stage > .container-fluid,
  body.club-r1194-desktop-shell .club-desktop-playlists-stage > .container,
  body.club-r1194-desktop-shell .club-desktop-playlists-stage > .container-fluid{width:100%!important;max-width:none!important;margin:0!important;padding-left:0!important;padding-right:0!important}
  body.club-r1194-desktop-shell .club-desktop-music-stage .card,
  body.club-r1194-desktop-shell .club-desktop-playlists-stage .card{border-color:#e1e9f3;border-radius:17px;box-shadow:0 7px 20px rgba(15,23,42,.04)}
  body.club-r1194-desktop-shell .club-desktop-music-stage img,
  body.club-r1194-desktop-shell .club-desktop-playlists-stage img{max-width:100%;height:auto}

  @media (max-width:1499.98px){
    .club-desk2-favorites-grid,.club-desk2-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  }
}

/* ========================================================================== */
/* R119.4A DESK3 — geometry + visual stability contract                       */
/* ========================================================================== */

/* The desktop shell is opt-in from 650px. Under 650px the compatibility file
 * restores the historical mobile document flow. */
@media (min-width:650px){
  :root{
    --club-desktop-left-width:244px;
    --club-desktop-right-width:344px;
    --club-desktop-center-width:380px;
    --club-desktop-center-gap:0px;
    --club-desktop-stage-safe-top:20px;
    --club-desktop-edge-hit:12px;
  }

  body.club-r1194-desktop-shell{
    overflow:hidden!important;
  }

  /* A — fixed geometry. The center never stretches when a rail is collapsed. */
  body.club-r1194-desktop-shell #site-shell-main{
    box-sizing:border-box!important;
    width:var(--club-desktop-center-width)!important;
    min-width:var(--club-desktop-center-width)!important;
    max-width:var(--club-desktop-center-width)!important;
    margin-left:calc(var(--club-desktop-left-width) + var(--club-desktop-center-gap))!important;
    margin-right:0!important;
    padding:0!important;
    height:calc(100vh - var(--club-desktop-shell-top) - var(--club-desktop-shell-bottom))!important;
    overflow:hidden!important;
  }
  body.club-r1194-desktop-shell.club-desktop-left-collapsed #site-shell-main,
  body.club-r1194-desktop-shell.club-desktop-right-collapsed #site-shell-main,
  body.club-r1194-desktop-shell.club-desktop-player-docked-right #site-shell-main{
    width:var(--club-desktop-center-width)!important;
    min-width:var(--club-desktop-center-width)!important;
    max-width:var(--club-desktop-center-width)!important;
    margin-left:calc(var(--club-desktop-left-width) + var(--club-desktop-center-gap))!important;
    padding-left:0!important;
    padding-right:0!important;
  }

  body.club-r1194-desktop-shell #site-shell-content{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:100%!important;
    margin:0!important;
    padding-top:var(--club-desktop-stage-safe-top)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    scroll-padding-top:var(--club-desktop-stage-safe-top);
    overscroll-behavior:contain;
  }

  /* Left/right rails are truly fixed to the viewport edges. */
  .club-desktop-rail-host-left{
    left:0!important;
    width:var(--club-desktop-left-width)!important;
    min-width:var(--club-desktop-left-width)!important;
    max-width:var(--club-desktop-left-width)!important;
  }
  .club-desktop-rail-host-right{
    right:0!important;
    width:var(--club-desktop-right-width)!important;
    min-width:var(--club-desktop-right-width)!important;
    max-width:var(--club-desktop-right-width)!important;
  }
  .club-desktop-rail-host-left.is-collapsed,
  .club-desktop-rail-host-right.is-collapsed{
    width:0!important;
    min-width:0!important;
    max-width:0!important;
    border:0!important;
    overflow:hidden!important;
  }
  body.club-desktop-player-docked-right .club-desktop-rail-host-right{display:none!important}

  /* C — old top chevrons are forbidden. Collapse lives only on edge handles. */
  .club-desktop-rail-host [data-discovery-rail-toggle],
  .club-desktop-rail-host [data-club-desktop-rail-toggle],
  .club-discovery-rail-toggle{display:none!important}

  .club-desktop-edge-handle{
    position:fixed;
    z-index:1160;
    top:var(--club-desktop-shell-top);
    bottom:var(--club-desktop-shell-bottom);
    width:var(--club-desktop-edge-hit);
    border:0;
    padding:0;
    margin:0;
    background:transparent;
    cursor:pointer;
    opacity:1;
  }
  .club-desktop-edge-handle-left{left:calc(var(--club-desktop-left-width) - (var(--club-desktop-edge-hit) / 2))}
  .club-desktop-edge-handle-right{right:calc(var(--club-desktop-right-width) - (var(--club-desktop-edge-hit) / 2))}
  body.club-desktop-left-collapsed .club-desktop-edge-handle-left{left:0}
  body.club-desktop-right-collapsed .club-desktop-edge-handle-right{right:0}
  body.club-desktop-player-docked-right .club-desktop-edge-handle-right{display:none!important}
  .club-desktop-edge-handle::before{
    content:'';
    position:absolute;
    top:0;
    bottom:0;
    left:50%;
    width:3px;
    transform:translateX(-50%) scaleY(.96);
    border-radius:999px;
    opacity:0;
    background:linear-gradient(180deg,#0d8cff,#7c5cff,#00c7a5,#0d8cff);
    transition:opacity .14s ease,box-shadow .14s ease;
  }
  .club-desktop-edge-handle>span{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%) scale(.92);
    width:34px;
    height:44px;
    display:grid;
    place-items:center;
    border:1px solid #cfe0f2;
    border-radius:13px;
    background:#fff;
    color:#31597e;
    box-shadow:0 7px 24px rgba(15,23,42,.13);
    font-size:1.15rem;
    font-weight:900;
    opacity:0;
    transition:opacity .14s ease,transform .14s ease;
    pointer-events:none;
  }
  .club-desktop-edge-handle:hover::before,
  .club-desktop-edge-handle:focus-visible::before{opacity:1;box-shadow:0 0 16px rgba(13,140,255,.34)}
  .club-desktop-edge-handle:hover>span,
  .club-desktop-edge-handle:focus-visible>span{opacity:1;transform:translate(-50%,-50%) scale(1)}
  body.club-desktop-left-collapsed .club-desktop-edge-handle-left::before,
  body.club-desktop-right-collapsed .club-desktop-edge-handle-right::before{opacity:.48}

  /* Protect rail colours from page-specific CSS (notably Music). */
  #clubDesktopLeftRailHost .club-discovery-nav-link{
    color:#23364d!important;
    background:transparent!important;
  }
  #clubDesktopLeftRailHost .club-discovery-nav-link:hover{
    color:#086fd9!important;
    background:#eef5fd!important;
  }
  #clubDesktopLeftRailHost .club-discovery-nav-link.is-active{
    color:#0875e0!important;
    background:#dfefff!important;
  }
  #clubDesktopRightRailHost,
  #clubDesktopRightRailHost *{box-sizing:border-box}
  #clubDesktopRightRailHost .club-discovery-right-inner{width:100%!important;min-width:0!important}
  #clubDesktopRightRailHost .club-discovery-right-card{width:100%!important;min-width:0!important}
  #clubDesktopRightRailHost .club-discovery-right-head h2,
  #clubDesktopRightRailHost .club-discovery-right-head p,
  #clubDesktopRightRailHost .club-discovery-right-card li,
  #clubDesktopRightRailHost .club-discovery-right-card li span{
    word-break:normal!important;
    overflow-wrap:normal!important;
  }

  /* B — reserved discovery/community blocks: zero layout shift while Ajax loads. */
  body.club-r1194-desktop-shell .club-desktop-mix-host{display:block!important;grid-column:1 / -1!important}
  .club-desktop-mix-section--reserved{min-height:172px}
  .club-desktop-mix-host--people .club-desktop-mix-section--reserved{min-height:142px}
  .club-desktop-mix-skeleton{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:8px}
  .club-desktop-mix-skeleton i{display:block;height:72px;border-radius:14px;background:linear-gradient(90deg,#eef4fa 25%,#f8fbfe 45%,#eef4fa 65%);background-size:240% 100%;animation:clubDesk3Shimmer 1.1s linear infinite}
  .club-desktop-mix-skeleton--people{grid-template-columns:repeat(2,minmax(0,1fr))}
  @keyframes clubDesk3Shimmer{from{background-position:100% 0}to{background-position:-100% 0}}

  /* C/D — all surfaces start below the global header with a stable safety gap. */
  body.club-r1194-desktop-shell #site-shell-content.club-desktop-stage-surface,
  body.club-r1194-desktop-shell #site-shell-content.club-desktop-profile-stage,
  body.club-r1194-desktop-shell #site-shell-content.club-desktop-music-stage,
  body.club-r1194-desktop-shell #site-shell-content.club-desktop-playlists-stage,
  body.club-r1194-desktop-shell #site-shell-content.club-desktop-messages-stage,
  body.club-r1194-desktop-shell #site-shell-content .club-discovery-layout.club-desktop-center-only{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
  }
  body.club-r1194-desktop-shell #site-shell-content.club-desktop-stage-surface,
  body.club-r1194-desktop-shell #site-shell-content.club-desktop-profile-stage,
  body.club-r1194-desktop-shell #site-shell-content.club-desktop-music-stage,
  body.club-r1194-desktop-shell #site-shell-content.club-desktop-playlists-stage,
  body.club-r1194-desktop-shell #site-shell-content.club-desktop-messages-stage{
    padding:20px 0 30px!important;
  }
  body.club-r1194-desktop-shell .club-desktop-notifications-surface{max-width:none!important;padding:0 0 30px!important}
  body.club-r1194-desktop-shell .club-discovery-center-head{margin-top:0!important}

  /* Grid is based on the fixed center tier, never on Bootstrap viewport columns. */
  body.club-r1194-desktop-shell #blogWallCardsContainer{
    display:grid!important;
    gap:16px!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    --bs-gutter-x:0!important;
    --bs-gutter-y:0!important;
  }
  body.club-r1194-desktop-shell #blogWallCardsContainer>.js-blog-post-card-col{
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    flex:none!important;
    padding:0!important;
    margin:0!important;
  }
  body.club-r1194-desktop-shell #blogWallCardsContainer>.club-desktop-mix-host,
  body.club-r1194-desktop-shell #blogWallCardsContainer>[data-club-topic-result]{grid-column:1 / -1!important}
  body.club-r1194-desktop-shell #blogWallCardsContainer.club-grid-visible-1,
  body.club-r1194-desktop-shell #blogWallCardsContainer.club-grid-visible-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.club-r1194-desktop-shell #blogWallCardsContainer.club-grid-visible-1>.js-blog-post-card-col:not([hidden]){grid-column:1 / -1}

  /* Secondary surfaces follow the same fixed center width. */
  body.club-r1194-desktop-shell .club-desktop-surface-head,
  body.club-r1194-desktop-shell .club-desktop-surface-head-wide,
  body.club-r1194-desktop-shell .messaging-page,
  body.club-r1194-desktop-shell .club-desk2-favorites-grid,
  body.club-r1194-desktop-shell .club-desk2-directory-grid{max-width:100%!important}
}

/* 1180px center, three feed columns. 244 + 1180 + 344 = 1768. */
@media (min-width:1768px){
  :root{
    --club-desktop-center-width:1180px;
    --club-desktop-center-gap:max(0px,calc((100vw - 1768px) / 2));
  }
  body.club-r1194-desktop-shell #blogWallCardsContainer{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.club-r1194-desktop-shell #blogWallCardsContainer.club-grid-visible-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.club-r1194-desktop-shell #blogWallCardsContainer.club-grid-visible-1{grid-template-columns:1fr!important}
  .club-desktop-album-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .club-desktop-people-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .club-desk2-favorites-grid,.club-desk2-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

/* 786px center, two feed columns. 244 + 786 + 344 = 1374. */
@media (min-width:1374px) and (max-width:1767.98px){
  :root{
    --club-desktop-center-width:786px;
    --club-desktop-center-gap:max(0px,calc((100vw - 1374px) / 2));
  }
  body.club-r1194-desktop-shell #blogWallCardsContainer{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.club-r1194-desktop-shell #blogWallCardsContainer.club-grid-visible-1{grid-template-columns:1fr!important}
  .club-desktop-album-grid,.club-desktop-people-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .club-desk2-favorites-grid,.club-desk2-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.club-r1194-desktop-shell .club-desktop-music-stage .row>[class*="col-"],
  body.club-r1194-desktop-shell .club-desktop-playlists-stage .row>[class*="col-"]{flex:0 0 50%!important;max-width:50%!important;width:50%!important}
}

/* 380px center + both rails. 244 + 380 + 344 = 968. */
@media (min-width:968px) and (max-width:1373.98px){
  :root{
    --club-desktop-center-width:380px;
    --club-desktop-center-gap:max(0px,calc((100vw - 968px) / 2));
  }
  body.club-r1194-desktop-shell #blogWallCardsContainer{grid-template-columns:1fr!important}
  .club-desktop-album-grid,.club-desktop-people-grid,.club-desktop-mix-skeleton,.club-desktop-mix-skeleton--people,
  .club-desk2-favorites-grid,.club-desk2-directory-grid{grid-template-columns:1fr!important}
  body.club-r1194-desktop-shell .club-desktop-music-stage .row>[class*="col-"],
  body.club-r1194-desktop-shell .club-desktop-playlists-stage .row>[class*="col-"]{flex:0 0 100%!important;max-width:100%!important;width:100%!important}
  .club-desktop-notification-card{grid-template-columns:32px minmax(0,1fr) 28px!important}
  .club-desktop-notification-avatar,.club-desktop-notification-card time{display:none!important}
  body.club-r1194-desktop-shell .messaging-page{grid-template-columns:1fr!important}
  body.club-r1194-desktop-shell .messaging-thread{display:none}
}

/* 380px center + left rail only; right rail is intentionally hidden. */
@media (min-width:650px) and (max-width:967.98px){
  :root{
    --club-desktop-center-width:380px;
    --club-desktop-center-gap:max(0px,calc((100vw - 624px) / 2));
  }
  #clubDesktopRightRailHost,.club-desktop-edge-handle-right{display:none!important}
  body.club-r1194-desktop-shell #blogWallCardsContainer{grid-template-columns:1fr!important}
  .club-desktop-album-grid,.club-desktop-people-grid,.club-desktop-mix-skeleton,.club-desktop-mix-skeleton--people,
  .club-desk2-favorites-grid,.club-desk2-directory-grid{grid-template-columns:1fr!important}
  body.club-r1194-desktop-shell .club-desktop-music-stage .row>[class*="col-"],
  body.club-r1194-desktop-shell .club-desktop-playlists-stage .row>[class*="col-"]{flex:0 0 100%!important;max-width:100%!important;width:100%!important}
  .club-desktop-notification-card{grid-template-columns:32px minmax(0,1fr) 28px!important}
  .club-desktop-notification-avatar,.club-desktop-notification-card time{display:none!important}
  body.club-r1194-desktop-shell .messaging-page{grid-template-columns:1fr!important}
  body.club-r1194-desktop-shell .messaging-thread{display:none}
}

/* ========================================================================== */
/* R119.4A DESK4 — desktop UX cleanup                                         */
/* ========================================================================== */
@media (min-width:650px){
  /* The document owns the central scroll again. Browser scrollbar stays on the
   * far right like Facebook. Left/right rails keep their own fixed scrolling. */
  body.club-r1194-desktop-shell{
    overflow-x:hidden!important;
    overflow-y:auto!important;
    min-height:100vh!important;
    background:var(--bs-body-bg,#f3f7fc);
  }
  body.club-r1194-desktop-shell #site-shell-header{
    position:fixed!important;
    inset:0 0 auto 0!important;
    z-index:1400!important;
    width:100%!important;
  }
  body.club-r1194-desktop-shell #site-shell-main,
  body.club-r1194-desktop-shell.club-desktop-left-collapsed #site-shell-main,
  body.club-r1194-desktop-shell.club-desktop-right-collapsed #site-shell-main,
  body.club-r1194-desktop-shell.club-desktop-player-docked-right #site-shell-main{
    height:auto!important;
    min-height:calc(100vh - var(--club-desktop-shell-top))!important;
    overflow:visible!important;
    margin-top:var(--club-desktop-shell-top)!important;
    padding-bottom:calc(var(--club-desktop-shell-bottom) + 28px)!important;
  }
  body.club-r1194-desktop-shell #site-shell-content{
    height:auto!important;
    min-height:calc(100vh - var(--club-desktop-shell-top))!important;
    overflow:visible!important;
    overscroll-behavior:auto!important;
    scrollbar-gutter:auto!important;
    padding-top:28px!important;
    padding-bottom:30px!important;
  }

  /* Sticky composer must never overlap the feed selector beneath it. */
  body.club-r1194-desktop-shell .club-feed-mode-switch{
    margin-top:24px!important;
    position:relative!important;
    z-index:1!important;
  }
  body.club-r1194-desktop-shell .club-discovery-content-filters{
    position:relative!important;
    z-index:1!important;
  }

  /* DESK4 uses the hidden attribute as the source of truth for content modes.
   * This rule intentionally wins over DESK3's reserved display:block rule. */
  body.club-r1194-desktop-shell #blogWallCardsContainer > .club-desktop-mix-host[hidden],
  body.club-r1194-desktop-shell #blogWallCardsContainer > .js-blog-post-card-col[hidden],
  body.club-r1194-desktop-shell #blogWallCardsContainer > [data-club-topic-result][hidden]{
    display:none!important;
  }

  /* Profile: remove legacy centered max-widths so the cover owns all 1180/786/380. */
  body.club-r1194-desktop-shell #site-shell-content.club-desktop-profile-stage > .container,
  body.club-r1194-desktop-shell #site-shell-content.club-desktop-profile-stage > .container-fluid,
  body.club-r1194-desktop-shell #site-shell-content.club-desktop-profile-stage > .container-lg,
  body.club-r1194-desktop-shell #site-shell-content.club-desktop-profile-stage > .container-xl,
  body.club-r1194-desktop-shell #site-shell-content.club-desktop-profile-stage > .container-xxl,
  body.club-r1194-desktop-shell #site-shell-content.club-desktop-profile-stage .profile-public-wrap,
  body.club-r1194-desktop-shell #site-shell-content.club-desktop-profile-stage .public-profile-wrap,
  body.club-r1194-desktop-shell #site-shell-content.club-desktop-profile-stage [data-profile-public]{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  body.club-r1194-desktop-shell #site-shell-content.club-desktop-profile-stage [class*="cover"],
  body.club-r1194-desktop-shell #site-shell-content.club-desktop-profile-stage [class*="Cover"]{
    max-width:100%!important;
  }

  /* Left nav: useful app destinations + category filter instead of duplicate feed
   * modes. Feed mode remains in the central Pour vous / Abonnements switch. */
  #clubDesktopLeftRailHost .club-desktop-theme-toggle{
    width:100%;
    border:0;
    text-align:left;
    cursor:pointer;
  }
  #clubDesktopLeftRailHost .club-desktop-theme-caret{
    margin-left:auto;
    font-size:.85rem;
    transition:transform .15s ease;
  }
  #clubDesktopLeftRailHost .club-desktop-theme-group.is-open .club-desktop-theme-caret{transform:rotate(180deg)}
  #clubDesktopLeftRailHost .club-desktop-theme-list{
    display:grid;
    gap:3px;
    margin:4px 4px 4px 31px;
    max-height:45vh;
    overflow:auto;
    scrollbar-width:thin;
  }
  #clubDesktopLeftRailHost .club-desktop-theme-list[hidden]{display:none!important}
  #clubDesktopLeftRailHost .club-desktop-theme-item{
    border:0;
    border-radius:9px;
    background:transparent;
    color:#52677f;
    padding:6px 8px;
    text-align:left;
    font-size:.75rem;
    line-height:1.2;
    cursor:pointer;
  }
  #clubDesktopLeftRailHost .club-desktop-theme-item:hover{background:#eef5fd;color:#0875e0}
  #clubDesktopLeftRailHost .club-desktop-theme-item.is-active{background:#e1efff;color:#0875e0;font-weight:800}
  #clubDesktopLeftRailHost .club-desktop-theme-loading{padding:6px 8px;color:#8a9aae;font-size:.7rem}

  /* Right rail empty states always consume the whole card width. */
  #clubDesktopRightRailHost .club-discovery-list{width:100%!important;min-width:0!important}
  #clubDesktopRightRailHost .club-desktop-empty-rail{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    box-sizing:border-box!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
    line-height:1.4!important;
  }
  #clubDesktopRightRailHost .club-discovery-topics-list li.is-empty{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    padding:10px 0!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
    line-height:1.4!important;
  }
  #clubDesktopRightRailHost .club-discovery-topics-list li[data-club-theme-filter]{cursor:pointer}

  /* The three central content modes are exclusive. */
  body.club-r1194-desktop-shell #blogWallCardsContainer[data-club-filter="posts"] > .club-desktop-mix-host,
  body.club-r1194-desktop-shell #blogWallCardsContainer[data-club-filter="music"] > .club-desktop-mix-host:not([data-club-mix-music]),
  body.club-r1194-desktop-shell #blogWallCardsContainer[data-club-filter="members"] > .club-desktop-mix-host:not([data-club-mix-people]),
  body.club-r1194-desktop-shell #blogWallCardsContainer[data-club-filter="topics"] > .club-desktop-mix-host:not([data-club-mix-topics]){
    display:none!important;
  }

  /* Night mode for every DESK-owned surface. */
  html[data-theme="dark"] body.club-r1194-desktop-shell{
    background:#08111f!important;
    color:#d8e5f4!important;
  }
  html[data-theme="dark"] body.club-r1194-desktop-shell #site-shell-main,
  html[data-theme="dark"] body.club-r1194-desktop-shell #site-shell-content{background:#08111f!important}
  html[data-theme="dark"] .club-desktop-rail-host{
    background:#0d1727!important;
    border-color:#24344a!important;
    color:#d8e5f4!important;
  }
  html[data-theme="dark"] #clubDesktopLeftRailHost .club-discovery-nav-link{color:#c9d8eb!important}
  html[data-theme="dark"] #clubDesktopLeftRailHost .club-discovery-nav-link:hover{background:#15263d!important;color:#72b7ff!important}
  html[data-theme="dark"] #clubDesktopLeftRailHost .club-discovery-nav-link.is-active{background:#15375e!important;color:#7fc1ff!important}
  html[data-theme="dark"] #clubDesktopLeftRailHost .club-discovery-nav-group + .club-discovery-nav-group{border-color:#27374d!important}
  html[data-theme="dark"] #clubDesktopLeftRailHost .club-desktop-theme-item{color:#9fb2c9!important}
  html[data-theme="dark"] #clubDesktopLeftRailHost .club-desktop-theme-item:hover,
  html[data-theme="dark"] #clubDesktopLeftRailHost .club-desktop-theme-item.is-active{background:#15375e!important;color:#7fc1ff!important}
  html[data-theme="dark"] #clubDesktopRightRailHost .club-discovery-right-card,
  html[data-theme="dark"] .club-desktop-mix-section,
  html[data-theme="dark"] body.club-r1194-desktop-shell .club-discovery-content-filters,
  html[data-theme="dark"] .club-desktop-person-card,
  html[data-theme="dark"] .club-desktop-album-card,
  html[data-theme="dark"] .club-desktop-topic-card,
  html[data-theme="dark"] .club-desktop-notification-card,
  html[data-theme="dark"] .club-desktop-surface-head,
  html[data-theme="dark"] .club-desktop-surface-head-wide{
    background:#101b2d!important;
    border-color:#263750!important;
    color:#dce8f7!important;
  }
  html[data-theme="dark"] #clubDesktopRightRailHost .club-discovery-right-head h2,
  html[data-theme="dark"] .club-desktop-mix-section h2,
  html[data-theme="dark"] .club-desktop-person-copy>a,
  html[data-theme="dark"] .club-desktop-topic-card strong{color:#e7f0fb!important}
  html[data-theme="dark"] #clubDesktopRightRailHost .club-discovery-right-head p,
  html[data-theme="dark"] #clubDesktopRightRailHost .club-desktop-empty-rail,
  html[data-theme="dark"] #clubDesktopRightRailHost .club-discovery-topics-list li,
  html[data-theme="dark"] .club-desktop-mix-section p,
  html[data-theme="dark"] .club-desktop-person-copy span,
  html[data-theme="dark"] .club-desktop-person-copy small{color:#9db0c7!important}
  html[data-theme="dark"] body.club-r1194-desktop-shell .club-discovery-filter{background:#17253a!important;color:#c7d7ea!important}
  html[data-theme="dark"] body.club-r1194-desktop-shell .club-discovery-filter.is-active{background:#1684ff!important;color:#fff!important}
  html[data-theme="dark"] .club-desktop-edge-handle>span{background:#132238!important;border-color:#2b4360!important;color:#a9c9ea!important}
}
@media (min-width:650px){
  .club-desktop-rail-host{box-sizing:border-box!important}
}

/* ======================================================================
 * R119.4A DESK5A — Night + Messages + Notifications + Profile + Themes
 * Desktop only. Mobile remains untouched.
 * ====================================================================== */
@media (min-width:650px){
  /* Shared tokens for DESK-owned surfaces. */
  body.club-r1194-desktop-shell{
    --club-d5a-bg:#f4f8fd;
    --club-d5a-surface:#ffffff;
    --club-d5a-surface-2:#f8fbff;
    --club-d5a-surface-3:#edf4fc;
    --club-d5a-border:#dfe8f3;
    --club-d5a-text:#172338;
    --club-d5a-muted:#71849c;
    --club-d5a-accent:#1684ff;
    --club-d5a-accent-soft:#e7f2ff;
    --club-d5a-shadow:0 8px 24px rgba(15,23,42,.05);
  }
  html[data-theme="dark"] body.club-r1194-desktop-shell{
    --club-d5a-bg:#08111f;
    --club-d5a-surface:#101b2d;
    --club-d5a-surface-2:#0d1727;
    --club-d5a-surface-3:#17253a;
    --club-d5a-border:#2a3b54;
    --club-d5a-text:#e4edf8;
    --club-d5a-muted:#9db0c7;
    --club-d5a-accent:#4da3ff;
    --club-d5a-accent-soft:#15375e;
    --club-d5a-shadow:0 8px 24px rgba(0,0,0,.22);
  }

  /* Loader: never a white pill in Night. */
  body.club-r1194-desktop-shell #site-shell-content.club-desktop-stage-loading::after{
    background:color-mix(in srgb,var(--club-d5a-surface) 94%,transparent)!important;
    color:var(--club-d5a-text)!important;
    border-color:var(--club-d5a-border)!important;
    box-shadow:var(--club-d5a-shadow)!important;
  }
  .club-desktop-loading,
  .club-desktop-empty,
  .club-desktop-empty-rail{
    background:var(--club-d5a-surface-2)!important;
    color:var(--club-d5a-muted)!important;
    border-color:var(--club-d5a-border)!important;
  }

  /* Theme state: label stays meaningful even when the list is folded. */
  #clubDesktopLeftRailHost [data-club-theme-toggle]{min-width:0}
  #clubDesktopLeftRailHost [data-club-theme-toggle] [data-club-theme-toggle-label]{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  #clubDesktopLeftRailHost .club-desktop-theme-loading{color:var(--club-d5a-muted)!important}
  #clubDesktopRightRailHost [data-club-theme-summary] .club-discovery-topics-list li[data-club-theme-filter]{
    border-radius:8px;
    padding-inline:7px!important;
    transition:background .12s ease,color .12s ease;
  }
  #clubDesktopRightRailHost [data-club-theme-summary] .club-discovery-topics-list li[data-club-theme-filter]:hover{
    background:var(--club-d5a-accent-soft)!important;
  }
  #clubDesktopRightRailHost [data-club-theme-summary] .club-discovery-topics-list li.is-active{
    background:var(--club-d5a-accent-soft)!important;
    outline:1px solid color-mix(in srgb,var(--club-d5a-accent) 55%,transparent);
  }
  #clubDesktopRightRailHost [data-club-theme-summary] .club-discovery-topics-list li.is-active span,
  #clubDesktopRightRailHost [data-club-theme-summary] .club-discovery-topics-list li.is-active b{
    color:var(--club-d5a-accent)!important;
  }
  #clubDesktopRightRailHost .club-discovery-right-card li{
    border-color:var(--club-d5a-border)!important;
  }
  #clubDesktopRightRailHost .club-discovery-right-card li span{
    color:var(--club-d5a-text)!important;
  }
  #clubDesktopRightRailHost .club-discovery-right-card li b,
  #clubDesktopRightRailHost .club-discovery-right-card li small{
    color:var(--club-d5a-muted)!important;
  }

  /* Surface headings in both themes. */
  .club-desktop-surface-head,
  .club-desktop-surface-head-wide,
  .club-desktop-notification-tabs{
    background:var(--club-d5a-surface)!important;
    border-color:var(--club-d5a-border)!important;
    color:var(--club-d5a-text)!important;
  }
  .club-desktop-surface-head h1,
  .club-desktop-surface-head h2,
  .club-desktop-surface-head-wide h1,
  .club-desktop-surface-head-wide h2{
    color:var(--club-d5a-text)!important;
  }
  .club-desktop-surface-head p,
  .club-desktop-surface-head-wide p{color:var(--club-d5a-muted)!important}

  /* Messages: same mature runtime, complete visual ownership in the shell. */
  body.club-r1194-desktop-shell .messaging-page{
    background:var(--club-d5a-surface)!important;
    border-color:var(--club-d5a-border)!important;
    color:var(--club-d5a-text)!important;
  }
  body.club-r1194-desktop-shell .messaging-sidebar,
  body.club-r1194-desktop-shell .messaging-sidebar-head,
  body.club-r1194-desktop-shell .messaging-conversation-list,
  body.club-r1194-desktop-shell .messaging-thread,
  body.club-r1194-desktop-shell .messaging-thread-head,
  body.club-r1194-desktop-shell .messaging-thread-body,
  body.club-r1194-desktop-shell .messaging-thread-empty,
  body.club-r1194-desktop-shell .messaging-empty{
    background:var(--club-d5a-surface)!important;
    color:var(--club-d5a-text)!important;
    border-color:var(--club-d5a-border)!important;
  }
  body.club-r1194-desktop-shell .messaging-sidebar{background:var(--club-d5a-surface-2)!important}
  body.club-r1194-desktop-shell .messaging-conversation-item{
    color:var(--club-d5a-text)!important;
    border-color:var(--club-d5a-border)!important;
  }
  body.club-r1194-desktop-shell .messaging-conversation-item:hover,
  body.club-r1194-desktop-shell .messaging-conversation-item.is-active{
    background:var(--club-d5a-accent-soft)!important;
  }
  body.club-r1194-desktop-shell .messaging-conversation-item strong,
  body.club-r1194-desktop-shell .messaging-conversation-item h2,
  body.club-r1194-desktop-shell .messaging-conversation-item h3,
  body.club-r1194-desktop-shell .messaging-thread h1,
  body.club-r1194-desktop-shell .messaging-thread h2,
  body.club-r1194-desktop-shell .messaging-thread h3{
    color:var(--club-d5a-text)!important;
  }
  body.club-r1194-desktop-shell .messaging-conversation-item p,
  body.club-r1194-desktop-shell .messaging-conversation-item small,
  body.club-r1194-desktop-shell .messaging-thread-empty p,
  body.club-r1194-desktop-shell .messaging-muted{
    color:var(--club-d5a-muted)!important;
  }
  body.club-r1194-desktop-shell .messaging-search input,
  body.club-r1194-desktop-shell .messaging-sidebar input[type="search"],
  body.club-r1194-desktop-shell .messaging-sidebar input[type="text"],
  body.club-r1194-desktop-shell .messaging-composer textarea,
  body.club-r1194-desktop-shell .messaging-composer input{
    background:var(--club-d5a-surface-2)!important;
    color:var(--club-d5a-text)!important;
    border-color:var(--club-d5a-border)!important;
  }
  body.club-r1194-desktop-shell .messaging-page hr,
  body.club-r1194-desktop-shell .messaging-page [class*="separator"],
  body.club-r1194-desktop-shell .messaging-page [class*="divider"]{
    border-color:var(--club-d5a-border)!important;
  }

  /* Dedicated Notifications surface. */
  .club-desktop-notification-tabs button{
    background:var(--club-d5a-surface-3)!important;
    color:var(--club-d5a-text)!important;
  }
  .club-desktop-notification-tabs button.is-active{background:var(--club-d5a-accent)!important;color:#fff!important}
  .club-desktop-notification-card{
    background:var(--club-d5a-surface)!important;
    border-color:var(--club-d5a-border)!important;
    color:var(--club-d5a-text)!important;
  }
  .club-desktop-notification-icon,
  .club-desktop-notification-avatar{
    background:var(--club-d5a-surface-3)!important;
    color:var(--club-d5a-accent)!important;
    border:1px solid var(--club-d5a-border)!important;
  }
  .club-desktop-notification-card strong{color:var(--club-d5a-text)!important}
  .club-desktop-notification-card p,
  .club-desktop-notification-card time,
  .club-desktop-notification-more{color:var(--club-d5a-muted)!important}

  /* Existing bell popover / notification center, regardless of which shell class owns it. */
  html[data-theme="dark"] body.club-r1194-desktop-shell :is(
    .notification-popover,.notifications-popover,.notification-dropdown,.notifications-dropdown,
    .notification-panel,.notifications-panel,.notification-center-popover,.site-notifications-panel,
    [data-notification-popover],[data-notifications-popover],[data-notification-panel]
  ){
    background:var(--club-d5a-surface)!important;
    color:var(--club-d5a-text)!important;
    border-color:var(--club-d5a-border)!important;
  }
  html[data-theme="dark"] body.club-r1194-desktop-shell :is(
    .notification-popover,.notifications-popover,.notification-dropdown,.notifications-dropdown,
    .notification-panel,.notifications-panel,.notification-center-popover,.site-notifications-panel,
    [data-notification-popover],[data-notifications-popover],[data-notification-panel]
  ) :is(h1,h2,h3,h4,strong,b,.title,.notification-title){color:var(--club-d5a-text)!important}
  html[data-theme="dark"] body.club-r1194-desktop-shell :is(
    .notification-popover,.notifications-popover,.notification-dropdown,.notifications-dropdown,
    .notification-panel,.notifications-panel,.notification-center-popover,.site-notifications-panel,
    [data-notification-popover],[data-notifications-popover],[data-notification-panel]
  ) :is(p,small,time,.text-muted,.notification-meta,.notification-description){color:var(--club-d5a-muted)!important}
  html[data-theme="dark"] body.club-r1194-desktop-shell :is(
    .notification-popover,.notifications-popover,.notification-dropdown,.notifications-dropdown,
    .notification-panel,.notifications-panel,.notification-center-popover,.site-notifications-panel,
    [data-notification-popover],[data-notifications-popover],[data-notification-panel]
  ) :is(.notification-item,.notification-card,.notification-row,.card,[class*="notification-preview"]){
    background:var(--club-d5a-surface-2)!important;
    border-color:var(--club-d5a-border)!important;
    color:var(--club-d5a-text)!important;
  }
  html[data-theme="dark"] body.club-r1194-desktop-shell :is(
    .notification-popover,.notifications-popover,.notification-dropdown,.notifications-dropdown,
    .notification-panel,.notifications-panel,.notification-center-popover,.site-notifications-panel,
    [data-notification-popover],[data-notifications-popover],[data-notification-panel]
  ) hr{border-color:var(--club-d5a-border)!important;opacity:1!important}

  /* DESK5C — Favorites are a first-class music surface in both themes. */
  html[data-theme="dark"] body.club-r1194-desktop-shell .club-desk2-favorite-card{
    background:var(--club-d5a-surface)!important;
    border-color:var(--club-d5a-border)!important;
    box-shadow:0 8px 24px rgba(0,0,0,.16)!important;
  }
  html[data-theme="dark"] body.club-r1194-desktop-shell .club-desk2-favorite-copy strong{color:var(--club-d5a-text)!important}
  html[data-theme="dark"] body.club-r1194-desktop-shell .club-desk5c-favorite-album,
  html[data-theme="dark"] body.club-r1194-desktop-shell .club-desk5c-favorite-artist,
  html[data-theme="dark"] body.club-r1194-desktop-shell .club-desk2-favorite-copy small{color:var(--club-d5a-muted)!important}
  html[data-theme="dark"] body.club-r1194-desktop-shell .club-desk2-favorite-cover{background:var(--club-d5a-surface-3)!important}
  html[data-theme="dark"] body.club-r1194-desktop-shell .club-desk5c-favorite-cover-fallback{background:var(--club-d5a-surface-3)!important;color:#7bbcff!important}
  html[data-theme="dark"] body.club-r1194-desktop-shell .club-desk5c-favorite-play{background:var(--club-d5a-surface-2)!important;border-color:var(--club-d5a-border)!important;color:#7bbcff!important}
  html[data-theme="dark"] body.club-r1194-desktop-shell .club-desk5c-favorite-play:hover{background:#1b3350!important;border-color:#4f7298!important;color:#a9d5ff!important}
  html[data-theme="dark"] body.club-r1194-desktop-shell .club-desk5c-favorite-play.is-playing{background:var(--club-d5a-accent)!important;border-color:var(--club-d5a-accent)!important;color:#fff!important}

  /* Profile visuals intentionally absent here: owned by profile-public.css. */

  /* YouTube play chip and separators introduced/visible inside DESK shell. */
  html[data-theme="dark"] body.club-r1194-desktop-shell :is(.youtube-play-button,.youtube-preview-play,.blog-youtube-play,[data-youtube-play]){
    background:#17253a!important;
    color:#f2f7ff!important;
    border-color:#36506f!important;
    box-shadow:0 5px 18px rgba(0,0,0,.28)!important;
  }
  html[data-theme="dark"] body.club-r1194-desktop-shell :is(hr,.club-desktop-divider){border-color:var(--club-d5a-border)!important;opacity:.9}
}


/* ======================================================================
 * R119.4A DESK5A FIX1 — validated selectors for screens 1-7
 * Desktop only. Do not move these rules into mobile-shell/player assets.
 * ====================================================================== */
@media (min-width:650px){
  /* Screen 1 — home Night: all DESK empty states/right-rail copy/separators use tokens. */
  html[data-theme="dark"] body.club-r1194-desktop-shell .club-desktop-empty,
  html[data-theme="dark"] body.club-r1194-desktop-shell .club-desktop-empty-rail,
  html[data-theme="dark"] body.club-r1194-desktop-shell .club-discovery-right-card .is-empty{
    background:var(--club-d5a-surface-2)!important;
    color:var(--club-d5a-muted)!important;
    border-color:var(--club-d5a-border)!important;
  }
  html[data-theme="dark"] body.club-r1194-desktop-shell #clubDesktopRightRailHost :is(h2,h3,strong){color:var(--club-d5a-text)!important}
  html[data-theme="dark"] body.club-r1194-desktop-shell #clubDesktopRightRailHost :is(p,small,.text-muted){color:var(--club-d5a-muted)!important}
  html[data-theme="dark"] body.club-r1194-desktop-shell #clubDesktopRightRailHost :is(hr,.border-top,.border-bottom){border-color:var(--club-d5a-border)!important}
  html[data-theme="dark"] body.club-r1194-desktop-shell .cab-post-embed-play{
    background:var(--club-d5a-surface-3)!important;
    color:var(--club-d5a-text)!important;
    border:1px solid var(--club-d5a-border)!important;
    box-shadow:0 10px 30px rgba(0,0,0,.34)!important;
  }

  /* Screen 2 — mature Messaging runtime: cover every real desktop panel class. */
  html[data-theme="dark"] body.club-r1194-desktop-shell .club-desktop-messages-stage,
  html[data-theme="dark"] body.club-r1194-desktop-shell .messaging-page,
  html[data-theme="dark"] body.club-r1194-desktop-shell .messaging-thread,
  html[data-theme="dark"] body.club-r1194-desktop-shell .messaging-thread-content,
  html[data-theme="dark"] body.club-r1194-desktop-shell .messaging-thread-body,
  html[data-theme="dark"] body.club-r1194-desktop-shell .messaging-empty,
  html[data-theme="dark"] body.club-r1194-desktop-shell .messaging-message-list{
    background-color:var(--club-d5a-surface)!important;
    color:var(--club-d5a-text)!important;
    border-color:var(--club-d5a-border)!important;
  }
  html[data-theme="dark"] body.club-r1194-desktop-shell .messaging-sidebar,
  html[data-theme="dark"] body.club-r1194-desktop-shell .messaging-sidebar-head,
  html[data-theme="dark"] body.club-r1194-desktop-shell .messaging-composer{
    background-color:var(--club-d5a-surface-2)!important;
    color:var(--club-d5a-text)!important;
    border-color:var(--club-d5a-border)!important;
  }
  html[data-theme="dark"] body.club-r1194-desktop-shell .messaging-page :is(h1,h2,h3,strong,.messaging-conversation-top strong,.messaging-person strong){color:var(--club-d5a-text)!important}
  html[data-theme="dark"] body.club-r1194-desktop-shell .messaging-page :is(p,small,.text-muted,.messaging-conversation-preview,.messaging-person small,.messaging-message-meta){color:var(--club-d5a-muted)!important}

  /* Screen 3 — actual bell DOM is #navbarNotificationsPanel. */
  html[data-theme="dark"] body.club-r1194-desktop-shell #navbarNotificationsPanel{
    background:var(--club-d5a-surface)!important;
    color:var(--club-d5a-text)!important;
    border-color:var(--club-d5a-border)!important;
  }
  html[data-theme="dark"] body.club-r1194-desktop-shell #navbarNotificationsPanel :is(.navbar-notifications-title,.notification-group-label,.notification-facebook-copy,.notification-actor,.notification-rescue-heading,.notification-rescue-preview strong){
    color:var(--club-d5a-text)!important;
  }
  html[data-theme="dark"] body.club-r1194-desktop-shell #navbarNotificationsPanel :is(.notification-rescue-copy,.notification-rescue-preview p,.notification-rescue-preview small,.notification-meta time,.navbar-notifications-empty-state,.notification-group-empty){
    color:var(--club-d5a-muted)!important;
  }
  html[data-theme="dark"] body.club-r1194-desktop-shell #navbarNotificationsPanel .notification-rescue-preview{
    background:var(--club-d5a-surface-2)!important;
    border-color:var(--club-d5a-border)!important;
  }
  html[data-theme="dark"] body.club-r1194-desktop-shell #navbarNotificationsPanel .notification-rescue-actions button:not(.notification-rescue-primary){
    background:var(--club-d5a-surface-3)!important;
    border-color:var(--club-d5a-border)!important;
    color:var(--club-d5a-text)!important;
  }

  /* Screen 4 — DESK notifications page, including pills and avatar/icon fallbacks. */
  body.club-r1194-desktop-shell .club-desktop-notifications-surface{color:var(--club-d5a-text)!important}
  body.club-r1194-desktop-shell .club-desktop-notification-tabs{gap:8px!important;padding:10px 12px!important}
  body.club-r1194-desktop-shell .club-desktop-notification-tabs button{
    border:1px solid var(--club-d5a-border)!important;
    border-radius:999px!important;
    box-shadow:none!important;
  }
  body.club-r1194-desktop-shell .club-desktop-notification-tabs button.is-active{border-color:var(--club-d5a-accent)!important}
  html[data-theme="dark"] body.club-r1194-desktop-shell .club-desktop-notification-avatar img{background:var(--club-d5a-surface-3)!important}

  /* Screen 5 — profile geometry/visuals are now owned by the Profile bundle.
     Shell only keeps semantic Night status text below. */
  html[data-theme="dark"] body.club-r1194-desktop-shell .club-desktop-profile-stage :is(.profile-public-cover-status,.profile-public-posts-state,.profile-public-posts-placeholder,.profile-public-loading,.profile-public-cover-empty){color:var(--club-d5a-muted)!important}

  /* Screens 6-7 — one semantic state on both rails. */
  #clubDesktopLeftRailHost .club-desktop-theme-item[aria-pressed="true"]{font-weight:800}
  #clubDesktopRightRailHost [data-club-theme-filter][aria-pressed="true"]{background:var(--club-d5a-accent-soft)!important}
}

@media (min-width:650px){
  /* DESK5C FIX1 — Favorites use a deterministic ClubOS SVG transport control.
     Strong specificity is intentional because Music CSS is loaded lazily after DESK CSS. */
  body.club-r1194-desktop-shell .club-desk5c-favorite-play{
    width:38px!important;height:38px!important;min-width:38px!important;padding:0!important;
    display:grid!important;place-items:center!important;border-radius:50%!important;
    background:#fff!important;border:1px solid #a9cbe9!important;color:#0879e7!important;
    box-shadow:0 4px 12px rgba(8,121,231,.12)!important;
  }
  body.club-r1194-desktop-shell .club-desk5c-favorite-play:hover{background:#eef6ff!important;border-color:#70afe7!important;color:#066bc9!important}
  body.club-r1194-desktop-shell .club-desk5c-favorite-play-icon{width:18px;height:18px;display:grid;place-items:center;pointer-events:none}
  body.club-r1194-desktop-shell .club-desk5c-play-svg{width:18px;height:18px;display:block;fill:currentColor}
  body.club-r1194-desktop-shell .club-desk5c-play-svg--pause{display:none}
  body.club-r1194-desktop-shell .club-desk5c-favorite-play[data-icon-state="pause"] .club-desk5c-play-svg--play{display:none}
  body.club-r1194-desktop-shell .club-desk5c-favorite-play[data-icon-state="pause"] .club-desk5c-play-svg--pause{display:block}
  body.club-r1194-desktop-shell .club-desk5c-favorite-play.is-playing{background:#1684ff!important;border-color:#1684ff!important;color:#fff!important}

}

/* ========================================================================
 * R119.4A DESK5C FIX8 — compact draggable discovery carousels
 * ======================================================================== */
@media (min-width:650px) {
  .club-desktop-mix-section--carousel {
    padding: 11px 12px 12px;
    background: linear-gradient(180deg,rgba(255,255,255,.98),rgba(249,252,255,.96));
    border-color: rgba(53,89,130,.17);
    box-shadow: 0 6px 20px rgba(20,55,90,.06);
  }
  .club-desktop-mix-section--carousel>header { margin-bottom:8px; align-items:center; }
  .club-desktop-mix-section--carousel>header h2 { font-size:1rem; }
  .club-desktop-mix-section--carousel>header p { font-size:.7rem; }
  .club-horizontal-carousel {
    display:flex!important;
    grid-template-columns:none!important;
    gap:10px;
    width:100%;
    max-width:100%;
    overflow-x:auto;
    overflow-y:visible;
    padding:1px 2px 5px;
    scroll-behavior:auto;
    scrollbar-width:none;
    cursor:grab;
    user-select:none;
    touch-action:pan-y;
    overscroll-behavior-inline:contain;
  }
  .club-horizontal-carousel::-webkit-scrollbar { display:none; }
  .club-horizontal-carousel.is-dragging { cursor:grabbing; scroll-snap-type:none; }
  .club-horizontal-carousel a,.club-horizontal-carousel button { user-select:none; }
  .club-horizontal-carousel img { -webkit-user-drag:none; user-drag:none; }

  .club-desktop-album-card--carousel {
    display:block;
    flex:0 0 clamp(108px,12.2%,138px);
    min-width:108px;
    overflow:visible;
    border:0;
    border-radius:12px;
    background:transparent;
  }
  .club-desktop-album-artwork { position:relative; width:100%; aspect-ratio:1; }
  .club-desktop-album-card--carousel .club-desktop-album-cover {
    width:100%; height:100%; border-radius:12px; overflow:hidden;
    border:1px solid rgba(51,83,119,.15);
    box-shadow:0 5px 14px rgba(18,48,82,.09);
    transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
  }
  .club-desktop-album-card--carousel:hover .club-desktop-album-cover {
    transform:translateY(-1px);
    border-color:rgba(13,110,253,.26);
    box-shadow:0 9px 20px rgba(18,48,82,.14);
  }
  .club-desktop-album-play {
    position:absolute;right:7px;bottom:7px;z-index:4;
    display:grid;place-items:center;width:38px;height:38px;padding:0;
    border:0;border-radius:999px;background:#1375f5;color:#fff;
    box-shadow:0 6px 16px rgba(9,52,112,.28);cursor:pointer;
    opacity:0;transform:translateY(5px) scale(.94);pointer-events:none;
    transition:opacity .15s ease,transform .15s ease,filter .15s ease;
  }
  .club-desktop-album-play svg { width:18px;height:18px;fill:currentColor; }
  .club-desktop-album-card--carousel:hover .club-desktop-album-play,
  .club-desktop-album-play:focus-visible,
  .club-desktop-album-play[aria-busy="true"] { opacity:1;transform:none;pointer-events:auto; }
  .club-desktop-album-play:hover { filter:brightness(1.06); }
  .club-desktop-album-meta { padding:6px 1px 0!important; min-width:0; }
  .club-desktop-album-meta>a { display:block;color:#19283d!important;text-decoration:none!important;font-size:.76rem!important;line-height:1.18; }
  .club-desktop-album-meta strong { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
  .club-desktop-album-meta small { display:block;margin-top:2px;color:#7a8ba0!important;font-size:.64rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }

  .club-desktop-person-card--carousel {
    position:relative;
    display:flex;
    flex:0 0 clamp(210px,25%,262px);
    min-width:210px;
    min-height:224px;
    flex-direction:column;
    gap:0;
    padding:0;
    overflow:hidden;
    border:1px solid rgba(51,83,119,.16);
    border-radius:15px;
    background:linear-gradient(180deg,#fff,#fbfdff);
    box-shadow:0 5px 16px rgba(18,48,82,.07);
  }
  /* Same cover geometry as Profile > Abonnements/Abonnés. */
  .club-desktop-person-cover { position:relative;height:104px;flex:0 0 104px;overflow:hidden;background:linear-gradient(135deg,#dcecff,#eef5ff 48%,#e5e7ff);isolation:isolate; }
  .club-desktop-person-cover::after { content:"";position:absolute;z-index:3;inset:0;background:linear-gradient(180deg,rgba(10,24,43,.02) 0%,rgba(10,24,43,.03) 58%,rgba(10,24,43,.18) 100%);pointer-events:none; }
  .club-desktop-person-cover-image,.club-desktop-person-cover-fallback { position:absolute;z-index:1;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center; }
  .club-desktop-person-cover-image.is-avatar-fallback { inset:-24px;width:calc(100% + 48px);height:calc(100% + 48px);filter:blur(32px) saturate(.82) brightness(.78);transform:scale(1.25);opacity:.92; }
  .club-desktop-person-cover-fallback { background:linear-gradient(135deg,#dcecff,#eef5ff 48%,#e5e7ff); }
  .club-desktop-person-cover [data-club-dismiss] {
    position:absolute;z-index:4;right:7px;top:7px;width:26px;height:26px;padding:0;
    border:1px solid rgba(255,255,255,.72);border-radius:999px;
    background:rgba(12,29,50,.58);color:#fff;font-size:.9rem;font-weight:900;line-height:1;cursor:pointer;
    backdrop-filter:blur(8px);
  }
  .club-desktop-person-carousel-body { position:relative;display:flex;flex:1;flex-direction:column;min-width:0;padding:31px 10px 9px; }
  .club-desktop-person-avatar--carousel {
    position:absolute;left:10px;top:-36px;width:64px;height:64px;border:4px solid #fff;
    box-shadow:0 7px 18px rgba(20,55,90,.18);z-index:4;
  }
  .club-desktop-person-carousel-name { display:block;min-width:0;padding-left:0;margin-top:0;text-decoration:none;color:#17243a; }
  .club-desktop-person-carousel-name strong,.club-desktop-person-carousel-name span { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
  .club-desktop-person-carousel-name strong { font-size:.82rem; }
  .club-desktop-person-carousel-name span { color:#7890aa;font-size:.66rem; }
  .club-desktop-person-carousel-body>p { display:-webkit-box;min-height:2.4em;margin:9px 0 6px;overflow:hidden;color:#4a6079;font-size:.7rem;line-height:1.25;-webkit-line-clamp:2;-webkit-box-orient:vertical; }
  .club-desktop-person-carousel-foot { display:flex;align-items:flex-end;justify-content:space-between;gap:6px;margin-top:auto; }
  .club-desktop-person-card--carousel .club-desktop-topic-pills { flex-wrap:wrap;align-content:flex-start;max-height:34px;overflow:hidden;margin:0; }
  .club-desktop-person-card--carousel .club-desktop-topic-pills span { white-space:nowrap;font-size:.58rem;padding:2px 5px; }
  .club-desktop-person-card--carousel [data-club-follow] { border:0;border-radius:9px;background:#1684ff;color:#fff;min-height:30px;padding:5px 10px;font-size:.68rem;font-weight:850;cursor:pointer;white-space:nowrap; }
  .club-desktop-person-card--carousel [data-club-follow].is-followed { background:#e2f1ff;color:#0b6fd5; }
}
@media (min-width:650px) and (max-width:1373.98px) {
  .club-desktop-album-card--carousel { flex-basis:112px; }
  .club-desktop-person-card--carousel { flex-basis:218px; }
}
@media (hover:none) and (min-width:650px) {
  .club-desktop-album-play { opacity:1;transform:none;pointer-events:auto; }
}
html[data-theme="dark"] .club-desktop-mix-section--carousel { background:linear-gradient(180deg,#101b2d,#0f192a)!important;border-color:#263750!important; }
html[data-theme="dark"] .club-desktop-album-meta>a,
html[data-theme="dark"] .club-desktop-person-carousel-name { color:#e8f1fb!important; }
html[data-theme="dark"] .club-desktop-person-card--carousel { background:linear-gradient(180deg,#132139,#101b2e)!important;border-color:#2a3c55!important; }
html[data-theme="dark"] .club-desktop-person-avatar--carousel { border-color:#132139; }
html[data-theme="dark"] .club-desktop-person-carousel-body>p { color:#a8b9cd; }

@media (min-width:650px) {
  .club-desktop-empty--compact { padding:8px 4px 3px; min-height:0; font-size:.72rem; }
}


/* ========================================================================
 * R119.4A DESK5C FIX9 — discovery stability + dismissible music shelf
 * ======================================================================== */
@media (min-width:650px) {
  /* Reserve the server-rendered mix shelf before the desktop JS body class arrives. */
  html.clubos-desktop-preflight:not(.clubos-music-mix-dismissed-preflight) #blogWallCardsContainer > .club-desktop-mix-host--music,
  html.clubos-desktop-preflight #blogWallCardsContainer > .club-desktop-mix-host--people {
    display:block!important;
    width:100%!important;max-width:100%!important;flex:0 0 100%!important;grid-column:1 / -1!important;
  }
  html.clubos-desktop-preflight.clubos-music-mix-dismissed-preflight #blogWallCardsContainer > .club-desktop-mix-host--music { display:none!important; }
  .club-desktop-mix-section--reserved { min-height:184px; }
  .club-desktop-mix-skeleton--albums { display:flex!important;gap:10px;overflow:hidden;margin-top:6px; }
  .club-desktop-mix-skeleton--albums i { flex:0 0 clamp(108px,12.2%,138px);height:auto;aspect-ratio:1;border-radius:12px; }
  .club-desktop-mix-head-actions { display:flex;align-items:center;gap:9px;flex:0 0 auto; }
  .club-desktop-mix-head-actions>a { color:#0875df;text-decoration:none;font-size:.75rem;font-weight:800;white-space:nowrap; }
  .club-desktop-mix-dismiss {
    width:30px;height:30px;display:grid;place-items:center;padding:0;border:1px solid rgba(42,85,130,.20);border-radius:999px;
    background:#fff;color:#48617d;font-size:1.15rem;line-height:1;cursor:pointer;box-shadow:0 3px 10px rgba(18,48,82,.08);
    transition:transform .14s ease,background .14s ease,color .14s ease,border-color .14s ease;
  }
  .club-desktop-mix-dismiss:hover,.club-desktop-mix-dismiss:focus-visible { transform:scale(1.05);background:#eef6ff;color:#0d6efd;border-color:rgba(13,110,253,.35);outline:none; }
  .club-horizontal-carousel,.club-horizontal-carousel * { -webkit-user-select:none!important;user-select:none!important; }
  .club-horizontal-carousel a,.club-horizontal-carousel img { -webkit-user-drag:none!important;user-drag:none!important; }
  .club-horizontal-carousel.is-dragging a,.club-horizontal-carousel.is-dragging button { cursor:grabbing!important; }
}
html[data-theme="dark"] .club-desktop-mix-dismiss { background:#14233a;color:#c6d4e8;border-color:#30445f;box-shadow:0 4px 12px rgba(0,0,0,.24); }
html[data-theme="dark"] .club-desktop-mix-dismiss:hover { background:#1b3150;color:#8cc3ff;border-color:#476483; }


/* ========================================================================
 * R119.4A DESK5C FIX10 — discovery cover parity with Profile relations
 * ======================================================================== */
@media (min-width:650px) {
  /* The People skeleton reserves the new full-height relation-style cards. */
  html.clubos-desktop-preflight #blogWallCardsContainer > .club-desktop-mix-host--people .club-desktop-mix-section--reserved,
  body.club-r1194-desktop-shell .club-desktop-mix-host--people .club-desktop-mix-section--reserved { min-height:286px; }
  .club-desktop-mix-skeleton--people i { height:218px; }
}
html[data-theme="dark"] .club-desk2-directory-card {
  background:linear-gradient(180deg,#152238,#111c2f);
  border-color:rgba(130,158,194,.22);
  box-shadow:0 6px 20px rgba(0,0,0,.20);
}
html[data-theme="dark"] .club-desk2-directory-banner-fallback {
  background:linear-gradient(135deg,#17283f,#1c2941 48%,#201d3c);
}
html[data-theme="dark"] .club-desk2-directory-avatar {
  border-color:#152238;
  background:#223149;
}
html[data-theme="dark"] .club-desk2-directory-body h3 { color:#edf4ff; }
html[data-theme="dark"] .club-desk2-handle,
html[data-theme="dark"] .club-desk2-reason { color:#9eafc4; }

/* ========================================================================
 * R119.4A DESK5C FIX11 — complete UX cleanup from browser recipe 2026-10-06
 * ======================================================================== */
@media (min-width:650px) {
  /* Explicit restore controls for shelves dismissed by the user. */
  .club-desktop-mix-restore-bar{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex:0 0 auto;min-width:0;margin:0 0 0 auto;padding:0}
  .club-desktop-mix-restore-bar[hidden]{display:none!important}
  .club-desktop-mix-restore-bar button{border:1px solid rgba(42,85,130,.18);border-radius:999px;background:linear-gradient(180deg,#fbfdff,#f1f7fd);color:#56708d;padding:5px 10px;font-size:.67rem;font-weight:780;cursor:pointer;white-space:nowrap;box-shadow:0 4px 11px rgba(18,48,82,.07),inset 0 1px 0 rgba(255,255,255,.95);transition:transform .14s ease,box-shadow .16s ease,border-color .16s ease,color .16s ease}
  .club-desktop-mix-restore-bar button:hover{transform:translateY(-1px);background:linear-gradient(180deg,#f7fbff,#e7f3ff);color:#0875df;border-color:rgba(13,110,253,.30);box-shadow:0 8px 19px rgba(25,96,174,.13),0 0 18px rgba(22,132,255,.08),inset 0 1px 0 #fff}

  /* Home People carousel: relation-style banner, but deliberately compact. */
  .club-desktop-person-cover-link,.club-desk2-directory-banner-link{position:absolute;inset:0;z-index:1;display:block}
  .club-desktop-person-cover-image.is-avatar-fallback,.club-desk2-directory-banner-image.is-avatar-fallback{z-index:1}
  .club-desktop-person-cover-image.is-real-cover,.club-desk2-directory-banner-image.is-real-cover{z-index:2!important;inset:0!important;width:100%!important;height:100%!important;filter:none!important;transform:none!important;opacity:1!important;object-fit:cover!important}
  .club-desktop-person-card--carousel{min-height:224px}
  .club-desktop-person-carousel-body>p{min-height:2.2em;margin:7px 0 5px}
  .club-desktop-person-cover [data-club-dismiss]{z-index:5}

  /* Dedicated directory: cards in a row share one height and all actions align. */
  .club-desk2-directory-banner{flex:0 0 158px;border-radius:17px 17px 0 0}
  .club-desk2-directory-body h3 a{color:inherit;text-decoration:none}
  .club-desk2-directory-body h3 a:hover{text-decoration:underline;text-underline-offset:2px}
  .club-desk2-reason{display:-webkit-box;min-height:2.7em;max-height:2.7em;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .club-desk2-directory-topics{min-height:42px;max-height:42px;margin-top:2px;overflow-x:hidden;overflow-y:hidden;align-content:flex-start}
  .club-desk2-directory-topics span{line-height:1.15}
  .club-desk2-directory-actions button[data-club-follow].is-followed{background:#e2f1ff;color:#0b6fd5}
  .club-desk2-directory-actions button[data-club-dismiss]{font-size:1rem;font-weight:900}

  /* Three-dot menu: invisible until card hover/focus, without stealing banner clicks. */
  .club-desk2-card-menu-wrap{position:absolute;z-index:7;top:8px;right:8px}
  .club-desk2-card-menu-toggle{width:32px;height:32px;padding:0;border:1px solid rgba(255,255,255,.62);border-radius:999px;background:rgba(15,31,51,.64);color:#fff;font-weight:900;letter-spacing:.08em;cursor:pointer;opacity:0;pointer-events:none;backdrop-filter:blur(8px);box-shadow:0 5px 14px rgba(0,0,0,.16);transition:opacity .14s ease,transform .14s ease}
  .club-desk2-directory-card:hover .club-desk2-card-menu-toggle,.club-desk2-card-menu-toggle:focus-visible,.club-desk2-card-menu-toggle[aria-expanded="true"]{opacity:1;pointer-events:auto}
  .club-desk2-card-menu-toggle:hover{transform:scale(1.05)}
  .club-desk2-card-menu{position:absolute;z-index:20;top:38px;right:0;width:190px;padding:6px;border:1px solid rgba(46,76,110,.18);border-radius:13px;background:#fff;box-shadow:0 15px 38px rgba(17,38,66,.20)}
  .club-desk2-card-menu[hidden]{display:none!important}
  .club-desk2-card-menu [hidden]{display:none!important}
  .club-desk2-card-menu a,.club-desk2-card-menu button{display:block;width:100%;border:0;border-radius:9px;background:transparent;color:#273a51;padding:8px 9px;text-align:left;text-decoration:none;font-size:.76rem;font-weight:700;cursor:pointer}
  .club-desk2-card-menu a:hover,.club-desk2-card-menu button:hover{background:#eef5fd;color:#0875df}
  .club-desk2-card-menu .is-danger{color:#c43b45}
  .club-desk2-card-menu .is-danger:hover{background:#fff0f1;color:#b4232e}

  /* Do not leave the infinite-scroll spinner alive on non-post surfaces. */
  #blogWallInfiniteSentinel[hidden]{display:none!important}
}

/* FIX13 blocking layout closure: restore controls stay in the filter toolbar and
 * notification rows/People covers keep their full usable width. */
@media (min-width:650px) {
  body.club-r1194-desktop-shell .club-discovery-content-filters > .club-desktop-mix-restore-bar{margin-left:auto}
  .club-desktop-person-cover-link{overflow:hidden;border-radius:inherit}
  .club-desktop-person-cover-image.is-real-cover{background:#dbe9f7}
}

/* Night parity for filters, category pills and new discovery controls. */
html[data-theme="dark"] .club-desk2-surface-tabs{background:#101b2d!important;border-color:#263750!important}
html[data-theme="dark"] .club-desk2-surface-tabs button{background:#17253a!important;color:#c7d7ea!important}
html[data-theme="dark"] .club-desk2-surface-tabs button.is-active{background:#1684ff!important;color:#fff!important}
html[data-theme="dark"] .club-desktop-topic-pills span{background:#21314a!important;color:#c8d8eb!important;border:1px solid #314763!important}
html[data-theme="dark"] .club-desk2-directory-actions button[data-club-dismiss]{background:#223149!important;color:#c6d5e8!important}
html[data-theme="dark"] .club-desk2-directory-actions button[data-club-follow].is-followed{background:#193652!important;color:#8cc7ff!important}
html[data-theme="dark"] .club-desk2-card-menu{background:#132139!important;border-color:#30445f!important;box-shadow:0 15px 38px rgba(0,0,0,.42)!important}
html[data-theme="dark"] .club-desk2-card-menu a,html[data-theme="dark"] .club-desk2-card-menu button{color:#d5e2f2!important}
html[data-theme="dark"] .club-desk2-card-menu a:hover,html[data-theme="dark"] .club-desk2-card-menu button:hover{background:#1b3150!important;color:#8cc3ff!important}
html[data-theme="dark"] .club-desk2-card-menu .is-danger{color:#ff9ea6!important}
html[data-theme="dark"] .club-desktop-mix-restore-bar button{background:#14233a!important;color:#b9cbe1!important;border-color:#30445f!important;box-shadow:0 4px 12px rgba(0,0,0,.22)!important}
html[data-theme="dark"] .club-desktop-mix-restore-bar button:hover{background:#1b3150!important;color:#8cc3ff!important}


/* ========================================================================
 * R119.4A DESK5C FIX12 — discovery polish / premium glow / night audit
 * ======================================================================== */
@media (min-width:650px) {
  /* Background layers are spans now: avoid broken-image blanks and keep an
   * avatar blur underneath a real cover if the cover URL later fails. */
  .club-desktop-person-cover-image,
  .club-desk2-directory-banner-image {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
  }

  /* Home discovery cards: a little more premium/bling without neon overload. */
  .club-desktop-person-card--carousel,
  .club-desk2-directory-card {
    border-color:rgba(91,137,190,.22);
    box-shadow:
      0 11px 30px rgba(18,48,82,.115),
      0 0 0 1px rgba(255,255,255,.78) inset,
      0 0 24px rgba(40,133,255,.055);
    transition:transform .16s ease,box-shadow .18s ease,border-color .18s ease;
  }
  .club-desktop-person-card--carousel:hover,
  .club-desk2-directory-card:hover,
  .club-desk2-directory-card.is-menu-open {
    transform:translateY(-2px);
    border-color:rgba(36,130,247,.34);
    box-shadow:
      0 20px 42px rgba(18,48,82,.18),
      0 0 0 1px rgba(87,163,255,.16),
      0 0 34px rgba(30,129,255,.13),
      inset 0 1px 0 rgba(255,255,255,.92);
  }

  /* The menu is outside the banner clipping context in FIX12. */
  .club-desk2-directory-card.is-menu-open{z-index:80}
  .club-desk2-card-menu-wrap{z-index:90}
  .club-desk2-card-menu{
    z-index:120;
    width:198px;
    border:1px solid rgba(70,133,205,.30);
    background:linear-gradient(180deg,rgba(255,255,255,.985),rgba(248,252,255,.985));
    backdrop-filter:blur(16px) saturate(1.12);
    box-shadow:
      0 22px 48px rgba(13,37,68,.24),
      0 0 0 1px rgba(255,255,255,.86) inset,
      0 0 28px rgba(31,132,255,.12);
  }
  .club-desk2-card-menu::before{
    content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
    background:linear-gradient(135deg,rgba(255,255,255,.54),transparent 38%,rgba(77,162,255,.055));
  }
  .club-desk2-card-menu a,.club-desk2-card-menu button{position:relative;z-index:1}
  .club-desk2-card-menu a:hover,.club-desk2-card-menu button:hover{
    background:linear-gradient(90deg,#eef6ff,#f7fbff);
    box-shadow:inset 0 0 0 1px rgba(43,134,241,.10),0 3px 10px rgba(34,105,186,.08);
  }

  /* More explicit shine on the 3-dot trigger. */
  .club-desk2-card-menu-toggle{
    border-color:rgba(255,255,255,.86);
    background:linear-gradient(180deg,rgba(31,48,72,.78),rgba(11,28,50,.72));
    box-shadow:0 8px 20px rgba(0,0,0,.28),0 0 18px rgba(84,165,255,.18),inset 0 1px 0 rgba(255,255,255,.36);
  }

  /* Fallback avatars are intentionally glossy instead of flat pale circles. */
  .club-desktop-person-avatar>span,
  .club-desk2-directory-avatar>span{
    width:100%;height:100%;display:grid;place-items:center;border-radius:inherit;
    background:
      radial-gradient(circle at 30% 20%,rgba(255,255,255,.72),rgba(255,255,255,0) 42%),
      linear-gradient(145deg,#dcebff,#cfe1f7 52%,#b9cee8);
    color:#3e6288;
    text-shadow:0 1px 0 rgba(255,255,255,.9);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 -8px 20px rgba(54,101,154,.08);
  }

  /* Dismiss controls receive the same polished treatment in every discovery surface. */
  .club-desktop-person-actions button[data-club-dismiss],
  .club-desk2-directory-actions button[data-club-dismiss],
  .club-desktop-mix-dismiss{
    border:1px solid rgba(84,121,166,.18)!important;
    background:linear-gradient(180deg,#fff,#edf4fb)!important;
    color:#526d8b!important;
    box-shadow:0 5px 14px rgba(22,52,86,.12),inset 0 1px 0 rgba(255,255,255,.95)!important;
  }
  .club-desktop-person-actions button[data-club-dismiss]:hover,
  .club-desk2-directory-actions button[data-club-dismiss]:hover,
  .club-desktop-mix-dismiss:hover{
    background:linear-gradient(180deg,#f7fbff,#e2f1ff)!important;
    color:#0b74db!important;
    border-color:rgba(26,126,235,.34)!important;
    box-shadow:0 8px 20px rgba(31,109,193,.16),0 0 18px rgba(28,130,255,.10),inset 0 1px 0 #fff!important;
  }

  /* Desktop notification page now reuses the navbar notification visual grammar. */
  .club-desktop-notification-list{display:grid;gap:9px}
  .club-desktop-notification-card{
    padding:10px 12px!important;
    border:1px solid rgba(106,139,177,.20)!important;
    border-radius:15px!important;
    background:linear-gradient(180deg,#fff,#fbfdff)!important;
    box-shadow:0 7px 19px rgba(15,42,73,.065),inset 0 1px 0 rgba(255,255,255,.96)!important;
    transition:transform .14s ease,box-shadow .16s ease,border-color .16s ease;
  }
  .club-desktop-notification-card:hover{
    transform:translateY(-1px);
    border-color:rgba(40,133,244,.28)!important;
    box-shadow:0 13px 27px rgba(15,60,112,.12),0 0 20px rgba(39,137,255,.065),inset 0 1px 0 #fff!important;
  }
  .club-desktop-notification-card .notification-item-layout{display:grid;width:100%;min-width:0;grid-template-columns:3rem minmax(0,1fr) .65rem;gap:.68rem;align-items:center}
  .club-desktop-notification-card .notification-main{min-width:0;width:100%}
  .club-desktop-notification-card .notification-facebook-copy{display:block;max-width:none;font-size:.86rem;line-height:1.34;overflow:visible;-webkit-line-clamp:unset}
  .club-desktop-notification-card .notification-actor{display:inline;font-size:inherit;max-width:none;white-space:normal;overflow:visible}
  .club-desktop-notification-card .notification-meta{margin-top:3px}
}

html[data-theme="dark"] .club-desktop-person-card--carousel,
html[data-theme="dark"] .club-desk2-directory-card{
  border-color:rgba(93,133,181,.30)!important;
  background:linear-gradient(180deg,#15243b,#101c30)!important;
  box-shadow:0 12px 30px rgba(0,0,0,.34),0 0 0 1px rgba(126,174,233,.045),0 0 24px rgba(0,119,255,.055)!important;
}
html[data-theme="dark"] .club-desktop-person-card--carousel:hover,
html[data-theme="dark"] .club-desk2-directory-card:hover,
html[data-theme="dark"] .club-desk2-directory-card.is-menu-open{
  border-color:rgba(71,151,255,.46)!important;
  box-shadow:0 20px 44px rgba(0,0,0,.48),0 0 0 1px rgba(94,169,255,.11),0 0 34px rgba(0,126,255,.14)!important;
}
html[data-theme="dark"] .club-desktop-person-cover-fallback,
html[data-theme="dark"] .club-desk2-directory-banner-fallback{
  background:linear-gradient(135deg,#17283f,#1d2d47 50%,#222343)!important;
}
html[data-theme="dark"] .club-desktop-person-avatar,
html[data-theme="dark"] .club-desk2-directory-avatar{
  background:#1d2e46!important;color:#a8c7e8!important;border-color:#223852!important;
  box-shadow:0 8px 20px rgba(0,0,0,.38),0 0 16px rgba(24,131,255,.09)!important;
}
html[data-theme="dark"] .club-desktop-person-avatar>span,
html[data-theme="dark"] .club-desk2-directory-avatar>span{
  background:radial-gradient(circle at 30% 20%,rgba(128,183,255,.20),transparent 42%),linear-gradient(145deg,#223a5a,#182b45 58%,#142238)!important;
  color:#a8c9ed!important;text-shadow:0 1px 0 rgba(0,0,0,.5)!important;
  box-shadow:inset 0 1px 0 rgba(156,202,255,.10),inset 0 -8px 20px rgba(0,0,0,.16)!important;
}
html[data-theme="dark"] .club-desktop-person-actions button[data-club-dismiss],
html[data-theme="dark"] .club-desk2-directory-actions button[data-club-dismiss],
html[data-theme="dark"] .club-desktop-mix-dismiss{
  background:linear-gradient(180deg,#213651,#172941)!important;
  color:#c6d7ea!important;
  border-color:#36516f!important;
  box-shadow:0 6px 16px rgba(0,0,0,.34),0 0 16px rgba(45,139,255,.06),inset 0 1px 0 rgba(255,255,255,.06)!important;
}
html[data-theme="dark"] .club-desktop-person-actions button[data-club-dismiss]:hover,
html[data-theme="dark"] .club-desk2-directory-actions button[data-club-dismiss]:hover,
html[data-theme="dark"] .club-desktop-mix-dismiss:hover{
  background:linear-gradient(180deg,#294866,#1d3653)!important;
  color:#8ec6ff!important;border-color:#4f759d!important;
  box-shadow:0 8px 20px rgba(0,0,0,.42),0 0 24px rgba(43,139,255,.13)!important;
}
html[data-theme="dark"] .club-desk2-card-menu{
  background:linear-gradient(180deg,rgba(20,36,59,.99),rgba(13,25,43,.99))!important;
  border-color:rgba(86,139,202,.40)!important;
  box-shadow:0 24px 54px rgba(0,0,0,.62),0 0 0 1px rgba(121,181,255,.06) inset,0 0 34px rgba(0,119,255,.14)!important;
}
html[data-theme="dark"] .club-desk2-card-menu::before{background:linear-gradient(135deg,rgba(137,190,255,.075),transparent 42%,rgba(0,111,255,.06))}
html[data-theme="dark"] .club-desk2-card-menu a:hover,
html[data-theme="dark"] .club-desk2-card-menu button:hover{
  background:linear-gradient(90deg,#1a3150,#203b5d)!important;
  box-shadow:inset 0 0 0 1px rgba(95,169,255,.10),0 3px 12px rgba(0,0,0,.18)!important;
}
html[data-theme="dark"] .club-desktop-notification-card{
  background:linear-gradient(180deg,#14243a,#101d31)!important;
  border-color:#2b415e!important;
  box-shadow:0 9px 23px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.035)!important;
}
html[data-theme="dark"] .club-desktop-notification-card:hover{
  border-color:#3d6795!important;
  box-shadow:0 15px 32px rgba(0,0,0,.46),0 0 24px rgba(0,124,255,.08)!important;
}

/* ========================================================================
 * R119.4A DESK5C FIX14 — Home discovery cover hardening
 * ======================================================================== */
@media (min-width:650px) {
  /* The Home carousel gets its own painted backdrop directly on the cover
   * container. This is intentionally independent from lazy <img> painting:
   * real cover => crisp, avatar fallback => blurred, no media => gradient. */
  .club-desktop-person-cover::before{
    content:"";
    position:absolute;
    z-index:1;
    inset:0;
    pointer-events:none;
    background:linear-gradient(135deg,#d7eaff 0%,#edf5ff 48%,#dddfff 100%);
    background-image:var(--club-person-cover-image,linear-gradient(135deg,#d7eaff 0%,#edf5ff 48%,#dddfff 100%));
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
  }
  .club-desktop-person-cover.has-avatar-cover::before{
    inset:-26px;
    filter:blur(28px) saturate(.92) brightness(.80);
    transform:scale(1.22);
    opacity:.94;
  }
  .club-desktop-person-cover.has-real-cover::before{
    inset:0;
    filter:none;
    transform:none;
    opacity:1;
  }
  .club-desktop-person-cover.has-gradient-cover::before{
    background-image:
      radial-gradient(circle at 22% 18%,rgba(255,255,255,.78),transparent 34%),
      linear-gradient(135deg,#d7eaff 0%,#edf5ff 48%,#dddfff 100%);
  }
  .club-desktop-person-cover-link{z-index:2}
  .club-desktop-person-cover::after{z-index:4}
  .club-desktop-person-cover [data-club-dismiss]{z-index:6}
  .club-desktop-person-cover-image{visibility:visible!important;opacity:1}
  .club-desktop-person-cover-image.is-avatar-fallback{opacity:.88!important}
  .club-desktop-person-cover-image.is-real-cover{opacity:1!important}
}
html[data-theme="dark"] .club-desktop-person-cover.has-gradient-cover::before{
  background-image:
    radial-gradient(circle at 22% 18%,rgba(104,163,233,.14),transparent 34%),
    linear-gradient(135deg,#172a43 0%,#1b2d47 50%,#242642 100%);
}

/* ========================================================================
 * R119.4A DESK5C FIX15P1FIX1 — Home discovery geometry only
 * Phase 1/3 corrected: keep zero-width cover + dismiss fixes; composer layout restored to proven pre-FIX15P1 behavior.
 * ======================================================================== */
@media (min-width:650px) {
  /* The carousel card is a flex column. flex-basis on the cover controls the
   * vertical axis only; without an explicit cross-axis width the absolutely
   * positioned children can leave the cover at 0px wide. Make geometry
   * explicit so real covers, blurred avatar fallbacks and gradients paint. */
  .club-desktop-person-card--carousel > .club-desktop-person-cover {
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    align-self:stretch!important;
    flex:0 0 104px!important;
    box-sizing:border-box;
  }
  .club-desktop-person-card--carousel > .club-desktop-person-cover > .club-desktop-person-cover-link {
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    display:block!important;
  }
  .club-desktop-person-card--carousel > .club-desktop-person-cover::before,
  .club-desktop-person-card--carousel > .club-desktop-person-cover::after {
    box-sizing:border-box;
  }

  /* Dismiss stays physically inside the cover at every desktop width. */
  .club-desktop-person-card--carousel > .club-desktop-person-cover > [data-club-dismiss] {
    position:absolute!important;
    inset-block-start:8px!important;
    inset-inline-end:8px!important;
    right:8px!important;
    left:auto!important;
    top:8px!important;
    margin:0!important;
    transform:none!important;
    z-index:12!important;
    flex:0 0 auto!important;
  }

  /* Protect the card itself from cross-axis shrink artefacts. */
  .club-desktop-person-card--carousel {
    align-items:stretch!important;
  }
}

/* ========================================================================
 * R119.4A DESK5C FIX15P2 — Home discovery compact identity/menu parity
 * ======================================================================== */
@media (min-width:650px) {
  /* Home carousel cards reuse the directory action language but remain much
   * denser: avatar + name/reason share one row, technical @handle is removed. */
  .club-desktop-person-card--carousel {
    overflow:visible;
    min-height:0;
    isolation:isolate;
  }
  .club-desktop-person-card--carousel .club-desktop-person-cover {
    border-radius:14px 14px 0 0;
  }
  .club-desktop-person-card--carousel .club-home-person-card-menu-wrap {
    z-index:70;
    top:8px;
    right:8px;
  }
  .club-desktop-person-card--carousel:hover .club-home-person-card-menu-wrap .club-desk2-card-menu-toggle,
  .club-home-person-card-menu-wrap .club-desk2-card-menu-toggle:focus-visible,
  .club-home-person-card-menu-wrap .club-desk2-card-menu-toggle[aria-expanded="true"] {
    opacity:1;
    pointer-events:auto;
  }
  .club-home-person-card-menu {
    z-index:2147482000!important;
    width:198px;
    border-color:rgba(70,133,205,.32)!important;
    box-shadow:
      0 24px 54px rgba(13,37,68,.27),
      0 0 0 1px rgba(255,255,255,.88) inset,
      0 0 32px rgba(31,132,255,.14)!important;
  }
  .club-desktop-person-carousel-body {
    padding:8px 10px 10px;
    min-height:0;
  }
  .club-desktop-person-carousel-identity {
    position:relative;
    display:grid;
    grid-template-columns:58px minmax(0,1fr);
    gap:8px;
    min-height:58px;
    margin-top:-30px;
    align-items:start;
    z-index:5;
  }
  .club-desktop-person-avatar--carousel {
    position:relative;
    left:auto;
    top:auto;
    width:58px;
    height:58px;
    border-width:3px;
    box-shadow:
      0 8px 20px rgba(20,55,90,.22),
      0 0 0 1px rgba(255,255,255,.82),
      0 0 18px rgba(33,132,255,.10);
  }
  .club-desktop-person-carousel-copy {
    min-width:0;
    padding-top:32px;
  }
  .club-desktop-person-carousel-name {
    display:block;
    margin:0;
    padding:0;
    color:#17243a;
    text-decoration:none;
  }
  .club-desktop-person-carousel-name strong {
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.82rem;
    line-height:1.15;
  }
  .club-desktop-person-carousel-copy>p {
    display:-webkit-box;
    min-height:2.35em;
    margin:4px 0 0;
    overflow:hidden;
    color:#4a6079;
    font-size:.68rem;
    line-height:1.18;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
  }
  .club-desktop-person-carousel-topics {
    display:flex;
    flex-wrap:wrap;
    align-content:flex-start;
    gap:3px;
    min-height:30px;
    max-height:30px;
    margin:6px 0 0;
    overflow:hidden;
  }
  .club-desktop-person-carousel-topics span {
    white-space:nowrap;
    font-size:.57rem;
    line-height:1.15;
    padding:2px 5px;
  }
  .club-desktop-person-carousel-actions {
    display:grid;
    grid-template-columns:minmax(0,1fr) 30px;
    gap:6px;
    align-items:center;
    margin-top:6px;
  }
  .club-desktop-person-card--carousel .club-desktop-person-carousel-actions [data-club-follow] {
    width:100%;
    min-height:29px;
    padding:4px 9px;
    border-radius:9px;
  }
  .club-desktop-person-carousel-actions [data-club-dismiss] {
    width:30px;
    height:29px;
    padding:0;
    border:1px solid rgba(92,132,178,.20);
    border-radius:9px;
    background:linear-gradient(180deg,#f5f9fd,#edf4fb);
    color:#61758d;
    font-size:.88rem;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 4px 12px rgba(20,55,90,.08),inset 0 1px 0 rgba(255,255,255,.9);
  }
  .club-desktop-person-carousel-actions [data-club-dismiss]:hover {
    color:#156fc8;
    border-color:rgba(28,126,233,.34);
    background:linear-gradient(180deg,#fff,#eef7ff);
    box-shadow:0 7px 16px rgba(23,103,190,.13),0 0 14px rgba(39,137,255,.10);
  }
  /* Two reserved topic lines + fixed action row keep Follow buttons aligned. */
  .club-desktop-person-card--carousel .club-desktop-person-carousel-body {
    flex:1 1 auto;
  }
}
html[data-theme="dark"] .club-desktop-person-carousel-name { color:#eff6ff!important; }
html[data-theme="dark"] .club-desktop-person-carousel-copy>p { color:#aebfd3!important; }
html[data-theme="dark"] .club-desktop-person-carousel-actions [data-club-dismiss] {
  border-color:#314761!important;
  background:linear-gradient(180deg,#20314a,#182840)!important;
  color:#c8d7e8!important;
  box-shadow:0 5px 14px rgba(0,0,0,.24),0 0 16px rgba(61,142,255,.08),inset 0 1px 0 rgba(255,255,255,.055)!important;
}
html[data-theme="dark"] .club-desktop-person-carousel-actions [data-club-dismiss]:hover {
  border-color:#4776a9!important;
  background:linear-gradient(180deg,#29405f,#20334e)!important;
  color:#eef6ff!important;
  box-shadow:0 8px 20px rgba(0,0,0,.32),0 0 20px rgba(61,142,255,.15)!important;
}

/* ========================================================================
 * R119.4A DESK5C FIX15P2FIX1 — dedicated directory = compact Home parity
 * ======================================================================== */
@media (min-width:650px) {
  /* Four compact cards on large desktop. Unlike auto-fit, an incomplete row
   * does not stretch three remaining members into oversized cards. */
  .club-desktop-directory-stage .club-desk2-directory-grid {
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:12px!important;
    align-items:stretch!important;
  }
  .club-desktop-directory-stage .club-desk2-directory-card--compact {
    min-width:0!important;
    width:100%!important;
    max-width:none!important;
    height:100%!important;
  }
  /* The directory surface intentionally inherits the exact Home compact card
   * internals: cover, avatar/name row, two-line topics and aligned actions. */
  .club-desktop-directory-stage .club-desk2-directory-card--compact .club-desktop-person-carousel-body {
    min-height:0!important;
  }
  .club-desktop-directory-stage .club-desk2-directory-card--compact .club-desktop-person-carousel-copy>p {
    min-height:2.35em;
  }
}
@media (min-width:650px) and (max-width:1499.98px) {
  .club-desktop-directory-stage .club-desk2-directory-grid {
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media (min-width:650px) and (max-width:1199.98px) {
  .club-desktop-directory-stage .club-desk2-directory-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media (min-width:650px) and (max-width:899.98px) {
  .club-desktop-directory-stage .club-desk2-directory-grid {
    grid-template-columns:1fr!important;
  }
}
html[data-theme="dark"] .club-desktop-directory-stage .club-desk2-directory-card--compact {
  /* No alternate dark card skin: inherit the validated Home premium treatment. */
  color:inherit;
}



/* ========================================================================
 * R119.4A DESK5C FIX15P3 — Favorites artwork-first parity with Music Room
 * ======================================================================== */
@media (min-width:650px) {
  body.club-r1194-desktop-shell .club-music-library-head{
    display:flex;align-items:end;justify-content:space-between;gap:16px;margin:0 0 16px;padding:14px 16px;
    border:1px solid rgba(62,99,141,.16);border-radius:16px;background:linear-gradient(180deg,#fff,#f9fcff);
    box-shadow:0 10px 28px rgba(15,54,96,.09),0 0 0 1px rgba(255,255,255,.75) inset;
  }
  body.club-r1194-desktop-shell .club-music-library-head h1{margin:0;color:#17243a;font-size:1.16rem;font-weight:900}
  body.club-r1194-desktop-shell .club-music-library-head p{margin:4px 0 0;color:#6a7e95;font-size:.78rem}
  body.club-r1194-desktop-shell .club-music-library-head>a{flex:0 0 auto;text-decoration:none;color:#0875de;font-size:.78rem;font-weight:850}
  body.club-r1194-desktop-shell .club-desk2-favorites-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px!important;align-items:start}
  body.club-r1194-desktop-shell .club-desk2-favorite-card--artwork{
    display:block!important;min-width:0;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
  }
  body.club-r1194-desktop-shell .club-desk2-favorite-artwork-shell{position:relative;aspect-ratio:1;isolation:isolate}
  body.club-r1194-desktop-shell .club-desk2-favorite-card--artwork .club-desk2-favorite-cover{
    position:absolute;inset:0;width:100%;height:100%;border-radius:14px;overflow:hidden;border:1px solid rgba(65,101,143,.16);
    background:linear-gradient(145deg,#eaf2fb,#dce9f7);box-shadow:0 8px 22px rgba(18,48,82,.11),0 0 0 1px rgba(255,255,255,.72) inset;
    transition:transform .18s ease,border-color .18s ease,box-shadow .2s ease;
  }
  body.club-r1194-desktop-shell .club-desk2-favorite-card--artwork .club-desk2-favorite-cover::after{
    content:"";position:absolute;inset:0;z-index:2;opacity:0;pointer-events:none;background:linear-gradient(180deg,rgba(4,14,29,.02) 28%,rgba(3,13,28,.64) 100%);transition:opacity .18s ease;
  }
  body.club-r1194-desktop-shell .club-desk2-favorite-card--artwork .club-desk2-favorite-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .24s ease}
  body.club-r1194-desktop-shell .club-desk2-favorite-card--artwork:hover .club-desk2-favorite-cover,
  body.club-r1194-desktop-shell .club-desk2-favorite-card--artwork:focus-within .club-desk2-favorite-cover{
    transform:translateY(-2px);border-color:rgba(35,132,244,.40);box-shadow:0 18px 38px rgba(15,55,103,.20),0 0 30px rgba(25,132,255,.13),0 0 0 1px rgba(255,255,255,.88) inset;
  }
  body.club-r1194-desktop-shell .club-desk2-favorite-card--artwork:hover .club-desk2-favorite-cover::after,
  body.club-r1194-desktop-shell .club-desk2-favorite-card--artwork:focus-within .club-desk2-favorite-cover::after{opacity:1}
  body.club-r1194-desktop-shell .club-desk2-favorite-card--artwork:hover .club-desk2-favorite-cover img,
  body.club-r1194-desktop-shell .club-desk2-favorite-card--artwork:focus-within .club-desk2-favorite-cover img{transform:scale(1.022)}
  body.club-r1194-desktop-shell .club-desk2-favorite-artwork-actions{
    position:absolute;z-index:7;right:12px;bottom:12px;opacity:0;transform:translateY(7px) scale(.97);pointer-events:none;transition:opacity .16s ease,transform .16s ease;
  }
  body.club-r1194-desktop-shell .club-desk2-favorite-card--artwork:hover .club-desk2-favorite-artwork-actions,
  body.club-r1194-desktop-shell .club-desk2-favorite-card--artwork:focus-within .club-desk2-favorite-artwork-actions{opacity:1;transform:none;pointer-events:auto}
  body.club-r1194-desktop-shell .club-desk2-favorite-card--artwork .club-desk5c-favorite-play{
    width:46px!important;height:46px!important;min-width:46px!important;border-radius:999px!important;border:1px solid rgba(255,255,255,.72)!important;
    background:linear-gradient(180deg,#1f8cff,#096ee3)!important;color:#fff!important;box-shadow:0 10px 24px rgba(4,38,92,.35),0 0 22px rgba(39,139,255,.22),inset 0 1px 0 rgba(255,255,255,.30)!important;
  }
  body.club-r1194-desktop-shell .club-desk2-favorite-card--artwork .club-desk2-favorite-copy{padding:9px 2px 0!important;min-width:0}
  body.club-r1194-desktop-shell .club-desk2-favorite-card--artwork .club-desk2-favorite-copy strong{font-size:.9rem!important;font-weight:900;color:#17243a}
  body.club-r1194-desktop-shell .club-desk2-favorite-card--artwork .club-desk2-favorite-copy span{font-size:.72rem!important;color:#6b7e95!important}
  body.club-r1194-desktop-shell .club-desk5c-favorite-cover-fallback{font-size:2.5rem}
}
@media (min-width:1768px){body.club-r1194-desktop-shell .club-desk2-favorites-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}}
@media (min-width:1374px) and (max-width:1767.98px){body.club-r1194-desktop-shell .club-desk2-favorites-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media (min-width:968px) and (max-width:1373.98px){body.club-r1194-desktop-shell .club-desk2-favorites-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (hover:none) and (min-width:650px){body.club-r1194-desktop-shell .club-desk2-favorite-artwork-actions{opacity:1;transform:none;pointer-events:auto}}
html[data-theme="dark"] body.club-r1194-desktop-shell .club-music-library-head{
  background:linear-gradient(180deg,#14243a,#101d31)!important;border-color:rgba(86,139,202,.30)!important;box-shadow:0 12px 30px rgba(0,0,0,.30),0 0 0 1px rgba(121,181,255,.04) inset!important;
}
html[data-theme="dark"] body.club-r1194-desktop-shell .club-music-library-head h1{color:#eef6ff!important}
html[data-theme="dark"] body.club-r1194-desktop-shell .club-music-library-head p{color:#91a7c1!important}
html[data-theme="dark"] body.club-r1194-desktop-shell .club-desk2-favorite-card--artwork .club-desk2-favorite-cover{
  background:linear-gradient(145deg,#17283f,#101c2e)!important;border-color:rgba(105,151,204,.24)!important;box-shadow:0 9px 24px rgba(0,0,0,.32),0 0 0 1px rgba(140,187,242,.045) inset!important;
}
html[data-theme="dark"] body.club-r1194-desktop-shell .club-desk2-favorite-card--artwork:hover .club-desk2-favorite-cover,
html[data-theme="dark"] body.club-r1194-desktop-shell .club-desk2-favorite-card--artwork:focus-within .club-desk2-favorite-cover{
  border-color:rgba(72,154,255,.52)!important;box-shadow:0 20px 42px rgba(0,0,0,.48),0 0 30px rgba(0,119,255,.15),0 0 0 1px rgba(144,193,255,.07) inset!important;
}
html[data-theme="dark"] body.club-r1194-desktop-shell .club-desk2-favorite-card--artwork .club-desk2-favorite-copy strong{color:#eef6ff!important}
html[data-theme="dark"] body.club-r1194-desktop-shell .club-desk2-favorite-card--artwork .club-desk2-favorite-copy span{color:#91a7c1!important}

/* ========================================================================
 * R119.4A DESK5C FIX15P3FIX1 — Home compact headers + Music→Home shelf reset
 * ======================================================================== */
@media (min-width:650px) {
  /* Feed mode switch: keep the two-line meaning but remove the excessive air. */
  body.club-r1194-desktop-shell .club-feed-mode-switch {
    margin-top:14px!important;
    margin-bottom:10px!important;
    padding:2px 4px!important;
    gap:6px!important;
    border-radius:12px!important;
  }
  body.club-r1194-desktop-shell .club-feed-mode-tab {
    min-height:0!important;
    gap:0!important;
    padding:4px 8px!important;
    border-radius:9px!important;
  }
  body.club-r1194-desktop-shell .club-feed-mode-tab-title {
    font-size:.86rem!important;
    line-height:1.02!important;
  }
  body.club-r1194-desktop-shell .club-feed-mode-tab-caption {
    margin-top:1px!important;
    font-size:.61rem!important;
    line-height:1.05!important;
  }

  /* Home recommendation headings are now one blue line only. */
  body.club-r1194-desktop-shell .club-desktop-mix-section--carousel>header {
    min-height:26px!important;
    margin-bottom:5px!important;
    align-items:center!important;
  }
  body.club-r1194-desktop-shell .club-desktop-mix-section--carousel>header>div:first-child {
    min-width:0!important;
  }
  body.club-r1194-desktop-shell .club-desktop-mix-section--carousel>header span {
    display:block!important;
    overflow:hidden!important;
    color:#1684ff!important;
    font-size:.72rem!important;
    font-weight:900!important;
    line-height:1.1!important;
    letter-spacing:.035em!important;
    text-overflow:ellipsis!important;
    text-transform:none!important;
    white-space:nowrap!important;
  }
  body.club-r1194-desktop-shell .club-desktop-mix-section--carousel>header h2:empty,
  body.club-r1194-desktop-shell .club-desktop-mix-section--carousel>header p:empty { display:none!important; }

  /* The Music page injects persistent CSS/JS for the player. On return to Home,
   * the artwork must remain a strict square regardless of late stylesheet order. */
  body.club-r1194-desktop-shell .club-desktop-mix-host--music .club-desktop-album-card--carousel .club-desktop-album-artwork {
    position:relative!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:1 / 1!important;
    overflow:visible!important;
  }
  body.club-r1194-desktop-shell .club-desktop-mix-host--music .club-desktop-album-card--carousel a.club-desktop-album-cover {
    position:absolute!important;
    inset:0!important;
    box-sizing:border-box!important;
    display:block!important;
    width:auto!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    line-height:0!important;
    overflow:hidden!important;
  }
  body.club-r1194-desktop-shell .club-desktop-mix-host--music .club-desktop-album-card--carousel a.club-desktop-album-cover>img {
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    max-width:none!important;
    height:100%!important;
    max-height:none!important;
    padding:0!important;
    margin:0!important;
    object-fit:cover!important;
    object-position:center!important;
    vertical-align:top!important;
  }
}
@media (max-width:649.98px) {
  .club-feed-mode-switch { padding:.18rem!important; margin-bottom:.65rem!important; }
  .club-feed-mode-tab { padding:.48rem .36rem!important; }
}
html[data-theme="dark"] body.club-r1194-desktop-shell .club-desktop-mix-section--carousel>header span { color:#55aaff!important; }

/* R119.4A DESK5C FIX15P3FIX3 — rich full-page notifications.
   Navbar dropdown remains compact; these selectors only affect the account page. */
#accountNotificationsList .account-notification-item {
  border-radius:18px!important;
  padding:.88rem 1rem!important;
  background:linear-gradient(180deg,var(--site-surface),color-mix(in srgb,var(--site-surface) 88%,var(--site-surface-2) 12%))!important;
  box-shadow:0 8px 22px rgba(23,52,86,.055),0 1px 0 rgba(255,255,255,.82) inset;
}
#accountNotificationsList .account-notification-item.is-unread {
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--site-link) 28%,transparent),0 10px 26px rgba(23,74,135,.08)!important;
}
#accountNotificationsList .notification-item-layout {
  grid-template-columns:3.15rem minmax(0,1fr) auto .65rem!important;
  gap:.86rem!important;
  align-items:start!important;
}
#accountNotificationsList .notification-avatar-wrap { width:3.15rem;height:3.15rem; }
#accountNotificationsList .notification-main { min-width:0;display:flex;flex-direction:column;gap:.34rem; }
#accountNotificationsList .notification-facebook-copy {
  display:block!important;
  overflow:visible!important;
  -webkit-line-clamp:unset!important;
  font-size:.94rem!important;
  line-height:1.3!important;
}
#accountNotificationsList .notification-rich-context {
  width:min(42rem,100%);
  min-width:0;
  display:grid;
  grid-template-columns:5rem minmax(0,1fr);
  gap:.72rem;
  align-items:center;
  margin-top:.18rem;
  padding:.5rem .58rem;
  border:1px solid color-mix(in srgb,var(--site-border) 78%,var(--site-link) 22%);
  border-radius:13px;
  background:color-mix(in srgb,var(--site-surface-2) 88%,var(--site-link) 12%);
  box-shadow:0 5px 14px rgba(15,51,91,.05),0 1px 0 rgba(255,255,255,.72) inset;
}
#accountNotificationsList .notification-rich-context:not(:has(img)) { grid-template-columns:minmax(0,1fr); }
#accountNotificationsList .notification-rich-context img {
  width:5rem;height:3.6rem;object-fit:cover;display:block;border-radius:9px;
  box-shadow:0 5px 13px rgba(15,42,76,.13);
}
#accountNotificationsList .notification-rich-context.is-music img { width:4rem;height:4rem;border-radius:9px; }
#accountNotificationsList .notification-rich-context.is-music { grid-template-columns:4rem minmax(0,1fr);width:min(34rem,100%); }
#accountNotificationsList .notification-rich-context-copy { min-width:0;display:flex;flex-direction:column;gap:.12rem; }
#accountNotificationsList .notification-rich-context-copy strong { color:var(--site-text);font-size:.88rem;line-height:1.22;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
#accountNotificationsList .notification-rich-context-copy span { color:var(--site-text-muted);font-size:.79rem;line-height:1.28;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden; }
#accountNotificationsList .notification-rich-context-copy small { color:var(--site-link);font-size:.72rem;font-weight:650; }
#accountNotificationsList .notification-rich-action {
  align-self:center;
  justify-self:end;
  display:inline-flex;align-items:center;justify-content:center;
  min-height:2.2rem;padding:.4rem .88rem;border:1px solid color-mix(in srgb,var(--site-link) 74%,var(--site-border) 26%);
  border-radius:999px;background:var(--site-surface);color:var(--site-link);font-size:.78rem;font-weight:750;text-decoration:none;
  box-shadow:0 5px 14px rgba(28,104,205,.08);
}
#accountNotificationsList .notification-rich-action:hover,
#accountNotificationsList .notification-rich-action:focus-visible { background:color-mix(in srgb,var(--site-surface) 82%,var(--site-link) 18%);outline:none; }
:root[data-theme="dark"] #accountNotificationsList .account-notification-item {
  background:linear-gradient(180deg,#132139,#101c30)!important;
  border-color:#30445f!important;
  box-shadow:0 10px 25px rgba(0,0,0,.22),0 1px 0 rgba(255,255,255,.025) inset;
}
:root[data-theme="dark"] #accountNotificationsList .notification-rich-context {
  background:linear-gradient(180deg,#172740,#122036);border-color:#35506f;box-shadow:0 6px 17px rgba(0,0,0,.20);
}
:root[data-theme="dark"] #accountNotificationsList .notification-rich-action { background:#16263e;border-color:#4771a3;color:#8fc1ff; }
@media(max-width:760px){
  #accountNotificationsList .notification-item-layout{grid-template-columns:2.8rem minmax(0,1fr) .55rem!important;gap:.68rem!important}
  #accountNotificationsList .notification-rich-action{grid-column:2;justify-self:start;margin-top:.15rem}
  #accountNotificationsList .notification-rich-context{grid-template-columns:4.2rem minmax(0,1fr)}
  #accountNotificationsList .notification-rich-context img{width:4.2rem;height:3.2rem}
}



/* R119.4A DESK5C FIX15P3FIX4 — Messages: no phantom document height. */
@media (min-width:650px) {
  body.club-r1194-desktop-shell.club-desktop-messages-page {
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }
  body.club-r1194-desktop-shell.club-desktop-messages-page #site-shell-main,
  body.club-r1194-desktop-shell.club-desktop-messages-page.club-desktop-left-collapsed #site-shell-main,
  body.club-r1194-desktop-shell.club-desktop-messages-page.club-desktop-right-collapsed #site-shell-main,
  body.club-r1194-desktop-shell.club-desktop-messages-page.club-desktop-player-docked-right #site-shell-main {
    min-height:calc(100dvh - var(--club-desktop-shell-top))!important;
    padding-bottom:0!important;
  }
  body.club-r1194-desktop-shell.club-desktop-messages-page #site-shell-content,
  body.club-r1194-desktop-shell.club-desktop-messages-page #site-shell-content.club-desktop-messages-stage {
    min-height:0!important;
    padding-bottom:0!important;
  }
  body.club-r1194-desktop-shell.club-desktop-messages-page #site-shell-legal-footer { display:none!important; }
}


/* R119.4A DESK5C FIX15P3FIX5 — browser closure: Messages consumes the real
   viewport box. No document overflow masking: the surface itself is exactly sized. */
@media (min-width:650px) {
  body.club-r1194-desktop-shell.club-desktop-messages-page #site-shell-root {
    min-height:100dvh!important;
    height:100dvh!important;
  }
  body.club-r1194-desktop-shell.club-desktop-messages-page #site-shell-main,
  body.club-r1194-desktop-shell.club-desktop-messages-page.club-desktop-left-collapsed #site-shell-main,
  body.club-r1194-desktop-shell.club-desktop-messages-page.club-desktop-right-collapsed #site-shell-main,
  body.club-r1194-desktop-shell.club-desktop-messages-page.club-desktop-player-docked-right #site-shell-main {
    box-sizing:border-box!important;
    height:calc(100dvh - var(--club-desktop-shell-top))!important;
    min-height:0!important;
    max-height:calc(100dvh - var(--club-desktop-shell-top))!important;
    margin-top:var(--club-desktop-shell-top)!important;
    padding-top:0!important;
    padding-bottom:0!important;
  }
  body.club-r1194-desktop-shell.club-desktop-messages-page #site-shell-content[data-shell-page="messages"],
  body.club-r1194-desktop-shell.club-desktop-messages-page #site-shell-content.club-desktop-messages-stage {
    box-sizing:border-box!important;
    display:flex!important;
    flex-direction:column!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    margin:0!important;
    padding:10px 0 0!important;
  }
  body.club-r1194-desktop-shell.club-desktop-messages-page #site-shell-content[data-shell-page="messages"] > .messaging-page,
  body.club-r1194-desktop-shell.club-desktop-messages-page .messaging-page {
    flex:1 1 0!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
  }
  body.club-r1194-desktop-shell.club-desktop-messages-page #site-shell-player-zone:empty,
  body.club-r1194-desktop-shell.club-desktop-messages-page #site-shell-legal-footer {display:none!important}
}


/* R119.4A DESK5C FIX15P3FIX5 — one rich full-screen notification grammar. */
@media (min-width:650px) {
  .club-desktop-notification-list{gap:10px!important}
  .club-desktop-notification-card{padding:12px 14px!important;border-radius:17px!important;overflow:visible!important;box-shadow:0 8px 24px rgba(28,70,120,.065),0 1px 0 rgba(255,255,255,.82) inset!important}
  .club-desktop-notification-card .notification-item-layout{display:grid!important;grid-template-columns:3.15rem minmax(0,1fr) auto auto .65rem!important;gap:.82rem!important;align-items:start!important}
  .club-desktop-notification-card .notification-avatar-wrap{position:relative;width:3.15rem;height:3.15rem;align-self:start}
  .club-desktop-notification-card .notification-avatar{width:3.15rem;height:3.15rem;border-radius:50%;object-fit:cover;display:grid;place-items:center}
  .club-desktop-notification-card .notification-type-badge{position:absolute;right:-.18rem;bottom:-.18rem;width:1.55rem;height:1.55rem;border-radius:50%;display:grid;place-items:center;border:2px solid var(--site-surface,#fff);box-shadow:0 3px 9px rgba(20,47,82,.18);z-index:2}
  .club-desktop-notification-card .notification-main{min-width:0!important;display:flex!important;flex-direction:column!important;gap:.32rem!important}
  .club-desktop-notification-card .notification-facebook-copy{font-size:.93rem!important;line-height:1.34!important}
  .club-desktop-notification-card .notification-actor{display:inline!important;font-size:inherit!important;font-weight:800!important}
  .club-desktop-notification-context{display:grid;grid-template-columns:5.4rem minmax(0,1fr);align-items:center;gap:.7rem;width:min(46rem,100%);margin-top:.16rem;padding:.48rem .55rem;border:1px solid color-mix(in srgb,var(--site-border,#dce5f0) 80%,var(--site-link,#0d6efd) 20%);border-radius:13px;background:color-mix(in srgb,var(--site-surface-2,#f5f8fc) 90%,var(--site-link,#0d6efd) 10%);box-shadow:0 5px 14px rgba(22,62,107,.055)}
  .club-desktop-notification-context img,.club-desktop-notification-context-fallback{width:5.4rem;height:3.65rem;border-radius:9px;object-fit:cover;display:grid;place-items:center;background:var(--site-surface-2,#edf3fa);overflow:hidden}
  .club-desktop-notification-context.is-music{grid-template-columns:4.2rem minmax(0,1fr);width:min(36rem,100%)}
  .club-desktop-notification-context.is-music img,.club-desktop-notification-context.is-music .club-desktop-notification-context-fallback{width:4.2rem;height:4.2rem}
  .club-desktop-notification-context-copy{min-width:0;display:flex;flex-direction:column;gap:.12rem}
  .club-desktop-notification-context-copy strong{display:block!important;color:var(--site-text,#1f3046)!important;font-size:.87rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .club-desktop-notification-context-copy span{color:var(--site-text-muted,#6f8198);font-size:.78rem;line-height:1.28;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
  .club-desktop-notification-context-copy small{color:var(--site-link,#0d6efd);font-size:.71rem;font-weight:700}
  .club-desktop-notification-primary{align-self:center;justify-self:end;display:inline-flex;align-items:center;justify-content:center;padding:.42rem .9rem;border:1px solid var(--site-link,#0d6efd);border-radius:999px;background:var(--site-surface,#fff);color:var(--site-link,#0d6efd);font-weight:800;font-size:.76rem;text-decoration:none;white-space:nowrap;box-shadow:0 5px 14px rgba(13,110,253,.10)}
  .club-desktop-notification-more{align-self:start;width:2rem;height:2rem;display:grid;place-items:center;border-radius:50%!important}
  .club-desktop-notification-card .notification-type-reaction-love{background:#f02849!important;color:#fff!important}
  .club-desktop-notification-card .notification-type-reaction-like{background:#0866ff!important;color:#fff!important}
  .club-desktop-notification-card .notification-type-reaction-care,.club-desktop-notification-card .notification-type-reaction-haha,.club-desktop-notification-card .notification-type-reaction-wow,.club-desktop-notification-card .notification-type-reaction-sad,.club-desktop-notification-card .notification-type-reaction-angry{background:#f7b125!important;color:#fff!important}
  .club-desktop-notification-card .notification-type-comment{background:#31a24c!important;color:#fff!important}
  .club-desktop-notification-card .notification-type-follow{background:#0866ff!important;color:#fff!important}
  .club-desktop-notification-card .notification-type-system,.club-desktop-notification-card .notification-type-generic{background:#667085!important;color:#fff!important}
  html[data-theme="dark"] .club-desktop-notification-context{background:#13243c;border-color:#35506f;box-shadow:0 6px 17px rgba(0,0,0,.22)}
  html[data-theme="dark"] .club-desktop-notification-primary{background:#16263e;border-color:#5b92d6;color:#9ac7ff}
}
@media (max-width:900px) and (min-width:650px){
 .club-desktop-notification-card .notification-item-layout{grid-template-columns:2.8rem minmax(0,1fr) auto .55rem!important}.club-desktop-notification-primary{grid-column:2;justify-self:start}.club-desktop-notification-more{display:none!important}
}

.notification-type-badge.notification-type-reaction-care{background:#f7b125!important;color:#fff!important}
