/* Le Studio — l'espace super admin de bro (MESSAGE 35). Une autre application que l'espace
   client : sa propre feuille, ses propres vues EJS, rien du socle React. Valeurs relevées dans
   `handoff/studio/Studio Bro - Super admin.dc.html` (captures S01–S03, S13). */
:root { --encre: #14150f; --corps: #3c4034; --meta: #686d5f; --lime: #e2f163; --papier: #f8f8f5; --fond: #e9e8e2; --filet: #e5e4dd; --nuit: #141414; }
* { box-sizing: border-box; }
html, body { margin: 0; }
body { font-family: 'DM Sans', sans-serif; color: var(--encre); background: var(--fond); -webkit-font-smoothing: antialiased; }
a { color: var(--encre); }
a:hover { color: #4f5a22; }
input::placeholder { color: #8d9184; }
.st-ic { font-family: 'Material Symbols Rounded'; font-weight: normal; font-style: normal; line-height: 1; letter-spacing: normal; text-transform: none; display: inline-block; white-space: nowrap; direction: ltr; -webkit-font-feature-settings: 'liga'; font-feature-settings: 'liga'; }
.st-mono { font-family: 'DM Mono', monospace; }
.st-poppins { font-family: Poppins, sans-serif; }

/* ---- Connexion (écran ligne 24, S01/S02) ---- */
.st-porte { min-height: 100vh; background: var(--nuit); display: flex; align-items: center; justify-content: center; padding: 24px; color: #ffffff; }
.st-porte-col { width: min(440px, 100%); display: flex; flex-direction: column; gap: 22px; }
.st-porte-marque { display: flex; align-items: center; gap: 12px; }
.st-pastille-marque { padding: 8px 14px; border-radius: 14px; background: var(--lime); color: var(--encre); font-family: Poppins, sans-serif; font-weight: 700; font-size: 20px; }
.st-porte-studio { font-family: Poppins, sans-serif; font-weight: 600; font-size: 22px; }
.st-porte-hote { margin-left: auto; display: flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; background: #232323; font-family: 'DM Mono', monospace; font-size: 11px; color: #cfd2c6; }
.st-porte-hote .st-ic { font-size: 15px; color: var(--lime); }
.st-carte-nuit { background: #1d1d1d; border-radius: 28px; padding: 26px; display: flex; flex-direction: column; gap: 16px; }
.st-carte-nuit h1 { margin: 0; font-family: Poppins, sans-serif; font-weight: 600; font-size: 24px; }
.st-carte-nuit p { margin: 0; font-size: 14px; line-height: 1.5; color: #b9bdb0; }
.st-champ { display: flex; flex-direction: column; gap: 7px; }
.st-champ > span { font-size: 13px; font-weight: 500; color: #cfd2c6; }
.st-champ input { height: 52px; border: 1px solid #3c3c3c; border-radius: 16px; background: var(--nuit); padding: 0 16px; font-family: inherit; font-size: 15px; color: #ffffff; outline: none; width: 100%; }
.st-champ input:focus { border-color: var(--lime); }
.st-btn-lime { height: 52px; border: none; border-radius: 999px; background: var(--lime); color: var(--encre); font-family: Poppins, sans-serif; font-size: 15px; font-weight: 600; cursor: pointer; width: 100%; }
.st-btn-lime:hover { background: #eef79a; }
.st-btn-nu { height: 44px; border: none; background: transparent; color: #b9bdb0; font-family: inherit; font-size: 14px; cursor: pointer; width: 100%; }
.st-btn-nu:hover { color: #ffffff; }
.st-code { display: flex; gap: 8px; }
.st-code input { flex: 1; min-width: 0; height: 58px; border-radius: 14px; border: 1px solid #3c3c3c; background: var(--nuit); font-family: 'DM Mono', monospace; font-size: 24px; color: #ffffff; text-align: center; letter-spacing: 0.4em; outline: none; padding-left: 0.4em; }
.st-code input:focus { border-color: var(--lime); }
.st-alerte { padding: 12px 14px; border-radius: 14px; background: #2a2416; color: #f3e6bd; font-size: 14px; line-height: 1.45; }
.st-porte-notes { display: flex; flex-direction: column; gap: 8px; font-size: 13px; color: #8d9184; }
.st-porte-notes span { display: flex; gap: 8px; align-items: flex-start; }
.st-porte-notes .st-ic { font-size: 17px; flex: none; }
.st-secret { padding: 12px 14px; border-radius: 14px; background: var(--nuit); border: 1px solid #3c3c3c; font-family: 'DM Mono', monospace; font-size: 14px; color: var(--lime); letter-spacing: 0.08em; word-break: break-all; user-select: all; }
.st-qr { width: 180px; height: 180px; border-radius: 16px; background: #ffffff; padding: 10px; align-self: center; }
.st-qr svg { width: 100%; height: 100%; display: block; }

/* ---- La coque (ligne 59) ---- */
.st-app { min-height: 100vh; padding: 14px; display: flex; gap: 14px; align-items: flex-start; }
.st-rail { flex: 0 0 116px; position: sticky; top: 14px; height: calc(100vh - 28px); min-height: 620px; background: var(--nuit); border-radius: 26px; padding: 14px 8px; display: flex; flex-direction: column; gap: 2px; overflow-y: auto; scrollbar-width: none; }
.st-rail-tete { display: flex; flex-direction: column; align-items: center; gap: 6px; margin: 2px 0 14px; }
.st-rail-tete .st-pastille-marque { padding: 7px 12px; font-size: 17px; }
.st-rail-tete .st-studio { font-family: Poppins, sans-serif; font-weight: 600; font-size: 13px; color: #ffffff; }
.st-rail-tete .st-interne { padding: 3px 8px; border-radius: 999px; background: #2e2f27; color: var(--lime); font-family: 'DM Mono', monospace; font-size: 9px; letter-spacing: 0.06em; text-transform: uppercase; }
.st-nav { position: relative; display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 9px 4px 8px; border: none; border-radius: 17px; background: transparent; cursor: pointer; font-family: inherit; text-decoration: none; color: #cfd2c6; min-height: 44px; }
.st-nav:hover { background: #2e2f27; color: #cfd2c6; }
.st-nav .st-ic { font-size: 22px; color: #ffffff; }
.st-nav span:not(.st-ic) { font-family: Poppins, sans-serif; font-weight: 500; font-size: 11px; line-height: 1.15; text-align: center; }
.st-nav--actif { background: #2e2f27; color: var(--lime); }
.st-nav--actif .st-ic { color: var(--lime); }
.st-nav--bientot { opacity: 0.45; cursor: default; }
.st-nav--bientot:hover { background: transparent; }
.st-nav-bientot { position: absolute; top: 4px; right: 8px; padding: 2px 5px; border-radius: 999px; background: #3a3b32; color: #cfd2c6; font-family: 'DM Mono', monospace; font-size: 8px; letter-spacing: 0.05em; text-transform: uppercase; }
.st-rail-pousse { flex: 1 1 auto; }
.st-sortir { display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 9px 4px 8px; border: none; border-radius: 17px; background: transparent; cursor: pointer; font-family: inherit; color: #cfd2c6; width: 100%; min-height: 44px; }
.st-sortir:hover { background: #2e2f27; }
.st-sortir .st-ic { font-size: 22px; }
.st-sortir span:not(.st-ic) { font-family: Poppins, sans-serif; font-weight: 500; font-size: 11px; }
.st-main { flex: 1 1 auto; min-width: 0; background: var(--papier); border-radius: 30px; padding: 22px 24px 40px; }
.st-entete { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; min-height: 56px; margin-bottom: 18px; }
.st-entete-titres { flex: 1 1 300px; min-width: 0; display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.st-entete h1 { margin: 0; font-family: Poppins, sans-serif; font-weight: 600; font-size: 26px; letter-spacing: -0.02em; }
.st-sous { display: flex; align-items: center; gap: 7px; font-family: 'DM Mono', monospace; font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--meta); }
.st-sous::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: #5c6b2a; }
.st-hote { display: flex; align-items: center; gap: 7px; height: 40px; padding: 0 14px; border-radius: 999px; background: #ffffff; border: 1px solid var(--filet); font-family: 'DM Mono', monospace; font-size: 11px; color: var(--corps); }
.st-hote .st-ic { font-size: 16px; color: #4f5a22; }
.st-moi { display: flex; align-items: center; gap: 8px; height: 48px; padding: 4px 14px 4px 4px; border-radius: 999px; background: #ffffff; border: 1px solid var(--filet); }
.st-moi-initiales { width: 40px; height: 40px; border-radius: 50%; background: var(--encre); color: var(--lime); display: flex; align-items: center; justify-content: center; font-family: Poppins, sans-serif; font-weight: 600; font-size: 14px; }
.st-moi-lignes { display: flex; flex-direction: column; line-height: 1.2; }
.st-moi-lignes b { font-size: 14px; font-weight: 600; }
.st-moi-lignes span { font-size: 11px; color: var(--meta); }

/* ---- Vue d'ensemble (ligne 89, S03) ---- */
.st-pile { display: flex; flex-direction: column; gap: 18px; }
.st-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; }
.st-kpi { text-align: left; border: none; border-radius: 24px; padding: 18px; background: #ffffff; box-shadow: 0 1px 2px rgba(20,21,15,0.04), 0 14px 30px -14px rgba(20,21,15,0.16); display: flex; flex-direction: column; gap: 6px; color: var(--encre); text-decoration: none; }
.st-kpi--lime { background: var(--lime); }
.st-kpi--eteint { opacity: 0.6; }
.st-kpi-l { font-family: 'DM Mono', monospace; font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--corps); }
.st-kpi-v { font-family: Poppins, sans-serif; font-weight: 600; font-size: 32px; line-height: 1; letter-spacing: -0.02em; }
.st-kpi-s { font-size: 13px; color: var(--corps); }
.st-colonnes { display: flex; gap: 14px; flex-wrap: wrap; align-items: flex-start; }
.st-carte { background: #ffffff; border-radius: 26px; padding: 20px; box-shadow: 0 1px 2px rgba(20,21,15,0.04), 0 14px 30px -14px rgba(20,21,15,0.16); display: flex; flex-direction: column; gap: 10px; }
.st-carte h2 { margin: 0; font-family: Poppins, sans-serif; font-weight: 600; font-size: 20px; }
.st-carte-titre { display: flex; align-items: center; gap: 10px; }
.st-compte { padding: 4px 10px; border-radius: 999px; background: var(--encre); color: var(--lime); font-family: 'DM Mono', monospace; font-size: 11px; }
.st-vide { padding: 14px; border-radius: 18px; background: var(--papier); font-size: 14px; color: var(--meta); line-height: 1.5; }
.st-carte--nuit { background: var(--nuit); color: #ffffff; }
.st-carte--nuit h2 { font-size: 18px; }
.st-carte--nuit p { margin: 0; font-size: 14px; color: #b9bdb0; }
.st-bientot { display: inline-flex; align-items: center; height: 18px; padding: 0 7px; border-radius: 999px; background: #3a3b32; color: #cfd2c6; font-family: 'DM Mono', monospace; font-size: 9px; letter-spacing: 0.05em; text-transform: uppercase; vertical-align: middle; margin-left: 6px; }

/* ---- Équipe et journal (ligne 277, S13) ---- */
.st-membre { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 12px; border-radius: 18px; background: var(--papier); }
.st-membre-initiales { flex: 0 0 40px; height: 40px; border-radius: 50%; background: var(--encre); color: var(--lime); display: flex; align-items: center; justify-content: center; font-family: Poppins, sans-serif; font-weight: 600; font-size: 14px; }
.st-membre-lignes { flex: 1 1 160px; min-width: 0; display: flex; flex-direction: column; }
.st-membre-lignes b { font-size: 15px; font-weight: 600; }
.st-membre-lignes span { font-size: 12px; color: var(--meta); }
.st-role { height: 44px; padding: 0 12px; border: 1px solid var(--filet); border-radius: 999px; background: #ffffff; font-family: inherit; font-size: 13px; font-weight: 600; color: var(--encre); display: inline-flex; align-items: center; }
.st-inviter { display: flex; gap: 8px; flex-wrap: wrap; padding-top: 6px; }
.st-inviter input { flex: 1 1 220px; height: 46px; border: 1px solid var(--filet); border-radius: 999px; background: var(--papier); padding: 0 16px; font-family: inherit; font-size: 14px; outline: none; }
.st-inviter select { height: 46px; padding: 0 12px; border: 1px solid var(--filet); border-radius: 999px; background: #ffffff; font-family: inherit; font-size: 13px; font-weight: 600; }
.st-btn-noir { height: 46px; padding: 0 18px; border: none; border-radius: 999px; background: var(--encre); color: #ffffff; font-family: Poppins, sans-serif; font-size: 14px; font-weight: 500; cursor: pointer; }
.st-btn-noir:hover { background: #2b2b2b; }
.st-matrice { min-width: 360px; display: grid; grid-template-columns: 1.6fr repeat(4, 1fr); gap: 6px; font-size: 12px; }
.st-matrice-tete { font-family: 'DM Mono', monospace; font-size: 10px; text-align: center; color: var(--meta); }
.st-matrice-ligne { padding: 6px 0; font-weight: 500; }
.st-matrice .st-ic { text-align: center; font-size: 18px; }
.st-oui { color: #4f5a22; }
.st-non { color: #c7c4bb; }
.st-journal-ligne { display: flex; align-items: center; gap: 12px; padding: 9px 4px; border-top: 1px solid #f1f1ec; font-size: 14px; }
.st-journal-quand { flex: 0 0 120px; font-family: 'DM Mono', monospace; font-size: 11px; color: var(--meta); }
.st-journal-qui { flex: 0 0 110px; font-weight: 600; }
.st-journal-quoi { flex: 1; color: var(--corps); }
.st-lien-activation { padding: 12px 14px; border-radius: 16px; background: #eef4dd; font-family: 'DM Mono', monospace; font-size: 12px; word-break: break-all; }
.st-note { font-size: 13px; color: var(--meta); }

@media (max-width: 760px) {
  .st-app { flex-direction: column; padding: 10px; align-items: stretch; }
  .st-rail { position: static; flex: 0 0 auto; height: auto; min-height: 0; width: 100%; box-sizing: border-box; flex-direction: row; flex-wrap: wrap; justify-content: center; }
  .st-main { width: 100%; min-width: 0; box-sizing: border-box; }
  .st-rail-tete { flex-direction: row; margin: 0 8px 0 0; }
  .st-rail-pousse { display: none; }
  .st-main { padding: 18px 16px 32px; }
}

/* ---- Clients (maquette 128-152, S04), la fiche (333-367, S05/S06), les confirmations (369-386, S07), la corbeille (312-330, S14) ---- */
.st-filtres { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.st-filtre { height: 44px; padding: 0 16px; border: 1px solid var(--filet); border-radius: 999px; background: #ffffff; color: var(--encre); font-family: Poppins, sans-serif; font-size: 14px; font-weight: 500; display: inline-flex; align-items: center; gap: 8px; cursor: pointer; }
.st-filtre--actif { background: var(--encre); color: #ffffff; border-color: var(--encre); }
.st-filtre-n { font-family: 'DM Mono', monospace; font-size: 11px; opacity: 0.8; }
.st-recherche { margin-left: auto; flex: 0 1 280px; height: 44px; padding: 0 14px; border-radius: 999px; background: #ffffff; border: 1px solid var(--filet); display: flex; align-items: center; gap: 8px; }
.st-recherche .st-ic { font-size: 19px; color: var(--meta); }
.st-recherche input { flex: 1; min-width: 0; border: none; outline: none; background: transparent; font-family: inherit; font-size: 14px; color: var(--encre); }
.st-tableau { background: #ffffff; border-radius: 26px; padding: 8px; box-shadow: 0 1px 2px rgba(20,21,15,0.04), 0 14px 30px -14px rgba(20,21,15,0.16); overflow-x: auto; }
.st-tableau-tete, .st-tableau-ligne { display: grid; min-width: 760px; grid-template-columns: minmax(200px, 2fr) 110px 90px 130px 130px 110px 30px; gap: 12px; align-items: center; }
.st-tableau-tete { padding: 10px 14px; font-family: 'DM Mono', monospace; font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--meta); }
.st-tableau-ligne { width: 100%; padding: 12px 14px; border-top: 1px solid #f1f1ec; text-decoration: none; color: var(--encre); min-height: 62px; }
.st-tableau-ligne:hover { background: var(--papier); color: var(--encre); }
.st-client { display: flex; align-items: center; gap: 12px; min-width: 0; }
.st-client-initiale { flex: 0 0 38px; height: 38px; border-radius: 12px; background: var(--encre); color: var(--lime); display: flex; align-items: center; justify-content: center; font-family: Poppins, sans-serif; font-weight: 600; font-size: 14px; }
.st-client-initiale--gris { background: #f1f1ec; color: var(--meta); }
.st-client-lignes { display: flex; flex-direction: column; min-width: 0; }
.st-client-lignes b { font-size: 15px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.st-client-lignes span { font-size: 12px; color: var(--meta); }
.st-formule { display: inline-block; padding: 5px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; white-space: nowrap; }
.st-formule--invite { border: 1px dashed #c7c4bb; }
.st-formule--fiche { padding: 6px 12px; font-size: 13px; }
.st-statut { display: inline-block; padding: 5px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; white-space: nowrap; }
.st-statut--fiche { padding: 6px 12px; font-size: 13px; }
.st-voile { position: fixed; inset: 0; z-index: 40; background: rgba(20,21,15,0.25); display: block; }
.st-voile--haut { z-index: 60; background: rgba(20,21,15,0.35); }
.st-fiche { position: fixed; top: 0; right: 0; bottom: 0; z-index: 50; width: min(480px, 100%); overflow-y: auto; background: var(--papier); padding: 22px; display: flex; flex-direction: column; gap: 14px; animation: stPop 180ms ease-out both; }
@keyframes stPop { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.st-fiche-tete { display: flex; align-items: center; gap: 12px; }
.st-fiche-initiale { flex: 0 0 48px; height: 48px; border-radius: 16px; background: var(--encre); color: var(--lime); display: flex; align-items: center; justify-content: center; font-family: Poppins, sans-serif; font-weight: 600; font-size: 18px; }
.st-fiche-lignes { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.st-fiche-lignes b { font-family: Poppins, sans-serif; font-weight: 600; font-size: 22px; }
.st-fiche-lignes span { font-size: 13px; color: var(--meta); }
.st-fermer { text-decoration: none; flex: 0 0 44px; height: 44px; border: 1px solid var(--filet); border-radius: 50%; background: #ffffff; display: flex; align-items: center; justify-content: center; color: var(--encre); }
.st-fermer .st-ic { font-size: 20px; }
.st-pastilles { display: flex; gap: 8px; flex-wrap: wrap; }
.st-bandeau-bloque { padding: 14px; border-radius: 18px; background: #f6e4dc; color: #7d3a21; font-size: 14px; line-height: 1.5; }
.st-faits { background: #ffffff; border-radius: 22px; padding: 16px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.st-fait { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.st-fait-l { font-family: 'DM Mono', monospace; font-size: 10px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--meta); }
.st-fait-v { font-size: 15px; font-weight: 600; overflow-wrap: anywhere; }
.st-fiche-carte { background: #ffffff; border-radius: 22px; padding: 16px; display: flex; flex-direction: column; gap: 8px; }
.st-fiche-carte h3 { margin: 0; font-family: Poppins, sans-serif; font-weight: 600; font-size: 16px; }
.st-personne { display: flex; align-items: center; gap: 10px; font-size: 14px; }
.st-personne span:first-child { flex: 1; min-width: 0; }
.st-personne span:last-child { font-size: 12px; color: var(--meta); text-align: right; }
.st-fiche-actions { display: flex; flex-direction: column; gap: 8px; }
.st-action { height: 48px; border: 1px solid var(--filet); border-radius: 999px; background: #ffffff; color: var(--encre); font-family: Poppins, sans-serif; font-size: 14px; font-weight: 500; display: flex; align-items: center; justify-content: center; gap: 8px; text-decoration: none; cursor: pointer; width: 100%; }
.st-action .st-ic { font-size: 19px; }
.st-action--noir { border: none; background: var(--encre); color: #ffffff; }
.st-action--nu { height: 44px; border: none; background: transparent; color: #7d3a21; }
.st-boite { position: fixed; z-index: 70; inset: 0; margin: auto; height: fit-content; max-height: calc(100vh - 48px); overflow-y: auto; width: min(460px, calc(100% - 48px)); background: #ffffff; border-radius: 28px; padding: 24px; display: flex; flex-direction: column; gap: 14px; box-shadow: 0 24px 50px rgba(20,21,15,0.2); animation: stPop 180ms ease-out both; }
.st-boite h2 { margin: 0; font-family: Poppins, sans-serif; font-weight: 600; font-size: 22px; }
.st-boite p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--corps); text-wrap: pretty; }
.st-motifs { display: flex; gap: 8px; flex-wrap: wrap; }
.st-motif { position: relative; height: 44px; padding: 0 14px; border: 1.5px solid var(--filet); border-radius: 999px; background: #ffffff; font-family: Poppins, sans-serif; font-size: 13px; font-weight: 500; display: inline-flex; align-items: center; cursor: pointer; }
.st-motif input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.st-motif:has(input:checked) { background: #f6e4dc; border-color: #7d3a21; }
.st-motif:has(input:focus-visible) { outline: 2px solid var(--encre); outline-offset: 2px; }
.st-champ-clair { display: flex; flex-direction: column; gap: 7px; font-size: 13px; color: var(--corps); }
.st-champ-clair input { height: 48px; border: 1px solid var(--filet); border-radius: 16px; background: var(--papier); padding: 0 14px; font-family: inherit; font-size: 15px; color: var(--encre); outline: none; }
.st-champ-clair input:focus { border-color: var(--encre); }
.st-boite-pied { display: flex; gap: 8px; justify-content: flex-end; }
.st-btn-blanc { height: 46px; padding: 0 18px; border: 1px solid var(--filet); border-radius: 999px; background: #ffffff; color: var(--encre); font-family: Poppins, sans-serif; font-size: 14px; font-weight: 500; display: inline-flex; align-items: center; text-decoration: none; cursor: pointer; }
.st-btn-terre { height: 46px; padding: 0 18px; border: none; border-radius: 999px; background: #7d3a21; color: #ffffff; font-family: Poppins, sans-serif; font-size: 14px; font-weight: 500; cursor: pointer; }
.st-info { flex: 1 1 280px; border-radius: 24px; padding: 18px; display: flex; gap: 12px; align-items: flex-start; }
.st-info .st-ic { font-size: 24px; }
.st-info-lignes { display: flex; flex-direction: column; gap: 2px; }
.st-info-lignes b { font-size: 15px; font-weight: 600; }
.st-info-lignes span { font-size: 13px; color: var(--corps); }
.st-corbeille-vide { display: block; padding: 24px; font-size: 15px; color: var(--meta); }
.st-corbeille-ligne { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 14px 12px; border-bottom: 1px solid #f1f1ec; }
.st-corbeille-ligne:last-child { border-bottom: none; }
.st-btn-restaurer { height: 42px; padding: 0 16px; border: none; border-radius: 999px; background: var(--encre); color: #ffffff; font-family: Poppins, sans-serif; font-size: 13px; font-weight: 500; display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.st-alerte-ligne { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 16px; text-decoration: none; font-size: 14px; }
.st-alerte-ligne b { font-weight: 600; }

/* ---- Invitations gratuites (bloc 3, capture S12) : la carte de nuit et la liste ---- */
.st-inv-carte { flex: 1 1 380px; min-width: 0; background: var(--nuit); color: #ffffff; border-radius: 26px; padding: 22px; display: flex; flex-direction: column; gap: 14px; }
.st-inv-carte h2 { margin: 0; font-family: Poppins, sans-serif; font-weight: 600; font-size: 20px; }
.st-inv-carte p { margin: 0; font-size: 14px; line-height: 1.5; color: #b9bdb0; }
.st-inv-carte .st-champ input { background: #1d1d1d; height: 50px; }
.st-inv-facultatif { font-family: 'DM Mono', monospace; font-size: 11px; color: #8d9184; margin-left: 4px; }
.st-inv-legende { font-size: 13px; color: #cfd2c6; }
.st-inv-choix { display: flex; gap: 8px; flex-wrap: wrap; }
.st-inv-pastille { position: relative; height: 44px; padding: 0 16px; border: 1px solid #3c3c3c; border-radius: 999px; background: transparent; color: #ffffff; font-family: Poppins, sans-serif; font-size: 13px; font-weight: 500; display: inline-flex; align-items: center; cursor: pointer; }
.st-inv-pastille input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.st-inv-pastille:has(input:checked) { background: var(--lime); color: var(--encre); border-color: var(--lime); }
.st-inv-pastille:has(input:focus-visible) { outline: 2px solid var(--lime); outline-offset: 2px; }
.st-inv-generer { height: 50px; display: flex; align-items: center; justify-content: center; gap: 8px; }
.st-inv-generer .st-ic { font-size: 20px; }
.st-inv-lien { display: flex; align-items: center; gap: 10px; padding: 12px 12px 12px 16px; border-radius: 18px; background: #232323; animation: stPop 180ms ease-out both; }
.st-inv-lien-texte { flex: 1; min-width: 0; font-family: 'DM Mono', monospace; font-size: 12px; color: var(--lime); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.st-inv-copier { height: 44px; padding: 0 14px; border: none; border-radius: 999px; background: #ffffff; color: var(--encre); font-family: Poppins, sans-serif; font-size: 13px; font-weight: 500; cursor: pointer; }
.st-inv-note { font-size: 12px; color: #8d9184; }
.st-inv-liste { flex: 1 1 460px; min-width: 0; background: #ffffff; border-radius: 26px; padding: 8px; box-shadow: 0 1px 2px rgba(20,21,15,0.04), 0 14px 30px -14px rgba(20,21,15,0.16); }
.st-inv-ligne { display: flex; align-items: center; gap: 12px; padding: 12px; border-bottom: 1px solid #f1f1ec; }
.st-inv-ligne:last-child { border-bottom: none; }
.st-inv-icone { flex: 0 0 38px; height: 38px; border-radius: 12px; display: flex; align-items: center; justify-content: center; }
.st-inv-icone .st-ic { font-size: 19px; }
.st-inv-lignes { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.st-inv-lignes b { font-size: 15px; font-weight: 600; }
.st-inv-lignes b a { text-decoration: none; }
.st-inv-lignes .st-mono { font-size: 11px; color: var(--meta); }
.st-inv-adresse { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; user-select: all; }
.st-inv-revoquer { height: 44px; padding: 0 12px; border: 1px solid var(--filet); border-radius: 999px; background: #ffffff; font-family: Poppins, sans-serif; font-size: 12px; font-weight: 500; cursor: pointer; }

/* ---- La gratuité sur la fiche (bloc 3, capture S06) : une ligne, l'échéance, « + 1 mois / + 3 mois » ---- */
.st-gratuite { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 12px; padding: 14px 16px; border-radius: 18px; background: #dde8ee; color: #1b3a4a; font-size: 14px; line-height: 1.35; }
.st-gratuite > .st-ic { font-size: 22px; flex: 0 0 auto; }
.st-gratuite > b { flex: 1 1 180px; min-width: 0; font-weight: 600; }
.st-gratuite--finie { background: #f7ecd0; color: #6b5310; }
.st-gratuite--sans-limite { background: var(--papier); color: var(--corps); }
.st-gratuite-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.st-gratuite-btn { height: 44px; padding: 0 14px; border: 1px solid currentColor; border-radius: 999px; background: #ffffff; color: inherit; font-family: Poppins, sans-serif; font-size: 13px; font-weight: 500; cursor: pointer; }
.st-gratuite-btn--noir { border-color: var(--encre); background: var(--encre); color: #ffffff; }

/* ---- Relecture (bloc 4, captures S09/S10) ---- */
.st-nav-compteur { position: absolute; top: 4px; right: 8px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--lime); color: var(--encre); font-family: 'DM Mono', monospace; font-size: 10px; font-weight: 500; display: flex; align-items: center; justify-content: center; }
.st-jauge { display: block; height: 10px; border-radius: 999px; background: #2e2f27; overflow: hidden; }
.st-jauge > span { display: block; height: 100%; border-radius: 999px; background: var(--lime); }
.st-btn-lime--court { width: auto; align-self: flex-start; height: 44px; padding: 0 18px; font-size: 14px; font-weight: 500; display: inline-flex; align-items: center; text-decoration: none; }
.st-relecture-note { margin-left: auto; font-size: 13px; color: var(--meta); max-width: 420px; text-wrap: pretty; }
.st-jour { display: flex; flex-direction: column; gap: 8px; }
.st-jour-label { font-family: 'DM Mono', monospace; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--meta); }
.st-relecture-grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 12px; }
.st-post { background: #ffffff; border-radius: 24px; padding: 16px; box-shadow: 0 1px 2px rgba(20,21,15,0.04), 0 14px 30px -14px rgba(20,21,15,0.16); display: flex; flex-direction: column; gap: 10px; border: 2px solid transparent; }
.st-post--a-relire { border-color: #f7ecd0; }
.st-post-tete { display: flex; align-items: center; gap: 10px; }
.st-reseau { flex: 0 0 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: Poppins, sans-serif; font-size: 13px; font-weight: 700; background: #f1f1ec; color: var(--encre); }
.st-reseau--linkedin { background: #dde8ee; color: #0a66c2; }
.st-reseau--instagram { background: #f6e4dc; color: #c13584; }
.st-reseau--facebook { background: #dde8ee; color: #1877f2; }
.st-post-lignes { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.st-post-lignes b { font-size: 14px; font-weight: 600; }
.st-post-lignes span { font-size: 12px; color: var(--meta); }
.st-statut--a_relire { background: #f7ecd0; color: #6b5310; }
.st-statut--retouche { background: #dde8ee; color: #1b3a4a; }
.st-statut--relu { background: #e4ede7; color: #27503c; }
.st-post-texte { margin: 0; font-size: 14px; line-height: 1.55; color: var(--corps); text-wrap: pretty; white-space: pre-wrap; }
.st-post-reseau { display: flex; flex-direction: column; gap: 4px; padding-top: 8px; border-top: 1px dashed var(--meta); }
.st-post-reseau > b { font-size: 12px; font-weight: 600; color: var(--meta); }
.st-post-form { display: flex; flex-direction: column; gap: 10px; }
.st-post-zone { width: 100%; box-sizing: border-box; border: 1.5px solid var(--encre); border-radius: 16px; padding: 12px; background: #fbfde8; font-family: inherit; font-size: 14px; line-height: 1.55; color: var(--encre); resize: vertical; outline: none; }
.st-post-pied { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.st-post-qui { flex: 1; font-size: 12px; color: var(--meta); }
.st-post-btn { height: 44px; padding: 0 14px; border: 1px solid var(--filet); border-radius: 999px; background: #ffffff; color: var(--encre); font-family: Poppins, sans-serif; font-size: 13px; font-weight: 500; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; text-decoration: none; }
.st-post-btn .st-ic { font-size: 17px; }
.st-post-btn--noir { border: none; background: var(--encre); color: #ffffff; }
.st-post-btn--lime { border: none; background: var(--lime); color: var(--encre); font-weight: 600; }

.st-filtre { text-decoration: none; }

/* ---- Boîte à idées (bloc 5, capture S11) ---- */
.st-idees-liste { flex: 1 1 340px; min-width: 0; max-width: 480px; background: #ffffff; border-radius: 26px; padding: 8px; box-shadow: 0 1px 2px rgba(20,21,15,0.04), 0 14px 30px -14px rgba(20,21,15,0.16); display: flex; flex-direction: column; }
.st-idee { display: flex; align-items: flex-start; gap: 10px; padding: 14px 12px; border-radius: 18px; text-decoration: none; color: var(--encre); min-height: 44px; }
.st-idee--ouverte { background: #f6f8ea; }
.st-idee-point { flex: 0 0 8px; height: 8px; margin-top: 7px; border-radius: 50%; background: transparent; }
.st-idee-point--nonlu { background: #9fbf3b; }
.st-idee-lignes { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.st-idee-lignes b { font-size: 15px; font-weight: 600; line-height: 1.3; }
.st-idee-lignes span { font-size: 12px; color: var(--meta); }
.st-idee-fiche { flex: 1 1 420px; min-width: 0; background: #ffffff; border-radius: 26px; padding: 22px; box-shadow: 0 1px 2px rgba(20,21,15,0.04), 0 14px 30px -14px rgba(20,21,15,0.16); display: flex; flex-direction: column; gap: 14px; }
.st-idee-fiche h2 { margin: 0; font-family: Poppins, sans-serif; font-weight: 600; font-size: 22px; line-height: 1.25; }
.st-idee-meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.st-pastille-grise { padding: 5px 10px; border-radius: 999px; background: #f1f1ec; font-size: 12px; }
.st-pastille-grise--forte { font-weight: 600; }
.st-idee-meta-droite { flex: 1 1 auto; text-align: right; font-size: 12px; color: var(--meta); }
.st-idee-corps { margin: 0; font-size: 15px; line-height: 1.6; color: var(--corps); text-wrap: pretty; white-space: pre-wrap; }
.st-idee-legende { font-family: 'DM Mono', monospace; font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--meta); }
.st-idee-statuts { display: flex; gap: 8px; flex-wrap: wrap; }
.st-idee-statut { height: 44px; padding: 0 14px; border: 1.5px solid var(--filet); border-radius: 999px; background: #ffffff; color: var(--encre); font-family: Poppins, sans-serif; font-size: 13px; font-weight: 500; cursor: pointer; display: inline-flex; align-items: center; }
.st-idee-statut--actif { background: #f6f8ea; border-color: var(--encre); }
.st-idee-reponse { display: flex; flex-direction: column; gap: 6px; padding: 12px 14px; border-radius: 16px; background: var(--papier); }
.st-idee-reponse p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--corps); white-space: pre-wrap; }
.st-idee-repondre { display: flex; flex-direction: column; gap: 10px; }
.st-idee-repondre textarea { width: 100%; box-sizing: border-box; border: 1px solid var(--filet); border-radius: 16px; padding: 12px 14px; background: var(--papier); font-family: inherit; font-size: 14px; line-height: 1.5; color: var(--encre); resize: vertical; outline: none; }
.st-idee-repondre textarea:focus { border-color: var(--encre); }
.st-idee-envoyer { align-self: flex-end; height: 46px; padding: 0 20px; border: none; border-radius: 999px; background: var(--encre); color: #ffffff; font-family: Poppins, sans-serif; font-size: 14px; font-weight: 500; cursor: pointer; display: flex; align-items: center; gap: 8px; }
.st-idee-envoyer .st-ic { font-size: 18px; }
.st-lien-doux { height: 44px; padding: 0 12px; border-radius: 999px; font-family: Poppins, sans-serif; font-size: 13px; font-weight: 500; display: inline-flex; align-items: center; text-decoration: none; }
.st-lien-doux:hover { background: #f6f8ea; }
.st-idee-courte { display: flex; align-items: center; gap: 10px; padding: 10px; border-radius: 16px; text-decoration: none; color: var(--encre); min-height: 44px; }
.st-idee-courte:hover { background: var(--papier); }
.st-idee-courte-lignes { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.st-idee-courte-lignes b { font-size: 14px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.st-idee-courte-lignes span { font-size: 12px; color: var(--meta); }

/* Classes `st-usage-*` : elles portaient les mêmes noms que la matrice des rôles (Équipe),
   qui héritait de la grille à sept colonnes et sortait de sa carte (repasse du 23/09, S08/S13). */
/* ---- Usage (bloc 6, capture S08) : les encarts et la matrice ---- */
.st-encarts { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; }
.st-encart { border-radius: 24px; padding: 18px; display: flex; flex-direction: column; gap: 8px; }
.st-encart-v { font-family: Poppins, sans-serif; font-weight: 600; font-size: 30px; line-height: 1; }
.st-encart-t { font-size: 15px; font-weight: 600; line-height: 1.35; }
.st-encart-m { font-size: 13px; line-height: 1.45; opacity: 0.85; }
.st-encart-btn { align-self: flex-start; margin-top: 4px; height: 44px; padding: 0 14px; border-radius: 999px; font-family: Poppins, sans-serif; font-size: 13px; font-weight: 500; display: inline-flex; align-items: center; text-decoration: none; }
.st-usage-carte { background: #ffffff; border-radius: 26px; padding: 18px; box-shadow: 0 1px 2px rgba(20,21,15,0.04), 0 14px 30px -14px rgba(20,21,15,0.16); display: flex; flex-direction: column; gap: 12px; }
.st-usage-tete { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.st-usage-tete h2 { margin: 0; flex: 1; font-family: Poppins, sans-serif; font-weight: 600; font-size: 20px; }
.st-usage-filtre { font-family: 'DM Sans', sans-serif; font-weight: 400; font-size: 13px; color: var(--meta); }
.st-legende { display: flex; gap: 14px; font-size: 12px; color: var(--corps); }
.st-legende > span { display: flex; align-items: center; gap: 6px; }
.st-legende-case { width: 14px; height: 14px; border-radius: 5px; box-sizing: border-box; }
.st-legende-case--jamais { border: 1.5px dashed #c7c4bb; }
.st-usage-defile { overflow-x: auto; }
.st-usage-entete, .st-usage-ligne { min-width: 680px; display: grid; grid-template-columns: minmax(180px, 1.6fr) repeat(6, 1fr); gap: 6px; align-items: center; padding: 4px; }
.st-usage-entete { font-family: 'DM Mono', monospace; font-size: 10px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--meta); padding-bottom: 8px; }
.st-usage-entete span:not(:first-child) { text-align: center; }
.st-usage-nom { font-size: 14px; font-weight: 600; text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-height: 44px; display: flex; align-items: center; }
.st-case { display: block; height: 30px; border-radius: 9px; box-sizing: border-box; }
.st-case--0 { background: transparent; border: 1.5px dashed #c7c4bb; }
.st-case--1 { background: #f3fab2; }
.st-case--2 { background: #e2f163; }
.st-visuellement-cache { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* ---- Équipe (bloc 7) : changer un rôle sur place, retirer un accès ---- */
.st-membre-role select { height: 44px; padding: 0 12px; border: 1px solid var(--filet); border-radius: 999px; background: #ffffff; font-family: inherit; font-size: 13px; font-weight: 600; color: var(--encre); }
.st-membre-retirer { height: 44px; padding: 0 12px; border: 1px solid var(--filet); border-radius: 999px; background: #ffffff; color: #7d3a21; font-family: Poppins, sans-serif; font-size: 12px; font-weight: 500; cursor: pointer; }

/* MESSAGE 44 §1e, règle 3 : les filtres forment un seul bloc, comme la barre de Réseaux —
   une piste #edece7, l'actif en blanc. */
.st-groupe { display: inline-flex; align-items: center; gap: 4px; padding: 4px; border-radius: 999px; background: #edece7; max-width: 100%; overflow-x: auto; }
.st-groupe .st-filtre { border: none; background: transparent; color: var(--encre); white-space: nowrap; }
.st-groupe .st-filtre:hover { background: #e2e0d9; }
.st-groupe .st-filtre--actif, .st-groupe .st-filtre--actif:hover { background: #ffffff; color: var(--encre); box-shadow: 0 1px 2px rgba(20,21,15,0.08); }
