/* =========================================================
   MSD Admin – Base communes (toutes pages du hub)
   ========================================================= */
.msd-admin-hub { background:var(--msd-bg-page); color:var(--msd-text); }
.msd-admin-hub a { color:var(--msd-link); }
.msd-admin-hub a:hover { color:var(--msd-link-hover); }
.msd-admin-hub h1, .msd-admin-hub h2, .msd-admin-hub h3 { color:var(--msd-heading); }

.msd-admin-hub .msd-wrap,
.msd-admin-hub .msd-card,
.msd-admin-hub .msd-chart {
  background:var(--msd-bg-card);
  border:1px solid var(--msd-border);
  border-radius:var(--msd-radius-card);
  padding:16px;
}
.msd-admin-hub .msd-card:hover { border-color:var(--msd-border-hover); }

.msd-admin-hub .msd-row { display:flex; flex-wrap:wrap; align-items:center; gap:16px; }
.msd-admin-hub .msd-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
@media (max-width: 860px){ .msd-admin-hub .msd-cards{ grid-template-columns:1fr; } }
@media (max-width: 720px){ .msd-admin-hub .hide-sm{ display:none; } }

/* =========================================================
   Tabs du hub
   ========================================================= */
.msd-admin-hub .msd-tabs{ display:flex; flex-wrap:wrap; gap:12px; margin:0 0 16px; align-items:center; }
.msd-admin-hub .msd-tab{
  appearance:none; display:inline-flex; align-items:center; gap:8px;
  padding:10px 14px; line-height:1; font-weight:600; text-decoration:none;
  background:var(--msd-btn-inactive-bg); color:var(--msd-btn-inactive-text);
  border:1px solid var(--msd-btn-inactive-border); border-radius:var(--msd-radius-btn);
  transition:transform .06s ease,border-color .2s ease,background .2s ease,color .2s ease;
  cursor:pointer;
}
.msd-admin-hub .msd-tab:hover{
  background:var(--msd-btn-inactive-bg-hover); border-color:var(--msd-btn-inactive-border-hover);
}
.msd-admin-hub .msd-tab[aria-current="page"]{
  background:linear-gradient(135deg,var(--msd-fill-start) 0%, var(--msd-fill-mid) 70%, var(--msd-fill-end) 100%);
  color:var(--msd-btn-active-text); border-color:transparent; box-shadow:0 6px 18px rgba(34,211,238,.18);
}

/* =========================================================
   Boutons génériques
   ========================================================= */
