/* ════════════════════════════════════════════════════════════════
   HM-themes.css — Thèmes sélectionnables pour l'accueil v2 (HM)

   Activation : classe sur body, ex. body.HM-theme-night-sea
   Désactivation implicite quand night mode actif (mer rouge prime).
   Chaque thème surcharge HM.css via spécificité (body.HM-theme-X).

   Thèmes actuels :
     - night-sea   : nuit en mer, dark premium, glass-morphism, néons
     - radar       : radar Ingress, HUD gaming vert phosphore, grille géodésique
     (à venir : papier nautique, liquid glass, côte atlantique, régate)
   ════════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@500;600;700&family=Share+Tech+Mono&display=swap');


/* ═══════════════════════════════════════════════════════════════════
   THÈME : NIGHT SEA  (nuit en mer — dark premium)
   ═══════════════════════════════════════════════════════════════════ */

body.HM-theme-night-sea:not(.gn-night-mode),
html.HM-theme-night-sea:not(.gn-night-mode) body {
  /* Variables CSS — override le `body.GN-root { --muted: #64748b; ... }` de GN.css
   * grâce à la spécificité plus haute (body + class + pseudo-class).
   * Couvre tous les `var(--muted)` etc. dans les asides home (KPI, gazette, marées,
   * fenêtre portuaire, météo) sans avoir à cibler chaque classe. */
  --text:    #e0eaf5;
  --muted:   #b5c7dd;
  --brand:   #63e2ff;
  --brand-2: #2f9fc4;
  --card-bg: rgba(255,255,255,0.05);
  --surface-2: rgba(255,255,255,0.03);
  --bd:      rgba(255,255,255,0.12);
  --ok:      #63e2ff;
  --danger:  #ff8a8a;
  --logo-filter: brightness(0) invert(1);  /* header sombre → logo blanc */
  --logo-text:   #ffffff;
  background: radial-gradient(ellipse at 50% -10%, #0d2b4a 0%, #05111e 60%, #02080f 100%) !important;
  color: #e0eaf5;
  position: relative;
  min-height: 100vh;
}

/* Fix 2026-05-26 : certaines pages (objets/new.php, ...) ont .GN-root sur un
   <main> au lieu du <body>. .GN-root (défini dans GN.css) re-déclare les vars
   --card-bg=#fff etc. localement, ce qui ÉCRASE les overrides night-sea du body.
   Résultat : carte blanche sur fond night-sea (texte invisible dans le contraste).
   On re-injecte les vars night-sea sur TOUT .GN-root descendant, pas juste body. */
html.HM-theme-night-sea:not(.gn-night-mode) .GN-root {
  --text:    #e0eaf5;
  --muted:   #b5c7dd;
  --brand:   #63e2ff;
  --brand-2: #2f9fc4;
  --card-bg: rgba(255,255,255,0.05);
  --surface-2: rgba(255,255,255,0.03);
  --bd:      rgba(255,255,255,0.12);
  --ok:      #63e2ff;
  --danger:  #ff8a8a;
  color: #e0eaf5;
}

/* Header principal (barre du haut) — bleu nuit cohérent */
html.HM-theme-night-sea:not(.gn-night-mode) .header2-bar {
  background: linear-gradient(180deg, #0a1f3a 0%, #071629 100%) !important;
  border-bottom: 1px solid rgba(120,200,255,0.10);
  box-shadow: 0 2px 20px rgba(0,0,0,0.4);
}
html.HM-theme-night-sea:not(.gn-night-mode) .header2-bar .header2-link,
html.HM-theme-night-sea:not(.gn-night-mode) .header2-bar .header2-dropbtn { color: #d5e3f5; }
html.HM-theme-night-sea:not(.gn-night-mode) .header2-bar .header2-link:hover,
html.HM-theme-night-sea:not(.gn-night-mode) .header2-bar .header2-dropbtn:hover { color: #ffffff; }

/* Drawer mobile (menu burger) */
html.HM-theme-night-sea:not(.gn-night-mode) .header2-drawer {
  background: linear-gradient(180deg, #0a1f3a 0%, #05111e 100%) !important;
  color: #d5e3f5;
  box-shadow: 4px 0 30px rgba(0,0,0,0.6);
}
html.HM-theme-night-sea:not(.gn-night-mode) .header2-drawer a,
html.HM-theme-night-sea:not(.gn-night-mode) .header2-drawer .header2-dropbtn { color: #d5e3f5; }
html.HM-theme-night-sea:not(.gn-night-mode) .header2-drawer a:hover { background: rgba(255,255,255,0.06); }
html.HM-theme-night-sea:not(.gn-night-mode) .header2-drawer .header2-dropdown-content {
  background: var(--card-bg, rgba(255,255,255,0.04));
  border-radius: 8px;
}

/* Sous-menus du header DESKTOP (déroulants depuis la barre top) */
html.HM-theme-night-sea:not(.gn-night-mode) .header2-bar .header2-dropdown-content {
  background: rgba(10,26,46,0.98) !important;
  border-color: var(--bd, rgba(255,255,255,0.12)) !important;
  box-shadow: 0 10px 30px rgba(0,0,0,0.5) !important;
  backdrop-filter: blur(16px);
}
html.HM-theme-night-sea:not(.gn-night-mode) .header2-bar .header2-dropdown-content a {
  background: transparent !important;
  color: #d5e3f5 !important;
  border-bottom-color: rgba(255,255,255,0.06) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) .header2-bar .header2-dropdown-content a:hover {
  background: rgba(99,226,255,0.12) !important;
  color: #ffffff !important;
}

/* Avatar (badge/menu) dans le thème nuit */
html.HM-theme-night-sea:not(.gn-night-mode) .HD-avatar-menu {
  background: rgba(10, 26, 46, 0.98);
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 10px 40px rgba(0,0,0,0.7);
  backdrop-filter: blur(20px);
}
html.HM-theme-night-sea:not(.gn-night-mode) .HD-avatar-menu a { color: #d5e3f5; }
html.HM-theme-night-sea:not(.gn-night-mode) .HD-avatar-menu a:hover { background: rgba(255,255,255,0.08); color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .HD-avatar-menu-logout { border-top-color: var(--bd, rgba(255,255,255,0.12)); color: #ff8a8a !important; }
html.HM-theme-night-sea:not(.gn-night-mode) .HD-avatar-menu-logout:hover { background: rgba(255, 80, 80, 0.15) !important; color: #ffb0b0 !important; }
html.HM-theme-night-sea:not(.gn-night-mode) .HD-avatar-menu-theme { border-top-color: var(--bd, rgba(255,255,255,0.12)); color: #d5e3f5; }
html.HM-theme-night-sea:not(.gn-night-mode) .HD-theme-btn {
  background: rgba(255,255,255,0.06) !important;
  color: #d5e3f5 !important;
  border-color: rgba(255,255,255,0.15);
}
html.HM-theme-night-sea:not(.gn-night-mode) .HD-theme-btn:hover { background: rgba(255,255,255,0.12) !important; color: #ffffff !important; }

/* Footer global */
html.HM-theme-night-sea:not(.gn-night-mode) .GN-footer {
  background: #05111e !important;
  border-top: 1px solid rgba(120,200,255,0.08);
  color: var(--muted, #b5c7dd);
}
html.HM-theme-night-sea:not(.gn-night-mode) .GN-footer a { color: #d5e3f5 !important; }
html.HM-theme-night-sea:not(.gn-night-mode) .GN-footer a:hover { color: #ffffff !important; }

/* Cartouches / blocs génériques sur pages secondaires (profil, événements, etc.) */
html.HM-theme-night-sea:not(.gn-night-mode) .GN-block,
html.HM-theme-night-sea:not(.gn-night-mode) .GN-card,
html.HM-theme-night-sea:not(.gn-night-mode) .IN-kpi,
html.HM-theme-night-sea:not(.gn-night-mode) .GN-cartouche {
  background: var(--card-bg, rgba(255,255,255,0.04));
  border: 1px solid rgba(255,255,255,0.10);
  color: #d5e3f5;
  box-shadow: 0 6px 20px rgba(0,0,0,0.3);
}
html.HM-theme-night-sea:not(.gn-night-mode) .GN-block-title { color: #ffffff; }

/* === Pages secondaires : cartes spécifiques (night-sea) === */

/* mes_modeles — cartes modèles d'événements */
html.HM-theme-night-sea:not(.gn-night-mode) .ML-card {
  background: var(--card-bg, rgba(255,255,255,0.04));
  border-color: rgba(255,255,255,0.10);
  color: #d5e3f5;
  box-shadow: 0 6px 20px rgba(0,0,0,0.3);
}
html.HM-theme-night-sea:not(.gn-night-mode) .ML-ident { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .ML-cover { background: rgba(255,255,255,0.06); }
html.HM-theme-night-sea:not(.gn-night-mode) .ML-renameBtn {
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.20);
  color: #d5e3f5;
}

/* mon_compte — AC-role-card (override d'un inline style → !important nécessaire) */
html.HM-theme-night-sea:not(.gn-night-mode) .AC-role-card {
  background: var(--card-bg, rgba(255,255,255,0.04)) !important;
  color: #d5e3f5;
  border-color: rgba(255,255,255,0.20) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) .AC-role-card:has(input:checked) {
  border-color: var(--brand, #63e2ff) !important;
}

/* mon_compte — Marina Styles (tags + liste sélection) */
html.HM-theme-night-sea:not(.gn-night-mode) .MS-tag {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.15);
  color: #d5e3f5;
}
html.HM-theme-night-sea:not(.gn-night-mode) .MS-tag--selected {
  background: #1f6fb8;
  border-color: #2a89d8;
  color: #ffffff;
}
html.HM-theme-night-sea:not(.gn-night-mode) .MS-selected-list {
  background: rgba(255,255,255,0.03);
  border-color: rgba(255,255,255,0.18);
}
html.HM-theme-night-sea:not(.gn-night-mode) .MS-group-title { color: #ffffff; }

/* mon_compte — sous-blocs (fieldsets "Mes informations" + ses légendes/hints) */
html.HM-theme-night-sea:not(.gn-night-mode) .AC-page-compte .AC-fieldset {
  background: var(--card-bg, rgba(255,255,255,0.05));
  border: 1px solid var(--bd, rgba(255,255,255,0.12));
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .AC-page-compte .AC-legend { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .AC-page-compte .AC-help { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .AC-page-compte .AC-hint { color: var(--muted, #b5c7dd); }

/* mon_compte — Catégories préférées (composant CT inclus) */
html.HM-theme-night-sea:not(.gn-night-mode) .AC-page-compte .CT-item {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.15);
  color: var(--text, #e0eaf5);
  box-shadow: none;
}
html.HM-theme-night-sea:not(.gn-night-mode) .AC-page-compte .CT-item:active {
  background: rgba(255,255,255,0.10);
}
html.HM-theme-night-sea:not(.gn-night-mode) .AC-page-compte .CT-rank {
  background: rgba(255,255,255,0.10);
  color: #d5e3f5;
  border-color: rgba(255,255,255,0.20);
  box-shadow: none;
}
/* Top1/2/3 conservent leurs couleurs vives (déjà très lisibles sur navy) */
html.HM-theme-night-sea:not(.gn-night-mode) .AC-page-compte .CT-label { color: var(--text, #e0eaf5); }

/* mon_compte — port d'attache : <p class="GN-input"> de display + dropdown suggestions
   (les deux ont des inline styles → !important nécessaire) */
html.HM-theme-night-sea:not(.gn-night-mode) .AC-page-compte p.GN-input {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 12px;
  padding: 10px 12px;
  color: var(--text, #e0eaf5);
  margin: 0;
}
html.HM-theme-night-sea:not(.gn-night-mode) .AC-page-compte #manual_port_suggestions {
  background: rgba(10,26,46,0.96) !important;
  border-color: rgba(255,255,255,0.15) !important;
  color: var(--text, #e0eaf5);
  backdrop-filter: blur(10px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.4);
}
html.HM-theme-night-sea:not(.gn-night-mode) .AC-page-compte #manual_port_suggestions li {
  color: var(--text, #e0eaf5);
  border-bottom: 1px solid rgba(255,255,255,0.08);
  padding: 8px 12px;
  cursor: pointer;
}
html.HM-theme-night-sea:not(.gn-night-mode) .AC-page-compte #manual_port_suggestions li:hover {
  background: rgba(255,255,255,0.08);
}

/* don/new — formulaire avec inputs bare (sans classe GN-input) → night-sea + radius */
html.HM-theme-night-sea:not(.gn-night-mode) body.DON-page .GN-form-grid input,
html.HM-theme-night-sea:not(.gn-night-mode) body.DON-page .GN-form-grid select,
html.HM-theme-night-sea:not(.gn-night-mode) body.DON-page .GN-form-grid textarea {
  background: rgba(255,255,255,0.06);
  color: var(--text, #e0eaf5);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 12px;
}
html.HM-theme-night-sea:not(.gn-night-mode) body.DON-page .GN-form-grid input::placeholder,
html.HM-theme-night-sea:not(.gn-night-mode) body.DON-page .GN-form-grid textarea::placeholder { color: #6b8aa8; }
/* Bouton natif "Choisir un fichier" — par défaut carré et grisé */
html.HM-theme-night-sea:not(.gn-night-mode) body.DON-page input[type="file"]::-webkit-file-upload-button,
html.HM-theme-night-sea:not(.gn-night-mode) body.DON-page input[type="file"]::file-selector-button {
  background: rgba(255,255,255,0.10);
  color: var(--text, #e0eaf5);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 8px;
  padding: 4px 10px;
  margin-right: 8px;
  cursor: pointer;
}

/* dispos/creer — card principale + subtleBox + dayPill (CSS inline page non thémé) */
html.HM-theme-night-sea:not(.gn-night-mode) body.mode-site .card,
html.HM-theme-night-sea:not(.gn-night-mode) body.mode-move .card {
  background: var(--card-bg, rgba(255,255,255,0.05));
  border: 1px solid var(--bd, rgba(255,255,255,0.12));
  color: var(--text, #e0eaf5);
  box-shadow: 0 6px 20px rgba(0,0,0,0.3);
}
html.HM-theme-night-sea:not(.gn-night-mode) body.mode-site .subtleBox,
html.HM-theme-night-sea:not(.gn-night-mode) body.mode-move .subtleBox,
html.HM-theme-night-sea:not(.gn-night-mode) body.mode-site .dayPill,
html.HM-theme-night-sea:not(.gn-night-mode) body.mode-move .dayPill {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.15);
  color: #d5e3f5;
}
html.HM-theme-night-sea:not(.gn-night-mode) body.mode-site .muted,
html.HM-theme-night-sea:not(.gn-night-mode) body.mode-move .muted { color: var(--muted, #b5c7dd); }

/* KPI cards : les enfants .IN-kpi-n / .IN-kpi-l utilisent var(--GN-brand) /
 * var(--GN-muted) qui ne sont définis NULLE PART au scope home → fallbacks
 * #20466e et #5e6a78 (sombres, invisibles sur navy). Override direct. */
html.HM-theme-night-sea:not(.gn-night-mode) .IN-kpi-n { color: var(--brand, #63e2ff); }
html.HM-theme-night-sea:not(.gn-night-mode) .IN-kpi-l { color: var(--muted, #b5c7dd); }

/* Champ d'étoiles très discret */
body.HM-theme-night-sea:not(.gn-night-mode)::before {
  content: '';
  position: fixed;
  inset: 0;
  background-image:
    radial-gradient(1px 1px at 20% 30%, rgba(255,255,255,0.35), transparent 50%),
    radial-gradient(1px 1px at 70% 60%, rgba(255,255,255,0.28), transparent 50%),
    radial-gradient(1px 1px at 40% 80%, rgba(255,255,255,0.25), transparent 50%),
    radial-gradient(1px 1px at 85% 15%, rgba(255,255,255,0.30), transparent 50%),
    radial-gradient(1px 1px at 10% 90%, rgba(255,255,255,0.20), transparent 50%),
    radial-gradient(2px 2px at 55% 35%, rgba(120,220,255,0.4), transparent 50%),
    radial-gradient(1.5px 1.5px at 25% 55%, rgba(180,220,255,0.3), transparent 50%);
  background-size: 400px 400px, 600px 600px, 500px 500px, 700px 700px, 450px 450px, 800px 800px, 550px 550px;
  pointer-events: none;
  z-index: 0;
  opacity: 0.6;
}

/* HM container */
body.HM-theme-night-sea:not(.gn-night-mode) .HM-main {
  position: relative;
  z-index: 1;
}

/* Tuile météo+marée — même glass-morphism que les autres mega-tuiles */
body.HM-theme-night-sea:not(.gn-night-mode) .SM-tile--meteo.HM-meteo-keep,
html.HM-theme-night-sea:not(.gn-night-mode) .SM-tile--meteo.HM-meteo-keep {
  background: var(--card-bg, rgba(255,255,255,0.04)) !important;
  backdrop-filter: blur(18px) saturate(1.3);
  -webkit-backdrop-filter: blur(18px) saturate(1.3);
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow:
    0 8px 32px rgba(0,0,0,0.45),
    inset 0 1px 0 rgba(255,255,255,0.10),
    inset 0 0 60px rgba(100,180,255,0.03) !important;
  color: var(--text, #e0eaf5);
}
/* Liseré néon gauche (cohérent avec les autres mega-tuiles night-sea) */
html.HM-theme-night-sea:not(.gn-night-mode) .SM-tile--meteo.HM-meteo-keep::before {
  content: '';
  position: absolute;
  top: 12px; bottom: 12px; left: 0;
  width: 3px;
  background: #63e2ff;
  box-shadow: 0 0 14px #63e2ff, 0 0 4px #63e2ff;
  border-radius: 0 3px 3px 0;
  opacity: 0.9;
  pointer-events: none;
}
html.HM-theme-night-sea:not(.gn-night-mode) .SM-tile--meteo.HM-meteo-keep { position: relative; }

/* Mega-tuiles : glass-morphism + liseré néon gauche */
body.HM-theme-night-sea:not(.gn-night-mode) .HM-tile {
  background: var(--card-bg, rgba(255,255,255,0.04)) !important;
  backdrop-filter: blur(18px) saturate(1.3);
  -webkit-backdrop-filter: blur(18px) saturate(1.3);
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow:
    0 8px 32px rgba(0,0,0,0.45),
    inset 0 1px 0 rgba(255,255,255,0.10),
    inset 0 0 60px rgba(100,180,255,0.03);
  color: var(--text, #e0eaf5);
  position: relative;
  overflow: hidden;
}

/* Liseré néon gauche (accent par catégorie) */
body.HM-theme-night-sea:not(.gn-night-mode) .HM-tile::before {
  content: '';
  position: absolute;
  top: 12px; bottom: 12px; left: 0;
  width: 3px;
  background: var(--hm-accent, #63e2ff);
  box-shadow: 0 0 14px var(--hm-accent, #63e2ff), 0 0 4px var(--hm-accent, #63e2ff);
  border-radius: 0 3px 3px 0;
  opacity: 0.9;
}

/* Accent par tuile */
body.HM-theme-night-sea .HM-tile--bateau  { --hm-accent: #63e2ff; }  /* cyan glacé */
body.HM-theme-night-sea .HM-tile--marina  { --hm-accent: #ffcb6b; }  /* doré chaud */
body.HM-theme-night-sea .HM-tile--aide    { --hm-accent: #ff7a7a; }  /* corail */
body.HM-theme-night-sea .HM-tile--commu   { --hm-accent: #e879f9; }  /* magenta */
body.HM-theme-night-sea .HM-tile--ia      { --hm-accent: #60a5fa; }  /* bleu ciel */
body.HM-theme-night-sea .HM-tile--msg     { --hm-accent: #2dd4bf; }  /* turquoise */
body.HM-theme-night-sea .HM-tile--shortcut{ --hm-accent: #c084fc; }

body.HM-theme-night-sea:not(.gn-night-mode) .HM-tile:hover {
  background: rgba(255,255,255,0.07) !important;
  border-color: rgba(255,255,255,0.20);
  box-shadow:
    0 12px 40px rgba(0,0,0,0.55),
    0 0 30px rgba(100,200,255,0.12),
    inset 0 1px 0 rgba(255,255,255,0.15);
  transform: translateY(-2px);
}

/* Typo tuiles — aérée, subtile */
body.HM-theme-night-sea:not(.gn-night-mode) .HM-tile-head h2 {
  color: #ffffff;
  font-weight: 500;
  letter-spacing: 0.3px;
  text-shadow: 0 0 12px var(--hm-accent, rgba(100,200,255,0.3));
}
body.HM-theme-night-sea:not(.gn-night-mode) .HM-tile-head { border-bottom-color: rgba(255,255,255,0.08); }
body.HM-theme-night-sea:not(.gn-night-mode) .HM-tile-summary { color: var(--muted, #b5c7dd); }
body.HM-theme-night-sea:not(.gn-night-mode) .HM-tile-foot    { color: #8ca3bf; text-shadow: none; }
body.HM-theme-night-sea:not(.gn-night-mode) .HM-tile--action h2 { color: #ffffff; text-shadow: 0 0 12px var(--hm-accent); }
body.HM-theme-night-sea:not(.gn-night-mode) .HM-tile--action .HM-action-sub { color: #8ca3bf; }

/* Tuile "Ajouter un raccourci" — discrète */
body.HM-theme-night-sea:not(.gn-night-mode) .HM-tile--add {
  background: transparent !important;
  border: 2px dashed rgba(255,255,255,0.15) !important;
  color: var(--muted, #b5c7dd) !important;
}
body.HM-theme-night-sea:not(.gn-night-mode) .HM-tile--add h2,
body.HM-theme-night-sea:not(.gn-night-mode) .HM-tile--add .HM-action-emoji,
body.HM-theme-night-sea:not(.gn-night-mode) .HM-tile--add .HM-action-sub {
  color: var(--muted, #b5c7dd) !important;
  text-shadow: none !important;
}
body.HM-theme-night-sea:not(.gn-night-mode) .HM-tile--add::before { display: none; }

/* Badges — néons lumineux */
body.HM-theme-night-sea:not(.gn-night-mode) .HM-badge--head,
body.HM-theme-night-sea:not(.gn-night-mode) .HM-action-badge {
  background: rgba(255, 90, 90, 0.9);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.2);
  box-shadow: 0 0 12px rgba(255, 90, 90, 0.6);
}
body.HM-theme-night-sea:not(.gn-night-mode) .HM-badge--soft {
  background: rgba(255,255,255,0.10);
  color: var(--text, #e0eaf5);
  border: 1px solid rgba(255,255,255,0.2);
}

/* ───────── OVERLAYS ───────── */
body.HM-theme-night-sea:not(.gn-night-mode) .HM-backdrop {
  background: rgba(0, 10, 20, 0.65);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
body.HM-theme-night-sea:not(.gn-night-mode) .HM-sheet {
  background: rgba(10, 26, 46, 0.92);
  backdrop-filter: blur(30px) saturate(1.2);
  -webkit-backdrop-filter: blur(30px) saturate(1.2);
  border: 1px solid rgba(255,255,255,0.12);
  border-bottom: none;
  box-shadow: 0 -20px 60px rgba(0,0,0,0.7);
  color: var(--text, #e0eaf5);
}
body.HM-theme-night-sea:not(.gn-night-mode) .HM-sheet::before { background: rgba(255,255,255,0.3); }
body.HM-theme-night-sea:not(.gn-night-mode) .HM-sheet-title { color: #ffffff; font-weight: 500; letter-spacing: 0.3px; }
body.HM-theme-night-sea:not(.gn-night-mode) .HM-sheet-head { border-bottom-color: rgba(255,255,255,0.08); }
body.HM-theme-night-sea:not(.gn-night-mode) .HM-sheet-close {
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.15);
  color: var(--text, #e0eaf5);
}
body.HM-theme-night-sea:not(.gn-night-mode) .HM-sheet-close:hover { background: rgba(255,255,255,0.15); }

/* Sections picker */
body.HM-theme-night-sea:not(.gn-night-mode) .HM-picker-cat {
  color: #8ca3bf;
  letter-spacing: 1.2px;
}

/* Sous-tuiles : glass aussi, avec accent coloré par gradient d'origine */
body.HM-theme-night-sea:not(.gn-night-mode) .HM-sub,
body.HM-theme-night-sea:not(.gn-night-mode) .HM-sub--bateau,
body.HM-theme-night-sea:not(.gn-night-mode) .HM-sub--logbook,
body.HM-theme-night-sea:not(.gn-night-mode) .HM-sub--checklist,
body.HM-theme-night-sea:not(.gn-night-mode) .HM-sub--tracemap,
body.HM-theme-night-sea:not(.gn-night-mode) .HM-sub--compass,
body.HM-theme-night-sea:not(.gn-night-mode) .HM-sub--hud,
body.HM-theme-night-sea:not(.gn-night-mode) .HM-sub--cap,
body.HM-theme-night-sea:not(.gn-night-mode) .HM-sub--amis,
body.HM-theme-night-sea:not(.gn-night-mode) .HM-sub--entraide,
body.HM-theme-night-sea:not(.gn-night-mode) .HM-sub--veilleur,
body.HM-theme-night-sea:not(.gn-night-mode) .HM-sub--events,
body.HM-theme-night-sea:not(.gn-night-mode) .HM-sub--actu,
body.HM-theme-night-sea:not(.gn-night-mode) .HM-sub--gazette,
body.HM-theme-night-sea:not(.gn-night-mode) .HM-sub--profil,
body.HM-theme-night-sea:not(.gn-night-mode) .HM-sub--soon {
  background: var(--card-bg, rgba(255,255,255,0.04)) !important;
  backdrop-filter: blur(14px) saturate(1.2);
  -webkit-backdrop-filter: blur(14px) saturate(1.2);
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.4),
    inset 0 1px 0 rgba(255,255,255,0.08);
}

/* Accent par sous-tuile (halo coloré discret) */
body.HM-theme-night-sea .HM-sub--bateau    { --hm-sub-accent: #94a3b8; }
body.HM-theme-night-sea .HM-sub--logbook   { --hm-sub-accent: #63b3ed; }
body.HM-theme-night-sea .HM-sub--checklist { --hm-sub-accent: #4ade80; }
body.HM-theme-night-sea .HM-sub--tracemap  { --hm-sub-accent: #63e2ff; }
body.HM-theme-night-sea .HM-sub--compass   { --hm-sub-accent: #a3b5cc; }
body.HM-theme-night-sea .HM-sub--hud       { --hm-sub-accent: #60a5fa; }
body.HM-theme-night-sea .HM-sub--cap       { --hm-sub-accent: #ffcb6b; }
body.HM-theme-night-sea .HM-sub--amis      { --hm-sub-accent: #f0a878; }
body.HM-theme-night-sea .HM-sub--entraide  { --hm-sub-accent: #ff7a7a; }
body.HM-theme-night-sea .HM-sub--veilleur  { --hm-sub-accent: #4ade80; }
body.HM-theme-night-sea .HM-sub--events    { --hm-sub-accent: #93c5fd; }
body.HM-theme-night-sea .HM-sub--actu      { --hm-sub-accent: #fbbf24; }
body.HM-theme-night-sea .HM-sub--gazette   { --hm-sub-accent: #7dd3fc; }
body.HM-theme-night-sea .HM-sub--profil    { --hm-sub-accent: #86efac; }
body.HM-theme-night-sea .HM-sub--soon      { --hm-sub-accent: #64748b; }

body.HM-theme-night-sea:not(.gn-night-mode) .HM-sub:hover {
  background: rgba(255,255,255,0.08) !important;
  border-color: var(--hm-sub-accent);
  box-shadow:
    0 10px 26px rgba(0,0,0,0.55),
    0 0 24px color-mix(in srgb, var(--hm-sub-accent) 30%, transparent),
    inset 0 1px 0 rgba(255,255,255,0.15);
}

body.HM-theme-night-sea:not(.gn-night-mode) .HM-sub-icon {
  filter: drop-shadow(0 0 10px var(--hm-sub-accent));
}
body.HM-theme-night-sea:not(.gn-night-mode) .HM-sub-label { color: #ffffff; text-shadow: 0 0 10px var(--hm-sub-accent); }
body.HM-theme-night-sea:not(.gn-night-mode) .HM-sub-sub   { color: var(--muted, #b5c7dd); text-shadow: none; }
body.HM-theme-night-sea:not(.gn-night-mode) .HM-sub-date {
  background: rgba(255,255,255,0.12);
  color: var(--text, #e0eaf5);
  border: 1px solid rgba(255,255,255,0.15);
}
body.HM-theme-night-sea:not(.gn-night-mode) .HM-sub-avatar,
body.HM-theme-night-sea:not(.gn-night-mode) .HM-sub-mini-avatar,
body.HM-theme-night-sea:not(.gn-night-mode) .HM-sub-mini-circle {
  border-color: rgba(255,255,255,0.25);
  box-shadow: 0 4px 14px rgba(0,0,0,0.5);
}

/* Image de fond des sous-tuiles (capitainerie, bateau, event) — ton bleu nuit */
body.HM-theme-night-sea:not(.gn-night-mode) .HM-sub-bg {
  opacity: 0.22;
  filter: saturate(0.8) contrast(1.1) brightness(0.7) hue-rotate(-5deg);
}
body.HM-theme-night-sea:not(.gn-night-mode) .HM-sub--has-bg::after {
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(5,17,30,0.7) 100%);
}

/* Bouton supprimer raccourci - cohérent dark */
body.HM-theme-night-sea:not(.gn-night-mode) .HM-shortcut-del {
  background: #ef4444;
  border-color: rgba(255,255,255,0.3);
  box-shadow: 0 0 14px rgba(239,68,68,0.5);
}

/* ───── Boutons live (météo + porte/marée) — night-sea ───── */
/* Pas de backdrop-filter : 2 boutons toujours visibles → coût GPU permanent inutile */
body.HM-theme-night-sea:not(.gn-night-mode) .HM-livebtn {
  background: linear-gradient(135deg, rgba(20,38,62,0.85) 0%, rgba(28,48,76,0.88) 100%);
  border: 1px solid var(--bd, rgba(255,255,255,0.12));
  color: var(--text, #e0eaf5);
  box-shadow:
    0 4px 14px rgba(0,0,0,0.45),
    inset 0 1px 0 rgba(255,255,255,0.06);
}
body.HM-theme-night-sea:not(.gn-night-mode) .HM-livebtn:hover {
  background: linear-gradient(135deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0.12) 100%);
  border-color: rgba(99,226,255,0.30);
  box-shadow:
    0 6px 18px rgba(0,0,0,0.55),
    0 0 16px rgba(99,226,255,0.15);
}
body.HM-theme-night-sea:not(.gn-night-mode) .HM-livebtn[aria-expanded="true"] {
  background: linear-gradient(135deg, rgba(99,226,255,0.10) 0%, rgba(99,226,255,0.18) 100%);
  border-color: rgba(99,226,255,0.40);
  box-shadow:
    0 6px 18px rgba(0,0,0,0.6),
    0 0 20px rgba(99,226,255,0.20);
}
body.HM-theme-night-sea:not(.gn-night-mode) .HM-livebtn-label {
  color: var(--text, #e0eaf5);
}
body.HM-theme-night-sea:not(.gn-night-mode) .HM-livebtn-label strong {
  color: #ffffff;
  text-shadow: 0 0 10px rgba(99,226,255,0.30);
}
body.HM-theme-night-sea:not(.gn-night-mode) .HM-livebtn-sub  { color: var(--muted, #b5c7dd); }
body.HM-theme-night-sea:not(.gn-night-mode) .HM-livebtn-chev { color: #8ca3bf; }

/* Panneau dépliable */
body.HM-theme-night-sea:not(.gn-night-mode) .HM-livepanel {
  background: linear-gradient(180deg, rgba(10,26,46,0.85) 0%, rgba(5,17,30,0.92) 100%);
  border: 1px solid rgba(99,226,255,0.25);
  box-shadow:
    0 8px 24px rgba(0,0,0,0.55),
    0 0 18px rgba(99,226,255,0.10),
    inset 0 1px 0 rgba(255,255,255,0.05);
  color: var(--text, #e0eaf5);
  backdrop-filter: blur(14px) saturate(1.1);
  -webkit-backdrop-filter: blur(14px) saturate(1.1);
}
body.HM-theme-night-sea:not(.gn-night-mode) .HM-livepanel-head {
  border-bottom-color: rgba(99,226,255,0.18);
}
body.HM-theme-night-sea:not(.gn-night-mode) .HM-livepanel-title {
  color: #ffffff;
  font-weight: 600;
  letter-spacing: 0.2px;
  text-shadow: 0 0 10px rgba(99,226,255,0.25);
}

/* Liens / actions à l'intérieur du panneau */
body.HM-theme-night-sea:not(.gn-night-mode) .HM-livepanel .HM-wx-link {
  background: rgba(99,226,255,0.10);
  color: var(--brand, #63e2ff);
  border: 1px solid rgba(99,226,255,0.30);
}
body.HM-theme-night-sea:not(.gn-night-mode) .HM-livepanel .HM-wx-link:hover {
  background: rgba(99,226,255,0.18);
  border-color: rgba(99,226,255,0.50);
  color: #ffffff;
}

/* Cartes jour météo dans le panneau */
body.HM-theme-night-sea:not(.gn-night-mode) .HM-livepanel .SM-meteo-day {
  background: var(--card-bg, rgba(255,255,255,0.04));
  border: 1px solid rgba(255,255,255,0.08);
  color: var(--text, #e0eaf5);
}
body.HM-theme-night-sea:not(.gn-night-mode) .HM-livepanel .SM-meteo-day:hover {
  background: rgba(255,255,255,0.08);
  border-color: rgba(99,226,255,0.30);
}
body.HM-theme-night-sea:not(.gn-night-mode) .HM-livepanel .SM-meteo-day.is-active {
  background: rgba(99,226,255,0.12);
  border-color: rgba(99,226,255,0.45);
  box-shadow: 0 0 14px rgba(99,226,255,0.25);
}

/* Détail horaire (.MET-hours / .MET-hour) thémé night-sea : voir /css/MET.css.
   Ici on couvre uniquement les blocs marée/porte propres au widget HM. */
body.HM-theme-night-sea:not(.gn-night-mode) .HM-livepanel .HM-wx-tides-inner,
body.HM-theme-night-sea:not(.gn-night-mode) .HM-livepanel .HM-wx-gates-inner,
body.HM-theme-night-sea:not(.gn-night-mode) .HM-livepanel .HM-wx-gate-row {
  color: var(--text, #e0eaf5);
}
body.HM-theme-night-sea:not(.gn-night-mode) .HM-livepanel .HM-wx-block-title,
body.HM-theme-night-sea:not(.gn-night-mode) .HM-livepanel .HM-wx-subtitle {
  color: #ffffff;
  text-shadow: 0 0 10px rgba(99,226,255,0.20);
}
body.HM-theme-night-sea:not(.gn-night-mode) .HM-livepanel .HM-wx-gate-range,
body.HM-theme-night-sea:not(.gn-night-mode) .HM-livepanel .HM-wx-gate-slots {
  color: var(--muted, #b5c7dd);
}

/* ───── Grille ADN — 6 tuiles signature (night-sea) ───── */
/* Pas de backdrop-filter : 6 tuiles toujours visibles → 6× coût GPU permanent. Fond semi-transparent foncé suffit. */
body.HM-theme-night-sea:not(.gn-night-mode) .HM-adn {
  background: rgba(20,38,62,0.85) !important;
  border: 1px solid var(--bd, rgba(255,255,255,0.12));
  color: var(--text, #e0eaf5);
  box-shadow:
    0 8px 24px rgba(0,0,0,0.45),
    inset 0 1px 0 rgba(255,255,255,0.08);
}

/* Liseré néon coloré à gauche selon la tuile */
body.HM-theme-night-sea:not(.gn-night-mode) .HM-adn::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--hm-adn-accent, #63e2ff);
  box-shadow:
    0 0 14px var(--hm-adn-accent, #63e2ff),
    0 0 4px  var(--hm-adn-accent, #63e2ff);
  border-radius: 0 3px 3px 0;
  opacity: 0.9;
  pointer-events: none;
}

/* Voile coloré subtil par tuile + accent dédié */
body.HM-theme-night-sea:not(.gn-night-mode) .HM-adn--tracks    { --hm-adn-accent: #63e2ff; background: linear-gradient(135deg, rgba(99,226,255,0.10) 0%, rgba(255,255,255,0.04) 100%) !important; }
body.HM-theme-night-sea:not(.gn-night-mode) .HM-adn--logbook   { --hm-adn-accent: #ffcb6b; background: linear-gradient(135deg, rgba(255,203,107,0.10) 0%, rgba(255,255,255,0.04) 100%) !important; }
body.HM-theme-night-sea:not(.gn-night-mode) .HM-adn--watch     { --hm-adn-accent: #c084fc; background: linear-gradient(135deg, rgba(192,132,252,0.12) 0%, rgba(255,255,255,0.04) 100%) !important; }
body.HM-theme-night-sea:not(.gn-night-mode) .HM-adn--help      { --hm-adn-accent: #ff7a7a; background: linear-gradient(135deg, rgba(255,122,122,0.12) 0%, rgba(255,255,255,0.04) 100%) !important; }
body.HM-theme-night-sea:not(.gn-night-mode) .HM-adn--move      { --hm-adn-accent: #2dd4bf; background: linear-gradient(135deg, rgba(45,212,191,0.12)  0%, rgba(255,255,255,0.04) 100%) !important; }
body.HM-theme-night-sea:not(.gn-night-mode) .HM-adn--checklists{ --hm-adn-accent: #8ca3bf; background: linear-gradient(135deg, rgba(140,163,191,0.12) 0%, rgba(255,255,255,0.04) 100%) !important; }
body.HM-theme-night-sea:not(.gn-night-mode) .HM-adn--echanges  { --hm-adn-accent: #5eead4; background: linear-gradient(135deg, rgba(94,234,212,0.12)  0%, rgba(255,255,255,0.04) 100%) !important; }
body.HM-theme-night-sea:not(.gn-night-mode) .HM-adn--ia        { --hm-adn-accent: #f0a6d8; background: linear-gradient(135deg, rgba(201,80,168,0.14) 0%, rgba(255,255,255,0.04) 100%) !important; }

/* Featured (argenté métallique) — version night-sea : gradient silver sur dark + glow argent */
body.HM-theme-night-sea:not(.gn-night-mode) .HM-adn--featured {
  --hm-adn-accent: #d6dde3;
  background: linear-gradient(135deg, rgba(180,194,204,0.45) 0%, rgba(148,160,171,0.35) 40%, rgba(20,38,62,0.85) 100%) !important;
  border: 1px solid rgba(214,221,227,0.50);
  box-shadow:
    0 10px 28px rgba(0,0,0,0.55),
    0 0 26px rgba(214,221,227,0.30),
    inset 0 1px 0 rgba(255,255,255,0.20);
}
body.HM-theme-night-sea:not(.gn-night-mode) .HM-adn--featured:hover {
  border-color: rgba(214,221,227,0.70);
  box-shadow:
    0 14px 36px rgba(0,0,0,0.65),
    0 0 36px rgba(220,228,236,0.45),
    inset 0 1px 0 rgba(255,255,255,0.25);
}
/* Override du texte sombre default (HM.css) : en night-sea le fond reste majoritairement dark, on remet du blanc */
body.HM-theme-night-sea:not(.gn-night-mode) .HM-adn--featured .HM-adn-title {
  color: #ffffff;
  text-shadow: 0 0 12px rgba(214,221,227,0.40);
}
body.HM-theme-night-sea:not(.gn-night-mode) .HM-adn--featured .HM-adn-sub {
  color: var(--muted, #b5c7dd);
  text-shadow: none;
}
body.HM-theme-night-sea:not(.gn-night-mode) .HM-adn--featured .HM-adn-icon {
  filter: drop-shadow(0 0 8px rgba(214,221,227,0.45));
}

body.HM-theme-night-sea:not(.gn-night-mode) .HM-adn:hover {
  background: rgba(255,255,255,0.08) !important;
  border-color: rgba(255,255,255,0.20);
  box-shadow:
    0 12px 40px rgba(0,0,0,0.55),
    0 0 24px var(--hm-adn-accent, rgba(100,200,255,0.25)),
    inset 0 1px 0 rgba(255,255,255,0.12);
  filter: none;
  transform: translateY(-2px);
}

body.HM-theme-night-sea:not(.gn-night-mode) .HM-adn-title {
  color: #ffffff;
  font-weight: 600;
  letter-spacing: 0.2px;
  text-shadow: 0 0 12px var(--hm-adn-accent, rgba(100,200,255,0.35));
}
body.HM-theme-night-sea:not(.gn-night-mode) .HM-adn-sub {
  color: var(--muted, #b5c7dd);
  text-shadow: none;
}
body.HM-theme-night-sea:not(.gn-night-mode) .HM-adn-icon {
  filter: drop-shadow(0 0 8px var(--hm-adn-accent, rgba(100,200,255,0.4)));
}

body.HM-theme-night-sea:not(.gn-night-mode) .HM-adn-badge {
  background: rgba(255, 90, 90, 0.9);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.2);
  box-shadow: 0 0 12px rgba(255, 90, 90, 0.55);
}

/* ───── Bascule « Plonge plus loin » / « Remonte à la surface » (night-sea) ───── */
body.HM-theme-night-sea:not(.gn-night-mode) .HM-bascule {
  background: linear-gradient(180deg, rgba(99,226,255,0.06) 0%, rgba(99,226,255,0.14) 100%);
  border: 1px dashed rgba(99,226,255,0.35);
  color: var(--brand, #63e2ff);
  text-shadow: 0 0 10px rgba(99,226,255,0.3);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}
body.HM-theme-night-sea:not(.gn-night-mode) .HM-bascule:hover {
  background: linear-gradient(180deg, rgba(99,226,255,0.10) 0%, rgba(99,226,255,0.22) 100%);
  border-color: rgba(99,226,255,0.55);
  box-shadow: 0 0 16px rgba(99,226,255,0.20);
}

/* Bascule sticky en haut de la couche plongée — fond opaque suffit, pas besoin de blur permanent */
body.HM-theme-night-sea:not(.gn-night-mode) .HM-bascule--up {
  background: linear-gradient(180deg, rgba(10,26,46,0.98) 0%, rgba(5,17,30,0.96) 100%);
  border: 1px solid rgba(99,226,255,0.30);
  border-top: none;
  color: #ffffff;
  text-shadow: 0 0 12px rgba(99,226,255,0.5);
  box-shadow:
    0 4px 14px rgba(0,0,0,0.6),
    0 0 18px rgba(99,226,255,0.15);
}
body.HM-theme-night-sea:not(.gn-night-mode) .HM-bascule--up:hover {
  background: linear-gradient(180deg, rgba(20,46,76,0.95) 0%, rgba(10,26,46,0.92) 100%);
  border-color: rgba(99,226,255,0.50);
  box-shadow:
    0 6px 22px rgba(0,0,0,0.7),
    0 0 26px rgba(99,226,255,0.25);
}

/* ───── CTA « Accès aux outils » (night-sea) ───── */
body.HM-theme-night-sea:not(.gn-night-mode) .HM-toolscta {
  background: linear-gradient(180deg, rgba(13,33,58,0.98) 0%, rgba(7,20,36,0.97) 100%);
  border: 1px solid rgba(99,226,255,0.35);
  color: #eafcff;
  text-shadow: 0 0 10px rgba(99,226,255,0.35);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.55),
    0 0 20px rgba(99,226,255,0.16);
}
body.HM-theme-night-sea:not(.gn-night-mode) .HM-toolscta:hover {
  filter: none;
  border-color: rgba(99,226,255,0.55);
  box-shadow:
    0 8px 26px rgba(0,0,0,0.62),
    0 0 28px rgba(99,226,255,0.26);
}
body.HM-theme-night-sea:not(.gn-night-mode) .HM-toolscta-icon,
body.HM-theme-night-sea:not(.gn-night-mode) .HM-toolscta-chev {
  color: var(--brand, #63e2ff);
  text-shadow: 0 0 12px rgba(99,226,255,0.5);
}
body.HM-theme-night-sea:not(.gn-night-mode) .HM-toolscta-preview { border-top-color: rgba(99,226,255,0.22); }
body.HM-theme-night-sea:not(.gn-night-mode) .HM-toolscta-ic      { background: rgba(99,226,255,0.12); }
body.HM-theme-night-sea:not(.gn-night-mode) .HM-toolscta-more    { color: rgba(234,252,255,0.92); }

/* ───── Marina Race Hub (MR-hub) — night-sea ───── */

/* Cartes secondaires : Rejoindre une course / Classements (pas de blur, toujours visibles) */
body.HM-theme-night-sea:not(.gn-night-mode) .MR-hub-card {
  background: rgba(20,38,62,0.85) !important;
  border: 1px solid var(--bd, rgba(255,255,255,0.12));
  color: var(--text, #e0eaf5);
  box-shadow:
    0 6px 18px rgba(0,0,0,0.45),
    inset 0 1px 0 rgba(255,255,255,0.06);
}
body.HM-theme-night-sea:not(.gn-night-mode) .MR-hub-card:hover {
  background: rgba(255,255,255,0.08) !important;
  border-color: rgba(99,226,255,0.30);
  box-shadow:
    0 10px 28px rgba(0,0,0,0.55),
    0 0 18px rgba(99,226,255,0.15);
}
body.HM-theme-night-sea:not(.gn-night-mode) .MR-hub-card h2 {
  color: #ffffff;
  text-shadow: 0 0 10px rgba(99,226,255,0.25);
}
body.HM-theme-night-sea:not(.gn-night-mode) .MR-hub-card p { color: var(--muted, #b5c7dd); }

body.HM-theme-night-sea:not(.gn-night-mode) .MR-hub-badge-soon {
  background: rgba(99,226,255,0.12);
  color: var(--brand, #63e2ff);
  border: 1px solid rgba(99,226,255,0.30);
}

/* Sections : Mes circuits, Mes meilleurs temps, Carte de chaleur, Aperçu carte */
body.HM-theme-night-sea:not(.gn-night-mode) .MR-hub-section {
  background: var(--card-bg, rgba(255,255,255,0.04)) !important;
  border: 1px solid rgba(255,255,255,0.10);
  color: var(--text, #e0eaf5);
  box-shadow: 0 4px 14px rgba(0,0,0,0.35);
}
body.HM-theme-night-sea:not(.gn-night-mode) .MR-hub-section--soft {
  background: rgba(255,255,255,0.02) !important;
  border-style: dashed;
  border-color: var(--bd, rgba(255,255,255,0.12));
}
body.HM-theme-night-sea:not(.gn-night-mode) .MR-hub-section-title {
  color: #ffffff;
  text-shadow: 0 0 10px rgba(99,226,255,0.20);
}
body.HM-theme-night-sea:not(.gn-night-mode) .MR-hub-empty {
  color: #8ca3bf;
}

/* Items de liste (circuits, meilleurs temps) */
body.HM-theme-night-sea:not(.gn-night-mode) .MR-hub-item {
  background: var(--card-bg, rgba(255,255,255,0.04));
  border: 1px solid rgba(255,255,255,0.10);
  color: var(--text, #e0eaf5);
}
body.HM-theme-night-sea:not(.gn-night-mode) .MR-hub-item:hover {
  background: rgba(255,255,255,0.08);
  border-color: rgba(99,226,255,0.30);
}
body.HM-theme-night-sea:not(.gn-night-mode) .MR-hub-item-title { color: #ffffff; }
body.HM-theme-night-sea:not(.gn-night-mode) .MR-hub-item-meta  { color: #8ca3bf; }

/* Boutons ghost */
body.HM-theme-night-sea:not(.gn-night-mode) .MR-hub-btn--ghost {
  background: transparent;
  color: var(--muted, #b5c7dd);
  border-color: rgba(255,255,255,0.20);
}
body.HM-theme-night-sea:not(.gn-night-mode) .MR-hub-btn--ghost:hover {
  background: rgba(255,255,255,0.08);
  border-color: rgba(99,226,255,0.30);
  color: #ffffff;
}

/* Modal "Comment ça marche ?" */
body.HM-theme-night-sea:not(.gn-night-mode) .MR-hub-modal-sheet {
  background: rgba(10,26,46,0.95) !important;
  border: 1px solid rgba(99,226,255,0.25);
  color: var(--text, #e0eaf5);
  box-shadow:
    0 16px 40px rgba(0,0,0,0.7),
    0 0 24px rgba(99,226,255,0.10);
  backdrop-filter: blur(14px) saturate(1.1);
  -webkit-backdrop-filter: blur(14px) saturate(1.1);
}
body.HM-theme-night-sea:not(.gn-night-mode) .MR-hub-modal-sheet h3 {
  color: #ffffff;
  text-shadow: 0 0 10px rgba(99,226,255,0.25);
}
body.HM-theme-night-sea:not(.gn-night-mode) .MR-hub-modal-close {
  color: var(--muted, #b5c7dd);
}
body.HM-theme-night-sea:not(.gn-night-mode) .MR-hub-modal-close:hover {
  color: #ffffff;
}
body.HM-theme-night-sea:not(.gn-night-mode) .MR-hub-howto-rules {
  color: var(--muted, #b5c7dd);
}
body.HM-theme-night-sea:not(.gn-night-mode) .MR-hub-howto-rules strong {
  color: var(--brand, #63e2ff);
}


/* ═══════════════════════════════════════════════════════════════════
   THÈME : RADAR INGRESS  (HUD gaming, vert phosphore sur noir profond)
   Inspiration : Tron, Ingress, consoles de commandement militaires
   ═══════════════════════════════════════════════════════════════════ */

html.HM-theme-radar:not(.gn-night-mode),
html.HM-theme-radar:not(.gn-night-mode) body {
  background: #050505 !important;
  color: #9fffb0;
  position: relative;
  min-height: 100vh;
  font-family: 'Share Tech Mono', 'Courier New', monospace;
}

/* Grille géodésique animée en fond */
html.HM-theme-radar:not(.gn-night-mode) body::before {
  content: '';
  position: fixed;
  inset: 0;
  background-image:
    linear-gradient(rgba(0, 255, 136, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 255, 136, 0.04) 1px, transparent 1px),
    linear-gradient(rgba(0, 255, 136, 0.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 255, 136, 0.02) 1px, transparent 1px);
  background-size: 80px 80px, 80px 80px, 16px 16px, 16px 16px;
  background-position: 0 0, 0 0, 0 0, 0 0;
  pointer-events: none;
  z-index: 0;
  animation: radar-grid-drift 60s linear infinite;
}
@keyframes radar-grid-drift {
  from { background-position: 0 0, 0 0, 0 0, 0 0; }
  to   { background-position: 80px 80px, 80px 80px, 16px 16px, 16px 16px; }
}

/* Radar sweep (balayage circulaire vert très discret) */
html.HM-theme-radar:not(.gn-night-mode) body::after {
  content: '';
  position: fixed;
  top: 50%; left: 50%;
  width: 120vmax; height: 120vmax;
  transform: translate(-50%, -50%);
  background: conic-gradient(
    from 0deg,
    transparent 0deg,
    rgba(0, 255, 136, 0.08) 30deg,
    rgba(0, 255, 136, 0.02) 90deg,
    transparent 120deg,
    transparent 360deg
  );
  pointer-events: none;
  z-index: 0;
  animation: radar-sweep 8s linear infinite;
  opacity: 0.6;
}
@keyframes radar-sweep {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to   { transform: translate(-50%, -50%) rotate(360deg); }
}

html.HM-theme-radar:not(.gn-night-mode) .HM-main {
  position: relative;
  z-index: 1;
}

/* Header — bande noire + bordure néon vert */
html.HM-theme-radar:not(.gn-night-mode) .header2-bar {
  background: #000 !important;
  border-bottom: 1px solid #00ff88;
  box-shadow: 0 0 20px rgba(0, 255, 136, 0.25);
}
html.HM-theme-radar:not(.gn-night-mode) .header2-bar .header2-link,
html.HM-theme-radar:not(.gn-night-mode) .header2-bar .header2-dropbtn {
  color: #9fffb0;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-family: 'Orbitron', 'Share Tech Mono', monospace;
  font-weight: 500;
}
html.HM-theme-radar:not(.gn-night-mode) .header2-bar .header2-link:hover,
html.HM-theme-radar:not(.gn-night-mode) .header2-bar .header2-dropbtn:hover {
  color: #00ff88;
  text-shadow: 0 0 8px #00ff88;
}

/* Drawer mobile */
html.HM-theme-radar:not(.gn-night-mode) .header2-drawer {
  background: linear-gradient(180deg, #000 0%, #0a0a0a 100%) !important;
  color: #9fffb0;
  border-right: 1px solid rgba(0, 255, 136, 0.3);
  box-shadow: 4px 0 30px rgba(0, 255, 136, 0.2);
}
html.HM-theme-radar:not(.gn-night-mode) .header2-drawer a,
html.HM-theme-radar:not(.gn-night-mode) .header2-drawer .header2-dropbtn {
  color: #9fffb0;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-family: 'Share Tech Mono', monospace;
}
html.HM-theme-radar:not(.gn-night-mode) .header2-drawer a:hover { background: rgba(0, 255, 136, 0.08); color: #00ff88; }
html.HM-theme-radar:not(.gn-night-mode) .header2-drawer .header2-dropdown-content { background: rgba(0, 255, 136, 0.04); }

/* Avatar & menu */
html.HM-theme-radar:not(.gn-night-mode) .HD-avatar {
  background: linear-gradient(135deg, #002418, #004d30) !important;
  border-color: #00ff88;
  box-shadow: 0 0 12px rgba(0, 255, 136, 0.5);
}
html.HM-theme-radar:not(.gn-night-mode) .HD-avatar-initials { color: #00ff88; }
html.HM-theme-radar:not(.gn-night-mode) .HD-avatar-badge {
  background: #ff2cef;
  border-color: #000;
  box-shadow: 0 0 10px #ff2cef;
  animation: radar-pulse-alert 1.4s ease-in-out infinite;
}
@keyframes radar-pulse-alert {
  0%,100% { transform: scale(1); box-shadow: 0 0 10px #ff2cef; }
  50%     { transform: scale(1.15); box-shadow: 0 0 18px #ff2cef; }
}

html.HM-theme-radar:not(.gn-night-mode) .HD-avatar-menu {
  background: rgba(0, 0, 0, 0.97);
  border: 1px solid #00ff88;
  box-shadow: 0 10px 40px rgba(0, 255, 136, 0.35), inset 0 0 20px rgba(0, 255, 136, 0.05);
}
html.HM-theme-radar:not(.gn-night-mode) .HD-avatar-menu a {
  color: #9fffb0;
  font-family: 'Share Tech Mono', monospace;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 12px;
}
html.HM-theme-radar:not(.gn-night-mode) .HD-avatar-menu a:hover { background: rgba(0, 255, 136, 0.12); color: #00ff88; text-shadow: 0 0 6px #00ff88; }
html.HM-theme-radar:not(.gn-night-mode) .HD-avatar-menu-logout { border-top-color: rgba(0, 255, 136, 0.25); color: #ff2cef !important; }
html.HM-theme-radar:not(.gn-night-mode) .HD-avatar-menu-logout:hover { background: rgba(255, 44, 239, 0.15) !important; color: #ff6ae8 !important; text-shadow: 0 0 6px #ff2cef; }
html.HM-theme-radar:not(.gn-night-mode) .HD-avatar-menu-theme { border-top-color: rgba(0, 255, 136, 0.25); color: #9fffb0; }

/* Footer */
html.HM-theme-radar:not(.gn-night-mode) .GN-footer {
  background: #000 !important;
  border-top: 1px solid #00ff88;
  color: #9fffb0;
  font-family: 'Share Tech Mono', monospace;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  box-shadow: 0 0 20px rgba(0, 255, 136, 0.15);
}
html.HM-theme-radar:not(.gn-night-mode) .GN-footer a { color: #00ff88 !important; }
html.HM-theme-radar:not(.gn-night-mode) .GN-footer a:hover { color: #9fffb0 !important; text-shadow: 0 0 6px #00ff88; }

/* Tuile météo — même HUD que les autres mega-tuiles radar */
html.HM-theme-radar:not(.gn-night-mode) .SM-tile--meteo.HM-meteo-keep {
  background: rgba(0, 0, 0, 0.75) !important;
  border: 1px solid #00ff88 !important;
  color: #00ff88 !important;
  box-shadow: 0 0 16px rgba(0, 255, 136, 0.2), inset 0 0 30px rgba(0, 255, 136, 0.04) !important;
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
  font-family: 'Share Tech Mono', monospace;
  text-transform: uppercase;
  letter-spacing: 1px;
  position: relative;
}
/* Liseré néon gauche (cohérent avec les autres mega-tuiles radar) */
html.HM-theme-radar:not(.gn-night-mode) .SM-tile--meteo.HM-meteo-keep::before {
  content: '';
  position: absolute;
  top: 14px; bottom: 14px; left: 0;
  width: 4px;
  background: #00ff88;
  box-shadow: 0 0 14px #00ff88, 0 0 4px #00ff88;
  pointer-events: none;
}
html.HM-theme-radar:not(.gn-night-mode) .SM-tile--meteo .SM-tile-label { color: #00ff88; text-shadow: 0 0 6px #00ff88; }
html.HM-theme-radar:not(.gn-night-mode) .SM-meteo-day-name,
html.HM-theme-radar:not(.gn-night-mode) .SM-meteo-day-temps,
html.HM-theme-radar:not(.gn-night-mode) .SM-meteo-day-wind { color: #9fffb0; }

/* Mega-tuiles — HUD style */
html.HM-theme-radar:not(.gn-night-mode) .HM-tile {
  background: rgba(0, 0, 0, 0.75) !important;
  border: 1px solid var(--radar-accent, #00ff88);
  box-shadow:
    0 0 16px rgba(0, 255, 136, 0.2),
    inset 0 0 30px rgba(0, 255, 136, 0.04);
  color: #9fffb0;
  position: relative;
  overflow: hidden;
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
  border-radius: 0;
  font-family: 'Share Tech Mono', monospace;
}

/* Scan lines discrètes sur les tuiles */
html.HM-theme-radar:not(.gn-night-mode) .HM-tile::after {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    0deg,
    transparent 0,
    transparent 2px,
    rgba(0, 255, 136, 0.025) 2px,
    rgba(0, 255, 136, 0.025) 3px
  );
  pointer-events: none;
  z-index: 1;
  mix-blend-mode: screen;
}

/* Chevron néon gauche */
html.HM-theme-radar:not(.gn-night-mode) .HM-tile::before {
  content: '';
  position: absolute;
  top: 14px; bottom: 14px; left: 0;
  width: 4px;
  background: var(--radar-accent, #00ff88);
  box-shadow: 0 0 14px var(--radar-accent, #00ff88), 0 0 4px var(--radar-accent, #00ff88);
  animation: radar-pulse-line 2.2s ease-in-out infinite;
}
@keyframes radar-pulse-line {
  0%,100% { opacity: 0.85; }
  50%     { opacity: 1; box-shadow: 0 0 20px var(--radar-accent, #00ff88), 0 0 6px var(--radar-accent, #00ff88); }
}

/* Accents par mega-tuile */
html.HM-theme-radar .HM-tile--bateau   { --radar-accent: #00ff88; }  /* vert phosphore */
html.HM-theme-radar .HM-tile--marina   { --radar-accent: #00eaff; }  /* cyan glacé */
html.HM-theme-radar .HM-tile--aide     { --radar-accent: #ff6b35; }  /* orange alerte */
html.HM-theme-radar .HM-tile--commu    { --radar-accent: #ff2cef; }  /* magenta */
html.HM-theme-radar .HM-tile--ia       { --radar-accent: #c084fc; }  /* violet scan */
html.HM-theme-radar .HM-tile--msg      { --radar-accent: #00ffcc; }  /* turquoise */
html.HM-theme-radar .HM-tile--shortcut { --radar-accent: #ffea00; }  /* jaune marqueur */

html.HM-theme-radar:not(.gn-night-mode) .HM-tile:hover {
  background: rgba(0, 255, 136, 0.06) !important;
  box-shadow:
    0 0 30px rgba(0, 255, 136, 0.4),
    inset 0 0 40px rgba(0, 255, 136, 0.08);
  transform: translateY(-2px);
}

/* Typo tuiles — HUD militaire */
html.HM-theme-radar:not(.gn-night-mode) .HM-tile-head h2,
html.HM-theme-radar:not(.gn-night-mode) .HM-tile--action h2 {
  color: var(--radar-accent, #00ff88);
  font-family: 'Orbitron', 'Share Tech Mono', monospace;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  text-shadow: 0 0 10px var(--radar-accent, #00ff88), 0 0 2px currentColor;
}
html.HM-theme-radar:not(.gn-night-mode) .HM-tile-head { border-bottom: 1px dashed rgba(0, 255, 136, 0.3); }
html.HM-theme-radar:not(.gn-night-mode) .HM-tile-summary { color: #9fffb0; font-family: 'Share Tech Mono', monospace; font-size: 0.82rem; letter-spacing: 0.3px; }
html.HM-theme-radar:not(.gn-night-mode) .HM-tile-foot {
  color: #5fa870;
  font-family: 'Share Tech Mono', monospace;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 0.7rem;
  font-style: normal;
  text-shadow: none;
}
html.HM-theme-radar:not(.gn-night-mode) .HM-tile--action .HM-action-sub {
  color: #5fa870;
  font-family: 'Share Tech Mono', monospace;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 0.7rem;
}

/* Tuile raccourci + bouton add */
html.HM-theme-radar:not(.gn-night-mode) .HM-tile--add {
  background: transparent !important;
  border: 1px dashed #00ff88 !important;
  color: #9fffb0 !important;
}
html.HM-theme-radar:not(.gn-night-mode) .HM-tile--add h2 { color: #00ff88 !important; text-shadow: 0 0 8px #00ff88 !important; }
html.HM-theme-radar:not(.gn-night-mode) .HM-tile--add::before { display: none; }
html.HM-theme-radar:not(.gn-night-mode) .HM-tile--add::after { display: none; }

/* Badges alertes */
html.HM-theme-radar:not(.gn-night-mode) .HM-badge--head,
html.HM-theme-radar:not(.gn-night-mode) .HM-action-badge {
  background: #ff2cef !important;
  color: #000 !important;
  border: 1px solid #000;
  box-shadow: 0 0 12px #ff2cef;
  font-family: 'Orbitron', monospace;
  font-weight: 700;
  letter-spacing: 1px;
  animation: radar-pulse-alert 1.4s ease-in-out infinite;
}
html.HM-theme-radar:not(.gn-night-mode) .HM-badge--soft {
  background: rgba(0, 255, 136, 0.15) !important;
  color: #00ff88 !important;
  border: 1px solid rgba(0, 255, 136, 0.4);
  font-family: 'Share Tech Mono', monospace;
}

/* ───── Overlays (bottom-sheet style console) ───── */
html.HM-theme-radar:not(.gn-night-mode) .HM-backdrop {
  background: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(4px);
}
html.HM-theme-radar:not(.gn-night-mode) .HM-sheet {
  background: rgba(0, 0, 0, 0.96) !important;
  border: 1px solid #00ff88;
  border-bottom: none;
  box-shadow: 0 -20px 60px rgba(0, 255, 136, 0.35), inset 0 0 40px rgba(0, 255, 136, 0.03);
  color: #9fffb0;
  font-family: 'Share Tech Mono', monospace;
  border-radius: 0;
  clip-path: polygon(0 16px, 16px 0, calc(100% - 16px) 0, 100% 16px, 100% 100%, 0 100%);
}
html.HM-theme-radar:not(.gn-night-mode) .HM-sheet::before { background: #00ff88; box-shadow: 0 0 8px #00ff88; }
html.HM-theme-radar:not(.gn-night-mode) .HM-sheet-title {
  color: #00ff88;
  font-family: 'Orbitron', monospace;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  text-shadow: 0 0 10px #00ff88;
}
html.HM-theme-radar:not(.gn-night-mode) .HM-sheet-head { border-bottom: 1px dashed rgba(0, 255, 136, 0.3); }
html.HM-theme-radar:not(.gn-night-mode) .HM-sheet-close {
  background: transparent;
  border: 1px solid #ff2cef;
  color: #ff2cef;
  border-radius: 0;
  box-shadow: 0 0 8px rgba(255, 44, 239, 0.4);
}
html.HM-theme-radar:not(.gn-night-mode) .HM-sheet-close:hover { background: rgba(255, 44, 239, 0.15); color: #ff6ae8; }

/* Picker catégories */
html.HM-theme-radar:not(.gn-night-mode) .HM-picker-cat {
  color: #00ff88;
  font-family: 'Orbitron', monospace;
  letter-spacing: 2px;
  text-shadow: 0 0 6px #00ff88;
}

/* Sous-tuiles — HUD mini */
html.HM-theme-radar:not(.gn-night-mode) .HM-sub,
html.HM-theme-radar:not(.gn-night-mode) .HM-sub--bateau,
html.HM-theme-radar:not(.gn-night-mode) .HM-sub--logbook,
html.HM-theme-radar:not(.gn-night-mode) .HM-sub--checklist,
html.HM-theme-radar:not(.gn-night-mode) .HM-sub--tracemap,
html.HM-theme-radar:not(.gn-night-mode) .HM-sub--compass,
html.HM-theme-radar:not(.gn-night-mode) .HM-sub--hud,
html.HM-theme-radar:not(.gn-night-mode) .HM-sub--cap,
html.HM-theme-radar:not(.gn-night-mode) .HM-sub--amis,
html.HM-theme-radar:not(.gn-night-mode) .HM-sub--entraide,
html.HM-theme-radar:not(.gn-night-mode) .HM-sub--veilleur,
html.HM-theme-radar:not(.gn-night-mode) .HM-sub--events,
html.HM-theme-radar:not(.gn-night-mode) .HM-sub--actu,
html.HM-theme-radar:not(.gn-night-mode) .HM-sub--gazette,
html.HM-theme-radar:not(.gn-night-mode) .HM-sub--profil,
html.HM-theme-radar:not(.gn-night-mode) .HM-sub--soon {
  background: rgba(0, 0, 0, 0.85) !important;
  border: 1px solid var(--radar-sub, #00ff88);
  box-shadow: 0 0 10px rgba(0, 255, 136, 0.15), inset 0 0 20px rgba(0, 255, 136, 0.03);
  border-radius: 0;
  clip-path: polygon(8px 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%, 0 8px);
}
html.HM-theme-radar .HM-sub--bateau    { --radar-sub: #9fffb0; }
html.HM-theme-radar .HM-sub--logbook   { --radar-sub: #63b3ed; }
html.HM-theme-radar .HM-sub--checklist { --radar-sub: #00ff88; }
html.HM-theme-radar .HM-sub--tracemap  { --radar-sub: #00eaff; }
html.HM-theme-radar .HM-sub--compass   { --radar-sub: #a3b5cc; }
html.HM-theme-radar .HM-sub--hud       { --radar-sub: #60a5fa; }
html.HM-theme-radar .HM-sub--cap       { --radar-sub: #ffea00; }
html.HM-theme-radar .HM-sub--amis      { --radar-sub: #ff6b35; }
html.HM-theme-radar .HM-sub--entraide  { --radar-sub: #ff6b35; }
html.HM-theme-radar .HM-sub--veilleur  { --radar-sub: #00ff88; }
html.HM-theme-radar .HM-sub--events    { --radar-sub: #93c5fd; }
html.HM-theme-radar .HM-sub--actu      { --radar-sub: #ffea00; }
html.HM-theme-radar .HM-sub--gazette   { --radar-sub: #7dd3fc; }
html.HM-theme-radar .HM-sub--profil    { --radar-sub: #86efac; }
html.HM-theme-radar .HM-sub--soon      { --radar-sub: #555; }

html.HM-theme-radar:not(.gn-night-mode) .HM-sub:hover {
  background: rgba(0, 255, 136, 0.08) !important;
  box-shadow: 0 0 24px var(--radar-sub, #00ff88), inset 0 0 30px rgba(0, 255, 136, 0.05);
  transform: translateY(-2px);
}
html.HM-theme-radar:not(.gn-night-mode) .HM-sub-icon {
  color: var(--radar-sub, #00ff88);
  filter: drop-shadow(0 0 12px var(--radar-sub, #00ff88));
}
html.HM-theme-radar:not(.gn-night-mode) .HM-sub-label {
  color: #ffffff;
  font-family: 'Orbitron', 'Share Tech Mono', monospace;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  text-shadow: 0 0 8px var(--radar-sub, #00ff88);
  font-size: 0.78rem;
}
html.HM-theme-radar:not(.gn-night-mode) .HM-sub-sub {
  color: #9fffb0;
  font-family: 'Share Tech Mono', monospace;
  font-size: 0.72rem;
  text-shadow: none;
}
html.HM-theme-radar:not(.gn-night-mode) .HM-sub-date {
  background: rgba(0, 255, 136, 0.15);
  color: #00ff88;
  border: 1px solid rgba(0, 255, 136, 0.4);
  border-radius: 0;
  font-family: 'Share Tech Mono', monospace;
}
html.HM-theme-radar:not(.gn-night-mode) .HM-sub-badge {
  background: #ff2cef;
  color: #000;
  border: 1px solid #000;
  box-shadow: 0 0 10px #ff2cef;
  border-radius: 0;
  font-family: 'Orbitron', monospace;
  animation: radar-pulse-alert 1.4s ease-in-out infinite;
}
html.HM-theme-radar:not(.gn-night-mode) .HM-sub-avatar,
html.HM-theme-radar:not(.gn-night-mode) .HM-sub-mini-avatar,
html.HM-theme-radar:not(.gn-night-mode) .HM-sub-mini-circle {
  border: 2px solid #00ff88;
  box-shadow: 0 0 10px rgba(0, 255, 136, 0.4);
  filter: saturate(0.7) contrast(1.2) hue-rotate(-10deg);
}

/* Images de fond sous-tuiles — teinte verte radar */
html.HM-theme-radar:not(.gn-night-mode) .HM-sub-bg {
  opacity: 0.2;
  filter: grayscale(0.7) hue-rotate(70deg) saturate(1.8) brightness(0.6);
}
html.HM-theme-radar:not(.gn-night-mode) .HM-sub--has-bg::after {
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.85) 100%);
}

/* Shortcut supprime */
html.HM-theme-radar:not(.gn-night-mode) .HM-shortcut-del {
  background: #ff2cef;
  border: 1px solid #000;
  box-shadow: 0 0 14px #ff2cef;
  color: #000;
  font-family: 'Orbitron', monospace;
  font-weight: 700;
}

/* Cartouches génériques — fond noir radar */
html.HM-theme-radar:not(.gn-night-mode) .GN-block,
html.HM-theme-radar:not(.gn-night-mode) .GN-card,
html.HM-theme-radar:not(.gn-night-mode) .IN-kpi,
html.HM-theme-radar:not(.gn-night-mode) .GN-cartouche {
  background: rgba(0, 0, 0, 0.85);
  border: 1px solid rgba(0, 255, 136, 0.35);
  color: #9fffb0;
  box-shadow: 0 0 12px rgba(0, 255, 136, 0.1);
  border-radius: 0;
}
html.HM-theme-radar:not(.gn-night-mode) .GN-block-title {
  color: #00ff88;
  font-family: 'Orbitron', monospace;
  text-transform: uppercase;
  letter-spacing: 2px;
  text-shadow: 0 0 6px #00ff88;
}


/* ═══════════════════════════════════════════════════════════════════
   COMPOSANTS GLOBAUX — PRIORITÉ 1 (boutons, inputs, nav, chat, CE)
   Traités pour les 2 thèmes : night-sea + radar
   ═══════════════════════════════════════════════════════════════════ */

/* ─────── 1. BOUTONS (.GN-btn* et .btn*) ─────── */

/* NIGHT-SEA */
html.HM-theme-night-sea:not(.gn-night-mode) .GN-btn,
html.HM-theme-night-sea:not(.gn-night-mode) .GN-btn:link,
html.HM-theme-night-sea:not(.gn-night-mode) .GN-btn:visited,
html.HM-theme-night-sea:not(.gn-night-mode) .btn {
  background: rgba(255,255,255,0.07);
  color: var(--text, #e0eaf5);
  border: 1px solid rgba(255,255,255,0.15);
  backdrop-filter: blur(10px);
}
html.HM-theme-night-sea:not(.gn-night-mode) .GN-btn:hover,
html.HM-theme-night-sea:not(.gn-night-mode) .btn:hover {
  background: rgba(255,255,255,0.12);
  border-color: rgba(255,255,255,0.3);
  color: #ffffff;
}
html.HM-theme-night-sea:not(.gn-night-mode) .GN-btn--primary,
html.HM-theme-night-sea:not(.gn-night-mode) .GN-btn--primary:link,
html.HM-theme-night-sea:not(.gn-night-mode) .GN-btn--primary:visited,
html.HM-theme-night-sea:not(.gn-night-mode) .btn-primary {
  background: #2f6fed;
  color: #ffffff;
  border-color: rgba(80,130,240,0.3);
  box-shadow: 0 4px 16px rgba(47,111,237,0.3);
}
html.HM-theme-night-sea:not(.gn-night-mode) .GN-btn--primary:hover,
html.HM-theme-night-sea:not(.gn-night-mode) .btn-primary:hover {
  background: #2563eb;
  box-shadow: 0 6px 22px rgba(47,111,237,0.5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .GN-btn--secondary {
  background: rgba(99,226,255,0.12);
  color: var(--brand, #63e2ff);
  border-color: rgba(99,226,255,0.35);
}
html.HM-theme-night-sea:not(.gn-night-mode) .GN-btn--secondary:hover { background: rgba(99,226,255,0.22); }
html.HM-theme-night-sea:not(.gn-night-mode) .GN-btn--ghost { background: transparent; color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .GN-btn--ghost:hover { background: rgba(255,255,255,0.06); color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .GN-btn--danger,
html.HM-theme-night-sea:not(.gn-night-mode) .btn-danger {
  background: rgba(255,122,122,0.18);
  color: #ff7a7a;
  border-color: rgba(255,122,122,0.4);
}
html.HM-theme-night-sea:not(.gn-night-mode) .GN-btn--danger:hover,
html.HM-theme-night-sea:not(.gn-night-mode) .btn-danger:hover { background: rgba(255,122,122,0.3); color: #ffb0b0; }
html.HM-theme-night-sea:not(.gn-night-mode) .GN-btn--inscription {
  background: linear-gradient(135deg, #1a8a6e, #48d1a8);
  color: #ffffff;
  border-color: transparent;
}
html.HM-theme-night-sea:not(.gn-night-mode) .GN-btn--inscription:hover { background: linear-gradient(135deg, #2db88e, #5cdcaf); }

/* RADAR */
html.HM-theme-radar:not(.gn-night-mode) .GN-btn,
html.HM-theme-radar:not(.gn-night-mode) .GN-btn:link,
html.HM-theme-radar:not(.gn-night-mode) .GN-btn:visited,
html.HM-theme-radar:not(.gn-night-mode) .btn {
  background: transparent;
  color: #9fffb0;
  border: 1px solid #00ff88;
  border-radius: 0;
  font-family: 'Share Tech Mono', 'Courier New', monospace;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  box-shadow: inset 0 0 10px rgba(0,255,136,0.08);
}
html.HM-theme-radar:not(.gn-night-mode) .GN-btn:hover,
html.HM-theme-radar:not(.gn-night-mode) .btn:hover {
  background: rgba(0,255,136,0.12);
  color: #00ff88;
  box-shadow: 0 0 14px rgba(0,255,136,0.4), inset 0 0 10px rgba(0,255,136,0.1);
  text-shadow: 0 0 8px #00ff88;
}
html.HM-theme-radar:not(.gn-night-mode) .GN-btn--primary,
html.HM-theme-radar:not(.gn-night-mode) .btn-primary {
  background: rgba(0,255,136,0.18);
  color: #00ff88;
  border-color: #00ff88;
  box-shadow: 0 0 16px rgba(0,255,136,0.35);
  text-shadow: 0 0 6px #00ff88;
}
html.HM-theme-radar:not(.gn-night-mode) .GN-btn--primary:hover {
  background: rgba(0,255,136,0.32);
  box-shadow: 0 0 22px rgba(0,255,136,0.6);
}
html.HM-theme-radar:not(.gn-night-mode) .GN-btn--secondary {
  border-color: #00eaff;
  color: #00eaff;
  text-shadow: 0 0 6px #00eaff;
}
html.HM-theme-radar:not(.gn-night-mode) .GN-btn--secondary:hover { background: rgba(0,234,255,0.12); color: #00eaff; box-shadow: 0 0 14px rgba(0,234,255,0.4); }
html.HM-theme-radar:not(.gn-night-mode) .GN-btn--ghost { background: transparent; color: #5fa870; border-color: rgba(0,255,136,0.25); }
html.HM-theme-radar:not(.gn-night-mode) .GN-btn--danger,
html.HM-theme-radar:not(.gn-night-mode) .btn-danger {
  background: transparent;
  color: #ff2cef;
  border-color: #ff2cef;
  text-shadow: 0 0 6px #ff2cef;
  box-shadow: 0 0 12px rgba(255,44,239,0.3);
}
html.HM-theme-radar:not(.gn-night-mode) .GN-btn--danger:hover { background: rgba(255,44,239,0.15); box-shadow: 0 0 18px rgba(255,44,239,0.5); }
html.HM-theme-radar:not(.gn-night-mode) .GN-btn--inscription {
  background: rgba(0,255,136,0.2);
  border-color: #00ff88;
  color: #00ff88;
  text-shadow: 0 0 6px #00ff88;
}


/* ─────── 2. INPUTS / FORM globaux ─────── */

/* NIGHT-SEA */
html.HM-theme-night-sea:not(.gn-night-mode) input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="file"]),
html.HM-theme-night-sea:not(.gn-night-mode) textarea,
html.HM-theme-night-sea:not(.gn-night-mode) select {
  background: rgba(255,255,255,0.06);
  color: var(--text, #e0eaf5);
  border: 1px solid rgba(255,255,255,0.15);
  color-scheme: dark;
}
html.HM-theme-night-sea:not(.gn-night-mode) input:focus,
html.HM-theme-night-sea:not(.gn-night-mode) textarea:focus,
html.HM-theme-night-sea:not(.gn-night-mode) select:focus {
  border-color: #63e2ff;
  box-shadow: 0 0 0 3px rgba(99,226,255,0.18);
  outline: none;
}
html.HM-theme-night-sea:not(.gn-night-mode) input::placeholder,
html.HM-theme-night-sea:not(.gn-night-mode) textarea::placeholder { color: #6b8aa8; }

/* RADAR */
html.HM-theme-radar:not(.gn-night-mode) input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="file"]),
html.HM-theme-radar:not(.gn-night-mode) textarea,
html.HM-theme-radar:not(.gn-night-mode) select {
  background: #000;
  color: #9fffb0;
  border: 1px solid rgba(0,255,136,0.4);
  border-radius: 0;
  font-family: 'Share Tech Mono', 'Courier New', monospace;
  color-scheme: dark;
}
html.HM-theme-radar:not(.gn-night-mode) input:focus,
html.HM-theme-radar:not(.gn-night-mode) textarea:focus,
html.HM-theme-radar:not(.gn-night-mode) select:focus {
  border-color: #00ff88;
  box-shadow: 0 0 0 2px rgba(0,255,136,0.3), 0 0 12px rgba(0,255,136,0.2);
  outline: none;
}
html.HM-theme-radar:not(.gn-night-mode) input::placeholder,
html.HM-theme-radar:not(.gn-night-mode) textarea::placeholder { color: #4a7a55; }


/* ─────── 3. BOTTOM NAV Capacitor (.GM-bottomNav*) ─────── */

/* NIGHT-SEA */
html.HM-theme-night-sea:not(.gn-night-mode) .GM-bottomNavShell,
html.HM-theme-night-sea:not(.gn-night-mode) .GM-bottomNav {
  background: rgba(10,26,46,0.92) !important;
  backdrop-filter: blur(20px) saturate(1.3);
  -webkit-backdrop-filter: blur(20px) saturate(1.3);
  border-top: 1px solid rgba(255,255,255,0.10);
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .GM-bottomNav-btn {
  background: transparent;
  color: var(--muted, #b5c7dd);
}
html.HM-theme-night-sea:not(.gn-night-mode) .GM-bottomNav-btn.is-active,
html.HM-theme-night-sea:not(.gn-night-mode) .GM-bottomNav-btn:hover {
  background: rgba(99,226,255,0.12);
  color: var(--brand, #63e2ff);
}
html.HM-theme-night-sea:not(.gn-night-mode) .GM-bottomNav-btnIcon,
html.HM-theme-night-sea:not(.gn-night-mode) .GM-bottomNav-btnLabel { color: inherit; }
html.HM-theme-night-sea:not(.gn-night-mode) .GM-bottomNav-imgIcon { filter: brightness(0.9) saturate(0.8); }
html.HM-theme-night-sea:not(.gn-night-mode) .GM-ctxSheet {
  background: rgba(10,26,46,0.96);
  backdrop-filter: blur(20px);
  color: var(--text, #e0eaf5);
  border: 1px solid rgba(255,255,255,0.12);
}
html.HM-theme-night-sea:not(.gn-night-mode) .GM-ctxSheetHead { background: var(--card-bg, rgba(255,255,255,0.05)); border-bottom: 1px solid rgba(255,255,255,0.10); }
html.HM-theme-night-sea:not(.gn-night-mode) .GM-ctxTitle { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .GM-ctxClose { background: rgba(255,255,255,0.08); color: var(--text, #e0eaf5); }
html.HM-theme-night-sea:not(.gn-night-mode) .GM-ctxClose:active { background: rgba(255,255,255,0.16); }
html.HM-theme-night-sea:not(.gn-night-mode) .GM-ctxTile {
  background: var(--card-bg, rgba(255,255,255,0.05));
  border: 1px solid rgba(255,255,255,0.10);
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .GM-ctxTileIcon { background: rgba(99,226,255,0.15); }
html.HM-theme-night-sea:not(.gn-night-mode) .GM-ctxTileLabel { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .GM-ctxTileSub { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .GM-iaBtn {
  background: #2f6fed;
  color: #ffffff;
  border-color: rgba(80,130,240,0.3);
  box-shadow: 0 4px 16px rgba(47,111,237,0.5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .GM-iaBtn-icon { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .GM-ctxOverlay { background: rgba(0,10,20,0.65); backdrop-filter: blur(6px); }
html.HM-theme-night-sea:not(.gn-night-mode) .GM-joinHint-inner {
  background: rgba(10,26,46,0.95);
  color: var(--text, #e0eaf5);
  border: 1px solid rgba(255,255,255,0.15);
}

/* RADAR */
html.HM-theme-radar:not(.gn-night-mode) .GM-bottomNavShell,
html.HM-theme-radar:not(.gn-night-mode) .GM-bottomNav {
  background: #000 !important;
  border-top: 1px solid #00ff88;
  box-shadow: 0 -2px 20px rgba(0,255,136,0.2);
  color: #9fffb0;
  font-family: 'Share Tech Mono', monospace;
}
html.HM-theme-radar:not(.gn-night-mode) .GM-bottomNav-btn {
  background: transparent;
  color: #9fffb0;
  text-transform: uppercase;
  letter-spacing: 0.8px;
}
html.HM-theme-radar:not(.gn-night-mode) .GM-bottomNav-btn.is-active,
html.HM-theme-radar:not(.gn-night-mode) .GM-bottomNav-btn:hover {
  background: rgba(0,255,136,0.12);
  color: #00ff88;
  text-shadow: 0 0 6px #00ff88;
}
html.HM-theme-radar:not(.gn-night-mode) .GM-bottomNav-imgIcon { filter: brightness(0.8) sepia(0.3) hue-rotate(90deg) saturate(2); }
html.HM-theme-radar:not(.gn-night-mode) .GM-ctxSheet {
  background: #000;
  border: 1px solid #00ff88;
  color: #9fffb0;
  font-family: 'Share Tech Mono', monospace;
}
html.HM-theme-radar:not(.gn-night-mode) .GM-ctxSheetHead { background: rgba(0,255,136,0.08); border-bottom: 1px dashed rgba(0,255,136,0.3); }
html.HM-theme-radar:not(.gn-night-mode) .GM-ctxTitle { color: #00ff88; font-family: 'Orbitron', monospace; text-transform: uppercase; letter-spacing: 2px; text-shadow: 0 0 6px #00ff88; }
html.HM-theme-radar:not(.gn-night-mode) .GM-ctxClose { background: transparent; color: #ff2cef; border: 1px solid #ff2cef; }
html.HM-theme-radar:not(.gn-night-mode) .GM-ctxTile {
  background: rgba(0,0,0,0.85);
  border: 1px solid rgba(0,255,136,0.4);
  color: #9fffb0;
  border-radius: 0;
}
html.HM-theme-radar:not(.gn-night-mode) .GM-ctxTileIcon { background: rgba(0,255,136,0.18); }
html.HM-theme-radar:not(.gn-night-mode) .GM-ctxTileLabel { color: #00ff88; text-transform: uppercase; letter-spacing: 1px; }
html.HM-theme-radar:not(.gn-night-mode) .GM-ctxTileSub { color: #5fa870; font-size: 0.7rem; }
html.HM-theme-radar:not(.gn-night-mode) .GM-iaBtn {
  background: #000;
  color: #00ff88;
  border: 1px solid #00ff88;
  box-shadow: 0 0 18px rgba(0,255,136,0.5);
}
html.HM-theme-radar:not(.gn-night-mode) .GM-iaBtn-icon { color: #00ff88; }
html.HM-theme-radar:not(.gn-night-mode) .GM-ctxOverlay { background: rgba(0,0,0,0.85); }
html.HM-theme-radar:not(.gn-night-mode) .GM-joinHint-inner {
  background: #000;
  color: #9fffb0;
  border: 1px solid #00ff88;
  font-family: 'Share Tech Mono', monospace;
}


/* ─────── 4. CHAT IA — #AIChatRoot + .ai-bubble (styles inline footer.php) ─────── */

/* NIGHT-SEA — on force !important pour battre les styles inline */
html.HM-theme-night-sea:not(.gn-night-mode) #AIChatRoot > div[style] {
  background: rgba(10,26,46,0.96) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) #AIChatRoot > div[style] > div:first-child {
  background: var(--card-bg, rgba(255,255,255,0.05)) !important;
  border-bottom: 1px solid rgba(255,255,255,0.10) !important;
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) #AIChatRoot [data-ai-out] { background: transparent !important; }
html.HM-theme-night-sea:not(.gn-night-mode) #AIChatRoot form {
  border-top: 1px solid rgba(255,255,255,0.10) !important;
  background: transparent !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) #AIChatRoot textarea {
  background: rgba(255,255,255,0.06) !important;
  color: var(--text, #e0eaf5) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) .ai-bubble.ai-user {
  background: rgba(99,226,255,0.15) !important;
  border: 1px solid rgba(99,226,255,0.3) !important;
  color: var(--text, #e0eaf5) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) .ai-bubble.ai-bot {
  background: var(--card-bg, rgba(255,255,255,0.05)) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  color: var(--text, #e0eaf5) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) .ai-bubble.ai-err {
  background: rgba(255,122,122,0.12) !important;
  color: #ff7a7a !important;
  border: 1px solid rgba(255,122,122,0.3) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) #AIChatRoot button[data-ai-close] {
  background: rgba(255,255,255,0.08) !important;
  color: var(--text, #e0eaf5) !important;
}

/* RADAR */
html.HM-theme-radar:not(.gn-night-mode) #AIChatRoot > div[style] {
  background: #000 !important;
  border: 1px solid #00ff88 !important;
  color: #9fffb0;
  border-radius: 0 !important;
  font-family: 'Share Tech Mono', monospace;
}
html.HM-theme-radar:not(.gn-night-mode) #AIChatRoot > div[style] > div:first-child {
  background: rgba(0,255,136,0.08) !important;
  border-bottom: 1px dashed rgba(0,255,136,0.3) !important;
  color: #00ff88 !important;
  font-family: 'Orbitron', monospace;
  text-transform: uppercase;
  letter-spacing: 1.5px;
}
html.HM-theme-radar:not(.gn-night-mode) #AIChatRoot [data-ai-out] { background: transparent !important; }
html.HM-theme-radar:not(.gn-night-mode) #AIChatRoot form { border-top: 1px dashed rgba(0,255,136,0.25) !important; background: transparent !important; }
html.HM-theme-radar:not(.gn-night-mode) #AIChatRoot textarea {
  background: #000 !important;
  color: #9fffb0 !important;
  border: 1px solid rgba(0,255,136,0.4) !important;
  font-family: 'Share Tech Mono', monospace;
}
html.HM-theme-radar:not(.gn-night-mode) .ai-bubble.ai-user {
  background: rgba(0,234,255,0.12) !important;
  border: 1px solid rgba(0,234,255,0.35) !important;
  color: #00eaff !important;
  border-radius: 0 !important;
}
html.HM-theme-radar:not(.gn-night-mode) .ai-bubble.ai-bot {
  background: rgba(0,255,136,0.1) !important;
  border: 1px solid rgba(0,255,136,0.3) !important;
  color: #9fffb0 !important;
  border-radius: 0 !important;
}
html.HM-theme-radar:not(.gn-night-mode) .ai-bubble.ai-err {
  background: rgba(255,44,239,0.12) !important;
  color: #ff2cef !important;
  border: 1px solid rgba(255,44,239,0.35) !important;
}
html.HM-theme-radar:not(.gn-night-mode) #AIChatRoot button[data-ai-close] {
  background: transparent !important;
  color: #ff2cef !important;
  border: 1px solid #ff2cef !important;
}
html.HM-theme-radar:not(.gn-night-mode) #AIChatRoot button[data-ai-send] {
  background: rgba(0,255,136,0.18) !important;
  color: #00ff88 !important;
  border: 1px solid #00ff88 !important;
  border-radius: 0 !important;
  font-family: 'Orbitron', monospace;
  text-transform: uppercase;
}


/* ─────── 5. CHAT MESSAGES (.CH-*) ─────── */

/* NIGHT-SEA */
html.HM-theme-night-sea:not(.gn-night-mode) .CH-panel,
html.HM-theme-night-sea:not(.gn-night-mode) .CH-header,
html.HM-theme-night-sea:not(.gn-night-mode) .CH-list,
html.HM-theme-night-sea:not(.gn-night-mode) .CH-list-empty,
html.HM-theme-night-sea:not(.gn-night-mode) .CH-conversation,
html.HM-theme-night-sea:not(.gn-night-mode) .CH-conv-header,
html.HM-theme-night-sea:not(.gn-night-mode) .CH-conv-name,
html.HM-theme-night-sea:not(.gn-night-mode) .CH-conv-status {
  background: rgba(10,26,46,0.96);
  color: var(--text, #e0eaf5);
  border-color: rgba(255,255,255,0.10);
  backdrop-filter: blur(15px);
}
html.HM-theme-night-sea:not(.gn-night-mode) .CH-msg { color: var(--text, #e0eaf5); }
html.HM-theme-night-sea:not(.gn-night-mode) .CH-msg--me,
html.HM-theme-night-sea:not(.gn-night-mode) .CH-bubble--me {
  background: linear-gradient(135deg, rgba(45,212,191,0.25), rgba(99,226,255,0.18));
  color: #ffffff;
  border: 1px solid rgba(45,212,191,0.3);
}
html.HM-theme-night-sea:not(.gn-night-mode) .CH-msg--them,
html.HM-theme-night-sea:not(.gn-night-mode) .CH-bubble--them {
  background: rgba(255,255,255,0.06);
  color: var(--text, #e0eaf5);
  border: 1px solid rgba(255,255,255,0.10);
}
html.HM-theme-night-sea:not(.gn-night-mode) .CH-bubble-name { background: rgba(255,255,255,0.08); color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .CH-back { background: rgba(255,255,255,0.08); color: var(--text, #e0eaf5); }
html.HM-theme-night-sea:not(.gn-night-mode) .CH-back:hover { background: rgba(255,255,255,0.15); }
html.HM-theme-night-sea:not(.gn-night-mode) .CH-float-badge,
html.HM-theme-night-sea:not(.gn-night-mode) .CH-bubble-unread { background: #ef4444; color: #ffffff; }

/* RADAR */
html.HM-theme-radar:not(.gn-night-mode) .CH-panel,
html.HM-theme-radar:not(.gn-night-mode) .CH-header,
html.HM-theme-radar:not(.gn-night-mode) .CH-list,
html.HM-theme-radar:not(.gn-night-mode) .CH-list-empty,
html.HM-theme-radar:not(.gn-night-mode) .CH-conversation,
html.HM-theme-radar:not(.gn-night-mode) .CH-conv-header,
html.HM-theme-radar:not(.gn-night-mode) .CH-conv-name,
html.HM-theme-radar:not(.gn-night-mode) .CH-conv-status {
  background: #000;
  color: #9fffb0;
  border-color: rgba(0,255,136,0.3);
  font-family: 'Share Tech Mono', monospace;
}
html.HM-theme-radar:not(.gn-night-mode) .CH-conv-name { color: #00ff88; text-transform: uppercase; letter-spacing: 1px; }
html.HM-theme-radar:not(.gn-night-mode) .CH-msg { color: #9fffb0; }
html.HM-theme-radar:not(.gn-night-mode) .CH-msg--me,
html.HM-theme-radar:not(.gn-night-mode) .CH-bubble--me {
  background: rgba(0,255,136,0.15);
  color: #00ff88;
  border: 1px solid rgba(0,255,136,0.4);
  border-radius: 2px;
}
html.HM-theme-radar:not(.gn-night-mode) .CH-msg--them,
html.HM-theme-radar:not(.gn-night-mode) .CH-bubble--them {
  background: rgba(255,255,255,0.03);
  color: #9fffb0;
  border: 1px solid rgba(0,255,136,0.2);
  border-radius: 2px;
}
html.HM-theme-radar:not(.gn-night-mode) .CH-bubble-name { background: rgba(0,255,136,0.1); color: #00ff88; text-transform: uppercase; letter-spacing: 1px; }
html.HM-theme-radar:not(.gn-night-mode) .CH-back { background: transparent; color: #00ff88; border: 1px solid rgba(0,255,136,0.3); }
html.HM-theme-radar:not(.gn-night-mode) .CH-back:hover { background: rgba(0,255,136,0.1); }
html.HM-theme-radar:not(.gn-night-mode) .CH-float-badge,
html.HM-theme-radar:not(.gn-night-mode) .CH-bubble-unread { background: #ff2cef; color: #000; box-shadow: 0 0 10px #ff2cef; }


/* ─────── 6. CARTOUCHE ÉVÉNEMENT (.CE .cartouche-*) ─────── */

/* NIGHT-SEA */
html.HM-theme-night-sea:not(.gn-night-mode) .CE .cartouche-evenement {
  background: var(--card-bg, rgba(255,255,255,0.04));
  border: 1px solid rgba(255,255,255,0.10);
  backdrop-filter: blur(10px);
  color: var(--text, #e0eaf5);
  box-shadow: 0 6px 20px rgba(0,0,0,0.25);
}
html.HM-theme-night-sea:not(.gn-night-mode) .CE .cartouche-photo { background: rgba(0,0,0,0.3); }
html.HM-theme-night-sea:not(.gn-night-mode) .CE .cartouche-infos .titre { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .CE .meta { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .CE .meta .chip { background: rgba(255,255,255,0.08); color: var(--text, #e0eaf5); }
html.HM-theme-night-sea:not(.gn-night-mode) .CE .desc { color: #cad9ec; }
html.HM-theme-night-sea:not(.gn-night-mode) .CE .distance { color: #8ca3bf; }
html.HM-theme-night-sea:not(.gn-night-mode) .CE .cartouche-organisateur { border-color: rgba(255,255,255,0.08); }
html.HM-theme-night-sea:not(.gn-night-mode) .CE .cartouche-inscrit { background: rgba(45,212,191,0.25); color: #86efac; }
html.HM-theme-night-sea:not(.gn-night-mode) .CE .cartouche-ami { background: rgba(99,226,255,0.18); color: var(--brand, #63e2ff); }
html.HM-theme-night-sea:not(.gn-night-mode) .CE .cartouche-ami-more { background: rgba(255,255,255,0.08); color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .CE .CE-creator-badge { background: rgba(255,203,107,0.2); color: #ffcb6b; }

/* RADAR */
html.HM-theme-radar:not(.gn-night-mode) .CE .cartouche-evenement {
  background: rgba(0,0,0,0.85);
  border: 1px solid rgba(0,255,136,0.4);
  color: #9fffb0;
  font-family: 'Share Tech Mono', monospace;
  border-radius: 0;
  box-shadow: 0 0 14px rgba(0,255,136,0.15);
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
}
html.HM-theme-radar:not(.gn-night-mode) .CE .cartouche-photo { background: #000; }
html.HM-theme-radar:not(.gn-night-mode) .CE .cartouche-infos .titre {
  color: #00ff88;
  font-family: 'Orbitron', monospace;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  text-shadow: 0 0 8px #00ff88;
}
html.HM-theme-radar:not(.gn-night-mode) .CE .meta { color: #9fffb0; }
html.HM-theme-radar:not(.gn-night-mode) .CE .meta .chip { background: rgba(0,255,136,0.12); color: #00ff88; border-radius: 0; border: 1px solid rgba(0,255,136,0.3); }
html.HM-theme-radar:not(.gn-night-mode) .CE .desc { color: #9fffb0; }
html.HM-theme-radar:not(.gn-night-mode) .CE .distance { color: #5fa870; }
html.HM-theme-radar:not(.gn-night-mode) .CE .cartouche-organisateur { border-color: rgba(0,255,136,0.2); }
html.HM-theme-radar:not(.gn-night-mode) .CE .cartouche-inscrit { background: rgba(0,255,136,0.2); color: #00ff88; border: 1px solid #00ff88; }
html.HM-theme-radar:not(.gn-night-mode) .CE .cartouche-ami { background: rgba(0,234,255,0.2); color: #00eaff; border: 1px solid #00eaff; }
html.HM-theme-radar:not(.gn-night-mode) .CE .cartouche-ami-more { background: rgba(255,255,255,0.05); color: #9fffb0; border: 1px solid rgba(0,255,136,0.25); }
html.HM-theme-radar:not(.gn-night-mode) .CE .CE-creator-badge { background: rgba(255,234,0,0.2); color: #ffea00; border: 1px solid #ffea00; }


/* ─────── 7. AIDE PONCTUELLE (.AH-*) — page "Coup de main" ─────── */

/* NIGHT-SEA */
html.HM-theme-night-sea:not(.gn-night-mode) .AH-page-title,
html.HM-theme-night-sea:not(.gn-night-mode) .AH-section-title,
html.HM-theme-night-sea:not(.gn-night-mode) .AH-form-title,
html.HM-theme-night-sea:not(.gn-night-mode) .AH-hero-title { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .AH-hero {
  background: var(--card-bg, rgba(255,255,255,0.04));
  border: 1px solid rgba(255,255,255,0.10);
  backdrop-filter: blur(10px);
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .AH-hero-chip { background: rgba(255,255,255,0.10); color: var(--text, #e0eaf5); }
html.HM-theme-night-sea:not(.gn-night-mode) .AH-hero-subtitle { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .AH-distress-btn {
  background: linear-gradient(135deg, #ef4444, #f87171);
  color: #fff;
  box-shadow: 0 4px 20px rgba(239,68,68,0.4);
}

html.HM-theme-night-sea:not(.gn-night-mode) .AH-card {
  background: var(--card-bg, rgba(255,255,255,0.04)) !important;
  border: 1px solid rgba(255,255,255,0.10);
  backdrop-filter: blur(10px);
  color: var(--text, #e0eaf5);
  box-shadow: 0 6px 20px rgba(0,0,0,0.3);
}
html.HM-theme-night-sea:not(.gn-night-mode) .AH-card--immediat {
  background: rgba(239,68,68,0.1) !important;
  border-left: 4px solid #ef4444;
}
html.HM-theme-night-sea:not(.gn-night-mode) .AH-card-desc { color: #cad9ec; }
html.HM-theme-night-sea:not(.gn-night-mode) .AH-card-meta { color: #8ca3bf; }
html.HM-theme-night-sea:not(.gn-night-mode) .AH-duration { color: var(--muted, #b5c7dd); }

html.HM-theme-night-sea:not(.gn-night-mode) .AH-form {
  background: var(--card-bg, rgba(255,255,255,0.04)) !important;
  border: 1px solid rgba(255,255,255,0.10);
  backdrop-filter: blur(10px);
  color: var(--text, #e0eaf5);
  box-shadow: 0 6px 20px rgba(0,0,0,0.3);
}
html.HM-theme-night-sea:not(.gn-night-mode) .AH-label { color: var(--text, #e0eaf5); }
html.HM-theme-night-sea:not(.gn-night-mode) .AH-input,
html.HM-theme-night-sea:not(.gn-night-mode) .AH-textarea {
  background: rgba(255,255,255,0.06) !important;
  color: var(--text, #e0eaf5) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) .AH-input:focus,
html.HM-theme-night-sea:not(.gn-night-mode) .AH-textarea:focus {
  border-color: #63e2ff !important;
  background: rgba(255,255,255,0.10) !important;
  box-shadow: 0 0 0 3px rgba(99,226,255,0.18);
}
html.HM-theme-night-sea:not(.gn-night-mode) .AH-radio-card {
  background: var(--card-bg, rgba(255,255,255,0.05));
  border: 1px solid rgba(255,255,255,0.15);
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .AH-radio-card--immediat:has(input:checked) {
  background: rgba(239,68,68,0.18) !important;
  border-color: #ef4444 !important;
  color: #ff8a8a !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) .AH-radio-card--heure:has(input:checked) {
  background: rgba(243,156,18,0.2) !important;
  border-color: #f39c12 !important;
  color: #ffc977 !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) .AH-radio-card:has(input:checked) {
  background: rgba(99,226,255,0.18);
  border-color: #63e2ff;
  color: var(--brand, #63e2ff);
}
html.HM-theme-night-sea:not(.gn-night-mode) .AH-boat-auto {
  background: var(--card-bg, rgba(255,255,255,0.04));
  border: 1px solid rgba(255,255,255,0.10);
  color: var(--text, #e0eaf5);
}

html.HM-theme-night-sea:not(.gn-night-mode) .AH-submit {
  background: #2f6fed;
  color: #fff;
  box-shadow: 0 4px 16px rgba(47,111,237,0.4);
}
html.HM-theme-night-sea:not(.gn-night-mode) .AH-submit--ghost {
  background: rgba(255,255,255,0.07) !important;
  color: var(--text, #e0eaf5) !important;
  border: 1px solid rgba(255,255,255,0.15);
  box-shadow: none;
}
html.HM-theme-night-sea:not(.gn-night-mode) .AH-submit--success { background: linear-gradient(135deg, #1a8a6e, #48d1a8) !important; }
html.HM-theme-night-sea:not(.gn-night-mode) .AH-submit--back { background: rgba(255,255,255,0.08) !important; color: var(--text, #e0eaf5) !important; }

html.HM-theme-night-sea:not(.gn-night-mode) .AH-detail-card {
  background: var(--card-bg, rgba(255,255,255,0.04)) !important;
  border: 1px solid rgba(255,255,255,0.10);
  backdrop-filter: blur(10px);
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .AH-detail-field-label { color: #8ca3bf; }
html.HM-theme-night-sea:not(.gn-night-mode) .AH-detail-field-value { color: var(--text, #e0eaf5); }
html.HM-theme-night-sea:not(.gn-night-mode) .AH-detail-desc { color: #cad9ec; }

html.HM-theme-night-sea:not(.gn-night-mode) .AH-alert--success { background: rgba(34,197,94,0.18) !important; color: #86efac !important; border: 1px solid rgba(34,197,94,0.35); }
html.HM-theme-night-sea:not(.gn-night-mode) .AH-alert--error { background: rgba(239,68,68,0.18) !important; color: #ff8a8a !important; border: 1px solid rgba(239,68,68,0.35); }
html.HM-theme-night-sea:not(.gn-night-mode) .AH-alert--info { background: rgba(99,226,255,0.15) !important; color: var(--brand, #63e2ff) !important; border: 1px solid rgba(99,226,255,0.35); }

html.HM-theme-night-sea:not(.gn-night-mode) .AH-action-section { border-top-color: rgba(255,255,255,0.10); }
html.HM-theme-night-sea:not(.gn-night-mode) .AH-cu-card {
  background: var(--card-bg, rgba(255,255,255,0.04)) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .AH-cu-card--helper { background: rgba(34,197,94,0.12) !important; border-color: rgba(34,197,94,0.3) !important; }
html.HM-theme-night-sea:not(.gn-night-mode) .AH-person-role { color: #8ca3bf; }
html.HM-theme-night-sea:not(.gn-night-mode) .AH-person-name { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .AH-objet-card {
  background: var(--card-bg, rgba(255,255,255,0.04));
  border: 1px solid rgba(255,255,255,0.10);
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .AH-objet-cover { background: rgba(0,0,0,0.3); }
html.HM-theme-night-sea:not(.gn-night-mode) .AH-objet-cover--empty { background: var(--card-bg, rgba(255,255,255,0.05)); color: #8ca3bf; }
html.HM-theme-night-sea:not(.gn-night-mode) .AH-objet-label { color: #8ca3bf; }
html.HM-theme-night-sea:not(.gn-night-mode) .AH-objet-name { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .AH-top-cell-label { color: #8ca3bf; }
html.HM-theme-night-sea:not(.gn-night-mode) .AH-top-cell-label--helper { color: #86efac; }

/* RADAR */
html.HM-theme-radar:not(.gn-night-mode) .AH-page-title,
html.HM-theme-radar:not(.gn-night-mode) .AH-section-title,
html.HM-theme-radar:not(.gn-night-mode) .AH-form-title,
html.HM-theme-radar:not(.gn-night-mode) .AH-hero-title {
  color: #00ff88;
  font-family: 'Orbitron', monospace;
  text-transform: uppercase;
  letter-spacing: 2px;
  text-shadow: 0 0 8px #00ff88;
}
html.HM-theme-radar:not(.gn-night-mode) .AH-hero {
  background: rgba(0,0,0,0.85);
  border: 1px solid #00ff88;
  color: #9fffb0;
  border-radius: 0;
  box-shadow: 0 0 18px rgba(0,255,136,0.25);
  font-family: 'Share Tech Mono', monospace;
}
html.HM-theme-radar:not(.gn-night-mode) .AH-hero-chip { background: rgba(0,255,136,0.15); color: #00ff88; border: 1px solid rgba(0,255,136,0.35); border-radius: 0; }
html.HM-theme-radar:not(.gn-night-mode) .AH-hero-subtitle { color: #9fffb0; }
html.HM-theme-radar:not(.gn-night-mode) .AH-distress-btn {
  background: #ff2cef;
  color: #000;
  box-shadow: 0 0 20px #ff2cef;
  font-family: 'Orbitron', monospace;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  border-radius: 0;
  animation: radar-pulse-alert 1.4s ease-in-out infinite;
}

html.HM-theme-radar:not(.gn-night-mode) .AH-card {
  background: rgba(0,0,0,0.85) !important;
  border: 1px solid rgba(0,255,136,0.4);
  color: #9fffb0;
  border-radius: 0;
  box-shadow: 0 0 12px rgba(0,255,136,0.15);
  clip-path: polygon(8px 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%, 0 8px);
  font-family: 'Share Tech Mono', monospace;
}
html.HM-theme-radar:not(.gn-night-mode) .AH-card--immediat {
  background: rgba(255,44,239,0.08) !important;
  border-left: 4px solid #ff2cef;
}
html.HM-theme-radar:not(.gn-night-mode) .AH-card-desc { color: #9fffb0; }
html.HM-theme-radar:not(.gn-night-mode) .AH-card-meta { color: #5fa870; }
html.HM-theme-radar:not(.gn-night-mode) .AH-duration { color: #9fffb0; }

html.HM-theme-radar:not(.gn-night-mode) .AH-form {
  background: rgba(0,0,0,0.88) !important;
  border: 1px solid #00ff88;
  color: #9fffb0;
  border-radius: 0;
  box-shadow: 0 0 18px rgba(0,255,136,0.2);
  font-family: 'Share Tech Mono', monospace;
}
html.HM-theme-radar:not(.gn-night-mode) .AH-label { color: #00ff88; text-transform: uppercase; letter-spacing: 1px; font-family: 'Share Tech Mono', monospace; }
html.HM-theme-radar:not(.gn-night-mode) .AH-input,
html.HM-theme-radar:not(.gn-night-mode) .AH-textarea {
  background: #000 !important;
  color: #9fffb0 !important;
  border: 1px solid rgba(0,255,136,0.4) !important;
  border-radius: 0 !important;
  font-family: 'Share Tech Mono', monospace;
}
html.HM-theme-radar:not(.gn-night-mode) .AH-input:focus,
html.HM-theme-radar:not(.gn-night-mode) .AH-textarea:focus {
  border-color: #00ff88 !important;
  background: #000 !important;
  box-shadow: 0 0 0 2px rgba(0,255,136,0.3), 0 0 12px rgba(0,255,136,0.3) !important;
}
html.HM-theme-radar:not(.gn-night-mode) .AH-radio-card {
  background: rgba(0,0,0,0.85);
  border: 1px solid rgba(0,255,136,0.4);
  color: #9fffb0;
  border-radius: 0;
  font-family: 'Share Tech Mono', monospace;
  text-transform: uppercase;
}
html.HM-theme-radar:not(.gn-night-mode) .AH-radio-card--immediat:has(input:checked) {
  background: rgba(255,44,239,0.18) !important;
  border-color: #ff2cef !important;
  color: #ff2cef !important;
  text-shadow: 0 0 6px #ff2cef;
}
html.HM-theme-radar:not(.gn-night-mode) .AH-radio-card--heure:has(input:checked) {
  background: rgba(255,234,0,0.15) !important;
  border-color: #ffea00 !important;
  color: #ffea00 !important;
}
html.HM-theme-radar:not(.gn-night-mode) .AH-radio-card:has(input:checked) {
  background: rgba(0,255,136,0.15);
  border-color: #00ff88;
  color: #00ff88;
  text-shadow: 0 0 6px #00ff88;
}
html.HM-theme-radar:not(.gn-night-mode) .AH-boat-auto {
  background: rgba(0,0,0,0.85);
  border: 1px solid rgba(0,255,136,0.35);
  color: #9fffb0;
  border-radius: 0;
}

html.HM-theme-radar:not(.gn-night-mode) .AH-submit {
  background: rgba(0,255,136,0.2);
  color: #00ff88;
  border: 1px solid #00ff88;
  border-radius: 0;
  font-family: 'Orbitron', monospace;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  text-shadow: 0 0 6px #00ff88;
  box-shadow: 0 0 16px rgba(0,255,136,0.4);
}
html.HM-theme-radar:not(.gn-night-mode) .AH-submit:hover { background: rgba(0,255,136,0.35); box-shadow: 0 0 22px rgba(0,255,136,0.6); }
html.HM-theme-radar:not(.gn-night-mode) .AH-submit--ghost {
  background: transparent !important;
  color: #9fffb0 !important;
  border: 1px solid rgba(0,255,136,0.4);
  box-shadow: none;
  text-shadow: none;
}
html.HM-theme-radar:not(.gn-night-mode) .AH-submit--success { background: rgba(0,255,136,0.25) !important; border-color: #00ff88 !important; }
html.HM-theme-radar:not(.gn-night-mode) .AH-submit--back { background: transparent !important; color: #9fffb0 !important; border: 1px solid rgba(0,255,136,0.3); }

html.HM-theme-radar:not(.gn-night-mode) .AH-detail-card {
  background: rgba(0,0,0,0.85) !important;
  border: 1px solid rgba(0,255,136,0.4);
  color: #9fffb0;
  border-radius: 0;
  font-family: 'Share Tech Mono', monospace;
}
html.HM-theme-radar:not(.gn-night-mode) .AH-detail-field-label { color: #5fa870; text-transform: uppercase; letter-spacing: 1px; }
html.HM-theme-radar:not(.gn-night-mode) .AH-detail-field-value { color: #9fffb0; }
html.HM-theme-radar:not(.gn-night-mode) .AH-detail-desc { color: #9fffb0; }

html.HM-theme-radar:not(.gn-night-mode) .AH-alert--success { background: rgba(0,255,136,0.15) !important; color: #00ff88 !important; border: 1px solid #00ff88 !important; border-radius: 0 !important; }
html.HM-theme-radar:not(.gn-night-mode) .AH-alert--error { background: rgba(255,44,239,0.15) !important; color: #ff2cef !important; border: 1px solid #ff2cef !important; border-radius: 0 !important; }
html.HM-theme-radar:not(.gn-night-mode) .AH-alert--info { background: rgba(0,234,255,0.12) !important; color: #00eaff !important; border: 1px solid #00eaff !important; border-radius: 0 !important; }

html.HM-theme-radar:not(.gn-night-mode) .AH-action-section { border-top: 1px dashed rgba(0,255,136,0.3); }
html.HM-theme-radar:not(.gn-night-mode) .AH-cu-card {
  background: rgba(0,0,0,0.85) !important;
  border: 1px solid rgba(0,255,136,0.4) !important;
  color: #9fffb0;
  border-radius: 0;
}
html.HM-theme-radar:not(.gn-night-mode) .AH-cu-card--helper { background: rgba(0,255,136,0.1) !important; border-color: #00ff88 !important; }
html.HM-theme-radar:not(.gn-night-mode) .AH-person-role { color: #5fa870; text-transform: uppercase; }
html.HM-theme-radar:not(.gn-night-mode) .AH-person-name { color: #00ff88; }
html.HM-theme-radar:not(.gn-night-mode) .AH-objet-card {
  background: rgba(0,0,0,0.85);
  border: 1px solid rgba(0,255,136,0.3);
  color: #9fffb0;
  border-radius: 0;
}
html.HM-theme-radar:not(.gn-night-mode) .AH-objet-cover { background: #000; }
html.HM-theme-radar:not(.gn-night-mode) .AH-objet-cover--empty { background: rgba(0,255,136,0.05); color: #5fa870; }
html.HM-theme-radar:not(.gn-night-mode) .AH-objet-label { color: #5fa870; text-transform: uppercase; }
html.HM-theme-radar:not(.gn-night-mode) .AH-objet-name { color: #00ff88; }
html.HM-theme-radar:not(.gn-night-mode) .AH-top-cell-label { color: #5fa870; text-transform: uppercase; }
html.HM-theme-radar:not(.gn-night-mode) .AH-top-cell-label--helper { color: #00ff88; }


/* ─────── 8. MEMBRES DU PORT (.MB-*) ─────── */

/* NIGHT-SEA */
html.HM-theme-night-sea:not(.gn-night-mode) .MB-title { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .MB-sub { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .MB-count-badge {
  background: rgba(255,255,255,0.08);
  color: var(--text, #e0eaf5);
  border: 1px solid rgba(255,255,255,0.15);
}
html.HM-theme-night-sea:not(.gn-night-mode) .MB-count-badge strong { color: var(--brand, #63e2ff); }
html.HM-theme-night-sea:not(.gn-night-mode) .MB-card {
  background: var(--card-bg, rgba(255,255,255,0.04));
  border: 1px solid rgba(255,255,255,0.10);
  backdrop-filter: blur(10px);
  color: var(--text, #e0eaf5);
  box-shadow: 0 6px 20px rgba(0,0,0,0.3);
}
html.HM-theme-night-sea:not(.gn-night-mode) .MB-card:hover {
  background: rgba(255,255,255,0.08);
  border-color: rgba(99,226,255,0.35);
  box-shadow: 0 12px 28px rgba(0,0,0,0.45), 0 0 20px rgba(99,226,255,0.15);
}
html.HM-theme-night-sea:not(.gn-night-mode) .MB-photo {
  background: rgba(0,0,0,0.3);
  border-color: rgba(255,255,255,0.2);
}
html.HM-theme-night-sea:not(.gn-night-mode) .MB-name { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .MB-name a { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .MB-name a:hover { color: var(--brand, #63e2ff); }
html.HM-theme-night-sea:not(.gn-night-mode) .MB-meta { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .MB-desc { color: #8ca3bf; }
html.HM-theme-night-sea:not(.gn-night-mode) .MB-badge--ami { background: rgba(45,212,191,0.3); color: #86efac; box-shadow: 0 0 10px rgba(45,212,191,0.3); }
html.HM-theme-night-sea:not(.gn-night-mode) .MB-badge--pending { background: rgba(255,203,107,0.25); color: #ffcb6b; box-shadow: 0 0 10px rgba(255,203,107,0.25); }
html.HM-theme-night-sea:not(.gn-night-mode) .MB-badge--me { background: rgba(99,226,255,0.3); color: #63e2ff; box-shadow: 0 0 10px rgba(99,226,255,0.3); }
html.HM-theme-night-sea:not(.gn-night-mode) .MB-empty {
  background: rgba(255,255,255,0.03);
  border-color: rgba(255,255,255,0.15);
  color: var(--muted, #b5c7dd);
}

/* RADAR */
html.HM-theme-radar:not(.gn-night-mode) .MB-title {
  color: #00ff88;
  font-family: 'Orbitron', monospace;
  text-transform: uppercase;
  letter-spacing: 2px;
  text-shadow: 0 0 8px #00ff88;
}
html.HM-theme-radar:not(.gn-night-mode) .MB-count-badge {
  background: rgba(0,255,136,0.12);
  color: #00ff88;
  border: 1px solid rgba(0,255,136,0.35);
  border-radius: 0;
  font-family: 'Share Tech Mono', monospace;
}
html.HM-theme-radar:not(.gn-night-mode) .MB-count-badge strong { color: #00ff88; text-shadow: 0 0 6px #00ff88; }
html.HM-theme-radar:not(.gn-night-mode) .MB-card {
  background: rgba(0,0,0,0.85);
  border: 1px solid rgba(0,255,136,0.35);
  color: #9fffb0;
  border-radius: 0;
  box-shadow: 0 0 12px rgba(0,255,136,0.1);
  font-family: 'Share Tech Mono', monospace;
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
}
html.HM-theme-radar:not(.gn-night-mode) .MB-card:hover {
  background: rgba(0,255,136,0.05);
  border-color: #00ff88;
  box-shadow: 0 0 22px rgba(0,255,136,0.35);
}
html.HM-theme-radar:not(.gn-night-mode) .MB-photo {
  background: #000;
  border: 2px solid #00ff88;
  box-shadow: 0 0 12px rgba(0,255,136,0.3);
}
html.HM-theme-radar:not(.gn-night-mode) .MB-name {
  color: #00ff88;
  font-family: 'Orbitron', monospace;
  text-transform: uppercase;
  letter-spacing: 1px;
  text-shadow: 0 0 6px #00ff88;
  font-size: 0.92rem;
}
html.HM-theme-radar:not(.gn-night-mode) .MB-name a { color: #00ff88; }
html.HM-theme-radar:not(.gn-night-mode) .MB-name a:hover { color: #9fffb0; text-shadow: 0 0 8px #00ff88; }
html.HM-theme-radar:not(.gn-night-mode) .MB-meta { color: #9fffb0; }
html.HM-theme-radar:not(.gn-night-mode) .MB-desc { color: #5fa870; }
html.HM-theme-radar:not(.gn-night-mode) .MB-badge--ami {
  background: rgba(0,255,136,0.2);
  color: #00ff88;
  border: 1px solid #00ff88;
  border-radius: 0;
  text-transform: uppercase;
  font-family: 'Share Tech Mono', monospace;
  letter-spacing: 0.8px;
  box-shadow: 0 0 10px rgba(0,255,136,0.4);
}
html.HM-theme-radar:not(.gn-night-mode) .MB-badge--pending {
  background: rgba(255,234,0,0.2);
  color: #ffea00;
  border: 1px solid #ffea00;
  border-radius: 0;
  text-transform: uppercase;
  font-family: 'Share Tech Mono', monospace;
}
html.HM-theme-radar:not(.gn-night-mode) .MB-badge--me {
  background: rgba(0,234,255,0.2);
  color: #00eaff;
  border: 1px solid #00eaff;
  border-radius: 0;
  text-transform: uppercase;
  font-family: 'Share Tech Mono', monospace;
}
html.HM-theme-radar:not(.gn-night-mode) .MB-empty {
  background: rgba(0,0,0,0.85);
  border: 1px dashed rgba(0,255,136,0.35);
  color: #9fffb0;
  border-radius: 0;
  font-family: 'Share Tech Mono', monospace;
  text-transform: uppercase;
}


/* ═══════════════════════════════════════════════════════════════════
   PRIORITÉ 2 — pages secondaires (night-sea + radar minimal)
   ═══════════════════════════════════════════════════════════════════ */

/* ─────── LIVRE DE BORD (.LB-*) ─────── */

/* NIGHT-SEA */
html.HM-theme-night-sea:not(.gn-night-mode) .LB h1,
html.HM-theme-night-sea:not(.gn-night-mode) .LB-new-form-title { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .LB-sub,
html.HM-theme-night-sea:not(.gn-night-mode) .LB-file-info,
html.HM-theme-night-sea:not(.gn-night-mode) .LB-empty,
html.HM-theme-night-sea:not(.gn-night-mode) .LB-no-boat,
html.HM-theme-night-sea:not(.gn-night-mode) .LB-day-weather { color: var(--muted, #b5c7dd); }

html.HM-theme-night-sea:not(.gn-night-mode) .LB-boat-sel,
html.HM-theme-night-sea:not(.gn-night-mode) .LB-boat-sel option {
  background: rgba(255,255,255,0.06) !important;
  color: var(--text, #e0eaf5) !important;
  border-color: rgba(255,255,255,0.15) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) .LB-search-bar {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.15);
}
html.HM-theme-night-sea:not(.gn-night-mode) .LB-search-input {
  background: transparent !important;
  color: var(--text, #e0eaf5) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) .LB-search-input::placeholder { color: #6b8aa8; }
html.HM-theme-night-sea:not(.gn-night-mode) .LB-search-go-btn { background: #2f6fed; color:#fff; }
html.HM-theme-night-sea:not(.gn-night-mode) .LB-search-filters-btn {
  background: rgba(255,255,255,0.07) !important;
  color: var(--text, #e0eaf5) !important;
  border-color: rgba(255,255,255,0.15);
}
html.HM-theme-night-sea:not(.gn-night-mode) .LB-search-filters-btn sup { color: var(--brand, #63e2ff); }
html.HM-theme-night-sea:not(.gn-night-mode) .LB-filters input,
html.HM-theme-night-sea:not(.gn-night-mode) .LB-filters select,
html.HM-theme-night-sea:not(.gn-night-mode) .LB-filters select option {
  background: rgba(255,255,255,0.06) !important;
  color: var(--text, #e0eaf5) !important;
  border-color: rgba(255,255,255,0.15) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) .LB-filters input::placeholder { color: #6b8aa8; }
html.HM-theme-night-sea:not(.gn-night-mode) .LB-date-label { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .LB-filter-btn { background: #2f6fed; color:#fff; }
html.HM-theme-night-sea:not(.gn-night-mode) .LB-filter-reset { background: rgba(255,255,255,0.1); color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .LB-new-bar {
  background: linear-gradient(135deg, rgba(34,197,94,0.2), rgba(22,163,74,0.25)) !important;
  color: #86efac !important;
  border: 1px solid rgba(34,197,94,0.35);
}
html.HM-theme-night-sea:not(.gn-night-mode) .LB-new-form {
  background: var(--card-bg, rgba(255,255,255,0.04)) !important;
  border: 1px solid rgba(255,255,255,0.10);
  backdrop-filter: blur(10px);
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .LB-new-form textarea {
  background: rgba(255,255,255,0.06) !important;
  color: var(--text, #e0eaf5) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) .LB-new-form textarea::placeholder { color: #6b8aa8; }
html.HM-theme-night-sea:not(.gn-night-mode) .LB-media-card {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  color: var(--text, #e0eaf5) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) .LB-media-card:hover { background: rgba(255,255,255,0.12) !important; border-color: rgba(99,226,255,0.35) !important; }
html.HM-theme-night-sea:not(.gn-night-mode) .LB-tags-toggle,
html.HM-theme-night-sea:not(.gn-night-mode) .LB-tag-chip {
  background: rgba(255,255,255,0.07) !important;
  color: var(--text, #e0eaf5) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) .LB-tag-chip.LB-tag-active { background: #63e2ff !important; color: #0a1a2e !important; border-color: #63e2ff !important; }
html.HM-theme-night-sea:not(.gn-night-mode) .LB-checklists-link {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  color: var(--text, #e0eaf5) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) .LB-checklists-link span { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .LB-timeline::before { background: rgba(255,255,255,0.15); }
html.HM-theme-night-sea:not(.gn-night-mode) .LB-day-dot { background: #63e2ff; border-color: rgba(10,26,46,0.9); }
html.HM-theme-night-sea:not(.gn-night-mode) .LB-day-date { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .LB-day-title { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .LB-day-auto { background: var(--card-bg, rgba(255,255,255,0.05)); color: var(--muted, #b5c7dd); }

/* Les ENTRÉES du livre de bord (les messages ajoutés) */
html.HM-theme-night-sea:not(.gn-night-mode) .LB-item {
  background: var(--card-bg, rgba(255,255,255,0.05)) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  color: var(--text, #e0eaf5) !important;
  backdrop-filter: blur(8px);
}
html.HM-theme-night-sea:not(.gn-night-mode) .LB-item-author { color: var(--brand, #63e2ff); }
html.HM-theme-night-sea:not(.gn-night-mode) .LB-item-time,
html.HM-theme-night-sea:not(.gn-night-mode) .LB-item-date { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .LB-item-summary {
  background: linear-gradient(135deg, rgba(251,191,36,0.18), rgba(245,158,11,0.12));
  border-left: 4px solid #fbbf24;
  color: #fcd34d;
  font-size: 15px;
  font-weight: 700;
  text-shadow: 0 0 8px rgba(251,191,36,0.3);
}
html.HM-theme-night-sea:not(.gn-night-mode) .LB-item-text { color: var(--text, #e0eaf5); }
html.HM-theme-night-sea:not(.gn-night-mode) .LB-item-text.LB-trace-entry {
  background: rgba(99,226,255,0.08);
  border: 1px solid rgba(99,226,255,0.25);
  color: #cad9ec;
}
html.HM-theme-night-sea:not(.gn-night-mode) .LB-trace-link { background: rgba(99,226,255,0.2); color: var(--brand, #63e2ff); }
html.HM-theme-night-sea:not(.gn-night-mode) .LB-read-more { color: var(--brand, #63e2ff); }
html.HM-theme-night-sea:not(.gn-night-mode) .LB-item-tag { background: rgba(255,255,255,0.08); color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .LB-item-actions button {
  background: rgba(255,255,255,0.07) !important;
  border-color: rgba(255,255,255,0.15) !important;
  color: var(--text, #e0eaf5) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) .LB-loadmore button {
  background: rgba(255,255,255,0.07) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  color: var(--text, #e0eaf5) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) .LB-highlight { background: rgba(251,191,36,0.3); color: #fcd34d; }
html.HM-theme-night-sea:not(.gn-night-mode) .LB-highlight-active { background: #fbbf24; color: #0a1a2e; }
html.HM-theme-night-sea:not(.gn-night-mode) .LB-results-bar { background: rgba(99,226,255,0.15); }
html.HM-theme-night-sea:not(.gn-night-mode) .LB-results-count { color: var(--text, #e0eaf5); }

/* ─────── FLUX (.FX-*) ─────── */
html.HM-theme-night-sea:not(.gn-night-mode) .FX-wrapper,
html.HM-theme-night-sea:not(.gn-night-mode) .FX-compose,
html.HM-theme-night-sea:not(.gn-night-mode) .FX-item,
html.HM-theme-night-sea:not(.gn-night-mode) .FX-replyTo {
  background: var(--card-bg, rgba(255,255,255,0.04)) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  color: var(--text, #e0eaf5) !important;
  backdrop-filter: blur(8px);
}
html.HM-theme-night-sea:not(.gn-night-mode) .FX-title,
html.HM-theme-night-sea:not(.gn-night-mode) .FX-head { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .FX-time { color: #8ca3bf; }
html.HM-theme-night-sea:not(.gn-night-mode) .FX-content { color: #cad9ec; }
html.HM-theme-night-sea:not(.gn-night-mode) .FX-content a { color: var(--brand, #63e2ff); }
html.HM-theme-night-sea:not(.gn-night-mode) .FX-form textarea,
html.HM-theme-night-sea:not(.gn-night-mode) .FX-compose textarea {
  background: rgba(255,255,255,0.06) !important;
  color: var(--text, #e0eaf5) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) .FX-btn,
html.HM-theme-night-sea:not(.gn-night-mode) .FX-ops button,
html.HM-theme-night-sea:not(.gn-night-mode) .FX-fileBtn {
  background: rgba(255,255,255,0.08) !important;
  color: var(--text, #e0eaf5) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) .FX-sendBtn {
  background: #2f6fed !important;
  color: #fff !important;
  border: none !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) .FX-link { color: var(--brand, #63e2ff); }
html.HM-theme-night-sea:not(.gn-night-mode) .FX-login-hint { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .FX-prevItem,
html.HM-theme-night-sea:not(.gn-night-mode) .FX-gItem { border-color: rgba(255,255,255,0.15); }

/* ─────── CAPITAINERIE — thémage via override des custom properties --gm-* ─────── */
/* Couvre TOUTES les classes .CAP-* d'un coup car CAP.css consomme ces variables */

html.HM-theme-night-sea:not(.gn-night-mode) {
  --gm-bg:            #05111e;
  --gm-text:          #e0eaf5;
  --gm-muted:         #b5c7dd;
  --gm-card:          rgba(255,255,255,0.04);
  --gm-border:        rgba(255,255,255,0.12);
  --gm-shadow:        0 6px 20px rgba(0,0,0,0.3);
  --gm-shadow-2:      0 12px 40px rgba(0,0,0,0.5);
  --gm-primary:       #63e2ff;
  --gm-primary-weak:  rgba(99,226,255,0.12);
  --gm-primary-border:rgba(99,226,255,0.35);
}
/* Complément : certains éléments CAP hardcoded en blanc qui ne passent pas par les vars */
html.HM-theme-night-sea:not(.gn-night-mode) .CAP-body { background: var(--gm-bg) !important; color: var(--gm-text) !important; }
html.HM-theme-night-sea:not(.gn-night-mode) .CAP-header { background: rgba(10,26,46,0.8) !important; border-bottom: 1px solid rgba(255,255,255,0.1); }
html.HM-theme-night-sea:not(.gn-night-mode) .CAP-hero { backdrop-filter: blur(10px); }
html.HM-theme-night-sea:not(.gn-night-mode) .CAP-card,
html.HM-theme-night-sea:not(.gn-night-mode) .CAP-card-subblock,
html.HM-theme-night-sea:not(.gn-night-mode) .CAP-contact-block,
html.HM-theme-night-sea:not(.gn-night-mode) .CAP-equip-badge,
html.HM-theme-night-sea:not(.gn-night-mode) .CAP-levage-card,
html.HM-theme-night-sea:not(.gn-night-mode) .CAP-commerce-card { backdrop-filter: blur(8px); }
html.HM-theme-night-sea:not(.gn-night-mode) .CAP-hero-chip { background: rgba(99,226,255,0.15); color: var(--brand, #63e2ff); }
html.HM-theme-night-sea:not(.gn-night-mode) .CAP-btn-primary {
  background: #2f6fed !important;
  color: #fff !important;
}
/* Items "Infos pratiques" (horaires, VHF, langues) — donner du contraste à l'intérieur de la card */
html.HM-theme-night-sea:not(.gn-night-mode) .CAP-office-item {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.18);
}
html.HM-theme-night-sea:not(.gn-night-mode) .CAP-office-label { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .CAP-office-value { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .CAP-lang-badge {
  background: rgba(99,226,255,0.15);
  border-color: rgba(99,226,255,0.3);
  color: #d0eaf5;
}
/* Cartes Levage / Grues : tonnage et type-pill en sobre */
html.HM-theme-night-sea:not(.gn-night-mode) .CAP-levage-tonnage { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .CAP-levage-type {
  background: rgba(99,226,255,0.18);
  color: #d0eaf5;
}
html.HM-theme-night-sea:not(.gn-night-mode) .CAP-levage-name { color: #ffffff; }

/* ─── pages/meteo.php — styles inline hardcodés à thémer ─── */
html.HM-theme-night-sea:not(.gn-night-mode) .MET-title { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .MET-card {
  background: var(--card-bg, rgba(255,255,255,0.05));
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 2px 10px rgba(0,0,0,0.3);
}
html.HM-theme-night-sea:not(.gn-night-mode) .MET-day-name { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .MET-day-desc { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .MET-tmin { background: rgba(2,119,189,0.25); color: #60d4ff; }
html.HM-theme-night-sea:not(.gn-night-mode) .MET-tmax { background: rgba(230,81,0,0.25); color: #ffaa66; }
html.HM-theme-night-sea:not(.gn-night-mode) .MET-wind { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .MET-day-card:hover { background: var(--card-bg, rgba(255,255,255,0.05)); }
html.HM-theme-night-sea:not(.gn-night-mode) .MET-hour {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.1);
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .MET-hour-time { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .MET-hour-temp { color: #ffaa66; }
html.HM-theme-night-sea:not(.gn-night-mode) .MET-hour-wind { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .MET-hour-wave { color: #60d4ff; }
html.HM-theme-night-sea:not(.gn-night-mode) .MET-loading { color: var(--muted, #b5c7dd); }

/* ─── Apports / Contributions (partials/apports_bloc.php inline styles) ─── */
html.HM-theme-night-sea:not(.gn-night-mode) .AP-owner-box,
html.HM-theme-night-sea:not(.gn-night-mode) .AP-item {
  background: var(--card-bg, rgba(255,255,255,0.05));
  border-color: rgba(255,255,255,0.18);
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .AP-meta { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .AP-empty { color: #8da3bf; }
html.HM-theme-night-sea:not(.gn-night-mode) .CU-chip {
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.18);
}
html.HM-theme-night-sea:not(.gn-night-mode) .CU-name { color: var(--text, #e0eaf5); }
html.HM-theme-night-sea:not(.gn-night-mode) .CU-extra,
html.HM-theme-night-sea:not(.gn-night-mode) .CU-comment { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .AP-form-inline label { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .AP-form-inline input[type="number"],
html.HM-theme-night-sea:not(.gn-night-mode) .AP-form-inline input[type="text"] {
  background: rgba(255,255,255,0.06);
  color: var(--text, #e0eaf5);
  border-color: rgba(255,255,255,0.15);
}

/* ─── EV.css : blocs hardcodés en blanc → glass dark ─── */
html.HM-theme-night-sea:not(.gn-night-mode) .EV-groupe,
html.HM-theme-night-sea:not(.gn-night-mode) .EV-poll,
html.HM-theme-night-sea:not(.gn-night-mode) .EV-objet-card,
html.HM-theme-night-sea:not(.gn-night-mode) .EV-choice-panel,
html.HM-theme-night-sea:not(.gn-night-mode) .EV-no-objets,
html.HM-theme-night-sea:not(.gn-night-mode) .EV-footer,
html.HM-theme-night-sea:not(.gn-night-mode) .EV-thumb {
  background: var(--card-bg, rgba(255,255,255,0.05));
  border-color: rgba(255,255,255,0.15);
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .EV-page { background: transparent; color: var(--text, #e0eaf5); }
html.HM-theme-night-sea:not(.gn-night-mode) .EV-poll h3 { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .EV-poll .EV-hint { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .EV-taille { color: var(--muted, #b5c7dd); }

/* ─── Bloc Inscrits + cartouche Créateur (CU.chip / CU.card) ─── */
html.HM-theme-night-sea:not(.gn-night-mode) .EV-section--inscrits {
  background: var(--card-bg, rgba(255,255,255,0.05));
  border-color: rgba(255,255,255,0.15);
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .EV-section--inscrits .EV-section-title { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .EV-section--inscrits .EV-count {
  background: rgba(99,226,255,0.15);
  border-color: rgba(99,226,255,0.3);
  color: #d0eaf5;
}
/* Chips inscrits + cartouche créateur (variant chip/card) — texte clair forcé */
html.HM-theme-night-sea:not(.gn-night-mode) .EV-section--inscrits .EV-inscrits-list .CU-chip,
html.HM-theme-night-sea:not(.gn-night-mode) .EV-createur .CU.chip,
html.HM-theme-night-sea:not(.gn-night-mode) .EV-groupe-inscrits .CU.chip,
html.HM-theme-night-sea:not(.gn-night-mode) .EV-groupe-inscrits .CU.card,
html.HM-theme-night-sea:not(.gn-night-mode) .CU,
html.HM-theme-night-sea:not(.gn-night-mode) .CU.chip,
html.HM-theme-night-sea:not(.gn-night-mode) .CU.card {
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.18);
  color: var(--text, #e0eaf5);
  box-shadow: none;
}
html.HM-theme-night-sea:not(.gn-night-mode) .CU-name,
html.HM-theme-night-sea:not(.gn-night-mode) .CU-label { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .CU-sub { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .EV-createur-label { color: var(--muted, #b5c7dd); }

/* ─── Page Profil — bloc générique .block + .PR-box + sous-blocs ─── */
html.HM-theme-night-sea:not(.gn-night-mode) .page-profil .block,
html.HM-theme-night-sea:not(.gn-night-mode) .page-profil section.block,
html.HM-theme-night-sea:not(.gn-night-mode) .page-profil .classement-box,
html.HM-theme-night-sea:not(.gn-night-mode) .page-profil .PR-box {
  background: var(--card-bg, rgba(255,255,255,0.05));
  border: 1px solid rgba(255,255,255,0.12);
  color: var(--text, #e0eaf5);
  box-shadow: none;
}
html.HM-theme-night-sea:not(.gn-night-mode) .page-profil .block-title,
html.HM-theme-night-sea:not(.gn-night-mode) .page-profil .PR-box-title { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .page-profil .block .muted,
html.HM-theme-night-sea:not(.gn-night-mode) .page-profil .block p,
html.HM-theme-night-sea:not(.gn-night-mode) .page-profil .PR-box li { color: var(--text, #e0eaf5); }
html.HM-theme-night-sea:not(.gn-night-mode) .page-profil .PR-box li { border-bottom-color: rgba(255,255,255,0.1); }
html.HM-theme-night-sea:not(.gn-night-mode) .page-profil .PR-box strong { color: var(--brand, #63e2ff); }

/* Marina style groups + tags */
html.HM-theme-night-sea:not(.gn-night-mode) .page-profil .PR-marina-style-group {
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.15);
}
html.HM-theme-night-sea:not(.gn-night-mode) .page-profil .PR-marina-style-title { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .page-profil .PR-tag {
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.18);
  color: var(--text, #e0eaf5);
}

/* Cartouches événements (présents sur profil + d'autres pages) */
html.HM-theme-night-sea:not(.gn-night-mode) .CE .cartouche-evenement {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.15);
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .cartouche-evenement .titre,
html.HM-theme-night-sea:not(.gn-night-mode) .cartouche-evenement h4.titre { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .cartouche-evenement .meta,
html.HM-theme-night-sea:not(.gn-night-mode) .cartouche-evenement .desc,
html.HM-theme-night-sea:not(.gn-night-mode) .cartouche-evenement .distance { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .cartouche-evenement .chip {
  background: rgba(99,226,255,0.15);
  color: #d0eaf5;
  border-color: rgba(99,226,255,0.3);
}

/* ─── op_card.php — composant cartouche objet/bateau (styles inline) ─── */
html.HM-theme-night-sea:not(.gn-night-mode) .opc-card {
  background: rgba(255,255,255,0.10);
  border-color: rgba(255,255,255,0.18);
  color: var(--text, #e0eaf5);
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}
html.HM-theme-night-sea:not(.gn-night-mode) .opc-cover {
  background: rgba(255,255,255,0.08);
}
html.HM-theme-night-sea:not(.gn-night-mode) .opc-title { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .opc-meta,
html.HM-theme-night-sea:not(.gn-night-mode) .opc-desc,
html.HM-theme-night-sea:not(.gn-night-mode) .opc-meta-port { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .opc-meta-port a { color: var(--brand, #63e2ff); }
html.HM-theme-night-sea:not(.gn-night-mode) .opc-corner {
  background: rgba(15,23,42,0.85);
  border-color: rgba(255,255,255,0.18);
  color: var(--text, #e0eaf5);
}
/* Carte "Ajouter un objet passion" — hardcoded #fafafa → glass dashed */
html.HM-theme-night-sea:not(.gn-night-mode) .opc-add-card {
  background: var(--card-bg, rgba(255,255,255,0.04));
  border-color: rgba(255,255,255,0.25);
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .opc-add-card:hover {
  border-color: #63e2ff;
  background: rgba(99,226,255,0.08);
}

/* Cover photo profil (bandeau couverture top) si présent */
html.HM-theme-night-sea:not(.gn-night-mode) .page-profil .PR-cover,
html.HM-theme-night-sea:not(.gn-night-mode) .page-profil .PR-header,
html.HM-theme-night-sea:not(.gn-night-mode) .page-profil .PR-coverPhoto {
  background: var(--card-bg, rgba(255,255,255,0.05));
  border-color: var(--bd, rgba(255,255,255,0.12));
}

/* ─── Styles de sorties (PR-ms-*) — labels et pills hardcodés ─── */
html.HM-theme-night-sea:not(.gn-night-mode) .PR-ms-group {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.15);
}
html.HM-theme-night-sea:not(.gn-night-mode) .PR-ms-label,
html.HM-theme-night-sea:not(.gn-night-mode) .PR-ms-row-label {
  color: var(--muted, #b5c7dd);
}
html.HM-theme-night-sea:not(.gn-night-mode) .PR-ms-pill {
  background: rgba(99,226,255,0.15);
  border-color: rgba(99,226,255,0.35);
  color: #d0eaf5;
}
/* Mobile : gradient flèche scroll horizontal (PR-ms-mobile) — était blanc */
@media (max-width: 768px) {
  html.HM-theme-night-sea:not(.gn-night-mode) .PR-ms-mobile .PR-ms-tags::after {
    background: linear-gradient(
      to right,
      rgba(5, 17, 30, 0),
      rgba(10, 26, 46, 0.95)
    ) !important;
    color: var(--brand, #63e2ff) !important;
    text-shadow: 0 0 6px rgba(99,226,255,0.5) !important;
  }
}

/* ─── pro_list.php — Annuaire Pro (PL- + CP- + chips) ─── */
html.HM-theme-night-sea:not(.gn-night-mode) .PL-wrap { color: var(--text, #e0eaf5); }
html.HM-theme-night-sea:not(.gn-night-mode) .PL-title,
html.HM-theme-night-sea:not(.gn-night-mode) .PL-searchTitle { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .PL-searchSub { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .PL-search,
html.HM-theme-night-sea:not(.gn-night-mode) .PL-form {
  background: var(--card-bg, rgba(255,255,255,0.05));
  border: 1px solid rgba(255,255,255,0.12);
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .PL-hint {
  background: var(--card-bg, rgba(255,255,255,0.04));
  border-color: rgba(255,255,255,0.15);
  color: var(--muted, #b5c7dd);
}

/* Cartouche Pro (CP) */
html.HM-theme-night-sea:not(.gn-night-mode) .CP {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.15);
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .CP__title { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .CP__loc,
html.HM-theme-night-sea:not(.gn-night-mode) .CP__desc { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .CP__logo {
  background: rgba(255,255,255,0.1);
  border-color: rgba(255,255,255,0.3);
}
html.HM-theme-night-sea:not(.gn-night-mode) .chip {
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.18);
  color: var(--text, #e0eaf5);
}

/* pro.css — cartes génériques + logo */
html.HM-theme-night-sea:not(.gn-night-mode) .pro-main .card {
  background: var(--card-bg, rgba(255,255,255,0.05));
  border-color: var(--bd, rgba(255,255,255,0.12));
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .pro-main .card.subtle {
  background: rgba(99,226,255,0.06);
  border-color: rgba(99,226,255,0.25);
}
html.HM-theme-night-sea:not(.gn-night-mode) .pro-logo {
  background: rgba(255,255,255,0.1);
  border-color: rgba(255,255,255,0.3);
}
html.HM-theme-night-sea:not(.gn-night-mode) .pro-adminbar {
  background: rgba(15,23,42,0.95);
  border-bottom-color: var(--bd, rgba(255,255,255,0.12));
}

/* ─── Composant recherche_ville_bloc.php (RV-*) ─── */
html.HM-theme-night-sea:not(.gn-night-mode) .RV-pays-label { color: var(--text, #e0eaf5); }
html.HM-theme-night-sea:not(.gn-night-mode) .RV-pays-select {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.18);
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .RV-pays-select:focus {
  border-color: #63e2ff;
  box-shadow: 0 0 0 3px rgba(99,226,255,0.18);
}
/* Options du select dans le menu déroulant natif */
html.HM-theme-night-sea:not(.gn-night-mode) .RV-pays-select option {
  background: #0a1a2e;
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .RV-label { color: var(--text, #e0eaf5); }
html.HM-theme-night-sea:not(.gn-night-mode) .RV-input {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.18);
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .RV-input::placeholder { color: #6b8aa8; }
html.HM-theme-night-sea:not(.gn-night-mode) .RV-suggest {
  background: rgba(10,26,46,0.96);
  border-color: rgba(255,255,255,0.18);
  box-shadow: 0 14px 30px rgba(0,0,0,0.5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .RV-suggest-row {
  border-bottom-color: rgba(255,255,255,0.08);
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .RV-suggest-row.is-hover,
html.HM-theme-night-sea:not(.gn-night-mode) .RV-suggest-row:hover {
  background: rgba(99,226,255,0.12);
}
html.HM-theme-night-sea:not(.gn-night-mode) .RV-suggest-alt { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .RV-suggest-cp {
  background: rgba(99,226,255,0.18);
  border-color: rgba(99,226,255,0.35);
  color: #d0eaf5;
}
html.HM-theme-night-sea:not(.gn-night-mode) .RV-geo-btn {
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.18);
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .RV-geo-btn:hover {
  background: rgba(99,226,255,0.15);
  border-color: #63e2ff;
}
html.HM-theme-night-sea:not(.gn-night-mode) .RV-status { color: var(--muted, #b5c7dd); }

/* ─── capitainerie_edit.php — Édition capitainerie (CE-*) ─── */
/* Wrapper, card, head, body */
html.HM-theme-night-sea:not(.gn-night-mode) .CE-card {
  background: var(--card-bg, rgba(255,255,255,0.05)) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  box-shadow: 0 6px 24px rgba(0,0,0,0.4) !important;
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .CE-head {
  border-bottom-color: var(--bd, rgba(255,255,255,0.12)) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) .CE-title { color: #ffffff; }

/* Champs formulaire */
html.HM-theme-night-sea:not(.gn-night-mode) .CE-field label { color: var(--text, #e0eaf5); }
html.HM-theme-night-sea:not(.gn-night-mode) .CE-field input,
html.HM-theme-night-sea:not(.gn-night-mode) .CE-field textarea {
  background: rgba(255,255,255,0.06) !important;
  border-color: rgba(255,255,255,0.18) !important;
  color: var(--text, #e0eaf5) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) .CE-field input::placeholder,
html.HM-theme-night-sea:not(.gn-night-mode) .CE-field textarea::placeholder { color: #6b8aa8; }

/* Messages err/ok */
html.HM-theme-night-sea:not(.gn-night-mode) .CE-msg.err {
  background: rgba(190,18,60,0.15) !important;
  border-color: rgba(255,138,138,0.4) !important;
  color: #ffb0b0;
}
html.HM-theme-night-sea:not(.gn-night-mode) .CE-msg.ok {
  background: rgba(8,145,178,0.15) !important;
  border-color: rgba(99,226,255,0.35) !important;
  color: #d0eaf5;
}

/* Aperçu image bandeau */
html.HM-theme-night-sea:not(.gn-night-mode) .CE-preview {
  background: var(--card-bg, rgba(255,255,255,0.05)) !important;
  border-color: var(--bd, rgba(255,255,255,0.12)) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) .CE-help { color: var(--muted, #b5c7dd); }

/* Équipements */
html.HM-theme-night-sea:not(.gn-night-mode) .CE-equip-item:hover { background: rgba(99,226,255,0.08); }
html.HM-theme-night-sea:not(.gn-night-mode) .CE-equip-item label { color: var(--text, #e0eaf5); }
html.HM-theme-night-sea:not(.gn-night-mode) .CE-equip-item .CE-equip-sub { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .CE-equip-detail input {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.18);
  color: var(--text, #e0eaf5);
}

/* Levages dynamiques + Commerces */
html.HM-theme-night-sea:not(.gn-night-mode) .CE-levage-entry,
html.HM-theme-night-sea:not(.gn-night-mode) .CE-commerce-entry {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.15);
}
html.HM-theme-night-sea:not(.gn-night-mode) .CE-levage-field label,
html.HM-theme-night-sea:not(.gn-night-mode) .CE-commerce-field label { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .CE-levage-field input,
html.HM-theme-night-sea:not(.gn-night-mode) .CE-levage-field select,
html.HM-theme-night-sea:not(.gn-night-mode) .CE-levage-field textarea,
html.HM-theme-night-sea:not(.gn-night-mode) .CE-commerce-field input,
html.HM-theme-night-sea:not(.gn-night-mode) .CE-commerce-field select,
html.HM-theme-night-sea:not(.gn-night-mode) .CE-commerce-field textarea {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.18);
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .CE-levage-remove,
html.HM-theme-night-sea:not(.gn-night-mode) .CE-commerce-remove {
  background: rgba(190,18,60,0.18);
  border-color: rgba(255,138,138,0.35);
  color: #ff8a8a;
}
html.HM-theme-night-sea:not(.gn-night-mode) .CE-levage-remove:hover,
html.HM-theme-night-sea:not(.gn-night-mode) .CE-commerce-remove:hover {
  background: rgba(190,18,60,0.3);
}

/* Bouton "ajouter un levage" */
html.HM-theme-night-sea:not(.gn-night-mode) .CE-add-levage {
  background: rgba(99,226,255,0.12);
  border-color: rgba(99,226,255,0.35);
  color: var(--brand, #63e2ff);
}
html.HM-theme-night-sea:not(.gn-night-mode) .CE-add-levage:hover { background: rgba(99,226,255,0.2); }

/* Titre de groupe (séparateur thématique) */
html.HM-theme-night-sea:not(.gn-night-mode) .CE-group-title {
  color: var(--brand, #63e2ff);
  border-bottom-color: rgba(99,226,255,0.25);
}

/* ─── pro_view.php / pro.css — page Pro publique ─── */
/* Override complet des vars pro.css pour basculer en night-sea */
html.HM-theme-night-sea:not(.gn-night-mode) body.pro-page {
  --brand: #63e2ff;
  --brand-2: #8de9ff;
  --ink: #e0eaf5;
  --muted: #b5c7dd;
  --bg: #05111e;
  --card: rgba(255,255,255,0.05);
  --line: rgba(255,255,255,0.12);
  --shadow: 0 6px 24px rgba(0,0,0,0.35);
  background: #05111e;
  color: #e0eaf5;
}

/* Sélecteur de langue (.pv-lang-bar) */
html.HM-theme-night-sea:not(.gn-night-mode) .pv-lang-bar {
  background: var(--card-bg, rgba(255,255,255,0.04));
}
html.HM-theme-night-sea:not(.gn-night-mode) .pv-lang-btn { color: var(--text, #e0eaf5); }
html.HM-theme-night-sea:not(.gn-night-mode) .pv-lang-btn:hover { background: rgba(255,255,255,0.1); }
html.HM-theme-night-sea:not(.gn-night-mode) .pv-lang-btn--active {
  background: rgba(99,226,255,0.18);
  color: var(--brand, #63e2ff);
}

/* Hero : overlay gradient blanc → bleu nuit pour ne pas blanchir la photo */
html.HM-theme-night-sea:not(.gn-night-mode) .pro-hero {
  border-bottom-color: var(--bd, rgba(255,255,255,0.12));
}
html.HM-theme-night-sea:not(.gn-night-mode) .pro-hero__overlay {
  background: linear-gradient(180deg, rgba(5,17,30,0), rgba(5,17,30,0.85));
}
html.HM-theme-night-sea:not(.gn-night-mode) .pro-hero__brand h1 { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .tagline { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .pro-hero .pro-logo {
  background: rgba(255,255,255,0.1);
  border-color: rgba(255,255,255,0.3);
}

/* Boutons */
html.HM-theme-night-sea:not(.gn-night-mode) .btn {
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.18);
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .btn:hover {
  box-shadow: 0 6px 20px rgba(0,0,0,0.4);
  background: rgba(255,255,255,0.12);
}
html.HM-theme-night-sea:not(.gn-night-mode) .btn-primary {
  background: #2f6fed;
  border-color: #2f6fed;
  color: #ffffff;
}
html.HM-theme-night-sea:not(.gn-night-mode) .btn-ghost {
  background: transparent;
  border-color: rgba(255,255,255,0.25);
  color: var(--text, #e0eaf5);
}

/* Headers de sections */
html.HM-theme-night-sea:not(.gn-night-mode) .pro-offres h2,
html.HM-theme-night-sea:not(.gn-night-mode) .pro-infos h2,
html.HM-theme-night-sea:not(.gn-night-mode) .pro-about h2,
html.HM-theme-night-sea:not(.gn-night-mode) .pro-contact h2 { color: #ffffff; }

/* Badges features */
html.HM-theme-night-sea:not(.gn-night-mode) .pro-badge {
  background: rgba(99,226,255,0.15);
  border-color: rgba(99,226,255,0.35);
  color: #d0eaf5;
}

/* Horaires */
html.HM-theme-night-sea:not(.gn-night-mode) .opening { color: var(--muted, #b5c7dd); }

/* Avis : étoiles oranges restent OK, juste le texte de count */
html.HM-theme-night-sea:not(.gn-night-mode) .pro-page a[href="#avis"] { color: var(--muted, #b5c7dd); }

/* ─── Gazette (pages/gazette.php + gazette_liste.php) ─── */
/* Variable globale --surface-page (utilisée par .content / .side) */
html.HM-theme-night-sea:not(.gn-night-mode) {
  --surface-page: transparent;
}
html.HM-theme-night-sea:not(.gn-night-mode) body.page-gazette,
html.HM-theme-night-sea:not(.gn-night-mode) body.page-gazette-liste {
  background: #05111e;
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) body.page-gazette .content,
html.HM-theme-night-sea:not(.gn-night-mode) body.page-gazette .side,
html.HM-theme-night-sea:not(.gn-night-mode) body.page-gazette-liste .content,
html.HM-theme-night-sea:not(.gn-night-mode) body.page-gazette-liste .side {
  background: transparent;
}

/* .card générique sur gazette */
html.HM-theme-night-sea:not(.gn-night-mode) body.page-gazette .card,
html.HM-theme-night-sea:not(.gn-night-mode) body.page-gazette-liste .card {
  background: var(--card-bg, rgba(255,255,255,0.05));
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 4px 16px rgba(0,0,0,0.3);
  color: var(--text, #e0eaf5);
}

/* Article (fiche détail) */
html.HM-theme-night-sea:not(.gn-night-mode) .gazette-article-title { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .gazette-article-chapo { color: #d0eaf5; }
html.HM-theme-night-sea:not(.gn-night-mode) .gazette-article-content { color: var(--text, #e0eaf5); }

/* Liste (gazette_liste.php) */
html.HM-theme-night-sea:not(.gn-night-mode) .gazette-title { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .gazette-chapo { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .gazette-card-title { color: #ffffff; }

/* ─── Veilleur de quai — clause d'entraide (texte gris illisible sur dark) ─── */
html.HM-theme-night-sea:not(.gn-night-mode) .VQ-clause-box {
  background: rgba(99,226,255,0.06);
  border-color: rgba(255,255,255,0.15);
}
html.HM-theme-night-sea:not(.gn-night-mode) .VQ-clause-box h4 { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .VQ-clause-box p,
html.HM-theme-night-sea:not(.gn-night-mode) .VQ-clause-box ul,
html.HM-theme-night-sea:not(.gn-night-mode) .VQ-clause-box li { color: #c8d6e8; }
html.HM-theme-night-sea:not(.gn-night-mode) .VQ-clause-check { color: var(--text, #e0eaf5); }

/* ─── Page Notifications — cartouches en glass dark ─── */
/* Cartouches événements + relations + fallback GN-card sur la page notifs */
html.HM-theme-night-sea:not(.gn-night-mode) body.IN-notifications .CE .cartouche-evenement,
html.HM-theme-night-sea:not(.gn-night-mode) body.IN-notifications .GN-card,
html.HM-theme-night-sea:not(.gn-night-mode) body.IN-notifications .CR-inline {
  background: var(--card-bg, rgba(255,255,255,0.05)) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  color: var(--text, #e0eaf5) !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) body.IN-notifications .GN-card .GN-card-title,
html.HM-theme-night-sea:not(.gn-night-mode) body.IN-notifications .CR-inlineTitle a { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) body.IN-notifications .GN-muted,
html.HM-theme-night-sea:not(.gn-night-mode) body.IN-notifications .CR-inlineMeta { color: var(--muted, #b5c7dd) !important; }
/* Surbrillance "non lu" — bordure cyan plus visible */
html.HM-theme-night-sea:not(.gn-night-mode) body.IN-notifications .IN-item--unread,
html.HM-theme-night-sea:not(.gn-night-mode) body.IN-notifications .CR-inline.IN-item--unread {
  border-color: #63e2ff !important;
  box-shadow: 0 0 0 2px rgba(99,226,255,0.18), 0 4px 12px rgba(0,0,0,0.3) !important;
}

/* ─── Page Inscription — override des vars + classes hardcodées ─── */
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 {
  --insc-bg1: rgba(99,226,255,0.08);
  --insc-bg2: rgba(10,26,46,0.4);
  --brand: #63e2ff;
  --brand-2: #8de9ff;
  --text: #e0eaf5;
  --muted: #b5c7dd;
  --card-bg: rgba(255,255,255,0.05);
  --card-bd: rgba(255,255,255,0.15);
  --ring: rgba(99,226,255,0.25);
  --shadow-1: 0 10px 24px rgba(0,0,0,0.45);
  --shadow-2: 0 2px 8px rgba(0,0,0,0.35);
  background:
    radial-gradient(1200px 600px at 10% 0%, rgba(99,226,255,0.08), transparent 60%),
    radial-gradient(1000px 600px at 90% 20%, rgba(99,226,255,0.06), transparent 60%),
    linear-gradient(180deg, #05111e, #0a1a2e) !important;
  color: #e0eaf5 !important;
}

/* Sélecteur langue dropdown — fond clair hardcodé */
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .insc-lang-drop {
  background: rgba(10,26,46,0.96);
  box-shadow: 0 8px 24px rgba(0,0,0,0.5);
}
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .insc-lang-opt {
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .insc-lang-opt:hover {
  background: rgba(99,226,255,0.12);
}
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .insc-lang-opt.is-active {
  background: rgba(99,226,255,0.18);
}

/* Bloc bateau (questionnaire) — fonds bleu clair hardcodés */
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .insc-boat-q {
  background: rgba(99,226,255,0.08);
  border-color: rgba(99,226,255,0.3);
}
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .insc-boat-choice {
  background: var(--card-bg, rgba(255,255,255,0.05));
  border-color: rgba(255,255,255,0.18);
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .insc-boat-choice:hover {
  background: rgba(99,226,255,0.1);
  border-color: #63e2ff;
}
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .insc-boat-choice:has(input:checked) {
  background: rgba(99,226,255,0.18);
  border-color: #63e2ff;
}
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .insc-boat-hint--owner {
  background: rgba(252,211,77,0.12);
  border-color: rgba(252,211,77,0.4);
  color: #f5d68a;
}
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .insc-boat-hint--crew {
  background: rgba(99,226,255,0.12);
  border-color: rgba(99,226,255,0.4);
  color: #d0eaf5;
}

/* Inputs / textarea / select sur la page (hardcodés en blanc) */
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 input[type="text"],
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 input[type="email"],
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 input[type="password"],
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 input[type="tel"],
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 input[type="number"],
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 input[type="date"],
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 textarea,
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 select {
  background: rgba(255,255,255,0.06) !important;
  border-color: rgba(255,255,255,0.18) !important;
  color: var(--text, #e0eaf5) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 input::placeholder,
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 textarea::placeholder { color: #6b8aa8; }

/* Hero (panneau gauche) — gradient clair hardcodé + titre turquoise illisible */
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .auth-hero {
  background:
    radial-gradient(800px 400px at 0% 0%, rgba(99,226,255,0.12), transparent 60%),
    linear-gradient(180deg, rgba(10,26,46,0.85), rgba(5,17,30,0.95)) !important;
  border-color: rgba(255,255,255,0.15) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .auth-hero h2 {
  color: #ffffff !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .auth-hero p,
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .auth-list li {
  color: #d0eaf5 !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .auth-kicker {
  background: rgba(99,226,255,0.18) !important;
  border-color: rgba(99,226,255,0.4) !important;
  color: var(--brand, #63e2ff) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .auth-list .dot {
  background: #63e2ff !important;
  color: #05111e !important;
  box-shadow: 0 4px 12px rgba(99,226,255,0.35) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .auth-reassure {
  background: rgba(99,226,255,0.1) !important;
  border-color: rgba(99,226,255,0.3) !important;
  color: var(--text, #e0eaf5) !important;
}

/* Teaser et bloc dépliable mobile — fonds blancs translucides */
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .auth-teaser,
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .auth-details {
  background: var(--card-bg, rgba(255,255,255,0.05)) !important;
  border-color: rgba(255,255,255,0.15) !important;
  color: var(--text, #e0eaf5) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .auth-details summary {
  color: #ffffff !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .auth-details summary .chev {
  border-color: #63e2ff !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .auth-details .auth-details-body {
  border-top-color: var(--bd, rgba(255,255,255,0.12)) !important;
}

/* Card du formulaire — force le glass dark si var(--card-bg) ne suffit pas */
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .auth-card {
  background: var(--card-bg, rgba(255,255,255,0.05)) !important;
  border-color: rgba(255,255,255,0.15) !important;
  color: var(--text, #e0eaf5) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .auth-title { color: #ffffff !important; }
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .auth-sub { color: var(--muted, #b5c7dd) !important; }
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .auth-form label { color: var(--text, #e0eaf5) !important; }

/* Header tout en haut "Marina GroupMaker" — utilisait var(--brand) = cyan vif → trop agressif */
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .auth-header-min {
  background: linear-gradient(180deg, #0a1a2e, #05111e) !important;
  border-bottom: 1px solid rgba(99,226,255,0.25);
  color: #ffffff !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .auth-header-min .brand,
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .auth-header-min .brand:visited,
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .auth-header-min .brand:hover {
  color: #ffffff !important;
}

/* Inputs : la classe utilisée est .form-input (pas input[type]) — override explicite */
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .form-input {
  background: rgba(255,255,255,0.06) !important;
  border-color: rgba(255,255,255,0.18) !important;
  color: var(--text, #e0eaf5) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .form-input:focus {
  background: rgba(99,226,255,0.08) !important;
  border-color: #63e2ff !important;
  box-shadow: 0 0 0 4px rgba(99,226,255,0.18) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .form-input::placeholder {
  color: #6b8aa8 !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .form-label {
  color: #d0eaf5 !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .form-hint {
  color: var(--muted, #b5c7dd) !important;
}

/* Suggestions ville — dropdown blanc inline (style="...background:#fff...") */
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 #suggestions-port,
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 [id*="suggestions"] {
  background: rgba(10,26,46,0.96) !important;
  border-color: rgba(255,255,255,0.18) !important;
  color: var(--text, #e0eaf5) !important;
}

/* Jauge mot de passe */
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .pwd-strength-bar {
  background: rgba(255,255,255,0.1) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .pwd-strength-label {
  color: var(--brand, #63e2ff) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .pwd-missing {
  color: var(--muted, #b5c7dd) !important;
}

/* Checkbox + textes auxiliaires */
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .checkbox {
  color: var(--text, #e0eaf5) !important;
}

/* Force le navigateur à rendre les contrôles UA en mode sombre (autofill, ascenseurs, etc.) */
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 {
  color-scheme: dark;
}

/* Footer "Marina GroupMaker" — utilise var(--brand) = cyan vif → bleu nuit */
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .full-width-footer {
  background: linear-gradient(180deg, #05111e, #0a1a2e) !important;
  color: #d0eaf5 !important;
  border-top: 1px solid rgba(99,226,255,0.2);
}
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .full-width-footer a {
  color: #d0eaf5 !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .full-width-footer a:hover {
  color: var(--brand, #63e2ff) !important;
}

/* Anti-autofill blanc Chrome (qui écrase les bg avec un blanc dégueulasse) */
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .form-input:-webkit-autofill,
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .form-input:-webkit-autofill:hover,
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .form-input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px rgba(10,26,46,0.92) inset !important;
  -webkit-text-fill-color: #e0eaf5 !important;
  caret-color: #e0eaf5;
  transition: background-color 99999s 0s, color 99999s 0s;
}

/* ═══ BRUTE FORCE simplifié : div/section/fieldset/form descendants → transparent ═══ */
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .auth-card div,
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .auth-card section,
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .auth-card fieldset,
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .auth-card form {
  background-color: transparent !important;
  background-image: none !important;
}
/* Réactivation explicite des fonds intentionnels (qui ont été annulés ci-dessus) */
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .auth-card .insc-boat-q {
  background: rgba(99,226,255,0.08) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .auth-card .insc-boat-choice {
  background: var(--card-bg, rgba(255,255,255,0.05)) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .auth-card .insc-boat-choice:has(input:checked) {
  background: rgba(99,226,255,0.18) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .auth-card .RV-suggest {
  background: rgba(10,26,46,0.96) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .auth-card .pwd-strength-bar {
  background: rgba(255,255,255,0.1) !important;
}
/* Glass dark sur la carte elle-même */
html.HM-theme-night-sea:not(.gn-night-mode) body.page-inscription-v2 .auth-card {
  background: var(--card-bg, rgba(255,255,255,0.05)) !important;
}

/* ─── Recherche d'objets (pages/recherche_objets.php — RO-*) ─── */
html.HM-theme-night-sea:not(.gn-night-mode) .RO-card {
  background: var(--card-bg, rgba(255,255,255,0.05));
  border-color: var(--bd, rgba(255,255,255,0.12));
  box-shadow: 0 6px 24px rgba(0,0,0,0.4);
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .RO-title { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .RO-sub { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .RO-empty { color: #8da3bf; }
html.HM-theme-night-sea:not(.gn-night-mode) .RO-filters input,
html.HM-theme-night-sea:not(.gn-night-mode) .RO-filters select {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.18);
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .RO-filters input::placeholder { color: #6b8aa8; }
html.HM-theme-night-sea:not(.gn-night-mode) .RO-filters input:focus,
html.HM-theme-night-sea:not(.gn-night-mode) .RO-filters select:focus {
  border-color: #63e2ff;
  box-shadow: 0 0 0 3px rgba(99,226,255,0.18);
}
html.HM-theme-night-sea:not(.gn-night-mode) .RO-item {
  background: var(--card-bg, rgba(255,255,255,0.04));
  border-color: rgba(255,255,255,0.15);
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .RO-item:hover { border-color: #63e2ff; }
html.HM-theme-night-sea:not(.gn-night-mode) .RO-cover { background: rgba(255,255,255,0.08); }
html.HM-theme-night-sea:not(.gn-night-mode) .RO-name { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .RO-type {
  background: rgba(99,226,255,0.18);
  color: #d0eaf5;
}
html.HM-theme-night-sea:not(.gn-night-mode) .RO-detail { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .RO-owner { color: #8da3bf; }
/* Hover : liseré cyan pour rester cohérent */
html.HM-theme-night-sea:not(.gn-night-mode) .EV-section--inscrits .EV-inscrits-list .CU-chip:hover,
html.HM-theme-night-sea:not(.gn-night-mode) .EV-createur .CU.chip:hover,
html.HM-theme-night-sea:not(.gn-night-mode) .EV-groupe-inscrits .CU.chip:hover,
html.HM-theme-night-sea:not(.gn-night-mode) .EV-groupe-inscrits .CU.card:hover {
  border-color: rgba(99,226,255,0.5);
  box-shadow: 0 0 0 2px rgba(99,226,255,0.2);
}

/* ─────── FIND BOAT / CARTE DU PORT (.FB-*) ─────── */
html.HM-theme-night-sea:not(.gn-night-mode) .FB-card,
html.HM-theme-night-sea:not(.gn-night-mode) .FB-search,
html.HM-theme-night-sea:not(.gn-night-mode) .FB-results,
html.HM-theme-night-sea:not(.gn-night-mode) .FB-invite,
html.HM-theme-night-sea:not(.gn-night-mode) .FB-invite-form,
html.HM-theme-night-sea:not(.gn-night-mode) .FB-empty,
html.HM-theme-night-sea:not(.gn-night-mode) .FB-divider {
  background: var(--card-bg, rgba(255,255,255,0.04)) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  color: var(--text, #e0eaf5) !important;
  backdrop-filter: blur(8px);
}
html.HM-theme-night-sea:not(.gn-night-mode) .FB-boat-name { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .FB-boat-owner,
html.HM-theme-night-sea:not(.gn-night-mode) .FB-boat-port,
html.HM-theme-night-sea:not(.gn-night-mode) .FB-boat-info { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .FB-boat-link,
html.HM-theme-night-sea:not(.gn-night-mode) .FB-boat-actions a { color: var(--brand, #63e2ff); }
html.HM-theme-night-sea:not(.gn-night-mode) .FB-btn {
  background: #2f6fed !important;
  color: #fff !important;
  border: none !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) .FB-modal {
  background: rgba(10,26,46,0.96) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  color: var(--text, #e0eaf5) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) .FB-modal-bg { background: rgba(0,10,20,0.8); }
html.HM-theme-night-sea:not(.gn-night-mode) .FB-modal-cancel { background: rgba(255,255,255,0.08); color: var(--text, #e0eaf5); }
html.HM-theme-night-sea:not(.gn-night-mode) .FB-flash {
  background: rgba(34,197,94,0.18) !important;
  color: #86efac !important;
  border: 1px solid rgba(34,197,94,0.35);
}

/* ─────── INPUT FILE (tous) : "Choisir un fichier" ─────── */
html.HM-theme-night-sea:not(.gn-night-mode) input[type="file"] {
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) input[type="file"]::-webkit-file-upload-button,
html.HM-theme-night-sea:not(.gn-night-mode) input[type="file"]::file-selector-button {
  background: rgba(255,255,255,0.10);
  color: var(--text, #e0eaf5);
  border: 1px solid rgba(255,255,255,0.20);
  border-radius: 8px;
  padding: 6px 14px;
  cursor: pointer;
  font-weight: 600;
  margin-right: 10px;
  transition: background 0.15s;
}
html.HM-theme-night-sea:not(.gn-night-mode) input[type="file"]::-webkit-file-upload-button:hover,
html.HM-theme-night-sea:not(.gn-night-mode) input[type="file"]::file-selector-button:hover {
  background: rgba(99,226,255,0.2);
  border-color: rgba(99,226,255,0.4);
}

/* ─────── FICHE BATEAU — compléments (blocs photos/présentation/infos/vues/équipiers) ─────── */
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-body,
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-main,
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-header { color: var(--text, #e0eaf5); }
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-kpis .OBJ-right,
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-kpis * { color: var(--text, #e0eaf5); }
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-card,
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-gallery,
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-thumbsRow {
  background: transparent;
}
/* Textes "vues" et valeurs grises clair à remonter en lisible */
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-section p,
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-section span,
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-section li,
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-section label,
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-section small { color: #cad9ec; }
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-section strong,
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-section b { color: #ffffff; }


/* ═══════════ RADAR — overrides minimaux (priorité 2) ═══════════ */
/* On force noir+vert pour tous les blocs connus pour éviter le blanc sans re-thémer chaque détail */
html.HM-theme-radar:not(.gn-night-mode) .LB-boat-sel,
html.HM-theme-radar:not(.gn-night-mode) .LB-search-bar,
html.HM-theme-radar:not(.gn-night-mode) .LB-new-form,
html.HM-theme-radar:not(.gn-night-mode) .LB-new-form textarea,
html.HM-theme-radar:not(.gn-night-mode) .LB-media-card,
html.HM-theme-radar:not(.gn-night-mode) .LB-tag-chip,
html.HM-theme-radar:not(.gn-night-mode) .LB-checklists-link,
html.HM-theme-radar:not(.gn-night-mode) .LB-item,
html.HM-theme-radar:not(.gn-night-mode) .LB-item-actions button,
html.HM-theme-radar:not(.gn-night-mode) .LB-loadmore button,
html.HM-theme-radar:not(.gn-night-mode) .LB-filters input,
html.HM-theme-radar:not(.gn-night-mode) .LB-filters select,
html.HM-theme-radar:not(.gn-night-mode) .FX-wrapper,
html.HM-theme-radar:not(.gn-night-mode) .FX-compose,
html.HM-theme-radar:not(.gn-night-mode) .FX-item,
html.HM-theme-radar:not(.gn-night-mode) .FX-replyTo,
html.HM-theme-radar:not(.gn-night-mode) .FX-form textarea,
html.HM-theme-radar:not(.gn-night-mode) .FX-compose textarea,
html.HM-theme-radar:not(.gn-night-mode) {
  --gm-bg:            #000;
  --gm-text:          #9fffb0;
  --gm-muted:         #5fa870;
  --gm-card:          rgba(0,0,0,0.85);
  --gm-border:        rgba(0,255,136,0.35);
  --gm-shadow:        0 0 14px rgba(0,255,136,0.15);
  --gm-shadow-2:      0 0 22px rgba(0,255,136,0.25);
  --gm-primary:       #00ff88;
  --gm-primary-weak:  rgba(0,255,136,0.12);
  --gm-primary-border:#00ff88;
}
html.HM-theme-radar:not(.gn-night-mode) .CAP-body { background: var(--gm-bg) !important; color: var(--gm-text) !important; }
html.HM-theme-radar:not(.gn-night-mode) .CAP-hero,
html.HM-theme-radar:not(.gn-night-mode) .CAP-card,
html.HM-theme-radar:not(.gn-night-mode) .CAP-card-subblock,
html.HM-theme-radar:not(.gn-night-mode) .CAP-contact-block,
html.HM-theme-radar:not(.gn-night-mode) .FB-card,
html.HM-theme-radar:not(.gn-night-mode) .FB-search,
html.HM-theme-radar:not(.gn-night-mode) .FB-results,
html.HM-theme-radar:not(.gn-night-mode) .FB-invite,
html.HM-theme-radar:not(.gn-night-mode) .FB-empty,
html.HM-theme-radar:not(.gn-night-mode) .FB-modal {
  background: rgba(0,0,0,0.85) !important;
  border: 1px solid rgba(0,255,136,0.35) !important;
  color: #9fffb0 !important;
  border-radius: 0 !important;
  font-family: 'Share Tech Mono', monospace;
}
html.HM-theme-radar:not(.gn-night-mode) .LB-item-author,
html.HM-theme-radar:not(.gn-night-mode) .FX-title,
html.HM-theme-radar:not(.gn-night-mode) .FX-head,
html.HM-theme-radar:not(.gn-night-mode) .CAP-hero-title,
html.HM-theme-radar:not(.gn-night-mode) .CAP-card-title,
html.HM-theme-radar:not(.gn-night-mode) .FB-boat-name,
html.HM-theme-radar:not(.gn-night-mode) .LB h1 {
  color: #00ff88 !important;
  font-family: 'Orbitron', monospace;
  text-transform: uppercase;
  text-shadow: 0 0 6px #00ff88;
}
html.HM-theme-radar:not(.gn-night-mode) .LB-item-text,
html.HM-theme-radar:not(.gn-night-mode) .FX-content,
html.HM-theme-radar:not(.gn-night-mode) .CAP-card-text { color: #9fffb0 !important; }
html.HM-theme-radar:not(.gn-night-mode) .LB-filter-btn,
html.HM-theme-radar:not(.gn-night-mode) .FX-sendBtn,
html.HM-theme-radar:not(.gn-night-mode) .CAP-btn-primary,
html.HM-theme-radar:not(.gn-night-mode) .FB-btn {
  background: rgba(0,255,136,0.2) !important;
  color: #00ff88 !important;
  border: 1px solid #00ff88 !important;
  border-radius: 0 !important;
  font-family: 'Orbitron', monospace;
  text-transform: uppercase;
  text-shadow: 0 0 6px #00ff88;
}
html.HM-theme-radar:not(.gn-night-mode) input[type="file"] { color: #9fffb0; }
html.HM-theme-radar:not(.gn-night-mode) input[type="file"]::-webkit-file-upload-button,
html.HM-theme-radar:not(.gn-night-mode) input[type="file"]::file-selector-button {
  background: rgba(0,255,136,0.12);
  color: #00ff88;
  border: 1px solid #00ff88;
  border-radius: 0;
  font-family: 'Share Tech Mono', monospace;
  text-transform: uppercase;
}

/* ─────── Modales checklist (.CL-modal-content + inputs) en thèmes ─────── */
html.HM-theme-night-sea:not(.gn-night-mode) .CL-modal-content {
  background: rgba(10,26,46,0.96);
  color: var(--text, #e0eaf5);
  border: 1px solid rgba(255,255,255,0.12);
  backdrop-filter: blur(20px);
}
html.HM-theme-night-sea:not(.gn-night-mode) .CL-modal-content h3 { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .CL-modal-hint { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .CL-modal-content input[type="text"] {
  background: rgba(255,255,255,0.06);
  color: var(--text, #e0eaf5);
  border: 1px solid rgba(255,255,255,0.15);
}
html.HM-theme-night-sea:not(.gn-night-mode) .CL-modal-content input[type="text"]::placeholder { color: #6b8aa8; }
html.HM-theme-night-sea:not(.gn-night-mode) .CL-emoji-grid {
  background: var(--card-bg, rgba(255,255,255,0.04));
  border-color: var(--bd, rgba(255,255,255,0.12));
}
html.HM-theme-night-sea:not(.gn-night-mode) .CL-emoji-btn {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.15);
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .CL-emoji-btn.CL-emoji-active {
  background: rgba(99,226,255,0.2);
  border-color: #63e2ff;
}
html.HM-theme-night-sea:not(.gn-night-mode) .CL-btn-cancel {
  background: rgba(255,255,255,0.08);
  color: var(--text, #e0eaf5);
  border: 1px solid rgba(255,255,255,0.15);
}
html.HM-theme-night-sea:not(.gn-night-mode) .CL-btn-primary {
  background: #2f6fed;
  color: #fff;
  border: none;
}

/* Message d'erreur checklist (.CL-formError) en night-sea */
html.HM-theme-night-sea:not(.gn-night-mode) .CL-formError {
  background: rgba(239,68,68,0.15);
  color: #ff8a8a;
  border-color: rgba(239,68,68,0.4);
}
html.HM-theme-night-sea:not(.gn-night-mode) .CL-input-error {
  border-color: #ff8a8a !important;
  box-shadow: 0 0 0 3px rgba(239,68,68,0.2) !important;
}

/* ─── CL : page principale (cartes liste + détail + items) en night-sea ─── */
html.HM-theme-night-sea:not(.gn-night-mode) .CL-card,
html.HM-theme-night-sea:not(.gn-night-mode) .CL-detail,
html.HM-theme-night-sea:not(.gn-night-mode) .CL-item {
  background: var(--card-bg, rgba(255,255,255,0.05));
  border-color: var(--bd, rgba(255,255,255,0.12));
  color: var(--text, #e0eaf5);
  box-shadow: none;
}
html.HM-theme-night-sea:not(.gn-night-mode) .CL-card:hover {
  border-color: #63e2ff;
  box-shadow: 0 6px 16px rgba(99,226,255,0.18);
}
html.HM-theme-night-sea:not(.gn-night-mode) .CL-card-name,
html.HM-theme-night-sea:not(.gn-night-mode) .CL-detail-title,
html.HM-theme-night-sea:not(.gn-night-mode) .CL-title,
html.HM-theme-night-sea:not(.gn-night-mode) .CL-no-boat h2,
html.HM-theme-night-sea:not(.gn-night-mode) .CL-progress-count strong,
html.HM-theme-night-sea:not(.gn-night-mode) .CL-progress-line strong,
html.HM-theme-night-sea:not(.gn-night-mode) .CL-check-big-label,
html.HM-theme-night-sea:not(.gn-night-mode) .CL-item-double .CL-item-label {
  color: #ffffff;
}
html.HM-theme-night-sea:not(.gn-night-mode) .CL-detail-sub,
html.HM-theme-night-sea:not(.gn-night-mode) .CL-no-boat p,
html.HM-theme-night-sea:not(.gn-night-mode) .CL-progress-count,
html.HM-theme-night-sea:not(.gn-night-mode) .CL-progress-line,
html.HM-theme-night-sea:not(.gn-night-mode) .CL-loading {
  color: var(--muted, #b5c7dd);
}
html.HM-theme-night-sea:not(.gn-night-mode) .CL-detail-header { border-bottom-color: rgba(255,255,255,0.1); }
html.HM-theme-night-sea:not(.gn-night-mode) .CL-back {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.15);
  color: var(--muted, #b5c7dd);
}
html.HM-theme-night-sea:not(.gn-night-mode) .CL-progress-bar { background: rgba(255,255,255,0.08); }
html.HM-theme-night-sea:not(.gn-night-mode) .CL-item-checked {
  background: rgba(34,197,94,0.12);
  border-color: rgba(34,197,94,0.4);
}
html.HM-theme-night-sea:not(.gn-night-mode) .CL-item-checked .CL-check-big-label { color: #94d4a8; }
html.HM-theme-night-sea:not(.gn-night-mode) .CL-check-big-box {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.25);
}
html.HM-theme-night-sea:not(.gn-night-mode) .CL-session-bar {
  background: var(--card-bg, rgba(255,255,255,0.05));
  border-color: var(--bd, rgba(255,255,255,0.12));
}
html.HM-theme-night-sea:not(.gn-night-mode) .CL-session-info { color: #d0e0f0; }
html.HM-theme-night-sea:not(.gn-night-mode) .CL-crew-selector {
  background: rgba(99,226,255,0.08);
  border-color: rgba(99,226,255,0.25);
}
html.HM-theme-night-sea:not(.gn-night-mode) .CL-crew-selector label { color: #d0e0f0; }
html.HM-theme-night-sea:not(.gn-night-mode) .CL-crew-selector select {
  background: rgba(255,255,255,0.06);
  color: var(--text, #e0eaf5);
  border-color: rgba(255,255,255,0.15);
}
html.HM-theme-night-sea:not(.gn-night-mode) .CL-participants {
  background: var(--card-bg, rgba(255,255,255,0.04));
  border-color: rgba(255,255,255,0.1);
}
html.HM-theme-night-sea:not(.gn-night-mode) .CL-participants-label { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .CL-participant-chip {
  background: rgba(99,226,255,0.15);
  color: #d0eaf5;
}
html.HM-theme-night-sea:not(.gn-night-mode) .CL-add-item-btn {
  background: var(--card-bg, rgba(255,255,255,0.04));
  border-color: rgba(255,255,255,0.2);
  color: var(--muted, #b5c7dd);
}
html.HM-theme-night-sea:not(.gn-night-mode) .CL-add-item-btn:hover {
  background: rgba(99,226,255,0.1);
  border-color: #63e2ff;
  color: var(--brand, #63e2ff);
}
html.HM-theme-night-sea:not(.gn-night-mode) .CL-friends-list {
  background: var(--card-bg, rgba(255,255,255,0.04));
  border-color: rgba(255,255,255,0.1);
}
html.HM-theme-night-sea:not(.gn-night-mode) .CL-friend-row {
  border-bottom-color: rgba(255,255,255,0.08);
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .CL-check-box {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.15);
  color: #d0e0f0;
}
html.HM-theme-night-sea:not(.gn-night-mode) .CL-check-box.CL-checked {
  background: rgba(34,197,94,0.15);
  border-color: rgba(34,197,94,0.5);
  color: #94d4a8;
}
html.HM-theme-night-sea:not(.gn-night-mode) .CL-item-hide {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.2);
  color: var(--muted, #b5c7dd);
}
html.HM-theme-night-sea:not(.gn-night-mode) .CL-item-restore {
  background: rgba(99,226,255,0.1);
  border-color: #63e2ff;
  color: var(--brand, #63e2ff);
}

/* ─── CL : page principale en radar ─── */
html.HM-theme-radar:not(.gn-night-mode) .CL-card,
html.HM-theme-radar:not(.gn-night-mode) .CL-detail,
html.HM-theme-radar:not(.gn-night-mode) .CL-item {
  background: rgba(0,0,0,0.7);
  border: 1px solid rgba(0,255,136,0.35);
  border-radius: 0;
  color: #9fffb0;
  box-shadow: none;
  font-family: 'Share Tech Mono', monospace;
}
html.HM-theme-radar:not(.gn-night-mode) .CL-card:hover {
  border-color: #00ff88;
  box-shadow: 0 0 12px rgba(0,255,136,0.3);
}
html.HM-theme-radar:not(.gn-night-mode) .CL-card-name,
html.HM-theme-radar:not(.gn-night-mode) .CL-detail-title,
html.HM-theme-radar:not(.gn-night-mode) .CL-title {
  color: #00ff88;
  font-family: 'Orbitron', monospace;
  text-transform: uppercase;
  letter-spacing: 1px;
}
html.HM-theme-radar:not(.gn-night-mode) .CL-detail-sub,
html.HM-theme-radar:not(.gn-night-mode) .CL-progress-count,
html.HM-theme-radar:not(.gn-night-mode) .CL-progress-line,
html.HM-theme-radar:not(.gn-night-mode) .CL-loading { color: #6fcf85; }
html.HM-theme-radar:not(.gn-night-mode) .CL-progress-bar { background: rgba(0,255,136,0.1); }
html.HM-theme-radar:not(.gn-night-mode) .CL-progress-fill { background: linear-gradient(90deg, #00ff88, #00cc6a); }
html.HM-theme-radar:not(.gn-night-mode) .CL-back {
  background: transparent;
  border: 1px solid rgba(0,255,136,0.4);
  color: #9fffb0;
  font-family: 'Share Tech Mono', monospace;
}
html.HM-theme-radar:not(.gn-night-mode) .CL-session-bar,
html.HM-theme-radar:not(.gn-night-mode) .CL-crew-selector,
html.HM-theme-radar:not(.gn-night-mode) .CL-participants,
html.HM-theme-radar:not(.gn-night-mode) .CL-add-item-btn,
html.HM-theme-radar:not(.gn-night-mode) .CL-friends-list {
  background: rgba(0,0,0,0.6);
  border: 1px solid rgba(0,255,136,0.3);
  border-radius: 0;
  color: #9fffb0;
}
html.HM-theme-radar:not(.gn-night-mode) .CL-check-big-label { color: #9fffb0; }
html.HM-theme-radar:not(.gn-night-mode) .CL-item-double .CL-item-label { color: #00ff88; }
html.HM-theme-radar:not(.gn-night-mode) .CL-item-checked {
  background: rgba(0,255,136,0.15);
  border-color: #00ff88;
}
html.HM-theme-radar:not(.gn-night-mode) .CL-check-box {
  background: transparent;
  border: 1px solid rgba(0,255,136,0.4);
  color: #9fffb0;
  border-radius: 0;
}

/* Même traitement pour radar */
html.HM-theme-radar:not(.gn-night-mode) .CL-modal-content {
  background: #000;
  color: #9fffb0;
  border: 1px solid #00ff88;
  border-radius: 0;
  font-family: 'Share Tech Mono', monospace;
}
html.HM-theme-radar:not(.gn-night-mode) .CL-modal-content h3 {
  color: #00ff88;
  font-family: 'Orbitron', monospace;
  text-transform: uppercase;
  letter-spacing: 2px;
  text-shadow: 0 0 6px #00ff88;
}
html.HM-theme-radar:not(.gn-night-mode) .CL-modal-content input[type="text"] {
  background: #000;
  color: #9fffb0;
  border: 1px solid rgba(0,255,136,0.4);
  border-radius: 0;
}
html.HM-theme-radar:not(.gn-night-mode) .CL-modal-content input[type="text"]::placeholder { color: #4a7a55; }
html.HM-theme-radar:not(.gn-night-mode) .CL-emoji-grid {
  background: rgba(0,0,0,0.85);
  border: 1px solid rgba(0,255,136,0.35);
  border-radius: 0;
}
html.HM-theme-radar:not(.gn-night-mode) .CL-emoji-btn { background: transparent; border: 1px solid rgba(0,255,136,0.35); border-radius: 0; color: #9fffb0; }
html.HM-theme-radar:not(.gn-night-mode) .CL-emoji-btn.CL-emoji-active { background: rgba(0,255,136,0.18); border-color: #00ff88; }
html.HM-theme-radar:not(.gn-night-mode) .CL-btn-primary {
  background: rgba(0,255,136,0.2);
  color: #00ff88;
  border: 1px solid #00ff88;
  border-radius: 0;
  font-family: 'Orbitron', monospace;
  text-transform: uppercase;
}
html.HM-theme-radar:not(.gn-night-mode) .CL-btn-cancel {
  background: transparent;
  color: #9fffb0;
  border: 1px solid rgba(0,255,136,0.3);
  border-radius: 0;
  font-family: 'Share Tech Mono', monospace;
  text-transform: uppercase;
}


/* ═══════════════════════════════════════════════════════════════════
   ACCUEIL v1 (PC / complet) — blocs restants en blanc
   ═══════════════════════════════════════════════════════════════════ */

/* ─── AGENDA / CALENDRIER (.IN-agenda*) ─── */
html.HM-theme-night-sea:not(.gn-night-mode) .IN-agendaHead,
html.HM-theme-night-sea:not(.gn-night-mode) .IN-agendaTitle { color: var(--text, #e0eaf5); }
html.HM-theme-night-sea:not(.gn-night-mode) .IN-agendaNav {
  background: rgba(255,255,255,0.06);
  color: var(--muted, #b5c7dd);
  border: 1px solid rgba(255,255,255,0.12);
}
html.HM-theme-night-sea:not(.gn-night-mode) .IN-agendaNav:hover { background: rgba(99,226,255,0.15); color: var(--brand, #63e2ff); }
html.HM-theme-night-sea:not(.gn-night-mode) .IN-agendaCell {
  background: var(--card-bg, rgba(255,255,255,0.05));
  color: var(--text, #e0eaf5);
  border-color: rgba(255,255,255,0.10);
}
html.HM-theme-night-sea:not(.gn-night-mode) .IN-agendaCell.is-head { color: #8ca3bf; background: transparent; }
html.HM-theme-night-sea:not(.gn-night-mode) .IN-agendaCell.is-day:hover { background: rgba(99,226,255,0.12); }
html.HM-theme-night-sea:not(.gn-night-mode) .IN-agendaCell.is-today {
  border-color: #63e2ff;
  box-shadow: inset 0 0 0 1px #63e2ff;
  color: #ffffff;
}
html.HM-theme-night-sea:not(.gn-night-mode) .IN-agendaCell.is-hasEvent {
  background: rgba(99,226,255,0.2);
  border-color: rgba(99,226,255,0.45);
  color: #ffffff;
}
html.HM-theme-night-sea:not(.gn-night-mode) .IN-agendaLocked {
  background: rgba(255,255,255,0.03);
  color: #6b8aa8;
  border-color: rgba(255,255,255,0.08);
}

/* ─── CARTOUCHES GAZETTE (.CG-*) ─── */
html.HM-theme-night-sea:not(.gn-night-mode) .CG-card {
  background: var(--card-bg, rgba(255,255,255,0.04));
  border-color: rgba(255,255,255,0.10);
  color: var(--text, #e0eaf5);
  backdrop-filter: blur(8px);
}
html.HM-theme-night-sea:not(.gn-night-mode) .CG-thumb { background: rgba(0,0,0,0.3); }
html.HM-theme-night-sea:not(.gn-night-mode) .CG--list.CG--listV2,
html.HM-theme-night-sea:not(.gn-night-mode) .GN-side--left .CG--list.CG--listV2 {
  background: var(--card-bg, rgba(255,255,255,0.04));
  border-color: rgba(255,255,255,0.10);
}
html.HM-theme-night-sea:not(.gn-night-mode) .CG-title,
html.HM-theme-night-sea:not(.gn-night-mode) .CG--list.CG--listV2 .CG-title { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .CG-excerpt { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .CG-date { color: #8ca3bf; }

/* ─── SIDEBAR GAZETTE (mini items sur accueil) ─── */
html.HM-theme-night-sea:not(.gn-night-mode) .IN-gazetteList,
html.HM-theme-night-sea:not(.gn-night-mode) .IN-gazetteItem { color: var(--text, #e0eaf5); }
html.HM-theme-night-sea:not(.gn-night-mode) .IN-gazetteThumb {
  background: rgba(0,0,0,0.3);
  border-color: var(--bd, rgba(255,255,255,0.12));
}
html.HM-theme-night-sea:not(.gn-night-mode) .IN-gazetteTitle { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .IN-gazetteChapo { color: var(--muted, #b5c7dd); }

/* ─── FLUX ACCUEIL v1 (.IN-homeFlux + toutes les cards + FLX-post) ─── */
html.HM-theme-night-sea:not(.gn-night-mode) .IN-homeFlux #fluxList {
  background: rgba(255,255,255,0.02);
}
html.HM-theme-night-sea:not(.gn-night-mode) .IN-homeFlux #fluxList .GN-card,
html.HM-theme-night-sea:not(.gn-night-mode) .IN-homeFlux .GN-card,
html.HM-theme-night-sea:not(.gn-night-mode) .IN-page-accueil .GN-card,
html.HM-theme-night-sea:not(.gn-night-mode) .IN-page-accueil .IN-kpiCards .GN-card,
html.HM-theme-night-sea:not(.gn-night-mode) .IN-next-events .GN-card,
html.HM-theme-night-sea:not(.gn-night-mode) .FLX-post {
  background: var(--card-bg, rgba(255,255,255,0.05));
  border: 1px solid rgba(255,255,255,0.10);
  color: var(--text, #e0eaf5);
  backdrop-filter: blur(8px);
}
html.HM-theme-night-sea:not(.gn-night-mode) .FLX-post--empty {
  border: 1px dashed rgba(255,255,255,0.25);
  color: #8ca3bf;
}
html.HM-theme-night-sea:not(.gn-night-mode) .FLX-post--error {
  border: 1px solid rgba(239,68,68,0.4);
  color: #ff8a8a;
  background: rgba(239,68,68,0.12);
}
html.HM-theme-night-sea:not(.gn-night-mode) .FLX-photo { border-radius: 8px; }
html.HM-theme-night-sea:not(.gn-night-mode) .FLX-thread { background: rgba(255,255,255,0.03); border-radius: 8px; padding: 6px; }
html.HM-theme-night-sea:not(.gn-night-mode) .FBX,
html.HM-theme-night-sea:not(.gn-night-mode) .FLX-reply,
html.HM-theme-night-sea:not(.gn-night-mode) .FLX-embed,
html.HM-theme-night-sea:not(.gn-night-mode) .FBX--member,
html.HM-theme-night-sea:not(.gn-night-mode) .FBX--boat,
html.HM-theme-night-sea:not(.gn-night-mode) .FBX--event {
  background: var(--card-bg, rgba(255,255,255,0.05));
  border-color: rgba(255,255,255,0.15);
  color: var(--text, #e0eaf5);
}
/* Post système (inscription, nouveau bateau, etc.) */
html.HM-theme-night-sea:not(.gn-night-mode) .FLX-system-post {
  background: linear-gradient(135deg, rgba(99,226,255,0.08) 0%, rgba(255,255,255,0.04) 100%);
  border-left: 3px solid #63e2ff;
}
html.HM-theme-night-sea:not(.gn-night-mode) .FBX--member-intro { color: var(--text, #e0eaf5); }
html.HM-theme-night-sea:not(.gn-night-mode) .FBX__title { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .FBX__meta { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .FBX--member__btn {
  background: #2f6fed;
  color: #fff;
}
html.HM-theme-night-sea:not(.gn-night-mode) .FBX--member:hover .FBX--member__btn {
  background: #2563eb;
}
html.HM-theme-night-sea:not(.gn-night-mode) .FBX__desc { color: #cad9ec; }
html.HM-theme-night-sea:not(.gn-night-mode) .FLX-replyForm {
  background: var(--card-bg, rgba(255,255,255,0.04));
  border-color: var(--bd, rgba(255,255,255,0.12));
}
html.HM-theme-night-sea:not(.gn-night-mode) .FLX-linkPreview {
  background: var(--card-bg, rgba(255,255,255,0.04));
  border-color: rgba(255,255,255,0.15);
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .FLX-linkPreview:hover { background: rgba(255,255,255,0.08); }

/* Radar */
html.HM-theme-radar:not(.gn-night-mode) .FBX,
html.HM-theme-radar:not(.gn-night-mode) .FLX-reply,
html.HM-theme-radar:not(.gn-night-mode) .FLX-embed,
html.HM-theme-radar:not(.gn-night-mode) .FLX-replyForm,
html.HM-theme-radar:not(.gn-night-mode) .FLX-linkPreview,
html.HM-theme-radar:not(.gn-night-mode) .FBX--member,
html.HM-theme-radar:not(.gn-night-mode) .FBX--boat,
html.HM-theme-radar:not(.gn-night-mode) .FBX--event {
  background: rgba(0,0,0,0.85);
  border: 1px solid rgba(0,255,136,0.35);
  color: #9fffb0;
  border-radius: 0;
  font-family: 'Share Tech Mono', monospace;
}
html.HM-theme-radar:not(.gn-night-mode) .FLX-system-post {
  background: linear-gradient(135deg, rgba(0,255,136,0.1) 0%, rgba(0,0,0,0.85) 100%);
  border-left: 3px solid #00ff88;
}
html.HM-theme-radar:not(.gn-night-mode) .FBX--member-intro { color: #9fffb0; }
html.HM-theme-radar:not(.gn-night-mode) .FBX__title { color: #00ff88; text-shadow: 0 0 6px #00ff88; }
html.HM-theme-radar:not(.gn-night-mode) .FBX--member__btn {
  background: rgba(0,255,136,0.2);
  color: #00ff88;
  border: 1px solid #00ff88;
  font-family: 'Orbitron', monospace;
  text-transform: uppercase;
}

/* Radar : fallback */
html.HM-theme-radar:not(.gn-night-mode) .FLX-post {
  background: rgba(0,0,0,0.85);
  border: 1px solid rgba(0,255,136,0.35);
  color: #9fffb0;
  border-radius: 0;
  font-family: 'Share Tech Mono', monospace;
}
html.HM-theme-radar:not(.gn-night-mode) .FLX-post--error {
  border-color: #ff2cef;
  color: #ff2cef;
  background: rgba(255,44,239,0.1);
}


/* ─────── VEILLEUR DE QUAI (.VQ-*) ─────── */

/* NIGHT-SEA */
html.HM-theme-night-sea:not(.gn-night-mode) .VQ-page,
html.HM-theme-night-sea:not(.gn-night-mode) .VQ-hero-title,
html.HM-theme-night-sea:not(.gn-night-mode) .VQ-section-title,
html.HM-theme-night-sea:not(.gn-night-mode) .VQ-form-title,
html.HM-theme-night-sea:not(.gn-night-mode) .VQ-card-boat { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .VQ-hero-subtitle,
html.HM-theme-night-sea:not(.gn-night-mode) .VQ-card-owner,
html.HM-theme-night-sea:not(.gn-night-mode) .VQ-card-meta { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .VQ-hero {
  background: var(--card-bg, rgba(255,255,255,0.04));
  border: 1px solid rgba(255,255,255,0.10);
  backdrop-filter: blur(10px);
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .VQ-hero-chip {
  background: rgba(255,255,255,0.10);
  color: var(--text, #e0eaf5);
  border: 1px solid rgba(255,255,255,0.15);
}
html.HM-theme-night-sea:not(.gn-night-mode) .VQ-back {
  background: rgba(255,255,255,0.07);
  color: var(--text, #e0eaf5);
  border: 1px solid rgba(255,255,255,0.15);
}
html.HM-theme-night-sea:not(.gn-night-mode) .VQ-back:hover { background: rgba(255,255,255,0.12); }
html.HM-theme-night-sea:not(.gn-night-mode) .VQ-card {
  background: var(--card-bg, rgba(255,255,255,0.04));
  border: 1px solid rgba(255,255,255,0.10);
  backdrop-filter: blur(8px);
  color: var(--text, #e0eaf5);
  box-shadow: 0 6px 20px rgba(0,0,0,0.3);
}
html.HM-theme-night-sea:not(.gn-night-mode) .VQ-card--tempete {
  background: rgba(239,68,68,0.10);
}
html.HM-theme-night-sea:not(.gn-night-mode) .VQ-form {
  background: var(--card-bg, rgba(255,255,255,0.04));
  border: 1px solid rgba(255,255,255,0.10);
  backdrop-filter: blur(10px);
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .VQ-label { color: var(--text, #e0eaf5); }
html.HM-theme-night-sea:not(.gn-night-mode) .VQ-select,
html.HM-theme-night-sea:not(.gn-night-mode) .VQ-textarea,
html.HM-theme-night-sea:not(.gn-night-mode) .VQ-input,
html.HM-theme-night-sea:not(.gn-night-mode) .VQ-select option {
  background: rgba(255,255,255,0.06);
  color: var(--text, #e0eaf5);
  border: 1px solid rgba(255,255,255,0.15);
}
html.HM-theme-night-sea:not(.gn-night-mode) .VQ-textarea::placeholder,
html.HM-theme-night-sea:not(.gn-night-mode) .VQ-input::placeholder { color: #6b8aa8; }
html.HM-theme-night-sea:not(.gn-night-mode) .VQ-radio-card {
  background: var(--card-bg, rgba(255,255,255,0.05));
  color: var(--text, #e0eaf5);
  border: 1px solid rgba(255,255,255,0.15);
}
html.HM-theme-night-sea:not(.gn-night-mode) .VQ-radio-card:has(input:checked) {
  background: rgba(99,226,255,0.18);
  border-color: #63e2ff;
  color: var(--brand, #63e2ff);
}
html.HM-theme-night-sea:not(.gn-night-mode) .VQ-auth-group,
html.HM-theme-night-sea:not(.gn-night-mode) .VQ-auth-chip {
  background: rgba(255,255,255,0.06);
  color: var(--text, #e0eaf5);
  border: 1px solid rgba(255,255,255,0.15);
}
html.HM-theme-night-sea:not(.gn-night-mode) .VQ-auth-chip:has(input:checked) {
  background: rgba(99,226,255,0.15);
  border-color: #63e2ff;
}
html.HM-theme-night-sea:not(.gn-night-mode) .VQ-distress-btn,
html.HM-theme-night-sea:not(.gn-night-mode) .VQ-distress-btn--round {
  background: linear-gradient(135deg, #ef4444, #f87171);
  color: #fff;
  box-shadow: 0 4px 20px rgba(239,68,68,0.4);
}
html.HM-theme-night-sea:not(.gn-night-mode) .VQ-alert--error {
  background: rgba(239,68,68,0.18);
  color: #ff8a8a;
  border: 1px solid rgba(239,68,68,0.35);
}
html.HM-theme-night-sea:not(.gn-night-mode) .VQ-alert--success {
  background: rgba(34,197,94,0.18);
  color: #86efac;
  border: 1px solid rgba(34,197,94,0.35);
}
html.HM-theme-night-sea:not(.gn-night-mode) .VQ-preset-chip,
html.HM-theme-night-sea:not(.gn-night-mode) .VQ-checklist-readonly li,
html.HM-theme-night-sea:not(.gn-night-mode) .VQ-audio-btn,
html.HM-theme-night-sea:not(.gn-night-mode) .VQ-flash-badge {
  background: rgba(255,255,255,0.06);
  color: var(--text, #e0eaf5);
  border: 1px solid rgba(255,255,255,0.15);
}

/* RADAR */
html.HM-theme-radar:not(.gn-night-mode) .VQ-hero,
html.HM-theme-radar:not(.gn-night-mode) .VQ-card,
html.HM-theme-radar:not(.gn-night-mode) .VQ-form,
html.HM-theme-radar:not(.gn-night-mode) .VQ-select,
html.HM-theme-radar:not(.gn-night-mode) .VQ-textarea,
html.HM-theme-radar:not(.gn-night-mode) .VQ-input,
html.HM-theme-radar:not(.gn-night-mode) .VQ-radio-card,
html.HM-theme-radar:not(.gn-night-mode) .VQ-auth-chip,
html.HM-theme-radar:not(.gn-night-mode) .VQ-preset-chip,
html.HM-theme-radar:not(.gn-night-mode) .VQ-audio-btn {
  background: rgba(0,0,0,0.85);
  border: 1px solid rgba(0,255,136,0.35);
  color: #9fffb0;
  border-radius: 0;
  font-family: 'Share Tech Mono', monospace;
}
html.HM-theme-radar:not(.gn-night-mode) .VQ-hero-title,
html.HM-theme-radar:not(.gn-night-mode) .VQ-section-title,
html.HM-theme-radar:not(.gn-night-mode) .VQ-form-title,
html.HM-theme-radar:not(.gn-night-mode) .VQ-card-boat {
  color: #00ff88;
  font-family: 'Orbitron', monospace;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  text-shadow: 0 0 6px #00ff88;
}
html.HM-theme-radar:not(.gn-night-mode) .VQ-distress-btn,
html.HM-theme-radar:not(.gn-night-mode) .VQ-distress-btn--round {
  background: #ff2cef;
  color: #000;
  box-shadow: 0 0 20px #ff2cef;
  font-family: 'Orbitron', monospace;
  text-transform: uppercase;
  border-radius: 0;
  animation: radar-pulse-alert 1.4s ease-in-out infinite;
}
html.HM-theme-radar:not(.gn-night-mode) .VQ-alert--error {
  background: rgba(255,44,239,0.15);
  color: #ff2cef;
  border: 1px solid #ff2cef;
  border-radius: 0;
}
html.HM-theme-radar:not(.gn-night-mode) .VQ-alert--success {
  background: rgba(0,255,136,0.15);
  color: #00ff88;
  border: 1px solid #00ff88;
  border-radius: 0;
}


/* ═══════════════════════════════════════════════════════════════════
   PAGES : recherche membres / annuaire pro / créer événement / profil
   Approche : couvrir fond ET texte ensemble (règle contraste)
   ═══════════════════════════════════════════════════════════════════ */

/* ─── ANNUAIRE PRO (.AP-*) — via vars --ap-* ─── */
/* --ap-blue passé du cyan vif (#63e2ff) à un bleu sobre canonique (#1f6fb8 /
   #2a89d8), aligné sur .MS-tag--selected ligne 154 → cohérent avec le reste
   du site et plus discret pour les boutons accueil_public (Connexion,
   S'inscrire, Inscrire une marina). */
html.HM-theme-night-sea:not(.gn-night-mode) {
  --ap-blue:        #1f6fb8;
  --ap-blue-hover:  #2a89d8;
  --ap-header-bg:   rgba(10,26,46,0.9);
  --ap-header-text: #ffffff;
  --ap-text:        #e0eaf5;
  --ap-muted:       #b5c7dd;
  --ap-card:        rgba(255,255,255,0.04);
  --ap-bg:          transparent;
  --ap-bd:          rgba(255,255,255,0.12);
  --ap-alert:       #ff8a8a;
}
/* AP-btn--secondary : background hardcodé #fff dans AP.css ligne 133, illisible
   sur fond night-sea → override transparent + texte clair. */
html.HM-theme-night-sea:not(.gn-night-mode) .AP-btn--secondary {
  background: rgba(255,255,255,0.06) !important;
  color: #d5e3f5 !important;
  border-color: rgba(255,255,255,0.20) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) .AP-btn--secondary:hover {
  background: rgba(255,255,255,0.12) !important;
  border-color: rgba(255,255,255,0.35) !important;
}
html.HM-theme-radar:not(.gn-night-mode) {
  --ap-blue:        #00ff88;
  --ap-blue-hover:  #80ffc4;
  --ap-header-bg:   #000;
  --ap-header-text: #00ff88;
  --ap-text:        #9fffb0;
  --ap-muted:       #5fa870;
  --ap-card:        rgba(0,0,0,0.85);
  --ap-bg:          transparent;
  --ap-bd:          rgba(0,255,136,0.35);
  --ap-alert:       #ff2cef;
}

/* ─── FORMULAIRES GN (utilisés par recherche_membres + créer dispo + autres) ─── */
html.HM-theme-night-sea:not(.gn-night-mode) .GN-form,
html.HM-theme-night-sea:not(.gn-night-mode) .GN-form-field {
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .GN-form-label,
html.HM-theme-night-sea:not(.gn-night-mode) .GN-h2 { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .GN-form-input,
html.HM-theme-night-sea:not(.gn-night-mode) .GN-form-textarea,
html.HM-theme-night-sea:not(.gn-night-mode) .GN-form-select,
html.HM-theme-night-sea:not(.gn-night-mode) .GN-input,
html.HM-theme-night-sea:not(.gn-night-mode) .GN-textarea,
html.HM-theme-night-sea:not(.gn-night-mode) .GN-select {
  background: rgba(255,255,255,0.06);
  color: var(--text, #e0eaf5);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 12px;
  padding: 10px 12px;
  width: 100%;
  box-sizing: border-box;
  font: inherit;
}
/* Selects natifs : retirer l'apparence OS + ajouter chevron SVG pour conserver l'indicateur déroulant */
html.HM-theme-night-sea:not(.gn-night-mode) select.GN-form-input,
html.HM-theme-night-sea:not(.gn-night-mode) .GN-form-select,
html.HM-theme-night-sea:not(.gn-night-mode) .GN-select {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'><path fill='%23b5c7dd' d='M6 8 0 0h12z'/></svg>");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 10px;
  padding-right: 32px;
}
/* Options du dropdown : fond night-sea (limité par l'OS, mais Chrome/Edge respectent) */
html.HM-theme-night-sea:not(.gn-night-mode) select.GN-form-input option,
html.HM-theme-night-sea:not(.gn-night-mode) .GN-form-select option,
html.HM-theme-night-sea:not(.gn-night-mode) .GN-select option {
  background-color: #0a1f3a;
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .GN-form-input::placeholder,
html.HM-theme-night-sea:not(.gn-night-mode) .GN-input::placeholder,
html.HM-theme-night-sea:not(.gn-night-mode) .GN-textarea::placeholder { color: #6b8aa8; }
html.HM-theme-night-sea:not(.gn-night-mode) .GN-sep { border-top-color: rgba(255,255,255,0.1); }

/* ─── RECHERCHE MEMBRES (.RM-*) — fond glass + texte clair ─── */
html.HM-theme-night-sea:not(.gn-night-mode) .RM-members-grid { color: var(--text, #e0eaf5); }
html.HM-theme-night-sea:not(.gn-night-mode) .RM-member-card {
  background: var(--card-bg, rgba(255,255,255,0.04));
  border: 1px solid rgba(255,255,255,0.10);
  color: var(--text, #e0eaf5);
  backdrop-filter: blur(8px);
}
html.HM-theme-night-sea:not(.gn-night-mode) .RM-member-name { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .RM-meta,
html.HM-theme-night-sea:not(.gn-night-mode) .RM-distance { color: var(--muted, #b5c7dd); }

/* ─── CRÉER ÉVÉNEMENT (.CrEv-*) — beaucoup de blocs ─── */
html.HM-theme-night-sea:not(.gn-night-mode) .CrEv-block,
html.HM-theme-night-sea:not(.gn-night-mode) .CrEv-step,
html.HM-theme-night-sea:not(.gn-night-mode) .CrEv-recap,
html.HM-theme-night-sea:not(.gn-night-mode) .CrEv-photoCard,
html.HM-theme-night-sea:not(.gn-night-mode) .CrEv-tpl-card,
html.HM-theme-night-sea:not(.gn-night-mode) .CrEv-tpl-banner,
html.HM-theme-night-sea:not(.gn-night-mode) .CrEv-route-preview,
html.HM-theme-night-sea:not(.gn-night-mode) .CrEv-suggest-route,
html.HM-theme-night-sea:not(.gn-night-mode) .CT-block {
  background: rgba(20,38,62,0.85) !important;     /* !important pour battre les styles inline */
  border: 1px solid rgba(255,255,255,0.10) !important;
  color: var(--text, #e0eaf5) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) .CrEv-hint,
html.HM-theme-night-sea:not(.gn-night-mode) .CrEv-subtitle { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .CrEv-chip,
html.HM-theme-night-sea:not(.gn-night-mode) .CrEv-loc-switch__opt,
html.HM-theme-night-sea:not(.gn-night-mode) .CrEv-mod {
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.15);
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .CrEv-checkbox { accent-color: #63e2ff; }
html.HM-theme-night-sea:not(.gn-night-mode) .CrEv-stepsBtns,
html.HM-theme-night-sea:not(.gn-night-mode) .CrEv-actions,
html.HM-theme-night-sea:not(.gn-night-mode) .CrEv-nav { color: var(--text, #e0eaf5); }
html.HM-theme-night-sea:not(.gn-night-mode) .CrEv-parcours-row,
html.HM-theme-night-sea:not(.gn-night-mode) .CrEv-parcours-label { color: #cad9ec; }

/* ─── PROFIL (.PR-*) — bloc relation + dropdown + photos + sortable ─── */
html.HM-theme-night-sea:not(.gn-night-mode) .PR-relation-area { color: var(--text, #e0eaf5); }
html.HM-theme-night-sea:not(.gn-night-mode) .PR-relation-badge {
  background: rgba(255,255,255,0.08);
  color: var(--text, #e0eaf5);
  border: 1px solid rgba(255,255,255,0.15);
}
html.HM-theme-night-sea:not(.gn-night-mode) .PR-rel-dropdown-btn {
  background: rgba(255,255,255,0.07);
  color: var(--text, #e0eaf5);
  border: 1px solid rgba(255,255,255,0.15);
}
html.HM-theme-night-sea:not(.gn-night-mode) .PR-rel-dropdown-btn:hover { background: rgba(255,255,255,0.12); }
html.HM-theme-night-sea:not(.gn-night-mode) .PR-rel-dropdown-menu {
  background: rgba(10,26,46,0.96);
  border: 1px solid rgba(255,255,255,0.15);
  color: var(--text, #e0eaf5);
  backdrop-filter: blur(20px);
  box-shadow: 0 12px 40px rgba(0,0,0,0.5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .PR-rel-dropdown-menu button {
  background: transparent;
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .PR-rel-dropdown-menu button:hover { background: rgba(255,255,255,0.08); }
html.HM-theme-night-sea:not(.gn-night-mode) .PR-rel-dropdown-menu hr { border-color: var(--bd, rgba(255,255,255,0.12)); }
html.HM-theme-night-sea:not(.gn-night-mode) .PR-sortable-item {
  background: var(--card-bg, rgba(255,255,255,0.04));
  border: 1px solid rgba(255,255,255,0.10);
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .PR-modal {
  background: rgba(0,0,0,0.85);
  backdrop-filter: blur(8px);
}
html.HM-theme-night-sea:not(.gn-night-mode) .PR-modal-close,
html.HM-theme-night-sea:not(.gn-night-mode) .PR-prevBtn,
html.HM-theme-night-sea:not(.gn-night-mode) .PR-nextBtn {
  background: rgba(255,255,255,0.15);
  color: #ffffff;
  border: 1px solid rgba(255,255,255,0.2);
}

/* RADAR — minima pour ces blocs */
html.HM-theme-radar:not(.gn-night-mode) .GN-form-input,
html.HM-theme-radar:not(.gn-night-mode) .GN-form-textarea,
html.HM-theme-radar:not(.gn-night-mode) .GN-form-select,
html.HM-theme-radar:not(.gn-night-mode) .GN-input,
html.HM-theme-radar:not(.gn-night-mode) .GN-textarea,
html.HM-theme-radar:not(.gn-night-mode) .GN-select,
html.HM-theme-radar:not(.gn-night-mode) .RM-member-card,
html.HM-theme-radar:not(.gn-night-mode) .CrEv-block,
html.HM-theme-radar:not(.gn-night-mode) .CrEv-step,
html.HM-theme-radar:not(.gn-night-mode) .CrEv-recap,
html.HM-theme-radar:not(.gn-night-mode) .CrEv-photoCard,
html.HM-theme-radar:not(.gn-night-mode) .CrEv-tpl-card,
html.HM-theme-radar:not(.gn-night-mode) .CrEv-chip,
html.HM-theme-radar:not(.gn-night-mode) .CT-block,
html.HM-theme-radar:not(.gn-night-mode) .PR-relation-badge,
html.HM-theme-radar:not(.gn-night-mode) .PR-rel-dropdown-btn,
html.HM-theme-radar:not(.gn-night-mode) .PR-rel-dropdown-menu,
html.HM-theme-radar:not(.gn-night-mode) .PR-sortable-item {
  background: rgba(0,0,0,0.85);
  color: #9fffb0;
  border: 1px solid rgba(0,255,136,0.35);
  border-radius: 0;
  font-family: 'Share Tech Mono', monospace;
}
html.HM-theme-radar:not(.gn-night-mode) .RM-member-name,
html.HM-theme-radar:not(.gn-night-mode) .GN-form-label,
html.HM-theme-radar:not(.gn-night-mode) .GN-h2 {
  color: #00ff88;
  text-shadow: 0 0 6px #00ff88;
}
/* --card-bg var qu'IN.css consomme → on la redéfinit aussi */
html.HM-theme-night-sea:not(.gn-night-mode) {
  --card-bg: rgba(255,255,255,0.05);
}

/* ─── BLOC CAPITAINERIE ACCUEIL (.IN-capCard + visual + tides) ─── */
html.HM-theme-night-sea:not(.gn-night-mode) .IN-accueil .IN-capCard {
  background: var(--card-bg, rgba(255,255,255,0.04));
  border: 1px solid rgba(255,255,255,0.12);
  backdrop-filter: blur(8px);
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .IN-accueil .IN-capVisualEmpty {
  color: rgba(255,255,255,0.5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .IN-accueil .IN-capTitle { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .IN-accueil .IN-capSubtitle { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .IN-accueil .IN-capMeta { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .IN-accueil .IN-capBody { color: var(--text, #e0eaf5); }
html.HM-theme-night-sea:not(.gn-night-mode) .IN-capTides {
  background: rgba(99,226,255,0.12);
  border: 1px solid rgba(99,226,255,0.25);
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .IN-capTide--high { color: var(--brand, #63e2ff); }
html.HM-theme-night-sea:not(.gn-night-mode) .IN-capTide--low { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .IN-capTides-approx { color: #fca5a5; }

/* ─── BLOC MÉTÉO ACCUEIL v1 (#GM-weatherBox + .GM-meteo-*) ─── */
html.HM-theme-night-sea:not(.gn-night-mode) .IN-weather,
html.HM-theme-night-sea:not(.gn-night-mode) #GM-weatherBox,
html.HM-theme-night-sea:not(.gn-night-mode) .GM-meteo {
  background: var(--card-bg, rgba(255,255,255,0.04));
  border: 1px solid rgba(255,255,255,0.10);
  color: var(--text, #e0eaf5);
  backdrop-filter: blur(8px);
}
html.HM-theme-night-sea:not(.gn-night-mode) .GM-meteo-city,
html.HM-theme-night-sea:not(.gn-night-mode) .GM-meteo-updated { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .GM-meteo-day {
  background: rgba(255,255,255,0.06);
  border-color: var(--bd, rgba(255,255,255,0.12));
  color: var(--text, #e0eaf5);
}
/* Sous-classes texte des cartes jour : ont color: #0a253e / #3c4f66 hardcodé
 * dans agenda.css → bypassent l'inheritance du parent themé. Override direct. */
html.HM-theme-night-sea:not(.gn-night-mode) .GM-meteo-day-date  { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .GM-meteo-day-temps { color: var(--text, #e0eaf5); }
html.HM-theme-night-sea:not(.gn-night-mode) .GM-meteo-extra     { color: #94a8c2; }
/* Marées / Fenêtre portuaire : mêmes hardcodés sombres dans agenda.css */
html.HM-theme-night-sea:not(.gn-night-mode) .GM-marineWindow-note     { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .GM-marineWindow-table th { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .GM-meteo-day:hover { background: rgba(99,226,255,0.15); }

/* ─── Bloc météo v1 (PC) — force fond dark partout, même contre inline JS ─── */
/* Wrapper IN-weather, GM-meteo, sous-blocs : !important pour battre les inline */
html.HM-theme-night-sea:not(.gn-night-mode) .IN-weather,
html.HM-theme-night-sea:not(.gn-night-mode) #GM-weatherBox,
html.HM-theme-night-sea:not(.gn-night-mode) .GM-meteo,
html.HM-theme-night-sea:not(.gn-night-mode) .GM-meteo-detail-grid,
html.HM-theme-night-sea:not(.gn-night-mode) .GM-meteo-detail {
  background: rgba(10,26,46,0.92) !important;
  color: var(--text, #e0eaf5) !important;
}
/* Cartes des jours */
html.HM-theme-night-sea:not(.gn-night-mode) .GM-meteo-day {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  color: var(--text, #e0eaf5) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) .GM-meteo-day.is-selected {
  background: rgba(99,226,255,0.18) !important;
  border-color: #63e2ff !important;
}
/* Lignes horaires (.GM-h) — JS injecte style="background:hsl(...)" très clair → on force */
html.HM-theme-night-sea:not(.gn-night-mode) .GM-h {
  background: rgba(255,255,255,0.06) !important;
  color: var(--text, #e0eaf5) !important;
  border-radius: 6px;
}
html.HM-theme-night-sea:not(.gn-night-mode) .GM-h *,
html.HM-theme-night-sea:not(.gn-night-mode) .GM-h-top,
html.HM-theme-night-sea:not(.gn-night-mode) .GM-h-bot,
html.HM-theme-night-sea:not(.gn-night-mode) .GM-h-temp,
html.HM-theme-night-sea:not(.gn-night-mode) .GM-h-wind,
html.HM-theme-night-sea:not(.gn-night-mode) .GM-h-dim,
html.HM-theme-night-sea:not(.gn-night-mode) .GM-h-rain,
html.HM-theme-night-sea:not(.gn-night-mode) .GM-h-wave { color: var(--text, #e0eaf5) !important; }
html.HM-theme-night-sea:not(.gn-night-mode) .GM-hours-toggle {
  background: rgba(99,226,255,0.15) !important;
  border: 1px solid rgba(99,226,255,0.4) !important;
  color: var(--brand, #63e2ff) !important;
}

/* ─── Liens dans les blocs sidebar de l'accueil v1 (filtres rapides, gazette, etc.) ─── */
/* Le `a { color: var(--brand) }` global utilise le bleu marine #20466e, illisible sur fond nuit.
   On force tous les liens des .GN-block en cyan accent du thème. */
html.HM-theme-night-sea:not(.gn-night-mode) .IN-quickFilters a,
html.HM-theme-night-sea:not(.gn-night-mode) .IN-quickFilters li a,
html.HM-theme-night-sea:not(.gn-night-mode) .IN-page-accueil .GN-list--links a,
html.HM-theme-night-sea:not(.gn-night-mode) .IN-page-accueil .IN-gazetteList a,
html.HM-theme-night-sea:not(.gn-night-mode) .IN-page-accueil .GN-block ul li a {
  color: var(--brand, #63e2ff) !important;
  background: transparent !important;
  border-color: var(--bd, rgba(255,255,255,0.12)) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) .IN-quickFilters a:hover,
html.HM-theme-night-sea:not(.gn-night-mode) .IN-page-accueil .GN-list--links a:hover,
html.HM-theme-night-sea:not(.gn-night-mode) .IN-page-accueil .GN-block ul li a:hover {
  background: rgba(99,226,255,0.12) !important;
  text-decoration: none;
}

/* ─── BLOC MARÉE / PORTE ACCUEIL v1 (#GM-tidesBox, #GM-marineWindow) ─── */
html.HM-theme-night-sea:not(.gn-night-mode) .IN-tides,
html.HM-theme-night-sea:not(.gn-night-mode) #GM-tidesBox,
html.HM-theme-night-sea:not(.gn-night-mode) .IN-marineWindow,
html.HM-theme-night-sea:not(.gn-night-mode) #GM-marineWindow {
  background: var(--card-bg, rgba(255,255,255,0.04));
  border: 1px solid rgba(255,255,255,0.10);
  color: var(--text, #e0eaf5);
  backdrop-filter: blur(8px);
}
html.HM-theme-night-sea:not(.gn-night-mode) #GM-tidesContent,
html.HM-theme-night-sea:not(.gn-night-mode) .gm-tides-block { color: var(--text, #e0eaf5); }
html.HM-theme-night-sea:not(.gn-night-mode) .gm-tides-block h3 { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .GM-tide-line { color: #cad9ec; border-bottom: 1px solid rgba(255,255,255,0.05); padding: 4px 0; }
html.HM-theme-night-sea:not(.gn-night-mode) .GM-marineWindow-body p,
html.HM-theme-night-sea:not(.gn-night-mode) .GM-marineWindow-row { color: #cad9ec; }
html.HM-theme-night-sea:not(.gn-night-mode) .GM-marineWindow-row strong { color: #ffffff; }

/* ─── BLOCS GÉNÉRIQUES (.GN-block, .GN-card, etc.) ─── */
html.HM-theme-night-sea:not(.gn-night-mode) .GN-block-title,
html.HM-theme-night-sea:not(.gn-night-mode) .IN-section-title { color: #ffffff; }

/* ─── BOUTONS D'ACCUEIL : "ouvrir capit", "gérer ma fiche", etc. ─── */
html.HM-theme-night-sea:not(.gn-night-mode) .IN-capBadge,
html.HM-theme-night-sea:not(.gn-night-mode) .IN-capAction,
html.HM-theme-night-sea:not(.gn-night-mode) .IN-navyStat,
html.HM-theme-night-sea:not(.gn-night-mode) .IN-tracemapStat {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  color: var(--text, #e0eaf5);
  backdrop-filter: blur(8px);
}
html.HM-theme-night-sea:not(.gn-night-mode) .IN-capAction:hover {
  background: rgba(99,226,255,0.15);
  border-color: rgba(99,226,255,0.35);
  color: var(--brand, #63e2ff);
}


/* ═══════════ RADAR — overrides minimaux pour ces blocs ═══════════ */
html.HM-theme-radar:not(.gn-night-mode) .IN-agendaCell,
html.HM-theme-radar:not(.gn-night-mode) .IN-agendaNav,
html.HM-theme-radar:not(.gn-night-mode) .IN-agendaLocked,
html.HM-theme-radar:not(.gn-night-mode) .CG-card,
html.HM-theme-radar:not(.gn-night-mode) .CG--list.CG--listV2,
html.HM-theme-radar:not(.gn-night-mode) .IN-gazetteThumb,
html.HM-theme-radar:not(.gn-night-mode) .IN-homeFlux #fluxList .GN-card,
html.HM-theme-radar:not(.gn-night-mode) .IN-weather,
html.HM-theme-radar:not(.gn-night-mode) #GM-weatherBox,
html.HM-theme-radar:not(.gn-night-mode) .GM-meteo,
html.HM-theme-radar:not(.gn-night-mode) .GM-meteo-day,
html.HM-theme-radar:not(.gn-night-mode) .IN-tides,
html.HM-theme-radar:not(.gn-night-mode) #GM-tidesBox,
html.HM-theme-radar:not(.gn-night-mode) #GM-marineWindow,
html.HM-theme-radar:not(.gn-night-mode) .IN-capBadge,
html.HM-theme-radar:not(.gn-night-mode) .IN-capAction,
html.HM-theme-radar:not(.gn-night-mode) .IN-navyStat,
html.HM-theme-radar:not(.gn-night-mode) .IN-tracemapStat {
  background: rgba(0,0,0,0.85);
  border: 1px solid rgba(0,255,136,0.35);
  color: #9fffb0;
  border-radius: 0;
  font-family: 'Share Tech Mono', monospace;
}
html.HM-theme-radar:not(.gn-night-mode) .IN-agendaCell.is-today {
  border-color: #00ff88;
  box-shadow: inset 0 0 0 1px #00ff88;
  color: #00ff88;
}
html.HM-theme-radar:not(.gn-night-mode) .IN-agendaCell.is-hasEvent {
  background: rgba(0,255,136,0.18);
  border-color: #00ff88;
  color: #00ff88;
}
html.HM-theme-radar:not(.gn-night-mode) .CG-title,
html.HM-theme-radar:not(.gn-night-mode) .IN-gazetteTitle,
html.HM-theme-radar:not(.gn-night-mode) .gm-tides-block h3 {
  color: #00ff88;
  font-family: 'Orbitron', monospace;
  text-transform: uppercase;
  text-shadow: 0 0 6px #00ff88;
}
html.HM-theme-radar:not(.gn-night-mode) .CG-excerpt,
html.HM-theme-radar:not(.gn-night-mode) .IN-gazetteChapo,
html.HM-theme-radar:not(.gn-night-mode) .GM-tide-line { color: #9fffb0; }
html.HM-theme-radar:not(.gn-night-mode) .CL-formError {
  background: rgba(255,44,239,0.15);
  color: #ff2cef;
  border-color: #ff2cef;
  border-radius: 0;
  font-family: 'Share Tech Mono', monospace;
  text-transform: uppercase;
}
html.HM-theme-radar:not(.gn-night-mode) .CL-input-error {
  border-color: #ff2cef !important;
  box-shadow: 0 0 12px rgba(255,44,239,0.4) !important;
}


/* ─────── 9. FICHE OBJET / BATEAU (.OBJ-*) ─────── */
/* OBJ.css utilise déjà des custom properties : on les redéfinit par thème */

/* NIGHT-SEA */
html.HM-theme-night-sea:not(.gn-night-mode) {
  --obj-accent: #63e2ff;
  --obj-border: rgba(255,255,255,0.12);
  --obj-muted:  #8ca3bf;
  --obj-bg:     rgba(255,255,255,0.04);
  --obj-bg-soft:rgba(255,255,255,0.08);
  --obj-chip:   rgba(99,226,255,0.15);
  --obj-danger: rgba(239,68,68,0.18);
  --obj-danger-b: rgba(239,68,68,0.4);
  --obj-overlay: rgba(0,0,0,0.85);
  --obj-text:   #e0eaf5;
  /* Cartouches FLX / FBX (flux accueil + capit) */
  --flx-card-bg:     rgba(255,255,255,0.05);
  --flx-card-border: rgba(255,255,255,0.15);
  --flx-card-text:   #e0eaf5;
  /* Cards génériques (profil, dispo, formulaires inline) */
  --card-bg:         rgba(255,255,255,0.05);
  --card-bg-soft:    rgba(255,255,255,0.08);
  --card-border:     rgba(255,255,255,0.12);
  --card-text:       #e0eaf5;
  --card-text-muted: #b5c7dd;
  /* Cartouche relation badge */
  --cr-badge-bg:     rgba(99,226,255,0.15);
  --cr-badge-text:   #63e2ff;
}
/* Hover du bouton .cartouche-relation .btn en night-sea */
html.HM-theme-night-sea:not(.gn-night-mode) .cartouche-relation .btn {
  border-color: rgba(99,226,255,0.4);
  color: var(--brand, #63e2ff);
}
html.HM-theme-night-sea:not(.gn-night-mode) .cartouche-relation .btn:hover {
  background: rgba(99,226,255,0.2);
  color: #ffffff;
}
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-wrap,
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-section {
  backdrop-filter: blur(8px);
  color: var(--text, #e0eaf5);
  box-shadow: 0 6px 20px rgba(0,0,0,0.3);
}
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-title { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-h2,
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-h3 { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-md,
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-infos li { color: #cad9ec; }
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-meta { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-chip { color: var(--brand, #63e2ff); border: 1px solid rgba(99,226,255,0.3); }
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-dot { color: var(--brand, #63e2ff); }
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-backBtn,
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-backBtn--inside {
  background: rgba(255,255,255,0.07);
  color: var(--text, #e0eaf5);
  border: 1px solid rgba(255,255,255,0.15);
}
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-backBtn:hover { background: rgba(255,255,255,0.12); }
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-aside { color: var(--text, #e0eaf5); }
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-mainPhoto,
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-mainPlaceholder,
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-thumb,
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-album-card {
  background: var(--card-bg, rgba(255,255,255,0.04)) !important;
  border-color: var(--bd, rgba(255,255,255,0.12));
}
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-album-box {
  background: rgba(10,26,46,0.96) !important;
  border: 1px solid rgba(255,255,255,0.12);
  color: var(--text, #e0eaf5);
  backdrop-filter: blur(20px);
}
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-lightbox-ui { background: rgba(0,0,0,0.85) !important; color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-suggestList {
  background: rgba(10,26,46,0.96) !important;
  border: 1px solid rgba(255,255,255,0.15);
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-suggestList li:hover { background: rgba(99,226,255,0.12); }
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-suggestList-port { color: #8ca3bf; }
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-ghost { background: rgba(255,255,255,0.06); color: var(--text, #e0eaf5); border-color: rgba(255,255,255,0.15); }
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-btn {
  background: #2f6fed;
  color: #fff;
}
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-btn-light { background: rgba(255,255,255,0.08); color: var(--text, #e0eaf5); border: 1px solid rgba(255,255,255,0.15); }
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-kpis {
  background: var(--card-bg, rgba(255,255,255,0.04));
  border: 1px solid rgba(255,255,255,0.10);
  color: var(--text, #e0eaf5);
}

/* RADAR */
html.HM-theme-radar:not(.gn-night-mode) {
  --obj-accent: #00ff88;
  --obj-border: rgba(0,255,136,0.35);
  --obj-muted:  #5fa870;
  --obj-bg:     rgba(0,0,0,0.85);
  --obj-bg-soft:rgba(0,255,136,0.08);
  --obj-chip:   rgba(0,255,136,0.15);
  --obj-danger: rgba(255,44,239,0.15);
  --obj-danger-b: #ff2cef;
  --obj-overlay: rgba(0,0,0,0.95);
  --obj-text:   #9fffb0;
  /* Cartouches FLX / FBX (flux accueil + capit) */
  --flx-card-bg:     rgba(0,0,0,0.85);
  --flx-card-border: rgba(0,255,136,0.35);
  --flx-card-text:   #9fffb0;
  /* Cards génériques */
  --card-bg:         rgba(0,0,0,0.85);
  --card-bg-soft:    rgba(0,255,136,0.08);
  --card-border:     rgba(0,255,136,0.35);
  --card-text:       #9fffb0;
  --card-text-muted: #5fa870;
  /* Cartouche relation badge */
  --cr-badge-bg:     rgba(0,255,136,0.15);
  --cr-badge-text:   #00ff88;
}
html.HM-theme-radar:not(.gn-night-mode) .cartouche-relation .btn {
  background: transparent;
  color: #00ff88;
  border: 1px solid #00ff88;
  border-radius: 0;
}
html.HM-theme-radar:not(.gn-night-mode) .cartouche-relation .btn:hover {
  background: rgba(0,255,136,0.18);
  color: #00ff88;
  text-shadow: 0 0 6px #00ff88;
}
html.HM-theme-radar:not(.gn-night-mode) .OBJ-wrap,
html.HM-theme-radar:not(.gn-night-mode) .OBJ-section {
  color: #9fffb0;
  box-shadow: 0 0 14px rgba(0,255,136,0.1);
  border-radius: 0;
  font-family: 'Share Tech Mono', monospace;
}
html.HM-theme-radar:not(.gn-night-mode) .OBJ-title {
  color: #00ff88;
  font-family: 'Orbitron', monospace;
  text-transform: uppercase;
  letter-spacing: 2px;
  text-shadow: 0 0 10px #00ff88;
}
html.HM-theme-radar:not(.gn-night-mode) .OBJ-h2,
html.HM-theme-radar:not(.gn-night-mode) .OBJ-h3 {
  color: #00ff88;
  font-family: 'Orbitron', monospace;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  text-shadow: 0 0 6px #00ff88;
}
html.HM-theme-radar:not(.gn-night-mode) .OBJ-md,
html.HM-theme-radar:not(.gn-night-mode) .OBJ-infos li { color: #9fffb0; }
html.HM-theme-radar:not(.gn-night-mode) .OBJ-meta { color: #9fffb0; }
html.HM-theme-radar:not(.gn-night-mode) .OBJ-chip {
  color: #00ff88;
  border: 1px solid #00ff88;
  border-radius: 0;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  font-family: 'Share Tech Mono', monospace;
}
html.HM-theme-radar:not(.gn-night-mode) .OBJ-dot { color: #00ff88; }
html.HM-theme-radar:not(.gn-night-mode) .OBJ-backBtn,
html.HM-theme-radar:not(.gn-night-mode) .OBJ-backBtn--inside {
  background: transparent;
  color: #00ff88;
  border: 1px solid #00ff88;
  border-radius: 0;
  font-family: 'Share Tech Mono', monospace;
  text-transform: uppercase;
  letter-spacing: 1px;
  text-shadow: 0 0 6px #00ff88;
}
html.HM-theme-radar:not(.gn-night-mode) .OBJ-backBtn:hover { background: rgba(0,255,136,0.12); box-shadow: 0 0 12px rgba(0,255,136,0.4); }
html.HM-theme-radar:not(.gn-night-mode) .OBJ-mainPhoto,
html.HM-theme-radar:not(.gn-night-mode) .OBJ-mainPlaceholder,
html.HM-theme-radar:not(.gn-night-mode) .OBJ-thumb,
html.HM-theme-radar:not(.gn-night-mode) .OBJ-album-card {
  background: #000 !important;
  border: 1px solid rgba(0,255,136,0.4);
  border-radius: 0;
}
html.HM-theme-radar:not(.gn-night-mode) .OBJ-album-box {
  background: #000 !important;
  border: 1px solid #00ff88;
  color: #9fffb0;
  border-radius: 0;
}
html.HM-theme-radar:not(.gn-night-mode) .OBJ-lightbox-ui { background: rgba(0,0,0,0.95) !important; color: #00ff88; }
html.HM-theme-radar:not(.gn-night-mode) .OBJ-suggestList {
  background: #000 !important;
  border: 1px solid #00ff88;
  color: #9fffb0;
  border-radius: 0;
}
html.HM-theme-radar:not(.gn-night-mode) .OBJ-suggestList li:hover { background: rgba(0,255,136,0.12); }
html.HM-theme-radar:not(.gn-night-mode) .OBJ-suggestList-port { color: #5fa870; }
html.HM-theme-radar:not(.gn-night-mode) .OBJ-ghost {
  background: transparent;
  color: #9fffb0;
  border: 1px solid rgba(0,255,136,0.3);
  border-radius: 0;
}
html.HM-theme-radar:not(.gn-night-mode) .OBJ-btn {
  background: rgba(0,255,136,0.2);
  color: #00ff88;
  border: 1px solid #00ff88;
  border-radius: 0;
  font-family: 'Orbitron', monospace;
  text-transform: uppercase;
  text-shadow: 0 0 6px #00ff88;
  box-shadow: 0 0 14px rgba(0,255,136,0.35);
}
html.HM-theme-radar:not(.gn-night-mode) .OBJ-btn-light {
  background: transparent;
  color: #9fffb0;
  border: 1px solid rgba(0,255,136,0.35);
}
html.HM-theme-radar:not(.gn-night-mode) .OBJ-kpis {
  background: rgba(0,0,0,0.85);
  border: 1px solid rgba(0,255,136,0.35);
  color: #9fffb0;
  border-radius: 0;
  font-family: 'Share Tech Mono', monospace;
}

/* Équipage (.OBJ-crew-*) — styles inline dans view.php, surchargés ici */

/* NIGHT-SEA */
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-crew-card {
  background: var(--card-bg, rgba(255,255,255,0.04)) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-crew-card--pending {
  background: rgba(99,226,255,0.08) !important;
  border-color: rgba(99,226,255,0.3) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-crew-name { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-crew-msg { color: #8ca3bf; }
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-crew-badge--ok { background: rgba(34,197,94,0.2) !important; color: #86efac !important; }
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-crew-btn {
  background: rgba(255,255,255,0.08) !important;
  border-color: rgba(255,255,255,0.15) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-crew-btn--accept:hover { background: rgba(34,197,94,0.2) !important; }
html.HM-theme-night-sea:not(.gn-night-mode) .OBJ-crew-btn--reject:hover { background: rgba(239,68,68,0.2) !important; }

/* RADAR */
html.HM-theme-radar:not(.gn-night-mode) .OBJ-crew-card {
  background: rgba(0,0,0,0.85) !important;
  border: 1px solid rgba(0,255,136,0.35) !important;
  color: #9fffb0;
  border-radius: 0;
  font-family: 'Share Tech Mono', monospace;
}
html.HM-theme-radar:not(.gn-night-mode) .OBJ-crew-card--pending {
  background: rgba(0,234,255,0.08) !important;
  border-color: #00eaff !important;
}
html.HM-theme-radar:not(.gn-night-mode) .OBJ-crew-name { color: #00ff88; text-transform: uppercase; letter-spacing: 1px; }
html.HM-theme-radar:not(.gn-night-mode) .OBJ-crew-msg { color: #5fa870; }
html.HM-theme-radar:not(.gn-night-mode) .OBJ-crew-badge--ok {
  background: rgba(0,255,136,0.2) !important;
  color: #00ff88 !important;
  border: 1px solid #00ff88;
  border-radius: 0;
  text-transform: uppercase;
}
html.HM-theme-radar:not(.gn-night-mode) .OBJ-crew-btn {
  background: transparent !important;
  border: 1px solid rgba(0,255,136,0.35) !important;
  border-radius: 0;
  color: #00ff88;
}
html.HM-theme-radar:not(.gn-night-mode) .OBJ-crew-btn--accept { color: #00ff88; }
html.HM-theme-radar:not(.gn-night-mode) .OBJ-crew-btn--accept:hover { background: rgba(0,255,136,0.2) !important; box-shadow: 0 0 10px rgba(0,255,136,0.4); }
html.HM-theme-radar:not(.gn-night-mode) .OBJ-crew-btn--reject { color: #ff2cef; }
html.HM-theme-radar:not(.gn-night-mode) .OBJ-crew-btn--reject:hover { background: rgba(255,44,239,0.15) !important; box-shadow: 0 0 10px rgba(255,44,239,0.4); }


/* ═══════════════════════════════════════════════════════════════════
   NIGHT-SEA — patches ciblés (corrections fonds blancs résiduels)
   ═══════════════════════════════════════════════════════════════════ */

/* Profil mobile — `.PR-ms-row` avait `background: var(--card-bg, #fff)` hardcodé */
@media (max-width: 768px) {
  html.HM-theme-night-sea:not(.gn-night-mode) .PR-ms-row {
    background: var(--card-bg, rgba(255,255,255,0.05)) !important;
    border-color: var(--bd, rgba(255,255,255,0.12)) !important;
    color: var(--text, #e0eaf5) !important;
  }
}

/* Recherche événements (`page-recherche-evenements`, `RE-*`, `ss-search-*`) */
html.HM-theme-night-sea:not(.gn-night-mode) .page-recherche-evenements .ss-search-card,
html.HM-theme-night-sea:not(.gn-night-mode) .page-recherche-evenements .RE-card {
  background: var(--card-bg, rgba(255,255,255,0.05));
  border: 1px solid rgba(255,255,255,0.12);
  color: var(--text, #e0eaf5);
  box-shadow: none;
}
html.HM-theme-night-sea:not(.gn-night-mode) .page-recherche-evenements .ss-search-title,
html.HM-theme-night-sea:not(.gn-night-mode) .page-recherche-evenements .RE-title,
html.HM-theme-night-sea:not(.gn-night-mode) .page-recherche-evenements h2 { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .page-recherche-evenements .RE-badge {
  background: rgba(99,226,255,0.18);
  border: 1px solid rgba(99,226,255,0.35);
  color: #d0eaf5;
}
html.HM-theme-night-sea:not(.gn-night-mode) .page-recherche-evenements label,
html.HM-theme-night-sea:not(.gn-night-mode) .page-recherche-evenements .GN-muted { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .page-recherche-evenements .ss-input,
html.HM-theme-night-sea:not(.gn-night-mode) .page-recherche-evenements .RE-input,
html.HM-theme-night-sea:not(.gn-night-mode) .page-recherche-evenements .ss-select,
html.HM-theme-night-sea:not(.gn-night-mode) .page-recherche-evenements .RE-select {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.18);
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .page-recherche-evenements .ss-input::placeholder,
html.HM-theme-night-sea:not(.gn-night-mode) .page-recherche-evenements .RE-input::placeholder { color: #6b8aa8; }
html.HM-theme-night-sea:not(.gn-night-mode) .page-recherche-evenements .ss-select option,
html.HM-theme-night-sea:not(.gn-night-mode) .page-recherche-evenements .RE-select option {
  background: #0a1a2e;
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .page-recherche-evenements .ss-submit,
html.HM-theme-night-sea:not(.gn-night-mode) .page-recherche-evenements .RE-submit {
  background: rgba(99,226,255,0.18);
  border: 1px solid rgba(99,226,255,0.4);
  color: #d0eaf5;
}
html.HM-theme-night-sea:not(.gn-night-mode) .page-recherche-evenements .ss-submit:hover,
html.HM-theme-night-sea:not(.gn-night-mode) .page-recherche-evenements .RE-submit:hover {
  background: rgba(99,226,255,0.28);
  border-color: #63e2ff;
}
html.HM-theme-night-sea:not(.gn-night-mode) .page-recherche-evenements .RE-hr {
  border-color: var(--bd, rgba(255,255,255,0.12));
}

/* Capitainerie — footer en bas de page */
html.HM-theme-night-sea:not(.gn-night-mode) .CAP-body .CAP-footer {
  background: var(--card-bg, rgba(255,255,255,0.04));
  border-top-color: var(--bd, rgba(255,255,255,0.12));
  color: var(--muted, #b5c7dd);
}
html.HM-theme-night-sea:not(.gn-night-mode) .CAP-body .CAP-footer-inner,
html.HM-theme-night-sea:not(.gn-night-mode) .CAP-body .CAP-footer a { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .CAP-body .CAP-footer a:hover { color: var(--brand, #63e2ff); }

/* ═══════════════════════════════════════════════════════════════════
   CP — Pages "copier modèle" (modeles/copier.php) en thème NIGHT SEA
   Les fonds blancs hardcodés dans CP.css sont remappés en glass-morphism
   bleu nuit cohérent avec le reste du thème.
   ═══════════════════════════════════════════════════════════════════ */
body.HM-theme-night-sea:not(.gn-night-mode) .CP-card {
  background: var(--card-bg, rgba(255,255,255,0.05)) !important;
  color: var(--text, #e0eaf5) !important;
  border-color: rgba(120,200,255,0.15) !important;
  box-shadow: 0 6px 18px rgba(0,0,0,0.4) !important;
}
body.HM-theme-night-sea:not(.gn-night-mode) .CP-card h1,
body.HM-theme-night-sea:not(.gn-night-mode) .CP-card h2 { color: var(--text, #e0eaf5) !important; }

body.HM-theme-night-sea:not(.gn-night-mode) .CP-form input[type="date"],
body.HM-theme-night-sea:not(.gn-night-mode) .CP-form input[type="time"],
body.HM-theme-night-sea:not(.gn-night-mode) .CP-form input[type="text"],
body.HM-theme-night-sea:not(.gn-night-mode) .CP-form select,
body.HM-theme-night-sea:not(.gn-night-mode) .CP-form textarea {
  background: var(--card-bg, rgba(255,255,255,0.04)) !important;
  color: var(--text, #e0eaf5) !important;
  border-color: rgba(120,200,255,0.20) !important;
}
body.HM-theme-night-sea:not(.gn-night-mode) .CP-form input:focus {
  border-color: #63e2ff !important;
  box-shadow: 0 0 0 3px rgba(99,226,255,0.18) !important;
}

body.HM-theme-night-sea:not(.gn-night-mode) .CP-badge {
  background: rgba(99,226,255,0.10) !important;
  color: var(--brand, #63e2ff) !important;
  border-color: rgba(99,226,255,0.25) !important;
}

body.HM-theme-night-sea:not(.gn-night-mode) .CP-kv {
  background: rgba(255,255,255,0.03) !important;
  border-color: rgba(255,255,255,0.08) !important;
}
body.HM-theme-night-sea:not(.gn-night-mode) .CP-kv .k { color: var(--muted, #b5c7dd) !important; }
body.HM-theme-night-sea:not(.gn-night-mode) .CP-kv .v { color: var(--text, #e0eaf5) !important; }

body.HM-theme-night-sea:not(.gn-night-mode) .Poll-preview fieldset {
  background: var(--card-bg, rgba(255,255,255,0.04)) !important;
  border-color: rgba(120,200,255,0.15) !important;
  color: var(--text, #e0eaf5) !important;
}
body.HM-theme-night-sea:not(.gn-night-mode) .Poll-preview legend { color: var(--text, #e0eaf5) !important; }
body.HM-theme-night-sea:not(.gn-night-mode) .Poll-note,
body.HM-theme-night-sea:not(.gn-night-mode) .CP-note { color: var(--muted, #b5c7dd) !important; }

/* Bouton ghost (override de l'inline en mode jour : on remappe en cyan néon) */
body.HM-theme-night-sea:not(.gn-night-mode) .GN-btn--ghost {
  background: rgba(99,226,255,0.08) !important;
  color: var(--brand, #63e2ff) !important;
  border-color: rgba(99,226,255,0.30) !important;
}
body.HM-theme-night-sea:not(.gn-night-mode) .GN-btn--ghost:hover {
  background: rgba(99,226,255,0.18) !important;
  color: #ffffff !important;
}

/* Texte inline-style "Ville suggérée" (color:#667085) */
body.HM-theme-night-sea:not(.gn-night-mode) [style*="color:#667085"],
body.HM-theme-night-sea:not(.gn-night-mode) [style*="color: #667085"] { color: var(--muted, #b5c7dd) !important; }

/* ═══════════════════════════════════════════════════════════════════
   CATP — Cat Picker (sélecteur de catégorie/activité)
   utilisé sur creer_evenement.php, modifier_evenement.php, modeles/editer.php
   Les fonds blancs hardcodés dans cat_picker.css → glass-morphism nuit.
   ═══════════════════════════════════════════════════════════════════ */
body.HM-theme-night-sea:not(.gn-night-mode) .CATP .CATP-input {
  background: var(--card-bg, rgba(255,255,255,0.04)) !important;
  color: var(--text, #e0eaf5) !important;
  border-color: rgba(120,200,255,0.20) !important;
}
body.HM-theme-night-sea:not(.gn-night-mode) .CATP .CATP-input:focus {
  outline-color: rgba(99,226,255,0.35) !important;
}
body.HM-theme-night-sea:not(.gn-night-mode) .CATP .CATP-hint { color: var(--muted, #b5c7dd) !important; }

/* Menu déroulant (résultats autocomplétion) */
body.HM-theme-night-sea:not(.gn-night-mode) .CATP .CATP-menu {
  background: #0a1f3a !important;
  border-color: rgba(120,200,255,0.25) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.6) !important;
  color: var(--text, #e0eaf5);
}
body.HM-theme-night-sea:not(.gn-night-mode) .CATP .CATP-opt { color: var(--text, #e0eaf5); }
body.HM-theme-night-sea:not(.gn-night-mode) .CATP .CATP-opt:hover,
body.HM-theme-night-sea:not(.gn-night-mode) .CATP .CATP-opt.is-active {
  background: rgba(99,226,255,0.14) !important;
}

/* Boutons (Choisir manuellement, etc.) */
body.HM-theme-night-sea:not(.gn-night-mode) .CATP .CATP-btn,
body.HM-theme-night-sea:not(.gn-night-mode) .CATP .CATP-btn--secondary {
  background: rgba(99,226,255,0.08) !important;
  color: var(--brand, #63e2ff) !important;
  border-color: rgba(99,226,255,0.30) !important;
}
body.HM-theme-night-sea:not(.gn-night-mode) .CATP .CATP-btn:hover {
  background: rgba(99,226,255,0.18) !important;
  color: #ffffff !important;
}

/* Cartes & sous-cartes (sélection manuelle de catégorie) */
body.HM-theme-night-sea:not(.gn-night-mode) .CATP .CATP-catBtn,
body.HM-theme-night-sea:not(.gn-night-mode) .CATP .CATP-subBtn,
body.HM-theme-night-sea:not(.gn-night-mode) .CATP .CATP-catCard {
  background: var(--card-bg, rgba(255,255,255,0.04)) !important;
  color: var(--text, #e0eaf5) !important;
  border-color: rgba(120,200,255,0.15) !important;
}
body.HM-theme-night-sea:not(.gn-night-mode) .CATP .CATP-catBtn:hover,
body.HM-theme-night-sea:not(.gn-night-mode) .CATP .CATP-subBtn:hover {
  background: rgba(99,226,255,0.10) !important;
  border-color: rgba(99,226,255,0.30) !important;
}

/* Chips sélectionnées + lignes (CATP-tag, CATP-chip, CATP-row) */
body.HM-theme-night-sea:not(.gn-night-mode) .CATP .CATP-tag,
body.HM-theme-night-sea:not(.gn-night-mode) .CATP .CATP-chip,
body.HM-theme-night-sea:not(.gn-night-mode) .CATP .CATP-row {
  background: rgba(99,226,255,0.08) !important;
  color: var(--text, #e0eaf5) !important;
  border-color: rgba(99,226,255,0.25) !important;
  box-shadow: 0 1px 2px rgba(0,0,0,0.3) !important;
}
body.HM-theme-night-sea:not(.gn-night-mode) .CATP .CATP-tag em { color: var(--muted, #b5c7dd) !important; }
body.HM-theme-night-sea:not(.gn-night-mode) .CATP .CATP-tag strong { color: #ffffff !important; }
body.HM-theme-night-sea:not(.gn-night-mode) .CATP .CATP-tagX { color: var(--muted, #b5c7dd) !important; }
body.HM-theme-night-sea:not(.gn-night-mode) .CATP .CATP-tagX:hover { color: #ff7777 !important; }

/* ═══════════════════════════════════════════════════════════════════
   gn-modal — dialogues propriétaires (gnAlert/gnConfirm/gnPrompt)
   Override pour le thème night-sea
   ═══════════════════════════════════════════════════════════════════ */
body.HM-theme-night-sea:not(.gn-night-mode) .gn-modal-dialog {
  background: linear-gradient(180deg, #0a1f3a 0%, #071629 100%) !important;
  border-color: rgba(99,226,255,0.30) !important;
  color: var(--text, #e0eaf5) !important;
  box-shadow: 0 20px 60px rgba(0,0,0,0.7) !important;
}
body.HM-theme-night-sea:not(.gn-night-mode) .gn-modal-title { color: var(--brand, #63e2ff) !important; }
body.HM-theme-night-sea:not(.gn-night-mode) .gn-modal-message { color: #d5e3f5 !important; }
body.HM-theme-night-sea:not(.gn-night-mode) .gn-modal-input {
  background: rgba(255,255,255,0.06) !important;
  border-color: rgba(99,226,255,0.30) !important;
  color: var(--text, #e0eaf5) !important;
}
body.HM-theme-night-sea:not(.gn-night-mode) .gn-modal-input:focus {
  border-color: #63e2ff !important;
  box-shadow: 0 0 0 3px rgba(99,226,255,0.22) !important;
}
body.HM-theme-night-sea:not(.gn-night-mode) .gn-modal-btn--ok {
  background: #63e2ff !important; color: #0a1f3a !important;
}
body.HM-theme-night-sea:not(.gn-night-mode) .gn-modal-btn--ok:hover {
  background: #ffffff !important;
}
body.HM-theme-night-sea:not(.gn-night-mode) .gn-modal-btn--cancel {
  background: rgba(255,255,255,0.08) !important;
  color: var(--muted, #b5c7dd) !important;
}
body.HM-theme-night-sea:not(.gn-night-mode) .gn-modal-btn--cancel:hover {
  background: rgba(255,255,255,0.18) !important;
  color: #ffffff !important;
}

/* Toast */
body.HM-theme-night-sea:not(.gn-night-mode) .gn-toast {
  background: linear-gradient(180deg, #0a1f3a 0%, #071629 100%) !important;
  border-color: rgba(99,226,255,0.30) !important;
  color: var(--text, #e0eaf5) !important;
}

/* ============================================================
   IN-sideTile : tuiles d'accès rapide de la sidebar gauche PC.
   En night-sea, on reprend le pattern des HM-adn (fond semi-transparent
   foncé + liseré néon à gauche + voile coloré par tuile).
   ============================================================ */
body.HM-theme-night-sea:not(.gn-night-mode) .IN-sideTile {
  background: rgba(20,38,62,0.85) !important;
  border: 1px solid rgba(255,255,255,0.12);
  color: var(--text, #e0eaf5);
  box-shadow:
    0 4px 14px rgba(0,0,0,0.45),
    inset 0 1px 0 rgba(255,255,255,0.08);
}
body.HM-theme-night-sea:not(.gn-night-mode) .IN-sideTile::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--in-side-accent, #63e2ff);
  box-shadow:
    0 0 10px var(--in-side-accent, #63e2ff),
    0 0 3px  var(--in-side-accent, #63e2ff);
  border-radius: 0 3px 3px 0;
  opacity: 0.9;
  pointer-events: none;
}

/* Voile coloré subtil + accent par tuile (alignés avec HM-adn-*) */
body.HM-theme-night-sea:not(.gn-night-mode) .IN-sideTile--marinagp   { --in-side-accent: #63e2ff; background: linear-gradient(135deg, rgba(99,226,255,0.10) 0%, rgba(255,255,255,0.04) 100%) !important; }
body.HM-theme-night-sea:not(.gn-night-mode) .IN-sideTile--logbook    { --in-side-accent: #ffcb6b; background: linear-gradient(135deg, rgba(255,203,107,0.10) 0%, rgba(255,255,255,0.04) 100%) !important; }
body.HM-theme-night-sea:not(.gn-night-mode) .IN-sideTile--watch      { --in-side-accent: #c084fc; background: linear-gradient(135deg, rgba(192,132,252,0.12) 0%, rgba(255,255,255,0.04) 100%) !important; }
body.HM-theme-night-sea:not(.gn-night-mode) .IN-sideTile--help       { --in-side-accent: #ff7a7a; background: linear-gradient(135deg, rgba(255,122,122,0.12) 0%, rgba(255,255,255,0.04) 100%) !important; }
body.HM-theme-night-sea:not(.gn-night-mode) .IN-sideTile--move       { --in-side-accent: #2dd4bf; background: linear-gradient(135deg, rgba(45,212,191,0.12)  0%, rgba(255,255,255,0.04) 100%) !important; }
body.HM-theme-night-sea:not(.gn-night-mode) .IN-sideTile--checklists { --in-side-accent: #8ca3bf; background: linear-gradient(135deg, rgba(140,163,191,0.12) 0%, rgba(255,255,255,0.04) 100%) !important; }

/* Texte */
body.HM-theme-night-sea:not(.gn-night-mode) .IN-sideTile-title {
  color: #ffffff;
  text-shadow: 0 0 8px rgba(255,255,255,0.15);
}
body.HM-theme-night-sea:not(.gn-night-mode) .IN-sideTile-sub {
  color: var(--muted, #b5c7dd);
}

/* Hover */
body.HM-theme-night-sea:not(.gn-night-mode) .IN-sideTile:hover {
  background: rgba(255,255,255,0.08) !important;
  border-color: rgba(255,255,255,0.20);
  box-shadow:
    0 6px 22px rgba(0,0,0,0.55),
    0 0 18px var(--in-side-accent, rgba(100,200,255,0.30)),
    inset 0 1px 0 rgba(255,255,255,0.12);
  filter: none;
}

/* Badge néon plus visible sur dark */
body.HM-theme-night-sea:not(.gn-night-mode) .IN-sideTile-badge {
  background: #ff5570;
  box-shadow: 0 0 8px rgba(255,85,112,0.55);
}

/* ============================================================
   EV-badge (catégorie/sous-catégorie sur page event) — night-sea
   Le badge est blanc par défaut → dénote sur fond marin sombre.
   On le rebascule sur fond semi-transparent sombre + texte clair.
   ============================================================ */
body.HM-theme-night-sea:not(.gn-night-mode) .EV-badge {
  background: rgba(20,38,62,0.85) !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  color: var(--text, #e0eaf5) !important;
}
body.HM-theme-night-sea:not(.gn-night-mode) .EV-badge--approval {
  background: rgba(180,140,60,0.22) !important;
  border-color: rgba(251,191,36,0.45) !important;
  color: #fde68a !important;
}
body.HM-theme-night-sea:not(.gn-night-mode) .EV-badge--open {
  background: rgba(45,212,191,0.18) !important;
  border-color: rgba(45,212,191,0.45) !important;
  color: #99f6e4 !important;
}
body.HM-theme-night-sea:not(.gn-night-mode) .EV-badge--mine {
  background: rgba(99,226,255,0.18) !important;
  border-color: rgba(99,226,255,0.45) !important;
  color: #c5f0fb !important;
}
body.HM-theme-night-sea:not(.gn-night-mode) .EV-badge--pending {
  background: rgba(192,132,252,0.18) !important;
  border-color: rgba(192,132,252,0.45) !important;
  color: #e9d5ff !important;
}

/* ============================================================================
   Overrides night-sea pour les composants génériques GN-* standalone
   (page-header/footer, identity-card, conditional-section, radio-card/grid/stack,
   step-badge, lead, hint, input, segmented, info-box, alert).
   Palette canonique : fond radial #0d2b4a→#05111e, accent cyan #63e2ff,
   cards rgba blanc 4%, border 10%.
   ============================================================================ */

/* Page chrome */
html.HM-theme-night-sea:not(.gn-night-mode) .GN-page-header {
  background: linear-gradient(180deg, #0a1f3a 0%, #071629 100%) !important;
  color: #ffffff;
  border-bottom: 1px solid rgba(120,200,255,0.10);
}
html.HM-theme-night-sea:not(.gn-night-mode) .GN-page-footer {
  background: #05111e !important;
  color: var(--muted, #b5c7dd);
  border-top: 1px solid rgba(120,200,255,0.08);
}

/* Identity card */
html.HM-theme-night-sea:not(.gn-night-mode) .GN-identity-card {
  background: var(--card-bg, rgba(255,255,255,0.04));
  border-color: rgba(255,255,255,0.10);
}
html.HM-theme-night-sea:not(.gn-night-mode) .GN-identity-card-name { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .GN-identity-card-email { color: var(--muted, #b5c7dd); }

/* Step badge */
html.HM-theme-night-sea:not(.gn-night-mode) .GN-step-badge {
  background: #63e2ff;
  color: #0a1f3a;
}

/* Lead + Hint */
html.HM-theme-night-sea:not(.gn-night-mode) .GN-lead { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .GN-hint { color: var(--muted, #b5c7dd); }

/* Conditional section */
html.HM-theme-night-sea:not(.gn-night-mode) .GN-conditional-section {
  background: rgba(255,255,255,0.03);
  border-color: rgba(255,255,255,0.15);
}
html.HM-theme-night-sea:not(.gn-night-mode) .GN-conditional-section-title { color: #ffffff; }

/* Radio card */
html.HM-theme-night-sea:not(.gn-night-mode) .GN-radio-card {
  background: var(--card-bg, rgba(255,255,255,0.04));
  border-color: rgba(255,255,255,0.20);
}
html.HM-theme-night-sea:not(.gn-night-mode) .GN-radio-card:hover {
  background: rgba(255,255,255,0.07);
  border-color: rgba(99,226,255,0.5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .GN-radio-card:has(input:checked) {
  background: rgba(99,226,255,0.10);
  border-color: #63e2ff;
  box-shadow: 0 0 0 2px rgba(99,226,255,0.25);
}
html.HM-theme-night-sea:not(.gn-night-mode) .GN-radio-card-title { color: #ffffff; }
html.HM-theme-night-sea:not(.gn-night-mode) .GN-radio-card-sub { color: var(--muted, #b5c7dd); }

/* Input */
html.HM-theme-night-sea:not(.gn-night-mode) .GN-input {
  background: var(--card-bg, rgba(255,255,255,0.05));
  border-color: rgba(255,255,255,0.15);
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .GN-input::placeholder { color: rgba(181,199,221,0.5); }
html.HM-theme-night-sea:not(.gn-night-mode) .GN-input:focus {
  background: rgba(255,255,255,0.08);
  border-color: #63e2ff;
  box-shadow: 0 0 0 3px rgba(99,226,255,0.20);
}

/* Segmented control */
html.HM-theme-night-sea:not(.gn-night-mode) .GN-segmented-opt {
  background: var(--card-bg, rgba(255,255,255,0.04));
  border-color: rgba(255,255,255,0.20);
  color: var(--text, #e0eaf5);
}
html.HM-theme-night-sea:not(.gn-night-mode) .GN-segmented-opt:hover { border-color: rgba(99,226,255,0.5); }
html.HM-theme-night-sea:not(.gn-night-mode) .GN-segmented-opt:has(input:checked) {
  background: rgba(99,226,255,0.10);
  border-color: #63e2ff;
  box-shadow: 0 0 0 2px rgba(99,226,255,0.25);
}

/* Info box (info standard + variante warn) */
html.HM-theme-night-sea:not(.gn-night-mode) .GN-info-box {
  background: rgba(99,226,255,0.08);
  border-color: rgba(99,226,255,0.30);
  color: #b5dce8;
}
html.HM-theme-night-sea:not(.gn-night-mode) .GN-info-box--warn {
  background: var(--card-bg, rgba(255,255,255,0.04));
  border-color: rgba(255,255,255,0.15);
  color: #d5e3f5;
}

/* Alert */
html.HM-theme-night-sea:not(.gn-night-mode) .GN-alert {
  background: rgba(220,38,38,0.12);
  border-color: rgba(220,38,38,0.40);
  color: #fca5a5;
}

/* Lifecycle banner (relances onboarding sur l'accueil, palette night-sea sobre) */
html.HM-theme-night-sea:not(.gn-night-mode) .GN-lifecycle-banner {
  background: linear-gradient(135deg, rgba(99,226,255,0.08) 0%, rgba(31,111,184,0.10) 100%);
  border-color: rgba(99,226,255,0.30);
  box-shadow: 0 2px 12px rgba(0,0,0,0.2);
}
html.HM-theme-night-sea:not(.gn-night-mode) .GN-lifecycle-banner__msg { color: var(--text, #e0eaf5); }
/* CTA en night-sea : bouton bleu profond sur fond banner cyan tinté = bon contraste */
html.HM-theme-night-sea:not(.gn-night-mode) .GN-lifecycle-banner__cta {
  background: #1f6fb8;
  color: #ffffff;
}
html.HM-theme-night-sea:not(.gn-night-mode) .GN-lifecycle-banner__cta:hover {
  background: #2a89d8;
}
html.HM-theme-night-sea:not(.gn-night-mode) .GN-lifecycle-banner__close { color: var(--muted, #b5c7dd); }
html.HM-theme-night-sea:not(.gn-night-mode) .GN-lifecycle-banner__close:hover {
  background: rgba(255,255,255,0.08);
  color: #ffffff;
}

/* ── Bandeau lifecycle — GROS-TEMPS (thème sombre acier) ── */
html.HM-theme-gros-temps:not(.gn-night-mode) .GN-lifecycle-banner {
  background: linear-gradient(135deg, rgba(111,192,208,0.10) 0%, rgba(43,58,72,0.34) 100%);
  border-color: rgba(149,170,181,0.25);
  box-shadow: 0 2px 14px rgba(0,0,0,0.40);
}
html.HM-theme-gros-temps:not(.gn-night-mode) .GN-lifecycle-banner__msg { color: var(--text, #dce3e8); }
html.HM-theme-gros-temps:not(.gn-night-mode) .GN-lifecycle-banner__cta { background: #3e8da0; color: #ffffff; }
html.HM-theme-gros-temps:not(.gn-night-mode) .GN-lifecycle-banner__cta:hover { background: #56a7ba; }
html.HM-theme-gros-temps:not(.gn-night-mode) .GN-lifecycle-banner__close { color: var(--muted, #95aab5); }

/* ── Bandeau lifecycle — CÔTE DORÉE (thème clair sable) ── */
html.HM-theme-cote-doree:not(.gn-night-mode) .GN-lifecycle-banner {
  background: linear-gradient(135deg, #f7efe2 0%, #f1e7d7 100%);
  border-color: rgba(80,55,30,0.18);
  box-shadow: 0 2px 10px rgba(80,55,30,0.10);
}
html.HM-theme-cote-doree:not(.gn-night-mode) .GN-lifecycle-banner__msg { color: var(--text, #243440); }
/* :link/:visited inclus pour battre toute règle 'a' globale (texte vert sur vert) */
html.HM-theme-cote-doree:not(.gn-night-mode) .GN-lifecycle-banner__cta,
html.HM-theme-cote-doree:not(.gn-night-mode) .GN-lifecycle-banner__cta:link,
html.HM-theme-cote-doree:not(.gn-night-mode) .GN-lifecycle-banner__cta:visited { background: #0c5f57; color: #ffffff; }
html.HM-theme-cote-doree:not(.gn-night-mode) .GN-lifecycle-banner__cta:hover { background: #0a4e47; color: #ffffff; }
html.HM-theme-cote-doree:not(.gn-night-mode) .GN-lifecycle-banner__close { color: var(--muted, #5e5341); }

/* ── Flèche retour header — CÔTE DORÉE (header clair → flèche teal visible, plus de ton-sur-ton) ── */
html.HM-theme-cote-doree:not(.gn-night-mode) .HD-headerBack {
  background: rgba(12,95,87,0.10);
  border-color: rgba(12,95,87,0.45);
  color: #0c5f57;
  box-shadow: 0 2px 6px rgba(80,55,30,0.18);
}
html.HM-theme-cote-doree:not(.gn-night-mode) .HD-headerBack:hover { background: rgba(12,95,87,0.18); }

/* Photo picker (composant réutilisable d'upload de photo + preview) */
html.HM-theme-night-sea:not(.gn-night-mode) .GN-photo-picker__preview {
  background: var(--card-bg, rgba(255,255,255,0.04));
  border-color: rgba(255,255,255,0.20);
}
html.HM-theme-night-sea:not(.gn-night-mode) .GN-photo-picker__placeholder {
  color: var(--muted, #b5c7dd);
}
html.HM-theme-night-sea:not(.gn-night-mode) .GN-photo-picker__btn {
  background: rgba(255,255,255,0.06);
  color: #d5e3f5;
  border-color: rgba(99,226,255,0.4);
}
html.HM-theme-night-sea:not(.gn-night-mode) .GN-photo-picker__btn:hover {
  background: rgba(99,226,255,0.15);
  color: #ffffff;
  border-color: #63e2ff;
}
html.HM-theme-night-sea:not(.gn-night-mode) .GN-photo-picker__clear {
  background: var(--card-bg, rgba(255,255,255,0.04));
  border-color: rgba(255,255,255,0.20);
  color: var(--muted, #b5c7dd);
}
html.HM-theme-night-sea:not(.gn-night-mode) .GN-photo-picker__clear:hover {
  background: rgba(255,255,255,0.10);
  color: #d5e3f5;
}
html.HM-theme-night-sea:not(.gn-night-mode) .GN-photo-picker__hint {
  color: var(--muted, #b5c7dd);
}
html.HM-theme-night-sea:not(.gn-night-mode) .GN-photo-picker__hint--heic {
  color: #fde68a;
}

/* Autocomplete dropdown — !important pour écraser d'éventuelles règles legacy
   (cas vécu : #suggestions-port avec styles inline ou body.page-inscription-v2
   qui forçait blanc/blanc). */
html.HM-theme-night-sea:not(.gn-night-mode) .GN-autocomplete-list {
  background: rgba(10,26,46,0.98) !important;
  border-color: rgba(255,255,255,0.18) !important;
  color: var(--text, #e0eaf5) !important;
  backdrop-filter: blur(16px);
}
html.HM-theme-night-sea:not(.gn-night-mode) .GN-autocomplete-row {
  background: transparent !important;
  color: var(--text, #e0eaf5) !important;
  border-bottom-color: rgba(255,255,255,0.08) !important;
}
html.HM-theme-night-sea:not(.gn-night-mode) .GN-autocomplete-row:hover {
  background: rgba(99,226,255,0.12) !important;
  color: #ffffff !important;
}

/* Ceinture + bretelles : même si style.css ligne 3508 a été corrigé, on
   verrouille en night-sea que tout <form> est transparent — pour qu'aucune
   ré-introduction accidentelle de background:#fff ne casse les pages dark. */
html.HM-theme-night-sea:not(.gn-night-mode) form { background: transparent !important; }


/* ═══════════════════════════════════════════════════════════════════
   THÈME : CÔTE DORÉE  (clair & chaud — d'après photo « raging-sea »)
   Sable doré × eau teal × ciel ardoise. Complément clair de night-sea.
   Base HM.css/GN.css = déjà clair → on réchauffe : tokens + fond sable +
   chrome + accueil. Les tuiles ADN gardent leurs dégradés vifs (autoportants).
   Palette : sable #ECE3D8 · crème #FBF7F1 · ardoise #243440 ·
             teal #11736A · doré #C07A3C · taupe #6F6456 · écume #DBCEC7
   ═══════════════════════════════════════════════════════════════════ */

/* Tokens — override des vars GN.css. On cible body ET tout .GN-root descendant
   (cf. pitfall : .GN-root redéclare --card-bg=#fff localement). */
body.HM-theme-cote-doree:not(.gn-night-mode),
html.HM-theme-cote-doree:not(.gn-night-mode) body,
html.HM-theme-cote-doree:not(.gn-night-mode) .GN-root {
  --text:    #243440;
  --muted:   #5e5341;   /* foncé pour AA (texte normal) même sur sable foncé */
  --brand:   #0c5f57;   /* teal profond : lien AA sur sable + blanc AA sur bouton */
  --brand-2: #0a4e47;
  --card-bg: #fbf7f1;
  --surface-2: #f3ece1;
  --bg:      #ece3d8;
  --bd:      rgba(80,55,30,0.14);
  --ok:      #2e8b83;
  --danger:  #b4452f;
  --logo-filter: brightness(0);   /* header clair → logo sombre lisible */
  --logo-text:   #243440;
  color: #243440;
}
body.HM-theme-cote-doree:not(.gn-night-mode),
html.HM-theme-cote-doree:not(.gn-night-mode) body {
  background: radial-gradient(ellipse at 50% -10%, #f4ece0 0%, #e9ddcd 55%, #dfd0bb 100%) !important;
  color: var(--text, #243440);
  min-height: 100vh;
}

/* Header principal — crème chaud */
html.HM-theme-cote-doree:not(.gn-night-mode) .header2-bar {
  background: linear-gradient(180deg, #fbf5ec 0%, #f0e6d6 100%) !important;
  border-bottom: 1px solid rgba(80,55,30,0.12);
  box-shadow: 0 2px 14px rgba(80,55,30,0.10);
}
/* Nav Accueil / Événements / recherches : sur header crème, le fond blanc-6 % et la
   couleur var(--header2-link)=#fff rendaient les boutons « beige + texte blanc »
   invisibles. On force texte foncé (!important pour battre la variable) + box teal léger. */
html.HM-theme-cote-doree:not(.gn-night-mode) .header2-bar .header2-link,
html.HM-theme-cote-doree:not(.gn-night-mode) .header2-bar .header2-dropbtn {
  color: #2c4a52 !important;
  background: rgba(12,95,87,0.07);
  border-color: rgba(80,55,30,0.22);
}
html.HM-theme-cote-doree:not(.gn-night-mode) .header2-bar .header2-link:hover,
html.HM-theme-cote-doree:not(.gn-night-mode) .header2-bar .header2-dropbtn:hover {
  color: var(--brand, #0c5f57) !important;
  background: rgba(12,95,87,0.14);
  border-color: rgba(12,95,87,0.40);
}

/* Drawer burger */
html.HM-theme-cote-doree:not(.gn-night-mode) .header2-drawer {
  background: linear-gradient(180deg, #fbf5ec 0%, #efe4d3 100%) !important;
  color: #2c4a52;
}
html.HM-theme-cote-doree:not(.gn-night-mode) .header2-drawer a,
html.HM-theme-cote-doree:not(.gn-night-mode) .header2-drawer button,
html.HM-theme-cote-doree:not(.gn-night-mode) .header2-drawer .header2-link,
html.HM-theme-cote-doree:not(.gn-night-mode) .header2-drawer .header2-dropbtn,
html.HM-theme-cote-doree:not(.gn-night-mode) .header2-drawer-close { color: #2c4a52; }
html.HM-theme-cote-doree:not(.gn-night-mode) .header2-drawer a:hover,
html.HM-theme-cote-doree:not(.gn-night-mode) .header2-drawer .header2-link:hover { background: rgba(17,115,106,0.08); }

/* Sous-menus header desktop */
html.HM-theme-cote-doree:not(.gn-night-mode) .header2-bar .header2-dropdown-content {
  background: var(--card-bg, #fbf7f1) !important;
  border-color: var(--bd, rgba(80,55,30,0.14)) !important;
  box-shadow: 0 10px 30px rgba(80,55,30,0.18) !important;
}
html.HM-theme-cote-doree:not(.gn-night-mode) .header2-bar .header2-dropdown-content a {
  background: transparent !important;
  color: #2c4a52 !important;
}
html.HM-theme-cote-doree:not(.gn-night-mode) .header2-bar .header2-dropdown-content a:hover {
  background: rgba(17,115,106,0.10) !important;
  color: var(--brand, #0c5f57) !important;
}

/* Avatar menu */
html.HM-theme-cote-doree:not(.gn-night-mode) .HD-avatar-menu {
  background: var(--card-bg, #fbf7f1);
  border: 1px solid var(--bd, rgba(80,55,30,0.14));
  box-shadow: 0 10px 36px rgba(80,55,30,0.22);
}
html.HM-theme-cote-doree:not(.gn-night-mode) .HD-avatar-menu a { color: #2c4a52; }
html.HM-theme-cote-doree:not(.gn-night-mode) .HD-avatar-menu a:hover { background: rgba(17,115,106,0.08); color: var(--brand, #0c5f57); }
html.HM-theme-cote-doree:not(.gn-night-mode) .HD-avatar-menu-theme { border-top-color: var(--bd, rgba(80,55,30,0.14)); color: #6f6456; }
html.HM-theme-cote-doree:not(.gn-night-mode) .HD-avatar-menu-logout { border-top-color: var(--bd, rgba(80,55,30,0.14)); }

/* Footer */
html.HM-theme-cote-doree:not(.gn-night-mode) .GN-footer {
  background: #f0e6d6 !important;
  border-top: 1px solid rgba(80,55,30,0.10);
  color: #6f6456;
}
html.HM-theme-cote-doree:not(.gn-night-mode) .GN-footer a { color: #2c4a52 !important; }
html.HM-theme-cote-doree:not(.gn-night-mode) .GN-footer a:hover { color: var(--brand, #0c5f57) !important; }

/* Cartes / cartouches / blocs génériques — crème sur sable */
html.HM-theme-cote-doree:not(.gn-night-mode) .GN-card,
html.HM-theme-cote-doree:not(.gn-night-mode) .GN-block,
html.HM-theme-cote-doree:not(.gn-night-mode) .GN-cartouche {
  background: var(--card-bg, #fbf7f1);
  border: 1px solid rgba(80,55,30,0.12);
  color: var(--text, #243440);
  box-shadow: 0 4px 14px rgba(80,55,30,0.08);
}
html.HM-theme-cote-doree:not(.gn-night-mode) .GN-block-title { color: #1c2a33; }

/* Trace Map = carte promo à fond SOMBRE volontaire (image + CTA, texte blanc). Sans ça,
   le .GN-card crème ci-dessus passe dessous et le texte blanc devient illisible sur beige.
   On réaffirme le dégradé sombre (spécificité > la règle .GN-card). */
html.HM-theme-cote-doree:not(.gn-night-mode) .IN-accueil .IN-tracemapCard {
  background: linear-gradient(135deg, #042f42 0%, #0c4a6e 50%, #0369a1 100%);
  border-color: rgba(2,132,199,.2);
  color: #fff;
}

/* ───────────── Accueil v2 (HM) ───────────── */

/* Barre live météo/marée — crème + accent teal */
body.HM-theme-cote-doree:not(.gn-night-mode) .HM-livebtn {
  background: var(--card-bg, #fbf7f1);
  border: 1px solid var(--bd, rgba(80,55,30,0.14));
  color: var(--text, #243440);
  box-shadow: 0 3px 12px rgba(80,55,30,0.10);
}
body.HM-theme-cote-doree:not(.gn-night-mode) .HM-livebtn:hover,
body.HM-theme-cote-doree:not(.gn-night-mode) .HM-livebtn[aria-expanded="true"] {
  border-color: rgba(17,115,106,0.45);
  box-shadow: 0 4px 16px rgba(17,115,106,0.18);
}
body.HM-theme-cote-doree:not(.gn-night-mode) .HM-livebtn-label { color: var(--text, #243440); }
body.HM-theme-cote-doree:not(.gn-night-mode) .HM-livebtn-label strong { color: var(--brand, #0c5f57); }
body.HM-theme-cote-doree:not(.gn-night-mode) .HM-livepanel {
  background: var(--card-bg, #fbf7f1);
  border: 1px solid var(--bd, rgba(80,55,30,0.14));
  color: var(--text, #243440);
}

/* CTA « Accès aux outils » — teal chaud (au lieu du bleu par défaut) */
body.HM-theme-cote-doree:not(.gn-night-mode) .HM-toolscta {
  background: linear-gradient(180deg, #1aa093 0%, #0c5f57 100%);
  box-shadow: 0 6px 18px rgba(17,115,106,0.30);
}
body.HM-theme-cote-doree:not(.gn-night-mode) .HM-toolscta:hover {
  box-shadow: 0 8px 24px rgba(17,115,106,0.42);
}

/* Bascules (« Fermer les outils ») — teal */
body.HM-theme-cote-doree:not(.gn-night-mode) .HM-bascule {
  background: linear-gradient(180deg, rgba(17,115,106,0.08) 0%, rgba(17,115,106,0.18) 100%);
  border: 1px dashed rgba(17,115,106,0.35);
  color: #0c5a53;
}
body.HM-theme-cote-doree:not(.gn-night-mode) .HM-bascule:hover {
  background: linear-gradient(180deg, rgba(17,115,106,0.14) 0%, rgba(17,115,106,0.26) 100%);
  border-color: rgba(17,115,106,0.55);
}

/* Tuiles ADN — repalettées en gammes côtières (PAS de violet ni couleurs hors
   thème). Texte blanc ; contrastes validés via tools/contrast_check.py (blanc
   sur le stop le plus clair de chaque dégradé >= 4.5 pour les sous-titres). */
body.HM-theme-cote-doree:not(.gn-night-mode) .HM-adn--tracks     { background: linear-gradient(135deg, #0c5f57 0%, #0f7068 100%) !important; }
body.HM-theme-cote-doree:not(.gn-night-mode) .HM-adn--logbook    { background: linear-gradient(135deg, #233b52 0%, #355170 100%) !important; }
body.HM-theme-cote-doree:not(.gn-night-mode) .HM-adn--watch      { background: linear-gradient(135deg, #324c64 0%, #46627e 100%) !important; }
body.HM-theme-cote-doree:not(.gn-night-mode) .HM-adn--help       { background: linear-gradient(135deg, #8f461f 0%, #a8552c 100%) !important; }
body.HM-theme-cote-doree:not(.gn-night-mode) .HM-adn--move       { background: linear-gradient(135deg, #0a5240 0%, #0f6e54 100%) !important; }
body.HM-theme-cote-doree:not(.gn-night-mode) .HM-adn--checklists { background: linear-gradient(135deg, #4c4a3d 0%, #6a6554 100%) !important; }
body.HM-theme-cote-doree:not(.gn-night-mode) .HM-adn--echanges   { background: linear-gradient(135deg, #0d5b54 0%, #127a66 100%) !important; }
body.HM-theme-cote-doree:not(.gn-night-mode) .HM-adn--ia         { background: linear-gradient(135deg, #6e2f5e 0%, #8a3a72 100%) !important; }

/* ═══ CODE COULEUR PAR CRAN (côte dorée) — remplace les accents par-tuile ci-dessus.
   `.HM-adn.HM-tier-N` = 2 classes → spécificité SUPÉRIEURE aux `.HM-adn--xxx` (1 classe)
   → gagne à coup sûr, même avec leurs !important. Groupement (order) posé dans HM.css.
   🔵 essentiel · 🟢 optionnel · 🟣 bonus. Pour ajuster ce thème : SEULEMENT ces 3 gradients. */
body.HM-theme-cote-doree:not(.gn-night-mode) .HM-adn.HM-tier-1 { background: linear-gradient(135deg, #1e5f8f 0%, #2f80c4 100%) !important; }
body.HM-theme-cote-doree:not(.gn-night-mode) .HM-adn.HM-tier-2 { background: linear-gradient(135deg, #0f7068 0%, #159e73 100%) !important; }
body.HM-theme-cote-doree:not(.gn-night-mode) .HM-adn.HM-tier-3 { background: linear-gradient(135deg, #5a3a8c 0%, #7d52b8 100%) !important; }

/* Texte blanc sur toutes les tuiles (les --featured ont un titre sombre en base
   HM.css, calé sur leur fond argenté : on le repasse en blanc ici). */
body.HM-theme-cote-doree:not(.gn-night-mode) .HM-adn-title,
body.HM-theme-cote-doree:not(.gn-night-mode) .HM-adn--featured .HM-adn-title { color: #ffffff; text-shadow: none; }
body.HM-theme-cote-doree:not(.gn-night-mode) .HM-adn-sub,
body.HM-theme-cote-doree:not(.gn-night-mode) .HM-adn--featured .HM-adn-sub { color: #eef2f0; }


/* ═══════════════════════════════════════════════════════════════════
   THÈME : GROS TEMPS  (sombre acier/orage — d'après photo « mer démontée »)
   Mer froide, acier/navy/teal, écume. Sombre comme night-sea mais MAT/acier
   (pas le navy glossy néon). Palette validée via tools/contrast_check.py.
   Palette : orage #2C3A4A→#15181F · foam #DCE3E8 · acier #95AAB5 ·
             teal vague #6FC0D0 · header #1B2430
   ═══════════════════════════════════════════════════════════════════ */

/* Tokens — voir contrat dans memory/hm_themes.md */
body.HM-theme-gros-temps:not(.gn-night-mode),
html.HM-theme-gros-temps:not(.gn-night-mode) body,
html.HM-theme-gros-temps:not(.gn-night-mode) .GN-root {
  --text:    #dce3e8;
  --muted:   #95aab5;
  --brand:   #6fc0d0;
  --brand-2: #3e8da0;
  --card-bg: #2b3a48;   /* gris acier mat : cartes + flux + header (via token) */
  --surface-2: rgba(220,227,232,0.04);
  --bg:      #49535f;
  --bd:      rgba(220,227,232,0.14);
  --ok:      #6fc0d0;
  --danger:  #ff9a9a;
  --logo-filter: brightness(0) invert(1);   /* header sombre → logo blanc */
  --logo-text:   #ffffff;
  color: #dce3e8;
}
body.HM-theme-gros-temps:not(.gn-night-mode),
html.HM-theme-gros-temps:not(.gn-night-mode) body {
  background: radial-gradient(ellipse at 50% -10%, #56616e 0%, #49535f 55%, #3e4753 100%) !important; /* gris tempête (max clair où le texte foam reste lisible) */
  color: var(--text, #dce3e8);
  min-height: 100vh;
}

/* Header / drawer / sous-menus — acier sombre */
html.HM-theme-gros-temps:not(.gn-night-mode) .header2-bar {
  background: linear-gradient(180deg, #20303f 0%, #1b2430 100%) !important;
  border-bottom: 1px solid rgba(149,170,181,0.14);
  box-shadow: 0 2px 18px rgba(0,0,0,0.45);
}
html.HM-theme-gros-temps:not(.gn-night-mode) .header2-bar .header2-link,
html.HM-theme-gros-temps:not(.gn-night-mode) .header2-bar .header2-dropbtn { color: #c3d2db; }
html.HM-theme-gros-temps:not(.gn-night-mode) .header2-bar .header2-link:hover,
html.HM-theme-gros-temps:not(.gn-night-mode) .header2-bar .header2-dropbtn:hover { color: #ffffff; }
html.HM-theme-gros-temps:not(.gn-night-mode) .header2-drawer {
  background: linear-gradient(180deg, #20303f 0%, #15181f 100%) !important;
  color: #c3d2db;
}
html.HM-theme-gros-temps:not(.gn-night-mode) .header2-drawer a,
html.HM-theme-gros-temps:not(.gn-night-mode) .header2-drawer .header2-dropbtn { color: #c3d2db; }
html.HM-theme-gros-temps:not(.gn-night-mode) .header2-drawer a:hover { background: rgba(111,192,208,0.10); }
html.HM-theme-gros-temps:not(.gn-night-mode) .header2-bar .header2-dropdown-content {
  background: rgba(27,36,48,0.98) !important;
  border-color: rgba(149,170,181,0.16) !important;
  box-shadow: 0 10px 30px rgba(0,0,0,0.5) !important;
}
html.HM-theme-gros-temps:not(.gn-night-mode) .header2-bar .header2-dropdown-content a {
  background: transparent !important;
  color: #c3d2db !important;
}
html.HM-theme-gros-temps:not(.gn-night-mode) .header2-bar .header2-dropdown-content a:hover {
  background: rgba(111,192,208,0.14) !important;
  color: #ffffff !important;
}

/* Avatar menu */
html.HM-theme-gros-temps:not(.gn-night-mode) .HD-avatar-menu {
  background: rgba(27,36,48,0.98);
  border: 1px solid rgba(149,170,181,0.16);
  box-shadow: 0 10px 40px rgba(0,0,0,0.7);
}
html.HM-theme-gros-temps:not(.gn-night-mode) .HD-avatar-menu a { color: #c3d2db; }
html.HM-theme-gros-temps:not(.gn-night-mode) .HD-avatar-menu a:hover { background: rgba(111,192,208,0.10); color: #ffffff; }
html.HM-theme-gros-temps:not(.gn-night-mode) .HD-avatar-menu-theme { border-top-color: rgba(149,170,181,0.16); color: var(--muted, #95aab5); }
html.HM-theme-gros-temps:not(.gn-night-mode) .HD-avatar-menu-logout { border-top-color: rgba(149,170,181,0.16); color: #ff9a9a !important; }

/* Footer */
html.HM-theme-gros-temps:not(.gn-night-mode) .GN-footer {
  background: #15181f !important;
  border-top: 1px solid rgba(149,170,181,0.10);
  color: var(--muted, #95aab5);
}
html.HM-theme-gros-temps:not(.gn-night-mode) .GN-footer a { color: #c3d2db !important; }
html.HM-theme-gros-temps:not(.gn-night-mode) .GN-footer a:hover { color: #ffffff !important; }

/* Cartes / cartouches / blocs — verre acier sombre */
html.HM-theme-gros-temps:not(.gn-night-mode) .GN-card,
html.HM-theme-gros-temps:not(.gn-night-mode) .GN-block,
html.HM-theme-gros-temps:not(.gn-night-mode) .GN-cartouche {
  background: var(--card-bg);   /* gris acier #2b3a48 */
  border: 1px solid rgba(149,170,181,0.14);
  color: var(--text, #dce3e8);
  box-shadow: 0 6px 20px rgba(0,0,0,0.35);
}
html.HM-theme-gros-temps:not(.gn-night-mode) .GN-block-title { color: #ffffff; }

/* ───────────── Accueil v2 (HM) ───────────── */
body.HM-theme-gros-temps:not(.gn-night-mode) .HM-livebtn {
  background: linear-gradient(135deg, rgba(36,50,66,0.85) 0%, rgba(27,36,48,0.9) 100%);
  border: 1px solid rgba(149,170,181,0.16);
  color: var(--text, #dce3e8);
  box-shadow: 0 4px 14px rgba(0,0,0,0.45);
}
body.HM-theme-gros-temps:not(.gn-night-mode) .HM-livebtn:hover,
body.HM-theme-gros-temps:not(.gn-night-mode) .HM-livebtn[aria-expanded="true"] {
  border-color: rgba(111,192,208,0.40);
  box-shadow: 0 6px 18px rgba(0,0,0,0.5), 0 0 16px rgba(111,192,208,0.15);
}
body.HM-theme-gros-temps:not(.gn-night-mode) .HM-livebtn-label { color: var(--text, #dce3e8); }
body.HM-theme-gros-temps:not(.gn-night-mode) .HM-livebtn-label strong { color: var(--brand, #6fc0d0); }
body.HM-theme-gros-temps:not(.gn-night-mode) .HM-livepanel {
  background: linear-gradient(180deg, rgba(27,36,48,0.9) 0%, rgba(21,24,31,0.94) 100%);
  border: 1px solid rgba(149,170,181,0.16);
  color: var(--text, #dce3e8);
}

/* CTA « Accès aux outils » — teal vague sur fond sombre */
body.HM-theme-gros-temps:not(.gn-night-mode) .HM-toolscta {
  background: linear-gradient(180deg, #2a8b9e 0%, #176273 100%);
  box-shadow: 0 6px 18px rgba(0,0,0,0.45);
}
body.HM-theme-gros-temps:not(.gn-night-mode) .HM-toolscta:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.55), 0 0 18px rgba(111,192,208,0.20);
}

/* Bascules */
body.HM-theme-gros-temps:not(.gn-night-mode) .HM-bascule {
  background: linear-gradient(180deg, rgba(111,192,208,0.08) 0%, rgba(111,192,208,0.16) 100%);
  border: 1px dashed rgba(111,192,208,0.35);
  color: var(--brand, #6fc0d0);
}
body.HM-theme-gros-temps:not(.gn-night-mode) .HM-bascule:hover {
  background: linear-gradient(180deg, rgba(111,192,208,0.14) 0%, rgba(111,192,208,0.24) 100%);
  border-color: rgba(111,192,208,0.55);
}

/* Tuiles ADN — gammes froides d'orage (PAS de violet ni de chaud). Texte foam.
   Stops validés (foam sur stop le + clair >= 4.5, cf. contrast_check.py). */
body.HM-theme-gros-temps:not(.gn-night-mode) .HM-adn--tracks     { background: linear-gradient(135deg, #0c4e5b 0%, #116a7a 100%) !important; }
body.HM-theme-gros-temps:not(.gn-night-mode) .HM-adn--logbook    { background: linear-gradient(135deg, #1c2a3a 0%, #2c4259 100%) !important; }
body.HM-theme-gros-temps:not(.gn-night-mode) .HM-adn--watch      { background: linear-gradient(135deg, #2e3a47 0%, #44525f 100%) !important; }
body.HM-theme-gros-temps:not(.gn-night-mode) .HM-adn--help       { background: linear-gradient(135deg, #294e6c 0%, #3a6789 100%) !important; }
body.HM-theme-gros-temps:not(.gn-night-mode) .HM-adn--move       { background: linear-gradient(135deg, #0f4f46 0%, #176a5f 100%) !important; }
body.HM-theme-gros-temps:not(.gn-night-mode) .HM-adn--checklists { background: linear-gradient(135deg, #2f3540 0%, #474f5b 100%) !important; }
body.HM-theme-gros-temps:not(.gn-night-mode) .HM-adn--echanges   { background: linear-gradient(135deg, #0e4f52 0%, #14696e 100%) !important; }
body.HM-theme-gros-temps:not(.gn-night-mode) .HM-adn--ia         { background: linear-gradient(135deg, #46283e 0%, #623a56 100%) !important; }
body.HM-theme-gros-temps:not(.gn-night-mode) .HM-adn-title,
body.HM-theme-gros-temps:not(.gn-night-mode) .HM-adn--featured .HM-adn-title { color: #ffffff; text-shadow: none; }
body.HM-theme-gros-temps:not(.gn-night-mode) .HM-adn-sub,
body.HM-theme-gros-temps:not(.gn-night-mode) .HM-adn--featured .HM-adn-sub { color: var(--text, #dce3e8); }


/* ───── Fond OPAQUE des menus/popovers flottants (≠ --card-bg translucide) ───── */
body.HM-theme-night-sea:not(.gn-night-mode)  { --popover-bg: #0d2440; }
body.HM-theme-cote-doree:not(.gn-night-mode) { --popover-bg: #fbf7f1; }
body.HM-theme-gros-temps:not(.gn-night-mode) { --popover-bg: #1b2430; }