.msd-admin-hub .msd-btn{
  appearance:none; background:var(--msd-btn-inactive-bg); color:var(--msd-btn-inactive-text);
  border:1px solid var(--msd-btn-inactive-border); border-radius:var(--msd-radius-btn);
  padding:8px 12px; font-weight:600; cursor:pointer; display:inline-flex; align-items:center; gap:8px;
  transition:transform .06s ease, background .2s ease, border-color .2s ease;
}
.msd-admin-hub .msd-btn:hover{ background:var(--msd-btn-inactive-bg-hover); border-color:var(--msd-btn-inactive-border-hover); transform:translateY(-1px); }
.msd-admin-hub .msd-btn.approve{ border-color:#10b981; }
.msd-admin-hub .msd-btn.reject{ border-color:#ef4444; }

/* =========================================================
   Badges (chips)
   ========================================================= */
.msd-admin-hub .msd-chip{ display:inline-block; padding:4px 8px; border-radius:999px; border:1px solid var(--msd-border); font-size:12px; color:var(--msd-text); }
.msd-admin-hub .msd-chip.ok{ background:rgba(34,211,238,.12); border-color:var(--msd-fill-mid); }
.msd-admin-hub .msd-chip.warn{ background:rgba(167,139,250,.12); border-color:var(--msd-fill-end); }
.msd-admin-hub .msd-chip.danger{ background:rgba(239,68,68,.12); border-color:#ef4444; }

/* =========================================================
   Barres de progression
   ========================================================= */
.msd-admin-hub .msd-bar{ height:10px; background:var(--msd-bar-bg); border:1px solid var(--msd-border); border-radius:999px; overflow:hidden; }
.msd-admin-hub .msd-fill{ height:100%; background:linear-gradient(90deg,var(--msd-fill-start),var(--msd-fill-mid),var(--msd-fill-end)); }

/* =========================================================
   Tableaux
   ========================================================= */
.msd-admin-hub .msd-table{ width:100%; border-collapse:separate; border-spacing:0; background:var(--msd-table-bg); }
.msd-admin-hub .msd-table th,
.msd-admin-hub .msd-table td{ padding:10px 12px; border-bottom:1px solid var(--msd-table-border); color:var(--msd-table-text); text-align:left; }
.msd-admin-hub .msd-table th{ background:var(--msd-table-header-bg); font-weight:700; position:sticky; top:0; z-index:1; }

/* =========================================================
   Graphiques
   ========================================================= */
.msd-admin-hub .msd-chart{ padding:16px; }
.msd-admin-hub .msd-chart canvas{ width:100%; height:260px; display:block; }

/* =========================================================
   Filtres (selects)
   ========================================================= */
.msd-admin-hub .msd-filter select{
  background:var(--msd-bg-card); color:var(--msd-text);
  border:1px solid var(--msd-border); border-radius:var(--msd-radius-btn);
  padding:8px 10px;
}

/* =========================================================
   Onglet : Tableau de bord
   ========================================================= */
.msd-admin-hub.msd-tab--dashboard .msd-dashboard-kpis{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
@media (max-width: 860px){ .msd-admin-hub.msd-tab--dashboard .msd-dashboard-kpis{ grid-template-columns:1fr; } }
.msd-admin-hub.msd-tab--dashboard .msd-dashboard-kpi .big{ font-size:28px; font-weight:800; }

.msd-admin-hub.msd-tab--dashboard .msd-dashboard-controls{
  display:grid;
  grid-template-columns: 1.2fr .8fr; /* filtres + colonnes */
  gap:16px;
  align-items:start;
}
.msd-admin-hub.msd-tab--dashboard .msd-dashboard-controls .msd-filters,
.msd-admin-hub.msd-tab--dashboard .msd-dashboard-controls .msd-columns{
  background:var(--msd-bg-card);
  border:1px solid var(--msd-border);
  border-radius:var(--msd-radius-card);
  padding:16px;
}
.msd-admin-hub.msd-tab--dashboard .msd-filters select,
.msd-admin-hub.msd-tab--dashboard .msd-filters input[type="text"],
.msd-admin-hub.msd-tab--dashboard .msd-filters .msd-btn{
  width:100%;
}
@media (max-width: 1024px){
  .msd-admin-hub.msd-tab--dashboard .msd-dashboard-controls{
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   Onglet : Membres en attente
   ========================================================= */
.msd-admin-hub.msd-tab--pending .msd-pending-table .actions{ display:flex; flex-wrap:wrap; gap:8px; }
.msd-admin-hub.msd-tab--pending .msd-pending-table .user-col strong{ display:block; }
/* ====== Layout front page "Administration" ====== */
.msd-admin-wrap {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 20px;
  align-items: start;
}
.msd-admin-nav ul { list-style: none; margin: 0; padding: 0; }
.msd-admin-nav li { margin: 0 0 6px; }
.msd-admin-nav a {
  display: block;
  padding: 10px 12px;
  border: 1px solid #ddd;
  border-radius: 6px;
  background: #fff;
  text-decoration: none;
}
.msd-admin-nav li.is-active a {
  border-color: #2271b1;
  box-shadow: inset 0 0 0 1px #2271b1;
}
.msd-badge {
  display: inline-block;
  margin-left: 6px;
  padding: 1px 6px;
  font-size: 11px;
  border-radius: 10px;
  background: #d63638;
  color: #fff;
}

/* ====== Boîtes d'état ====== */
.msd-box { padding: 12px 14px; border-radius: 6px; border: 1px solid #ddd; background: #fff; }
.msd-box.msd-warning { border-color: #f0b849; background: #fff9e6; }
.msd-box.msd-error   { border-color: #d63638; background: #fff2f2; }
.msd-box.msd-ok      { border-color: #46b450; background: #f3fff5; }

/* ====== Correctifs (non bloquants, le hotfix inline prime) ====== */
table.msd-pending th,
table.msd-pending td { word-break: normal; white-space: normal; overflow-wrap: anywhere; }
table.msd-pending td.col-email,
table.msd-pending td.col-email a { word-break: break-word; overflow-wrap: anywhere; }
table.msd-pending td.col-actions { white-space: nowrap; }

/* =========================================================
   Onglet : Éditeur de mail
   ========================================================= */
.msd-admin-hub.msd-tab--mail .msd-mail-form .field{ display:flex; gap:12px; align-items:center; margin:10px 0; }
.msd-admin-hub.msd-tab--mail .msd-mail-form textarea,
.msd-admin-hub.msd-tab--mail .msd-mail-form input[type="text"],
.msd-admin-hub.msd-tab--mail .msd-mail-form select{
  width:100%; background:var(--msd-bg-card); color:var(--msd-text);
  border:1px solid var(--msd-border); border-radius:var(--msd-radius-card); padding:10px;
}
.msd-admin-hub.msd-tab--mail .msd-mail-preview{ border-style:dashed; }

/* =========================================================
   Onglet : Statistiques
   ========================================================= */
.msd-admin-hub.msd-tab--stats .msd-stats .msd-card h4{ margin:0 0 6px; font-size:14px; font-weight:700; }
.msd-admin-hub.msd-tab--stats .msd-stats .big{ font-size:28px; font-weight:800; }

/* =========================================================
   Onglet : Modèle PDF
   ========================================================= */
.msd-admin-hub.msd-tab--pdf .msd-pdf-form .field{ display:flex; gap:12px; align-items:center; margin:10px 0; }
.msd-admin-hub.msd-tab--pdf .msd-pdf-preview{
  background:var(--msd-bg-card); border:1px solid var(--msd-border); border-radius:var(--msd-radius-card);
  min-height:240px; display:flex; align-items:center; justify-content:center;
  font-size:14px; color:var(--msd-muted);
}

/* =========================================================
   Onglet : Stat carte VIP
   ========================================================= */
.msd-admin-hub.msd-tab--vip_stats .msd-vip-kpis{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
@media (max-width: 1024px){ .msd-admin-hub.msd-tab--vip_stats .msd-vip-kpis{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 640px){ .msd-admin-hub.msd-tab--vip_stats .msd-vip-kpis{ grid-template-columns:1fr; } }
.msd-admin-hub.msd-tab--vip_stats .msd-vip-stats-chart{ padding:16px; }
.msd-admin-hub.msd-tab--vip_stats .msd-vip-table{ margin-top:16px; }
.msd-admin-hub.msd-tab--vip_stats .msd-vip-filters .field{ margin:10px 0; }

/* =========================================================
   Bagdes
   ========================================================= */
.msd-badge{
  display:inline-block;
  background:#e11d48;
  color:#fff;
  font-size:12px;
  font-weight:700;
  padding:2px 6px;
  border-radius:999px;
  margin-left:6px;
}
/* Tabs génériques */
.msd-tabs { list-style:none; margin:0 0 16px; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.msd-tabs li { margin:0; padding:0; }
.msd-tab { display:inline-flex; align-items:center; gap:.5rem; padding:8px 12px; border-radius:8px; text-decoration:none; box-shadow:inset 0 0 0 1px #e5e7eb; }
.msd-tab.is-active, .msd-tab[aria-current="page"] { background:#eef6ff; box-shadow:inset 0 0 0 1px #c5defa; }
.msd-badge{ display:inline-block; min-width:18px; padding:0 6px; line-height:18px; border-radius:12px; background:#d90429; color:#fff; text-align:center; font-size:12px; }

/* Responsive front */
@media (max-width:640px){
  .msd-tabs{ flex-direction:column; }
  .msd-tab{ width:100%; justify-content:center; }
}

/* ======================================================================
   [FIX] Correctifs ciblés pour le hub (sans rien supprimer)
   ====================================================================== */

/* 1) Bouton "Filtrer" et autres boutons primaires dans le hub */
.msd-admin-hub .filters-form .button.button-primary,
.msd-admin-hub .columns-form .button.button-primary,
.msd-admin-hub .msd-btn.button-primary {
  background:#2271b1 !important;
  border-color:#2271b1 !important;
  color:#fff !important;
}
.msd-admin-hub .filters-form .button.button-primary:hover,
.msd-admin-hub .columns-form .button.button-primary:hover,
.msd-admin-hub .msd-btn.button-primary:hover {
  background:#135e96 !important;
  border-color:#135e96 !important;
}
.msd-admin-hub .filters-form .button.button-primary:focus,
.msd-admin-hub .columns-form .button.button-primary:focus,
.msd-admin-hub .msd-btn.button-primary:focus {
  outline:2px solid #72aee6 !important;
  outline-offset:2px !important;
}

/* 2) Le bloc générique .msd-filter n’existe pas dans le markup du dashboard.
      On applique le style aux vrais selects dans .msd-filters. */
.msd-admin-hub .msd-filters select{
  background:var(--msd-bg-card, #ffffff) !important;
  color:var(--msd-text, #1f2937) !important;
  border:1px solid var(--msd-border, #e5e7eb) !important;
  border-radius:var(--msd-radius-btn, 8px) !important;
  padding:8px 10px !important;
}

/* 3) Unifier/renforcer les styles des onglets du hub contre les styles génériques .msd-tab */
.msd-admin-hub .msd-tabs .msd-tab{
  box-shadow:none;
  border:1px solid var(--msd-btn-inactive-border);
  background:var(--msd-btn-inactive-bg);
}
.msd-admin-hub .msd-tabs .msd-tab.is-active,
.msd-admin-hub .msd-tabs .msd-tab[aria-current="page"]{
  background:linear-gradient(135deg,var(--msd-fill-start) 0%, var(--msd-fill-mid) 70%, var(--msd-fill-end) 100%);
  color:var(--msd-btn-active-text);
  box-shadow:0 6px 18px rgba(34,211,238,.18);
  border-color:transparent;
}

/* 4) Badges d’état UM (si tu les utilises) */
.msd-admin-hub .msd-badge.status-ok       { background:#2e7d32 !important; color:#fff; }
.msd-admin-hub .msd-badge.status-pending  { background:#ef6c00 !important; color:#fff; }
.msd-admin-hub .msd-badge.status-inactive { background:#757575 !important; color:#fff; }
.msd-admin-hub .msd-badge.status-rejected { background:#c62828 !important; color:#fff; }
.msd-admin-hub .msd-badge.status-suspended{ background:#6a1b9a !important; color:#fff; }

/* 5) Confort: largeur 100% des contrôles de filtre sur petits écrans */
@media (max-width: 782px){
  .msd-admin-hub .msd-filters .button,
  .msd-admin-hub .msd-filters .msd-btn,
  .msd-admin-hub .msd-filters select { width:100%; }
}

/* 6) Focus visible pour accessibilité sur les tabs et boutons custom */
.msd-admin-hub .msd-tab:focus,
.msd-admin-hub .msd-btn:focus {
  outline:2px solid #72aee6;
  outline-offset:2px;
}

/* ======================================================================
   [SAFEGUARD] Valeurs de repli si les variables CSS ne sont pas encore définies
   ====================================================================== */
.msd-admin-hub{
  --msd-bg-page:        var(--msd-bg-page, #f6f7f7);
  --msd-text:           var(--msd-text, #1f2937);
  --msd-heading:        var(--msd-heading, #111827);
  --msd-link:           var(--msd-link, #2271b1);
  --msd-link-hover:     var(--msd-link-hover, #135e96);
  --msd-bg-card:        var(--msd-bg-card, #ffffff);
  --msd-border:         var(--msd-border, #e5e7eb);
  --msd-border-hover:   var(--msd-border-hover, #cbd5e1);
  --msd-radius-card:    var(--msd-radius-card, 10px);
  --msd-radius-btn:     var(--msd-radius-btn, 8px);

  --msd-btn-inactive-bg:           var(--msd-btn-inactive-bg, #f3f4f6);
  --msd-btn-inactive-bg-hover:     var(--msd-btn-inactive-bg-hover, #e5e7eb);
  --msd-btn-inactive-border:       var(--msd-btn-inactive-border, #e5e7eb);
  --msd-btn-inactive-border-hover: var(--msd-btn-inactive-border-hover, #d1d5db);
  --msd-btn-inactive-text:         var(--msd-btn-inactive-text, #111827);

  --msd-fill-start: var(--msd-fill-start, #22d3ee);
  --msd-fill-mid:   var(--msd-fill-mid, #60a5fa);
  --msd-fill-end:   var(--msd-fill-end, #a78bfa);
  --msd-btn-active-text: var(--msd-btn-active-text, #ffffff);

  --msd-table-bg:        var(--msd-table-bg, #ffffff);
  --msd-table-border:    var(--msd-table-border, #e5e7eb);
  --msd-table-header-bg: var(--msd-table-header-bg, #f8fafc);
  --msd-table-text:      var(--msd-table-text, #111827);
  --msd-bar-bg:          var(--msd-bar-bg, #f3f4f6);
}

/* =========================================================
   MSD 1.2 — Administration moderne, additive et responsive
   ========================================================= */
.msd-modern-admin{max-width:1220px}.msd-modern-admin .msd-lead{max-width:850px;font-size:14px;color:#59636e}.msd-modern-admin .msd-settings-card{background:#fff;border:1px solid #dcdcde;border-radius:12px;padding:18px;margin:16px 0;box-shadow:0 1px 2px rgba(0,0,0,.03)}.msd-modern-admin .msd-settings-card>h2{margin-top:0}.msd-offer-grid,.msd-permissions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px}.msd-permissions-grid label{display:flex;gap:8px;align-items:flex-start;background:#f6f7f7;border:1px solid #e2e4e7;border-radius:9px;padding:10px}.msd-inline-settings{display:flex;flex-wrap:wrap;gap:14px;align-items:end}.msd-inline-settings label{display:grid;gap:5px}.msd-inline-settings input,.msd-inline-settings select,.msd-assign-form input,.msd-assign-form select,.msd-member-search input{min-height:40px;border-radius:7px}.msd-member-search{position:relative;max-width:720px}.msd-member-search>input{width:100%}.msd-search-results{position:relative;z-index:10}.msd-search-results:not(:empty){margin-top:5px;background:#fff;border:1px solid #c3c4c7;border-radius:8px;box-shadow:0 8px 20px rgba(0,0,0,.08);overflow:hidden}.msd-search-results button{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #eee;background:#fff;padding:10px 12px;cursor:pointer}.msd-search-results button:last-child{border-bottom:0}.msd-access-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.msd-access-card{border:1px solid #dcdcde;border-radius:11px;padding:14px;background:#fff}.msd-access-card header{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.msd-access-card header small{display:block;color:#646970;margin-top:3px;overflow-wrap:anywhere}.msd-status-badge{display:inline-flex;align-items:center;height:fit-content;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700;background:#f0f0f1}.msd-status-badge.is-ok{background:#edfaef;color:#146c2e}.msd-status-badge.is-warn{background:#fff4e5;color:#8a4b08}.msd-diagnostic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.msd-diagnostic>div{border:1px solid #dcdcde;border-radius:9px;padding:12px;background:#f6f7f7}.msd-diagnostic .ok{color:#146c2e}.msd-diagnostic .bad,.msd-diagnostic .warn{color:#b32d2e}.msd-kpi-admin{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.msd-kpi-admin>div{background:#fff;border:1px solid #dcdcde;border-radius:10px;padding:14px}.msd-kpi-admin strong{display:block;font-size:22px}.msd-switch-line{display:flex;gap:10px;align-items:flex-start;padding:12px;border-radius:8px;background:#f6f7f7}.msd-assign-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:10px;align-items:end}.msd-cand .widefat{display:block;overflow-x:auto;white-space:normal}.msd-cand .msd-actions{min-width:290px}.msd-cand .button{margin:2px 1px}.msd-cand .card{max-width:100%!important}.msd-cand .form-table td,.msd-cand .form-table th{overflow-wrap:anywhere}
@media(max-width:900px){.msd-offer-grid,.msd-permissions-grid,.msd-diagnostic,.msd-kpi-admin{grid-template-columns:repeat(2,minmax(0,1fr))}.msd-access-cards{grid-template-columns:1fr}.msd-assign-form{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.msd-modern-admin{margin-right:10px}.msd-modern-admin .msd-settings-card{padding:13px}.msd-offer-grid,.msd-permissions-grid,.msd-diagnostic,.msd-kpi-admin,.msd-assign-form{grid-template-columns:1fr}.msd-inline-settings{display:grid;grid-template-columns:1fr}.msd-inline-settings label,.msd-inline-settings input,.msd-inline-settings select{width:100%}.msd-access-card header{flex-direction:column}.msd-permissions-grid label{min-height:44px}.msd-cand .msd-cand-filters,.msd-cand .msd-cand-bulk{align-items:stretch!important;flex-direction:column}.msd-cand .msd-cand-filters label,.msd-cand .msd-cand-filters select,.msd-cand .msd-cand-bulk select,.msd-cand .msd-cand-bulk .button{width:100%}.msd-cand .form-table,.msd-cand .form-table tbody,.msd-cand .form-table tr,.msd-cand .form-table th,.msd-cand .form-table td{display:block;width:100%}.msd-cand .form-table th{padding-bottom:4px}.msd-cand .form-table td{padding-top:4px}.msd-cand .form-table textarea,.msd-cand .form-table select{width:100%;max-width:100%}.msd-cand .msd-actions{min-width:0}.msd-cand .msd-actions .button,.msd-cand .msd-actions form{display:block!important;width:100%;margin:4px 0}.msd-cand .msd-actions form .button{width:100%}}

/* RC6 — accès front en lecture seule */
.msd-access-readonly{display:flex!important;align-items:flex-start!important;gap:10px;margin:12px 0 14px;padding:12px 14px;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc}
.msd-access-readonly>input{margin-top:3px}.msd-access-readonly>span{display:grid;gap:3px}.msd-access-readonly small{color:#646970;font-weight:400}

/* RC7 — matrice de droits par accès */
.msd-access-matrix{display:grid;gap:0;border:1px solid #dcdcde;border-radius:10px;overflow:hidden;background:#fff;margin:12px 0 16px}
.msd-access-matrix-head,.msd-access-matrix-row{display:grid;grid-template-columns:minmax(240px,1fr) 92px 130px 92px;align-items:stretch}
.msd-access-matrix-head{background:#f0f0f1;font-weight:700;color:#1d2327}
.msd-access-matrix-head>span,.msd-access-matrix-row>div,.msd-access-matrix-row>label{padding:10px 12px;border-right:1px solid #e2e4e7}
.msd-access-matrix-head>span:last-child,.msd-access-matrix-row>*:last-child{border-right:0}
.msd-access-matrix-row{border-top:1px solid #e2e4e7}
.msd-access-matrix-row>label{display:flex;align-items:center;justify-content:center;gap:6px;margin:0;background:#fff}
.msd-access-matrix-row input[type=checkbox]{margin:0}
.msd-access-name{display:grid;gap:2px}.msd-access-name small{color:#646970;font-weight:400}
.msd-access-matrix-row .is-intrinsic-readonly{background:#f8fafc;color:#646970}
@media(max-width:700px){
  .msd-access-matrix{border:0;background:transparent;gap:10px;overflow:visible}
  .msd-access-matrix-head{display:none}
  .msd-access-matrix-row{grid-template-columns:1fr 1fr 1fr;border:1px solid #dcdcde;border-radius:10px;overflow:hidden;background:#fff}
  .msd-access-matrix-row>.msd-access-name{grid-column:1/-1;border-right:0;border-bottom:1px solid #e2e4e7;background:#f8fafc}
  .msd-access-matrix-row>label{border-right:1px solid #e2e4e7;padding:10px 8px;flex-direction:column;font-size:12px}
  .msd-access-matrix-row>label:nth-of-type(3){border-right:0}
  .msd-access-matrix-row>label:first-of-type:after{content:'Accès';display:block;font-size:11px;color:#646970}
}


/* =========================================================
   RC22 — Rapport SIRET en modale
   ========================================================= */
.msd-siret-report.is-compact{display:grid;gap:8px;min-width:0}
.msd-siret-report.is-compact .msd-siret-report-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;align-items:flex-start}
.msd-siret-report.is-compact .msd-siret-report-head>div{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.msd-siret-report.is-compact .msd-siret-summary{margin:0;font-size:12px;line-height:1.45}
.msd-siret-open-report{width:max-content;max-width:100%}
.msd-siret-dialog{width:min(920px,calc(100vw - 32px));max-width:920px;max-height:calc(100vh - 32px);padding:0;border:0;border-radius:16px;box-shadow:0 24px 80px rgba(15,23,42,.28);background:#fff;color:#1e293b;overflow:hidden}
.msd-siret-dialog::backdrop{background:rgba(15,23,42,.58);backdrop-filter:blur(2px)}
.msd-siret-dialog-panel{display:flex;flex-direction:column;max-height:calc(100vh - 32px)}
.msd-siret-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;border-bottom:1px solid #e2e8f0;background:#f8fafc}
.msd-siret-dialog-head>div{display:grid;gap:2px}.msd-siret-dialog-head strong{font-size:18px}.msd-siret-dialog-head span{font-size:12px;color:#64748b}
.msd-siret-dialog-close{appearance:none;border:0;background:#e2e8f0;color:#334155;border-radius:999px;width:36px;height:36px;display:grid;place-items:center;font-size:26px;line-height:1;cursor:pointer;flex:0 0 auto}
.msd-siret-dialog-close:hover{background:#cbd5e1;color:#0f172a}
.msd-siret-dialog-body{padding:20px;overflow:auto;overscroll-behavior:contain}
.msd-siret-dialog-body .msd-siret-report{margin:0!important;max-width:none!important;width:auto!important;padding:0!important;border:0!important;background:transparent!important}
.msd-siret-dialog-body .msd-siret-report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.msd-siret-dialog-body .msd-siret-report-grid>div{padding:12px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;min-width:0}
.msd-siret-dialog-body .msd-siret-report-grid .wide{grid-column:span 2}
.msd-siret-dialog-body .msd-siret-report-grid small{display:block;color:#64748b;font-size:10px;text-transform:uppercase;letter-spacing:.03em}
.msd-siret-dialog-body .msd-siret-report-grid strong{display:block;margin-top:4px;overflow-wrap:anywhere}
.msd-siret-dialog-body .msd-siret-comparison{margin-top:14px;padding:12px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}
.msd-siret-dialog-body .msd-siret-comparison h4{margin:0 0 8px}.msd-siret-dialog-body .msd-siret-comparison>div{display:flex;justify-content:space-between;gap:18px;padding:7px 0;border-top:1px solid #e8edf3}
.msd-siret-dialog-body .msd-siret-warnings{margin-top:14px;padding:12px;background:#fff8e8;border:1px solid #f5d690;border-radius:10px}
.msd-siret-dialog-body .msd-siret-source{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:14px;font-size:12px;color:#64748b}
body.msd-siret-modal-open{overflow:hidden}
@media(max-width:782px){
  .msd-siret-dialog{width:calc(100vw - 18px);max-height:calc(100vh - 18px);border-radius:14px}
  .msd-siret-dialog-panel{max-height:calc(100vh - 18px)}
  .msd-siret-dialog-head{padding:14px 16px}.msd-siret-dialog-head strong{font-size:16px}
  .msd-siret-dialog-body{padding:14px}
  .msd-siret-dialog-body .msd-siret-report-grid{grid-template-columns:1fr}
  .msd-siret-dialog-body .msd-siret-report-grid .wide{grid-column:auto}
  .msd-siret-dialog-body .msd-siret-comparison>div{display:grid;gap:4px}
}
