/* ============================================================================
   AZALYS — Thème premium unifié « Fiduciaire »
   ----------------------------------------------------------------------------
   Rôle : couche de design UNIQUE chargée EN DERNIER sur les deux surfaces
          (cockpit index.html + monolithe legacy-app.html).

   Principe : ce fichier ne touche NI au JS, NI au métier, NI à la mise en page
   fonctionnelle (largeur sidebar, positions, flux). Il redéfinit les variables
   CSS déjà consommées par l'app et n'ajuste que des propriétés visuelles
   (couleur, fond, bordure, rayon, ombre, typo, transitions).

   Direction : clair premium, cadre marine, accent or fiduciaire.
   - Canevas clair (tables/chiffres lisibles, sessions longues, impression).
   - Cadre marine profond (autorité, confiance).
   - Bleu électrique pour les actions.
   - Or, avec parcimonie, comme signature (état actif, KPI, badges premium).
   - Chiffres alignés (tabular-nums) dans les montants : détail « comptable ».

   Pour basculer en sombre : voir le bloc « VARIANTE SOMBRE » en bas (commenté).
   ============================================================================ */

/* ----------------------------------------------------------------------------
   1. TOKENS — palette nommée + remap de TOUTES les variables existantes
   (!important pour battre legacy-premium.css qui utilise déjà !important)
   ---------------------------------------------------------------------------- */
:root{
  /* Palette de marque (6 valeurs nommées) */
  --az-navy-900:#0a1830;
  --az-navy-700:#0f2244;   /* marine de marque */
  --az-navy-500:#173461;
  --az-primary:#2f6bff;    /* bleu d'action */
  --az-primary-600:#1f54e0;
  --az-gold:#c8932f;       /* accent fiduciaire (signature) */
  --az-gold-soft:#e7c66b;
  --az-canvas:#eef2f8;     /* fond applicatif */
  --az-ink:#15233b;        /* texte principal */
  --az-hairline:#dde5f0;   /* filets / bordures */

  /* Sémantique finance */
  --az-ok:#1f9d57;
  --az-danger:#dc3a3a;
  --az-warn:#d98a0b;
  --az-info:#2bb8e6;

  /* === Remap du système « classique » (app.css / legacy inline / core) === */
  --navy:var(--az-navy-700)!important;
  --blue:var(--az-primary)!important;
  --blue2:var(--az-primary-600)!important;
  --gold:var(--az-gold)!important;
  --purple:#6b54d6!important;
  --teal:#0f9d8e!important;
  --green:var(--az-ok)!important;
  --red:var(--az-danger)!important;

  --bg:var(--az-canvas)!important;
  --card:#ffffff!important;
  --white:#ffffff!important;
  --text:var(--az-ink)!important;
  --muted:#5a6b85!important;
  --line:var(--az-hairline)!important;

  --gray50:#f6f9fd!important;
  --gray100:#eef2f8!important;
  --gray200:#dde5f0!important;
  --gray300:#c4d0e2!important;
  --gray400:#8595ad!important;
  --gray600:#5a6b85!important;
  --gray800:#15233b!important;

  --shadow:0 1px 2px rgba(15,34,68,.06), 0 10px 28px rgba(15,34,68,.07)!important;
  --shadow-md:0 2px 6px rgba(15,34,68,.08), 0 22px 50px rgba(15,34,68,.12)!important;
  --radius:14px!important;
  --radius-lg:18px!important;

  /* === Remap du système premium cockpit (--az-* glass → clair solide) === */
  --az-bg-0:var(--az-canvas)!important;
  --az-bg-1:#e7edf7!important;
  --az-bg-2:#dce6f6!important;
  --az-glass:#ffffff!important;
  --az-glass-strong:#ffffff!important;
  --az-glass-dark:var(--az-navy-700)!important;
  --az-border:var(--az-hairline)!important;
  --az-border-soft:#e7edf5!important;
  --az-text:var(--az-ink)!important;
  --az-text-soft:#5a6b85!important;
  --az-accent:var(--az-primary)!important;
  --az-accent-2:var(--az-primary-600)!important;
  --az-cyan:var(--az-info)!important;
  --az-shadow-lg:0 2px 6px rgba(15,34,68,.08), 0 30px 70px rgba(15,34,68,.14)!important;
  --az-shadow-md:0 1px 4px rgba(15,34,68,.07), 0 18px 44px rgba(15,34,68,.11)!important;
  --az-radius-xl:22px!important;
  --az-radius-lg:18px!important;

  /* Filet doré utilitaire */
  --az-gold-line:linear-gradient(90deg, transparent, var(--az-gold) 18%, var(--az-gold-soft) 50%, var(--az-gold) 82%, transparent);
}

/* ----------------------------------------------------------------------------
   2. BASE — canevas, rendu police, sélection, ascenseurs, mouvement réduit
   ---------------------------------------------------------------------------- */
html, body{
  background:var(--az-canvas)!important;
  color:var(--az-ink);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body{
  font-family:"Inter","Segoe UI",system-ui,-apple-system,"Helvetica Neue",sans-serif;
  letter-spacing:.1px;
}
::selection{ background:rgba(47,107,255,.18); color:var(--az-navy-900); }

/* Ascenseurs fins et discrets */
*{ scrollbar-width:thin; scrollbar-color:#c4d0e2 transparent; }
*::-webkit-scrollbar{ width:10px; height:10px; }
*::-webkit-scrollbar-thumb{ background:#c8d3e4; border-radius:20px; border:2px solid transparent; background-clip:content-box; }
*::-webkit-scrollbar-thumb:hover{ background:#aebed6; background-clip:content-box; }
*::-webkit-scrollbar-track{ background:transparent; }

@media (prefers-reduced-motion: reduce){
  *{ transition:none!important; animation:none!important; }
}

/* ----------------------------------------------------------------------------
   3. TYPOGRAPHIE — titres serrés, micro-labels tracés, chiffres alignés
   ---------------------------------------------------------------------------- */
h1,h2,h3,.card-title,.card-head,.topbar-title,.modal-title{
  letter-spacing:-.01em;
  color:var(--az-ink);
}
a{ color:var(--az-primary); transition:color .15s ease; }
a:hover{ color:var(--az-primary-600); }

/* Détail comptable : montants à chiffres alignés */
td, .kpi-value, .amount, .montant, .total, [data-amount]{
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1;
}

/* ----------------------------------------------------------------------------
   4. CADRE DE MARQUE — sidebar marine, navigation, topbar (filet doré)
   (on garde largeur/position : on ne retouche que l'habillage)
   ---------------------------------------------------------------------------- */
html .sidebar{
  background:linear-gradient(185deg, var(--az-navy-700) 0%, var(--az-navy-900) 100%)!important;
  border-right:1px solid rgba(255,255,255,.06);
  box-shadow:2px 0 24px rgba(10,24,48,.18);
}
html .sidebar-logo{ border-bottom:1px solid rgba(255,255,255,.08)!important; }

/* Items de navigation (legacy .nav-item + cockpit .nav-btn) */
html .nav-item, html .nav-btn{
  color:rgba(226,234,247,.78)!important;
  border-radius:10px;
  margin:2px 10px;
  transition:background .16s ease, color .16s ease, box-shadow .16s ease;
}
html .nav-item:hover, html .nav-btn:hover{
  background:rgba(255,255,255,.07)!important;
  color:#fff!important;
}
html .nav-item.active, html .nav-btn.active, html .nav-btn.selected{
  background:linear-gradient(90deg, rgba(47,107,255,.28), rgba(47,107,255,.08))!important;
  color:#fff!important;
  border-left:3px solid var(--az-gold)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);
  font-weight:600!important;
}
html .nav-badge, html .nav-item .badge{
  background:var(--az-gold)!important; color:var(--az-navy-900)!important;
}

/* Topbar claire avec fin filet doré supérieur */
html .topbar{
  background:rgba(255,255,255,.92)!important;
  backdrop-filter:saturate(1.4) blur(8px);
  -webkit-backdrop-filter:saturate(1.4) blur(8px);
  border-bottom:1px solid var(--az-hairline)!important;
  box-shadow:0 1px 0 rgba(15,34,68,.02), 0 8px 24px rgba(15,34,68,.05)!important;
  position:relative;
}
html .topbar::before{
  content:""; position:absolute; left:0; right:0; top:0; height:2px;
  background:var(--az-gold-line); opacity:.85;
}
html .topbar-title{ color:var(--az-navy-700)!important; font-weight:700; }

/* ----------------------------------------------------------------------------
   5. CARTES
   ---------------------------------------------------------------------------- */
html .card, html .modal-card, html .alerts-summary-card{
  background:#ffffff!important;
  border:1px solid var(--az-hairline)!important;
  border-radius:var(--radius-lg)!important;
  box-shadow:var(--shadow)!important;
  transition:box-shadow .2s ease, border-color .2s ease, transform .2s ease;
}
html .card:hover{ box-shadow:var(--shadow-md)!important; }
html .card-header, html .card-head{
  border-bottom:1px solid var(--az-hairline)!important;
  background:linear-gradient(180deg, #ffffff, #fbfcff)!important;
}
html .card-title, html .card-head{ color:var(--az-navy-700)!important; font-weight:700; }

/* ----------------------------------------------------------------------------
   6. KPI — filet coloré + valeur en chiffres alignés
   ---------------------------------------------------------------------------- */
html .kpi{
  background:#ffffff!important;
  border:1px solid var(--az-hairline)!important;
  border-radius:var(--radius-lg)!important;
  box-shadow:var(--shadow)!important;
  border-left:4px solid var(--az-primary)!important;
  transition:transform .18s ease, box-shadow .18s ease;
}
html .kpi:hover{ transform:translateY(-2px); box-shadow:var(--shadow-md)!important; }
html .kpi.gold{ border-left-color:var(--az-gold)!important; }
html .kpi.green,  html .kpi.success{ border-left-color:var(--az-ok)!important; }
html .kpi.red,    html .kpi.danger { border-left-color:var(--az-danger)!important; }
html .kpi.warn,   html .kpi.amber  { border-left-color:var(--az-warn)!important; }
html .kpi-value{ color:var(--az-navy-700)!important; font-weight:800; letter-spacing:-.01em; }
html .kpi-label{ color:#5a6b85!important; text-transform:uppercase; letter-spacing:.06em; font-size:11px; font-weight:600; }
html .kpi-sub{ color:#8595ad!important; }
html .kpi-meter{ background:#e7edf7!important; border-radius:20px; overflow:hidden; }
html .kpi-meter > *{ background:linear-gradient(90deg, var(--az-primary), var(--az-info))!important; }

/* ----------------------------------------------------------------------------
   7. TABLEAUX
   ---------------------------------------------------------------------------- */
html .table-wrap{ border:1px solid var(--az-hairline); border-radius:14px; overflow:hidden; background:#fff; }
html th{
  background:#f4f7fc!important;
  color:#5a6b85!important;
  text-transform:uppercase; letter-spacing:.06em; font-size:11px; font-weight:700;
  border-bottom:1px solid var(--az-hairline)!important;
}
html td{ border-bottom:1px solid #eef2f8!important; color:var(--az-ink); }
html tbody tr{ transition:background .12s ease; }
html tbody tr:hover td{ background:#f6f9fd!important; }
html tbody tr:last-child td{ border-bottom:none!important; }

/* ----------------------------------------------------------------------------
   8. BOUTONS
   ---------------------------------------------------------------------------- */
html .btn{
  border-radius:11px!important;
  font-weight:600;
  letter-spacing:.1px;
  transition:transform .12s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease, color .16s ease;
}
html .btn:active{ transform:translateY(1px); }
html .btn:focus-visible{ outline:2px solid var(--az-gold); outline-offset:2px; }

html .btn-primary{
  background:linear-gradient(180deg, var(--az-primary), var(--az-primary-600))!important;
  border:1px solid var(--az-primary-600)!important;
  color:#fff!important;
  box-shadow:0 6px 16px rgba(47,107,255,.28);
}
html .btn-primary:hover{ box-shadow:0 10px 24px rgba(47,107,255,.36); filter:brightness(1.03); }

html .btn-ghost{
  background:#fff!important;
  border:1px solid var(--az-hairline)!important;
  color:var(--az-navy-700)!important;
}
html .btn-ghost:hover{ background:#f4f7fc!important; border-color:#c4d0e2!important; }

html .btn-success{ background:linear-gradient(180deg,#26b266,var(--az-ok))!important; border:1px solid #198a4b!important; color:#fff!important; box-shadow:0 6px 16px rgba(31,157,87,.26); }
html .btn-danger { background:linear-gradient(180deg,#e85555,var(--az-danger))!important; border:1px solid #b92f2f!important; color:#fff!important; box-shadow:0 6px 16px rgba(220,58,58,.24); }

/* Variante or (CTA premium ponctuel) */
html .btn-gold{ background:linear-gradient(180deg,var(--az-gold-soft),var(--az-gold))!important; border:1px solid #ad7d22!important; color:var(--az-navy-900)!important; box-shadow:0 6px 16px rgba(200,147,47,.28); }

/* ----------------------------------------------------------------------------
   9. FORMULAIRES
   ---------------------------------------------------------------------------- */
html .form-control, html .form-control-sm, html .select,
html input:not([type=checkbox]):not([type=radio]):not([type=range]),
html select, html textarea{
  border:1px solid var(--az-hairline)!important;
  border-radius:11px!important;
  background:#fff!important;
  color:var(--az-ink)!important;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
html .form-control:hover, html select:hover, html textarea:hover{ border-color:#c4d0e2!important; }
html .form-control:focus, html .select:focus,
html input:focus, html select:focus, html textarea:focus{
  outline:none!important;
  border-color:var(--az-primary)!important;
  box-shadow:0 0 0 3px rgba(47,107,255,.16)!important;
  background:#fff!important;
}
html label, html .form-group > label{ color:#5a6b85; font-weight:600; }

/* ----------------------------------------------------------------------------
   10. BADGES / TAGS / PUCES
   ---------------------------------------------------------------------------- */
html .badge, html .tag, html .pill{
  border-radius:999px!important;
  font-weight:600; letter-spacing:.2px;
  border:1px solid transparent;
}
html .badge{ background:#eef2f8!important; color:var(--az-navy-700)!important; }
html .badge-green,  html .badge.green { background:rgba(31,157,87,.12)!important;  color:#16753f!important;  border-color:rgba(31,157,87,.22)!important; }
html .badge-red,    html .badge.red   { background:rgba(220,58,58,.12)!important;  color:#a72727!important;  border-color:rgba(220,58,58,.22)!important; }
html .badge-gray,   html .badge.gray  { background:#eef2f8!important;              color:#5a6b85!important;  border-color:#dde5f0!important; }
html .badge-purple, html .badge.purple{ background:rgba(107,84,214,.12)!important; color:#5340b0!important;  border-color:rgba(107,84,214,.22)!important; }
html .badge-gold,   html .badge.gold  { background:rgba(200,147,47,.14)!important; color:#8a6418!important;  border-color:rgba(200,147,47,.30)!important; }

/* ----------------------------------------------------------------------------
   11. ALERTES
   ---------------------------------------------------------------------------- */
html .alert{ border-radius:13px!important; border:1px solid var(--az-hairline)!important; }
html .alert-info{  background:rgba(43,184,230,.08)!important;  border-color:rgba(43,184,230,.28)!important;  color:#0f6f8c!important; }
html .alert-warn{  background:rgba(217,138,11,.09)!important;   border-color:rgba(217,138,11,.30)!important;   color:#8a5a06!important; }
html .alert-danger,html .alert-error{ background:rgba(220,58,58,.08)!important; border-color:rgba(220,58,58,.26)!important; color:#a72727!important; }
html .alert-success{ background:rgba(31,157,87,.09)!important;  border-color:rgba(31,157,87,.28)!important;  color:#16753f!important; }

/* ----------------------------------------------------------------------------
   12. MODALES
   ---------------------------------------------------------------------------- */
html .modal-overlay{
  background:rgba(10,24,48,.46)!important;
  backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px);
}
html .modal, html .modal-card{
  border-radius:20px!important;
  border:1px solid var(--az-hairline)!important;
  box-shadow:0 30px 80px rgba(10,24,48,.30)!important;
  background:#fff!important;
}
html .modal-header, html .modal-head{
  border-bottom:1px solid var(--az-hairline)!important;
  background:linear-gradient(180deg,#fff,#fbfcff)!important;
}
html .modal-title{ color:var(--az-navy-700)!important; font-weight:700; }
html .modal-footer{ border-top:1px solid var(--az-hairline)!important; background:#fbfcff!important; }
html .modal-close{ color:#8595ad!important; transition:color .15s ease; }
html .modal-close:hover{ color:var(--az-danger)!important; }

/* ----------------------------------------------------------------------------
   13. ONGLETS
   ---------------------------------------------------------------------------- */
html .tabs{ border-bottom:1px solid var(--az-hairline)!important; gap:2px; }
html .tab{
  color:#5a6b85!important; font-weight:600;
  border-radius:10px 10px 0 0;
  transition:color .15s ease, background .15s ease, border-color .15s ease;
}
html .tab:hover{ background:#f4f7fc!important; color:var(--az-navy-700)!important; }
html .tab.active, html .tab.selected{
  color:var(--az-navy-700)!important;
  border-bottom:2px solid var(--az-gold)!important;
  background:#fff!important;
}

/* ----------------------------------------------------------------------------
   14. TOASTS
   ---------------------------------------------------------------------------- */
html .toast{
  border-radius:13px!important;
  border:1px solid var(--az-hairline)!important;
  box-shadow:0 16px 40px rgba(10,24,48,.20)!important;
  background:#fff!important; color:var(--az-ink)!important;
}

/* ----------------------------------------------------------------------------
   15. LOGIN — structure premium activée (markup premium-auth)
   La mise en page (champs à icône, espacement entre groupes, œil, ligne
   « se souvenir », bouton détaché) vient de auth-premium.css. Ici on empêche
   seulement la couche globale claire de « laver » les champs sombres du login.
   La spécificité id (#auth-screen) gagne sur les règles globales du thème.
   ---------------------------------------------------------------------------- */
/* Champs clairs et nets (comme la référence), avec gouttière dédiée à l'icône. */
#auth-screen .control{
  background:#ffffff!important;
  border:1px solid #dbe5f2!important;
  color:#15233b!important;
  box-shadow:0 1px 2px rgba(15,34,68,.05)!important;
  padding:0 22px 0 58px!important;        /* gouttière gauche dédiée à l'icône */
}
#auth-screen .password-wrap .control{ padding-right:64px!important; }  /* place pour l'œil */
#auth-screen .premium-input-wrap .input-icon{ left:22px!important; z-index:2!important; opacity:1!important; }
#auth-screen .control::placeholder{ color:#9aa8bf!important; }          /* gris lisible sur blanc */
#auth-screen .control:focus{
  border-color:#2f6bff!important;
  background:#ffffff!important;
  box-shadow:0 0 0 3px rgba(47,107,255,.16)!important;
}
#auth-screen .password-toggle{ color:#5a6b85!important; }               /* œil visible sur blanc */
/* Correctif V17.2 — login lisible : les champs restent blancs au focus.
   Anciennement, une règle en double remettait un fond bleu foncé au clic. */
#auth-screen .control:focus{
  border-color:#2f6bff!important;
  background:#ffffff!important;
  color:#15233b!important;
  box-shadow:0 0 0 3px rgba(47,107,255,.16)!important;
}
#auth-screen .control:-webkit-autofill,
#auth-screen .control:-webkit-autofill:hover,
#auth-screen .control:-webkit-autofill:focus{
  -webkit-text-fill-color:#15233b!important;
  caret-color:#15233b!important;
  box-shadow:0 0 0 1000px #ffffff inset, 0 0 0 3px rgba(47,107,255,.16)!important;
  border-color:#2f6bff!important;
}
#auth-screen .control{ caret-color:#15233b!important; }

/* ============================================================================
   VARIANTE SOMBRE (optionnelle) — décommenter pour un canevas marine sombre.
   ----------------------------------------------------------------------------
   :root{
     --az-canvas:#070f22!important;
     --bg:#070f22!important;
     --card:#0f1d39!important;
     --az-glass:#0f1d39!important;
     --az-glass-strong:#13234a!important;
     --az-ink:#e7eefb!important;
     --text:#e7eefb!important;
     --muted:#9fb0cd!important;
     --az-hairline:#1d3157!important;
     --line:#1d3157!important;
     --gray50:#0f1d39!important; --gray100:#0c1730!important; --gray200:#1d3157!important;
   }
   html .topbar{ background:rgba(15,29,57,.92)!important; }
   html th{ background:#0c1730!important; color:#9fb0cd!important; }
   html tbody tr:hover td{ background:#13234a!important; }
   ============================================================================ */


/* AZALYS V16.3 — correctif cadrage robot AI / mobile bottom sheet.
   Le panneau ne dépend plus de la position du bouton sur téléphone. */
.ai-floating-panel{
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.ai-floating-panel.hidden{display:none!important}
.ai-floating-chat{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
}
@media(max-width:720px){
  .ai-floating{right:16px!important;bottom:16px!important;z-index:99998!important}
  .ai-floating.is-user-positioned.panel-open{left:auto!important;top:auto!important;right:16px!important;bottom:16px!important}
  .ai-floating-panel{
    position:fixed!important;
    left:max(8px,env(safe-area-inset-left))!important;
    right:max(8px,env(safe-area-inset-right))!important;
    top:max(8px,env(safe-area-inset-top))!important;
    bottom:calc(76px + env(safe-area-inset-bottom))!important;
    width:auto!important;
    max-width:none!important;
    height:auto!important;
    max-height:none!important;
    border-radius:22px!important;
  }
  .ai-floating-head{flex:0 0 auto!important;padding:11px 12px!important}
  .ai-avatar{width:36px!important;height:36px!important;border-radius:13px!important}
  .ai-head-left strong{font-size:13px!important}
  .ai-head-left span{font-size:11px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px}
  .ai-head-actions .icon-btn{width:32px!important;height:32px!important}
  .ai-floating-context{flex:0 0 auto!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;padding:10px!important}
  .ai-floating-context .ai-agent-strip{grid-column:1/-1!important;margin-top:0!important;max-height:84px;overflow:auto;padding-bottom:1px}
  .ai-context-chip{padding:7px 5px!important;border-radius:14px!important}
  .ai-context-chip strong{font-size:14px!important}
  .ai-context-chip span{font-size:9px!important}
  .ai-floating-chat{flex:1 1 auto!important;min-height:0!important;max-height:none!important;padding:11px!important}
  .ai-float-msg{max-width:100%!important;font-size:12px!important;line-height:1.42!important;overflow-wrap:anywhere!important}
  .ai-floating-quick{flex:0 0 auto!important;padding:8px 10px!important;gap:7px!important;max-height:76px!important;overflow:auto!important}
  .ai-floating-quick .btn{padding:7px 9px!important;font-size:11px!important;min-height:34px!important}
  .ai-floating-compose{flex:0 0 auto!important;display:grid!important;grid-template-columns:minmax(0,1fr) 88px!important;padding:10px!important;gap:8px!important}
  .ai-floating-compose textarea{min-height:44px!important;max-height:84px!important;border-radius:14px!important}
  .ai-floating-compose .btn{width:100%!important;min-height:44px!important;padding:0 10px!important}
  .ai-floating-note{display:none!important}
}
@media(max-width:390px){
  .ai-head-left span{max-width:138px!important}
  .ai-floating-compose{grid-template-columns:minmax(0,1fr) 82px!important}
  .ai-floating-quick{max-height:70px!important}
}


/* ============================================================================
   AZALYS v17.13 — Harmonisation premium compacte de tout l'espace cabinet
   Objectif : même densité visuelle et même finition que l'espace client.
   Scope : uniquement cabinet/admin/collaborateur, sans modifier le portail client.
   ============================================================================ */

body:not(.role-client-dossier) #main-screen{
  background:
    radial-gradient(circle at 84% -5%, rgba(37,99,235,.12), transparent 32%),
    linear-gradient(180deg,#f6f9fe 0%,#edf3fb 100%);
}

/* Sidebar cabinet */
body:not(.role-client-dossier) #main-screen .side{
  width:100%;
  min-width:0;
  background:
    radial-gradient(circle at 20% 0%, rgba(96,165,250,.14), transparent 32%),
    linear-gradient(180deg,#061a38 0%,#071226 100%)!important;
  box-shadow:18px 0 48px rgba(15,23,42,.18)!important;
}
body:not(.role-client-dossier) #main-screen .side-brand{
  min-height:66px!important;
  padding:17px 16px!important;
  border-bottom:1px solid rgba(255,255,255,.10)!important;
}
body:not(.role-client-dossier) #main-screen .side-brand .brand-mark.small{
  font-size:25px!important;
}
body:not(.role-client-dossier) #main-screen .side-brand strong{
  font-size:16px!important;
  letter-spacing:.01em!important;
}
body:not(.role-client-dossier) #main-screen .side-brand span{
  color:rgba(226,232,240,.72)!important;
  font-size:11.5px!important;
}
body:not(.role-client-dossier) #main-screen .side-nav{
  padding:10px 9px!important;
  gap:5px!important;
}
body:not(.role-client-dossier) #main-screen .side-nav .nav-btn{
  min-height:41px!important;
  padding:10px 12px!important;
  border-radius:13px!important;
  display:flex!important;
  align-items:center!important;
  color:rgba(226,232,240,.76)!important;
  font-weight:850!important;
  font-size:13px!important;
  transition:background .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease!important;
}
body:not(.role-client-dossier) #main-screen .side-nav .nav-btn:hover{
  transform:translateX(2px)!important;
  background:rgba(59,130,246,.18)!important;
  color:#fff!important;
}
body:not(.role-client-dossier) #main-screen .side-nav .nav-btn.active{
  color:#fff!important;
  background:linear-gradient(135deg,rgba(37,99,235,.78),rgba(14,165,233,.44))!important;
  box-shadow:0 12px 26px rgba(37,99,235,.20)!important;
}
body:not(.role-client-dossier) #main-screen .side-nav .nav-btn.active::before{
  left:0!important;
  top:8px!important;
  bottom:8px!important;
  width:3px!important;
  background:#93c5fd!important;
}
body:not(.role-client-dossier) #main-screen .side-footer{
  padding:12px!important;
  gap:7px!important;
}
body:not(.role-client-dossier) #main-screen .side-footer .btn{
  min-height:38px!important;
  border-radius:13px!important;
}

/* Shell et topbar */
body:not(.role-client-dossier) #main-screen.main-shell{
  grid-template-columns:clamp(224px,15.5vw,270px) minmax(0,1fr)!important;
}
body:not(.role-client-dossier) #main-screen .main{
  min-width:0!important;
}
body:not(.role-client-dossier) #main-screen .topbar{
  min-height:58px!important;
  padding:10px clamp(16px,1.7vw,28px)!important;
  border-bottom:1px solid rgba(203,213,225,.78)!important;
  background:rgba(255,255,255,.86)!important;
  backdrop-filter:blur(18px)!important;
  box-shadow:0 8px 26px rgba(15,23,42,.06)!important;
}
body:not(.role-client-dossier) #main-screen .topbar h2{
  font-size:clamp(18px,1.5vw,23px)!important;
  letter-spacing:-.025em!important;
  line-height:1.12!important;
  color:#0b2347!important;
}
body:not(.role-client-dossier) #main-screen .topbar .eyebrow{
  font-size:10px!important;
  letter-spacing:.12em!important;
  color:#64748b!important;
}
body:not(.role-client-dossier) #main-screen .top-actions{
  gap:8px!important;
}
body:not(.role-client-dossier) #main-screen .status-pill{
  padding:6px 10px!important;
  min-height:32px!important;
  font-size:11.5px!important;
}

/* Vues cabinet : largeur et densité */
body:not(.role-client-dossier) #main-screen .view{
  width:100%!important;
  max-width:1760px!important;
  margin:0 auto!important;
  padding:clamp(15px,1.45vw,24px)!important;
}
body:not(.role-client-dossier) #main-screen .view.active{
  display:block!important;
}

/* Headers de page */
body:not(.role-client-dossier) #main-screen .hero,
body:not(.role-client-dossier) #main-screen .cockpit-hero,
body:not(.role-client-dossier) #main-screen .internal-hero,
body:not(.role-client-dossier) #main-screen .legal-hero,
body:not(.role-client-dossier) #main-screen .docs-inbox-hero,
body:not(.role-client-dossier) #main-screen .cabinet-inbox-hero,
body:not(.role-client-dossier) #main-screen .collab-hero-v28{
  border:1px solid rgba(191,219,254,.72)!important;
  border-radius:24px!important;
  background:
    radial-gradient(circle at 94% 0%, rgba(37,99,235,.13), transparent 34%),
    linear-gradient(135deg,#ffffff 0%,#eef6ff 100%)!important;
  box-shadow:0 18px 46px rgba(15,23,42,.07)!important;
  padding:18px 22px!important;
  margin-bottom:14px!important;
}
body:not(.role-client-dossier) #main-screen .hero h1,
body:not(.role-client-dossier) #main-screen .cockpit-hero h1,
body:not(.role-client-dossier) #main-screen .internal-hero h3,
body:not(.role-client-dossier) #main-screen .legal-hero h3,
body:not(.role-client-dossier) #main-screen .docs-inbox-hero h3,
body:not(.role-client-dossier) #main-screen .cabinet-inbox-hero h3,
body:not(.role-client-dossier) #main-screen .collab-hero-v28 h3{
  font-size:clamp(22px,1.9vw,31px)!important;
  line-height:1.1!important;
  letter-spacing:-.04em!important;
  margin:4px 0 6px!important;
  color:#0b2347!important;
}
body:not(.role-client-dossier) #main-screen .hero p,
body:not(.role-client-dossier) #main-screen .cockpit-hero p,
body:not(.role-client-dossier) #main-screen .internal-hero p,
body:not(.role-client-dossier) #main-screen .legal-hero p,
body:not(.role-client-dossier) #main-screen .docs-inbox-hero p,
body:not(.role-client-dossier) #main-screen .cabinet-inbox-hero p,
body:not(.role-client-dossier) #main-screen .collab-hero-v28 p{
  font-size:13px!important;
  line-height:1.42!important;
  color:#526981!important;
  margin:0!important;
}

/* Cartes, panneaux et listes */
body:not(.role-client-dossier) #main-screen .card,
body:not(.role-client-dossier) #main-screen .dashboard-panel,
body:not(.role-client-dossier) #main-screen .cockpit-modules,
body:not(.role-client-dossier) #main-screen .collab-pro-card,
body:not(.role-client-dossier) #main-screen .collab-card,
body:not(.role-client-dossier) #main-screen .legal-card,
body:not(.role-client-dossier) #main-screen .docs-inbox-filters,
body:not(.role-client-dossier) #main-screen .docs-inbox-list,
body:not(.role-client-dossier) #main-screen .cabinet-thread-panel,
body:not(.role-client-dossier) #main-screen .cabinet-side-card{
  border:1px solid rgba(203,213,225,.78)!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.92)!important;
  box-shadow:0 16px 42px rgba(15,23,42,.06)!important;
  backdrop-filter:blur(10px)!important;
}
body:not(.role-client-dossier) #main-screen .card:hover,
body:not(.role-client-dossier) #main-screen .dashboard-panel:hover,
body:not(.role-client-dossier) #main-screen .module-card:hover,
body:not(.role-client-dossier) #main-screen .kpi:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 20px 52px rgba(15,23,42,.08)!important;
}
body:not(.role-client-dossier) #main-screen .card-head,
body:not(.role-client-dossier) #main-screen .section-head,
body:not(.role-client-dossier) #main-screen .cabinet-thread-head{
  min-height:48px!important;
  padding:13px 16px!important;
  border-bottom:1px solid rgba(226,232,240,.86)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(248,251,255,.86))!important;
}
body:not(.role-client-dossier) #main-screen .card-head h3,
body:not(.role-client-dossier) #main-screen .section-head h3,
body:not(.role-client-dossier) #main-screen .cabinet-thread-head h3{
  font-size:15.5px!important;
  line-height:1.25!important;
  color:#0b2347!important;
  margin:0!important;
}

/* KPI et cartes métriques */
body:not(.role-client-dossier) #main-screen .kpi-grid,
body:not(.role-client-dossier) #main-screen .cockpit-kpis,
body:not(.role-client-dossier) #main-screen .docs-inbox-kpis,
body:not(.role-client-dossier) #main-screen .cabinet-inbox-kpis,
body:not(.role-client-dossier) #main-screen #collab-kpi-grid{
  gap:12px!important;
  margin-bottom:14px!important;
}
body:not(.role-client-dossier) #main-screen .kpi,
body:not(.role-client-dossier) #main-screen .docs-inbox-kpis .card,
body:not(.role-client-dossier) #main-screen .cabinet-inbox-kpis .card,
body:not(.role-client-dossier) #main-screen .collab-pro-kpi{
  min-height:104px!important;
  padding:14px 16px!important;
  border-radius:19px!important;
  border:1px solid rgba(203,213,225,.78)!important;
  background:linear-gradient(180deg,#ffffff,#f8fbff)!important;
  box-shadow:0 14px 32px rgba(15,23,42,.055)!important;
}
body:not(.role-client-dossier) #main-screen .kpi-value,
body:not(.role-client-dossier) #main-screen .docs-inbox-kpis strong,
body:not(.role-client-dossier) #main-screen .cabinet-inbox-kpis strong,
body:not(.role-client-dossier) #main-screen .collab-pro-kpi strong{
  font-size:clamp(24px,2vw,30px)!important;
  line-height:1!important;
  color:#0f2b55!important;
}
body:not(.role-client-dossier) #main-screen .kpi-label,
body:not(.role-client-dossier) #main-screen .docs-inbox-kpis span,
body:not(.role-client-dossier) #main-screen .cabinet-inbox-kpis span,
body:not(.role-client-dossier) #main-screen .collab-pro-kpi span{
  font-size:11px!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  color:#64748b!important;
}
body:not(.role-client-dossier) #main-screen .kpi-sub,
body:not(.role-client-dossier) #main-screen .docs-inbox-kpis small,
body:not(.role-client-dossier) #main-screen .cabinet-inbox-kpis small,
body:not(.role-client-dossier) #main-screen .collab-pro-kpi small{
  font-size:11.5px!important;
  color:#7b8ca5!important;
}

/* Boutons, formulaires et filtres */
body:not(.role-client-dossier) #main-screen .btn{
  min-height:36px!important;
  border-radius:12px!important;
  padding:8px 12px!important;
  font-size:12.5px!important;
  font-weight:900!important;
}
body:not(.role-client-dossier) #main-screen .btn.primary{
  background:linear-gradient(135deg,#2563eb,#3b82f6)!important;
  box-shadow:0 10px 22px rgba(37,99,235,.18)!important;
}
body:not(.role-client-dossier) #main-screen .btn.ghost{
  background:#f8fafc!important;
  border:1px solid rgba(203,213,225,.9)!important;
}
body:not(.role-client-dossier) #main-screen .control,
body:not(.role-client-dossier) #main-screen input,
body:not(.role-client-dossier) #main-screen select,
body:not(.role-client-dossier) #main-screen textarea{
  border-radius:13px!important;
}
body:not(.role-client-dossier) #main-screen .panel-tools,
body:not(.role-client-dossier) #main-screen .docs-inbox-actions,
body:not(.role-client-dossier) #main-screen .cabinet-inbox-actions,
body:not(.role-client-dossier) #main-screen .hero-actions,
body:not(.role-client-dossier) #main-screen .internal-hero-actions{
  gap:9px!important;
}

/* Tables */
body:not(.role-client-dossier) #main-screen .table-wrap{
  border-radius:20px!important;
  border:1px solid rgba(226,232,240,.9)!important;
  background:#fff!important;
}
body:not(.role-client-dossier) #main-screen table{
  font-size:13px!important;
}
body:not(.role-client-dossier) #main-screen th{
  padding:10px 12px!important;
  background:#f8fbff!important;
  color:#64748b!important;
  font-size:10.5px!important;
}
body:not(.role-client-dossier) #main-screen td{
  padding:10px 12px!important;
}
body:not(.role-client-dossier) #main-screen tr:hover td{
  background:#f8fbff!important;
}

/* Accueil cockpit */
body:not(.role-client-dossier) #main-screen .home-view{
  padding:clamp(15px,1.45vw,24px)!important;
}
body:not(.role-client-dossier) #main-screen .cockpit-hero{
  grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr)!important;
}
body:not(.role-client-dossier) #main-screen .cockpit-aside{
  gap:10px!important;
}
body:not(.role-client-dossier) #main-screen .cockpit-mini{
  border-radius:16px!important;
  padding:11px 12px!important;
}
body:not(.role-client-dossier) #main-screen .cockpit-grid{
  gap:14px!important;
}
body:not(.role-client-dossier) #main-screen .home-module-grid,
body:not(.role-client-dossier) #main-screen .modules-grid{
  gap:12px!important;
  padding:16px!important;
  grid-template-columns:repeat(auto-fit,minmax(205px,1fr))!important;
}
body:not(.role-client-dossier) #main-screen .home-module-card,
body:not(.role-client-dossier) #main-screen .module-card{
  min-height:130px!important;
  padding:14px!important;
  border-radius:18px!important;
}
body:not(.role-client-dossier) #main-screen .home-module-icon,
body:not(.role-client-dossier) #main-screen .module-card .ico{
  width:40px!important;
  height:40px!important;
  border-radius:14px!important;
  font-size:21px!important;
}
body:not(.role-client-dossier) #main-screen .home-module-title,
body:not(.role-client-dossier) #main-screen .module-card h4{
  font-size:14px!important;
}

/* Dossiers */
body:not(.role-client-dossier) #main-screen .dossiers-overview,
body:not(.role-client-dossier) #main-screen #dossiers-overview{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important;
  gap:12px!important;
  margin-bottom:14px!important;
}
body:not(.role-client-dossier) #main-screen .dossier-overview-card{
  min-height:94px!important;
  padding:14px 15px!important;
  border-radius:18px!important;
  border:1px solid rgba(203,213,225,.78)!important;
  background:linear-gradient(180deg,#fff,#f8fbff)!important;
  box-shadow:0 12px 28px rgba(15,23,42,.05)!important;
}
body:not(.role-client-dossier) #main-screen .dossier-overview-card strong{
  font-size:26px!important;
}

/* Collaborateurs */
body:not(.role-client-dossier) #main-screen .collab-command-center{
  gap:14px!important;
  max-width:1760px!important;
}
body:not(.role-client-dossier) #main-screen .collab-pro-tabs{
  padding:6px!important;
  border-radius:18px!important;
  gap:6px!important;
}
body:not(.role-client-dossier) #main-screen .collab-pro-tabs button{
  padding:9px 12px!important;
  border-radius:13px!important;
  font-size:12.5px!important;
}
body:not(.role-client-dossier) #main-screen .collab-cards-list,
body:not(.role-client-dossier) #main-screen .collab-team-grid{
  gap:12px!important;
}
body:not(.role-client-dossier) #main-screen .collab-user-card,
body:not(.role-client-dossier) #main-screen .collab-card{
  border-radius:19px!important;
  padding:14px!important;
}

/* Messagerie interne */
body:not(.role-client-dossier) #main-screen .internal-messaging{
  gap:14px!important;
}
body:not(.role-client-dossier) #main-screen .internal-workspace{
  grid-template-columns:minmax(260px,320px) minmax(0,1fr)!important;
  gap:14px!important;
}
body:not(.role-client-dossier) #main-screen .internal-contacts-panel,
body:not(.role-client-dossier) #main-screen .internal-thread-panel{
  min-height:calc(100vh - 210px)!important;
  border-radius:22px!important;
}
body:not(.role-client-dossier) #main-screen .internal-thread-body{
  max-height:calc(100vh - 390px)!important;
}
body:not(.role-client-dossier) #main-screen .internal-message-bubble,
body:not(.role-client-dossier) #main-screen .internal-bubble{
  border-radius:18px!important;
  padding:11px 13px!important;
}

/* Messages clients cabinet */
body:not(.role-client-dossier) #main-screen .cabinet-inbox{
  gap:14px!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-inbox-workspace{
  grid-template-columns:minmax(0,1fr) 300px!important;
  gap:14px!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-thread-stack{
  min-height:320px!important;
  max-height:calc(100vh - 385px)!important;
  gap:12px!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-thread-card{
  border-radius:20px!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-thread-titlebar{
  padding:13px 15px!important;
  border-radius:0!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-thread-avatar{
  width:40px!important;
  height:40px!important;
  border-radius:14px!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-chat-bubble{
  padding:10px 12px!important;
  border-radius:17px!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-inbox-side{
  top:78px!important;
}

/* Pièces clients */
body:not(.role-client-dossier) #main-screen .docs-inbox{
  display:grid!important;
  gap:14px!important;
}
body:not(.role-client-dossier) #main-screen .docs-inbox-workspace{
  grid-template-columns:280px minmax(0,1fr)!important;
  gap:14px!important;
}
body:not(.role-client-dossier) #main-screen .docs-inbox-filters{
  padding:14px!important;
}
body:not(.role-client-dossier) #main-screen .docs-filter{
  min-height:38px!important;
  border-radius:13px!important;
  padding:9px 11px!important;
  font-size:12.5px!important;
}
body:not(.role-client-dossier) #main-screen .docs-inbox-list{
  padding:14px!important;
}
body:not(.role-client-dossier) #main-screen .doc-card,
body:not(.role-client-dossier) #main-screen .docs-doc-card{
  border-radius:19px!important;
  padding:14px!important;
}

/* Juridique */
body:not(.role-client-dossier) #main-screen .legal-shell{
  gap:14px!important;
}
body:not(.role-client-dossier) #main-screen .legal-layout,
body:not(.role-client-dossier) #main-screen .legal-workspace{
  gap:14px!important;
}
body:not(.role-client-dossier) #main-screen .legal-card,
body:not(.role-client-dossier) #main-screen .legal-detail-card{
  border-radius:22px!important;
}
body:not(.role-client-dossier) #main-screen .legal-list,
body:not(.role-client-dossier) #main-screen .legal-detail-body{
  padding:14px!important;
}

/* Alertes */
body:not(.role-client-dossier) #main-screen .alerts-summary-card{
  padding:16px!important;
  border-radius:22px!important;
  box-shadow:0 14px 36px rgba(15,23,42,.06)!important;
}

/* Modales cabinet */
body:not(.role-client-dossier) .modal-card{
  border-radius:22px!important;
  border:1px solid rgba(203,213,225,.88)!important;
  box-shadow:0 30px 90px rgba(15,23,42,.24)!important;
}
body:not(.role-client-dossier) .modal-head{
  margin-bottom:13px!important;
}
body:not(.role-client-dossier) .modal-head h3{
  font-size:19px!important;
}

/* Responsive cabinet */
@media(max-width:1180px){
  body:not(.role-client-dossier) #main-screen .cockpit-hero,
  body:not(.role-client-dossier) #main-screen .internal-workspace,
  body:not(.role-client-dossier) #main-screen .cabinet-inbox-workspace,
  body:not(.role-client-dossier) #main-screen .docs-inbox-workspace{
    grid-template-columns:1fr!important;
  }
  body:not(.role-client-dossier) #main-screen .cabinet-inbox-side{
    position:relative!important;
    top:auto!important;
  }
}
@media(max-width:1000px){
  body:not(.role-client-dossier) #main-screen.main-shell{
    grid-template-columns:1fr!important;
  }
  body:not(.role-client-dossier) #main-screen .side{
    position:relative!important;
    height:auto!important;
  }
  body:not(.role-client-dossier) #main-screen .side-nav{
    flex-direction:row!important;
    overflow:auto!important;
    padding-bottom:10px!important;
  }
  body:not(.role-client-dossier) #main-screen .side-nav .nav-btn{
    white-space:nowrap!important;
  }
}
@media(max-width:720px){
  body:not(.role-client-dossier) #main-screen .view{
    padding:14px!important;
  }
  body:not(.role-client-dossier) #main-screen .topbar{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  body:not(.role-client-dossier) #main-screen .top-actions,
  body:not(.role-client-dossier) #main-screen .top-actions .btn{
    width:100%!important;
  }
  body:not(.role-client-dossier) #main-screen .hero,
  body:not(.role-client-dossier) #main-screen .cockpit-hero,
  body:not(.role-client-dossier) #main-screen .internal-hero,
  body:not(.role-client-dossier) #main-screen .legal-hero,
  body:not(.role-client-dossier) #main-screen .docs-inbox-hero,
  body:not(.role-client-dossier) #main-screen .cabinet-inbox-hero,
  body:not(.role-client-dossier) #main-screen .collab-hero-v28{
    align-items:flex-start!important;
    flex-direction:column!important;
    padding:16px!important;
  }
}


/* ============================================================================
   AZALYS v17.14 — Hotfix cabinet : masquer définitivement les menus client
   et compacter le cockpit principal.
   ============================================================================ */

/* 1) Priorité absolue : les menus client ne doivent JAMAIS apparaître côté cabinet */
body:not(.role-client-dossier) #main-screen .side-nav .nav-btn.client-only,
body:not(.role-client-dossier) #main-screen .side-nav .nav-btn[data-view="client"],
body:not(.role-client-dossier) #main-screen .side-nav .nav-btn[data-view^="client-"],
body:not(.role-client-dossier) #main-screen .side-nav .nav-btn.hidden.client-only,
body:not(.role-client-dossier) #main-screen .side-nav .nav-btn.hidden[data-view^="client-"]{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* En revanche, côté client, seuls les menus client doivent rester visibles */
body.role-client-dossier #main-screen .side-nav .nav-btn:not(.client-only):not([data-view^="client-"]),
body.role-client-dossier #main-screen .side-nav .nav-btn[data-view="dashboard"],
body.role-client-dossier #main-screen .side-nav .nav-btn[data-view="dossiers"],
body.role-client-dossier #main-screen .side-nav .nav-btn[data-view="modules"],
body.role-client-dossier #main-screen .side-nav .nav-btn[data-view="taches"],
body.role-client-dossier #main-screen .side-nav .nav-btn[data-view="legal-internal"],
body.role-client-dossier #main-screen .side-nav .nav-btn[data-view="internal-messages"],
body.role-client-dossier #main-screen .side-nav .nav-btn[data-view="cabinet-messages"],
body.role-client-dossier #main-screen .side-nav .nav-btn[data-view="pieces-client"],
body.role-client-dossier #main-screen .side-nav .nav-btn[data-view="collaborateurs"],
body.role-client-dossier #main-screen .side-nav .nav-btn[data-view="alerts"],
body.role-client-dossier #main-screen .side-nav .nav-btn[data-view="settings"]{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* 2) Cockpit principal cabinet : moins massif, plus lisible */
body:not(.role-client-dossier) #view-dashboard.home-view{
  padding-top:14px!important;
}
body:not(.role-client-dossier) #main-screen .cockpit-hero{
  min-height:170px!important;
  max-width:1220px!important;
  margin:0 auto 16px!important;
  padding:20px 24px!important;
  grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr)!important;
  align-items:center!important;
  background:
    radial-gradient(circle at 90% 0%, rgba(37,99,235,.13), transparent 30%),
    linear-gradient(135deg,#ffffff 0%,#f7fbff 60%,#eaf4ff 100%)!important;
}
body:not(.role-client-dossier) #main-screen .cockpit-hero h1{
  color:#0b2347!important;
  font-size:clamp(24px,2vw,34px)!important;
  line-height:1.08!important;
  text-shadow:none!important;
}
body:not(.role-client-dossier) #main-screen .cockpit-hero h1 strong,
body:not(.role-client-dossier) #main-screen .cockpit-hero .highlight,
body:not(.role-client-dossier) #main-screen .cockpit-hero .accent{
  color:#2563eb!important;
  opacity:1!important;
}
body:not(.role-client-dossier) #main-screen .cockpit-hero .muted,
body:not(.role-client-dossier) #main-screen .cockpit-hero p{
  color:#475569!important;
  opacity:1!important;
}
body:not(.role-client-dossier) #main-screen .cockpit-hero .cockpit-stats,
body:not(.role-client-dossier) #main-screen .cockpit-quick,
body:not(.role-client-dossier) #main-screen .cockpit-actions{
  margin-top:14px!important;
  gap:9px!important;
}
body:not(.role-client-dossier) #main-screen .cockpit-hero .btn{
  min-height:36px!important;
  padding:8px 12px!important;
}
body:not(.role-client-dossier) #main-screen .cockpit-aside{
  max-width:360px!important;
}
body:not(.role-client-dossier) #main-screen .cockpit-aside .cockpit-card,
body:not(.role-client-dossier) #main-screen .cockpit-live,
body:not(.role-client-dossier) #main-screen .cockpit-pools{
  min-height:0!important;
  padding:14px!important;
  border-radius:19px!important;
}
body:not(.role-client-dossier) #main-screen .cockpit-mini{
  min-height:58px!important;
  padding:10px 12px!important;
  opacity:1!important;
}

/* 3) Resserrement général de la première ligne cabinet */
body:not(.role-client-dossier) #main-screen .cockpit-kpis,
body:not(.role-client-dossier) #main-screen .kpi-grid.cockpit-kpis{
  margin-top:0!important;
}
body:not(.role-client-dossier) #main-screen .home-view .kpi{
  min-height:100px!important;
  padding:14px 16px!important;
}

/* 4) Sécurité contre toute règle future trop globale */
body:not(.role-client-dossier) .client-only.hidden,
body:not(.role-client-dossier) [data-view^="client-"].hidden{
  display:none!important;
}


/* ============================================================================
   AZALYS v17.16 — vrai premium cabinet contrasté
   Objectif : appliquer le même principe que l'espace client :
   lisibilité forte, cartes blanches, textes foncés, accents bleus nets.
   ============================================================================ */
body:not(.role-client-dossier) #main-screen{
  --cab-text:#0b2347;
  --cab-text-soft:#445b75;
  --cab-text-muted:#6b7f96;
  --cab-panel:#ffffff;
  --cab-panel-soft:#f7fbff;
  --cab-border:#dbe7f5;
  --cab-shadow:0 16px 42px rgba(15,23,42,.07);
  --cab-shadow-hover:0 22px 54px rgba(15,23,42,.10);
}

body:not(.role-client-dossier) #main-screen .topbar h2,
body:not(.role-client-dossier) #main-screen .card-head h3,
body:not(.role-client-dossier) #main-screen .section-head h3,
body:not(.role-client-dossier) #main-screen .item-title,
body:not(.role-client-dossier) #main-screen .home-module-title,
body:not(.role-client-dossier) #main-screen .module-card h4,
body:not(.role-client-dossier) #main-screen .kpi-value,
body:not(.role-client-dossier) #main-screen .dossier-overview-card strong,
body:not(.role-client-dossier) #main-screen .btn,
body:not(.role-client-dossier) #main-screen strong{
  color:var(--cab-text)!important;
}

body:not(.role-client-dossier) #main-screen .eyebrow,
body:not(.role-client-dossier) #main-screen .kpi-label,
body:not(.role-client-dossier) #main-screen .card-head small,
body:not(.role-client-dossier) #main-screen .section-head small,
body:not(.role-client-dossier) #main-screen .item-sub,
body:not(.role-client-dossier) #main-screen .kpi-sub,
body:not(.role-client-dossier) #main-screen .home-module-desc,
body:not(.role-client-dossier) #main-screen .mini-lbl,
body:not(.role-client-dossier) #main-screen .muted,
body:not(.role-client-dossier) #main-screen p,
body:not(.role-client-dossier) #main-screen small,
body:not(.role-client-dossier) #main-screen span{
  color:var(--cab-text-soft);
}

/* Sidebar plus nette */
body:not(.role-client-dossier) #main-screen .side{
  background:linear-gradient(180deg,#082145 0%,#06152d 100%)!important;
}
body:not(.role-client-dossier) #main-screen .side-nav .nav-btn{
  color:rgba(255,255,255,.88)!important;
  background:transparent!important;
}
body:not(.role-client-dossier) #main-screen .side-nav .nav-btn:hover{
  background:rgba(59,130,246,.18)!important;
  color:#fff!important;
}
body:not(.role-client-dossier) #main-screen .side-footer .btn{
  background:rgba(255,255,255,.96)!important;
  color:#0b2347!important;
  border:1px solid rgba(191,219,254,.9)!important;
}

/* Hero cockpit comme côté client : blanc, net, lisible */
body:not(.role-client-dossier) #main-screen .hero,
body:not(.role-client-dossier) #main-screen .cockpit-hero,
body:not(.role-client-dossier) #main-screen .internal-hero,
body:not(.role-client-dossier) #main-screen .legal-hero,
body:not(.role-client-dossier) #main-screen .docs-inbox-hero,
body:not(.role-client-dossier) #main-screen .cabinet-inbox-hero,
body:not(.role-client-dossier) #main-screen .collab-hero-v28{
  background:
    radial-gradient(circle at 100% 0%, rgba(37,99,235,.10), transparent 33%),
    linear-gradient(180deg,#ffffff 0%,#f7fbff 100%)!important;
  border:1px solid var(--cab-border)!important;
  box-shadow:var(--cab-shadow)!important;
}
body:not(.role-client-dossier) #main-screen .hero h1,
body:not(.role-client-dossier) #main-screen .cockpit-hero h1,
body:not(.role-client-dossier) #main-screen .internal-hero h3,
body:not(.role-client-dossier) #main-screen .legal-hero h3,
body:not(.role-client-dossier) #main-screen .docs-inbox-hero h3,
body:not(.role-client-dossier) #main-screen .cabinet-inbox-hero h3,
body:not(.role-client-dossier) #main-screen .collab-hero-v28 h3{
  color:var(--cab-text)!important;
  text-shadow:none!important;
}
body:not(.role-client-dossier) #main-screen .cockpit-hero h1 span,
body:not(.role-client-dossier) #main-screen .cockpit-hero .highlight,
body:not(.role-client-dossier) #main-screen .cockpit-hero .accent{
  color:#8ab4fb!important;
}
body:not(.role-client-dossier) #main-screen .cockpit-chip{
  background:#f8fbff!important;
  border:1px solid var(--cab-border)!important;
  color:var(--cab-text)!important;
  box-shadow:0 8px 22px rgba(15,23,42,.04)!important;
}
body:not(.role-client-dossier) #main-screen .cockpit-chip .ic,
body:not(.role-client-dossier) #main-screen .cockpit-chip b{
  color:var(--cab-text)!important;
}
body:not(.role-client-dossier) #main-screen .cockpit-mini,
body:not(.role-client-dossier) #main-screen .cockpit-live,
body:not(.role-client-dossier) #main-screen .cockpit-pools,
body:not(.role-client-dossier) #main-screen .cockpit-aside .cockpit-card{
  background:linear-gradient(180deg,#ffffff,#f8fbff)!important;
  border:1px solid var(--cab-border)!important;
  box-shadow:0 12px 30px rgba(15,23,42,.05)!important;
}
body:not(.role-client-dossier) #main-screen .cockpit-mini .mini-val{
  color:var(--cab-text)!important;
  font-size:20px!important;
}
body:not(.role-client-dossier) #main-screen .cockpit-mini .mini-lbl,
body:not(.role-client-dossier) #main-screen .cockpit-mini .mini-txt,
body:not(.role-client-dossier) #main-screen .cockpit-live small,
body:not(.role-client-dossier) #main-screen .cockpit-pools small{
  color:var(--cab-text-soft)!important;
}
body:not(.role-client-dossier) #main-screen .cockpit-live .badge,
body:not(.role-client-dossier) #main-screen .cockpit-pools .badge{
  background:#dcfce7!important;
  color:#15803d!important;
}

/* Cartes cabinet : plus de contraste */
body:not(.role-client-dossier) #main-screen .card,
body:not(.role-client-dossier) #main-screen .dashboard-panel,
body:not(.role-client-dossier) #main-screen .cockpit-modules,
body:not(.role-client-dossier) #main-screen .collab-pro-card,
body:not(.role-client-dossier) #main-screen .collab-card,
body:not(.role-client-dossier) #main-screen .legal-card,
body:not(.role-client-dossier) #main-screen .docs-inbox-filters,
body:not(.role-client-dossier) #main-screen .docs-inbox-list,
body:not(.role-client-dossier) #main-screen .cabinet-thread-panel,
body:not(.role-client-dossier) #main-screen .cabinet-side-card,
body:not(.role-client-dossier) #main-screen .home-module-card,
body:not(.role-client-dossier) #main-screen .module-card,
body:not(.role-client-dossier) #main-screen .dossier-overview-card,
body:not(.role-client-dossier) #main-screen .item,
body:not(.role-client-dossier) #main-screen .alert-item,
body:not(.role-client-dossier) #main-screen .internal-contact,
body:not(.role-client-dossier) #main-screen .internal-thread-panel,
body:not(.role-client-dossier) #main-screen .internal-contacts-panel{
  background:var(--cab-panel)!important;
  border:1px solid var(--cab-border)!important;
  box-shadow:var(--cab-shadow)!important;
}
body:not(.role-client-dossier) #main-screen .card:hover,
body:not(.role-client-dossier) #main-screen .dashboard-panel:hover,
body:not(.role-client-dossier) #main-screen .home-module-card:hover,
body:not(.role-client-dossier) #main-screen .module-card:hover,
body:not(.role-client-dossier) #main-screen .item:hover{
  box-shadow:var(--cab-shadow-hover)!important;
}
body:not(.role-client-dossier) #main-screen .card-head,
body:not(.role-client-dossier) #main-screen .section-head,
body:not(.role-client-dossier) #main-screen .cabinet-thread-head{
  background:linear-gradient(180deg,#ffffff,#f8fbff)!important;
}

/* KPI plus lisibles */
body:not(.role-client-dossier) #main-screen .kpi{
  background:linear-gradient(180deg,#ffffff,#f8fbff)!important;
  border:1px solid var(--cab-border)!important;
}
body:not(.role-client-dossier) #main-screen .kpi-label,
body:not(.role-client-dossier) #main-screen .kpi-label .ic{
  color:#60758d!important;
}
body:not(.role-client-dossier) #main-screen .kpi-meter{ background:#e6eef9!important; }

/* Boutons comme le client */
body:not(.role-client-dossier) #main-screen .btn.primary,
body:not(.role-client-dossier) #main-screen .btn.blue,
body:not(.role-client-dossier) #main-screen .btn.btn-primary{
  color:#fff!important;
  background:linear-gradient(135deg,#2563eb,#3b82f6)!important;
  border:1px solid rgba(37,99,235,.32)!important;
  box-shadow:0 12px 26px rgba(37,99,235,.18)!important;
}
body:not(.role-client-dossier) #main-screen .btn.ghost,
body:not(.role-client-dossier) #main-screen .btn.secondary{
  color:var(--cab-text)!important;
  background:#fff!important;
  border:1px solid var(--cab-border)!important;
}

/* Listes dossier / alertes */
body:not(.role-client-dossier) #main-screen .item-title{font-size:15px!important;color:var(--cab-text)!important;}
body:not(.role-client-dossier) #main-screen .item-sub{font-size:12.5px!important;color:var(--cab-text-soft)!important;}
body:not(.role-client-dossier) #main-screen .badges .badge,
body:not(.role-client-dossier) #main-screen .badge{
  border:1px solid rgba(203,213,225,.9)!important;
  color:#2c4763!important;
}
body:not(.role-client-dossier) #main-screen .badge.blue{background:#e8f1ff!important;color:#1853c6!important;border-color:#cfe0ff!important;}
body:not(.role-client-dossier) #main-screen .badge.green{background:#e9f9ef!important;color:#18794e!important;border-color:#c7ecd5!important;}
body:not(.role-client-dossier) #main-screen .badge.red{background:#ffeded!important;color:#b42318!important;border-color:#ffd5d1!important;}
body:not(.role-client-dossier) #main-screen .badge.gold{background:#fff5dc!important;color:#9a6700!important;border-color:#f3dfaa!important;}
body:not(.role-client-dossier) #main-screen .badge.purple{background:#f1ebff!important;color:#6540d6!important;border-color:#ddd0ff!important;}

/* Tables et formulaires */
body:not(.role-client-dossier) #main-screen .table-wrap,
body:not(.role-client-dossier) #main-screen table,
body:not(.role-client-dossier) #main-screen .control,
body:not(.role-client-dossier) #main-screen input,
body:not(.role-client-dossier) #main-screen select,
body:not(.role-client-dossier) #main-screen textarea{
  color:var(--cab-text)!important;
}
body:not(.role-client-dossier) #main-screen input::placeholder,
body:not(.role-client-dossier) #main-screen textarea::placeholder{
  color:#8fa1b5!important;
}

/* Flottants AI / messages visibles sur fond clair */
body:not(.role-client-dossier) #main-screen .cabinet-chat-btn::after,
body:not(.role-client-dossier) #main-screen .client-chat-btn::after{
  background:rgba(11,35,71,.92)!important;
}


/* ============================================================================
   AZALYS v17.17 — Cockpit cabinet pleine largeur utile
   Le bloc de pilotage haut s'aligne maintenant sur les KPI et les panneaux.
   ============================================================================ */

body:not(.role-client-dossier) #view-dashboard.home-view{
  max-width:1760px!important;
  margin:0 auto!important;
}

body:not(.role-client-dossier) #main-screen #view-dashboard .cockpit-hero{
  width:100%!important;
  max-width:none!important;
  margin:0 0 18px 0!important;
  box-sizing:border-box!important;
  grid-template-columns:minmax(0,1fr) minmax(300px,390px)!important;
}

body:not(.role-client-dossier) #main-screen #view-dashboard .cockpit-hero > *{
  min-width:0!important;
}

body:not(.role-client-dossier) #main-screen #view-dashboard .cockpit-aside{
  width:100%!important;
  max-width:none!important;
}

body:not(.role-client-dossier) #main-screen #view-dashboard .cockpit-pulse,
body:not(.role-client-dossier) #main-screen #view-dashboard .cockpit-quick,
body:not(.role-client-dossier) #main-screen #view-dashboard .cockpit-actions{
  max-width:100%!important;
}

body:not(.role-client-dossier) #main-screen #view-dashboard #kpi-grid,
body:not(.role-client-dossier) #main-screen #view-dashboard .grid.two,
body:not(.role-client-dossier) #main-screen #view-dashboard .cockpit-grid{
  width:100%!important;
}

/* Large écran : le cockpit occupe bien la ligne, sans paraître collé */
@media(min-width:1500px){
  body:not(.role-client-dossier) #main-screen #view-dashboard .cockpit-hero{
    grid-template-columns:minmax(0,1fr) minmax(340px,430px)!important;
    padding:22px 26px!important;
  }
}

/* Écran moyen : garder la lisibilité sans bloc écrasé */
@media(max-width:1180px){
  body:not(.role-client-dossier) #main-screen #view-dashboard .cockpit-hero{
    grid-template-columns:1fr!important;
  }
}

/* Harmonisation visuelle : le haut ne doit pas attirer plus que le contenu */
body:not(.role-client-dossier) #main-screen #view-dashboard .cockpit-hero{
  min-height:150px!important;
}

body:not(.role-client-dossier) #main-screen #view-dashboard .cockpit-mini{
  min-height:54px!important;
}


/* ============================================================================
   AZALYS v17.19 — Missions & tâches pour cabinet de taille humaine
   ============================================================================ */
body:not(.role-client-dossier) #view-taches.missions-human-view{
  max-width:1760px!important;
  margin:0 auto!important;
}
.mission-human{
  display:grid;
  gap:14px;
}
.mission-human.hidden{display:none!important;}
.mission-human-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 22px!important;
  background:linear-gradient(180deg,#ffffff,#f7fbff)!important;
  border:1px solid #dbe7f5!important;
  border-radius:24px!important;
}
.mission-human-hero h3{
  margin:4px 0 6px;
  color:#0b2347;
  font-size:clamp(24px,2vw,32px);
  letter-spacing:-.04em;
}
.mission-human-actions{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.mission-filterbar{
  display:grid;
  grid-template-columns:minmax(280px,1fr) minmax(180px,220px) minmax(180px,240px);
  gap:10px;
  padding:12px!important;
  border-radius:20px!important;
}
.mission-priority-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.8fr) minmax(260px,.65fr);
  gap:14px;
  align-items:start;
}
.mission-bottom-grid{
  display:grid;
  grid-template-columns:minmax(340px,.8fr) minmax(0,1.2fr);
  gap:14px;
  align-items:start;
}
.mission-focus-card,
.mission-projects-card,
.mission-table-card{
  overflow:hidden;
}
.mission-action-list{
  display:grid;
  gap:10px;
  padding:14px;
}
.mission-action-card{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:13px;
  border:1px solid #dbe7f5;
  border-radius:18px;
  background:linear-gradient(180deg,#fff,#f8fbff);
  box-shadow:0 10px 24px rgba(15,23,42,.045);
}
.mission-action-card.tone-red{border-color:#fecaca;background:linear-gradient(180deg,#fff,#fff7f7);}
.mission-action-card.tone-gold{border-color:#fde68a;background:linear-gradient(180deg,#fff,#fffaf0);}
.mission-action-card.tone-blue{border-color:#bfdbfe;background:linear-gradient(180deg,#fff,#f5f9ff);}
.mission-action-icon{
  width:40px;
  height:40px;
  border-radius:15px;
  display:grid;
  place-items:center;
  background:#f1f5f9;
  font-size:18px;
}
.mission-action-main{
  min-width:0;
  display:grid;
  gap:5px;
}
.mission-action-main strong{
  color:#0b2347!important;
  font-size:15px;
  line-height:1.3;
}
.mission-action-main span{
  color:#526981!important;
  font-size:12.5px;
}
.mission-action-side{
  display:grid;
  gap:8px;
  justify-items:end;
}
.mission-user-load{
  display:grid;
  gap:10px;
  padding:14px;
}
.mission-user-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px 10px;
  align-items:center;
  padding:12px;
  border:1px solid #dbe7f5;
  border-radius:17px;
  background:#fff;
}
.mission-user-row.has-risk{
  border-color:#fecaca;
}
.mission-user-row strong{
  display:block;
  color:#0b2347!important;
  font-size:14px;
}
.mission-user-row span{
  color:#526981!important;
  font-size:12px;
}
.mission-user-badges{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.mission-loadbar{
  grid-column:1/-1;
  height:7px;
  border-radius:999px;
  background:#e8eef7;
  overflow:hidden;
}
.mission-loadbar span{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#2563eb,#38bdf8);
}
.mission-week-plan{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  padding:14px;
}
.mission-week-chip{
  display:grid;
  gap:3px;
  align-content:center;
  min-height:74px;
  padding:12px;
  border:1px solid #dbe7f5;
  border-radius:17px;
  background:#fff;
}
.mission-week-chip span{
  font-size:18px;
}
.mission-week-chip strong{
  color:#0b2347!important;
  font-size:24px;
  line-height:1;
}
.mission-week-chip small{
  color:#526981!important;
  font-weight:850;
}
.mission-week-chip.red{background:#fff7f7;border-color:#fecaca;}
.mission-week-chip.gold{background:#fffaf0;border-color:#fde68a;}
.mission-week-chip.blue{background:#f5f9ff;border-color:#bfdbfe;}
.mission-project-list{
  display:grid;
  gap:10px;
  padding:14px;
}
.mission-project-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:13px;
  border:1px solid #dbe7f5;
  border-radius:18px;
  background:linear-gradient(180deg,#fff,#f8fbff);
}
.mission-project-card.has-risk{
  border-color:#fecaca;
}
.mission-project-main{
  display:grid;
  gap:5px;
  min-width:0;
}
.mission-project-main strong{
  color:#0b2347!important;
  font-size:15px;
}
.mission-project-main span{
  color:#526981!important;
  font-size:12.5px;
}
.mission-project-actions{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.mission-table-wrap{
  border-radius:0!important;
  border:0!important;
  box-shadow:none!important;
}
.mission-table-card table th,
.mission-table-card table td{
  vertical-align:top;
}
@media(max-width:1280px){
  .mission-priority-grid,
  .mission-bottom-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:760px){
  .mission-human-hero,
  .mission-action-card,
  .mission-project-card{
    grid-template-columns:1fr;
    align-items:start;
  }
  .mission-human-hero{
    flex-direction:column;
    align-items:flex-start;
  }
  .mission-human-actions,
  .mission-project-actions,
  .mission-action-side{
    width:100%;
    justify-content:stretch;
    justify-items:stretch;
  }
  .mission-filterbar,
  .mission-week-plan{
    grid-template-columns:1fr;
  }
}


/* ============================================================================
   AZALYS v17.20 — Tableau de bord cabinet vraiment pleine largeur
   Correction du parent .cockpit qui gardait encore max-width:1280px dans app.css.
   ============================================================================ */

body:not(.role-client-dossier) #main-screen #view-dashboard.view,
body:not(.role-client-dossier) #main-screen #view-dashboard.home-view{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-left:clamp(18px,1.6vw,30px)!important;
  padding-right:clamp(18px,1.6vw,30px)!important;
  box-sizing:border-box!important;
}

body:not(.role-client-dossier) #main-screen #view-dashboard .cockpit{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:18px!important;
}

body:not(.role-client-dossier) #main-screen #view-dashboard .cockpit-hero,
body:not(.role-client-dossier) #main-screen #view-dashboard #kpi-grid,
body:not(.role-client-dossier) #main-screen #view-dashboard .cockpit-grid,
body:not(.role-client-dossier) #main-screen #view-dashboard .cockpit-modules{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}

body:not(.role-client-dossier) #main-screen #view-dashboard .cockpit-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

body:not(.role-client-dossier) #main-screen #view-dashboard #kpi-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}

/* Sur très grand écran, garder une lecture confortable sans recentrage étroit */
@media(min-width:1600px){
  body:not(.role-client-dossier) #main-screen #view-dashboard.view,
  body:not(.role-client-dossier) #main-screen #view-dashboard.home-view{
    padding-left:32px!important;
    padding-right:32px!important;
  }
}

/* Écran moyen : repasser naturellement sur une colonne */
@media(max-width:1100px){
  body:not(.role-client-dossier) #main-screen #view-dashboard .cockpit-grid{
    grid-template-columns:1fr!important;
  }
  body:not(.role-client-dossier) #main-screen #view-dashboard #kpi-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:720px){
  body:not(.role-client-dossier) #main-screen #view-dashboard.view,
  body:not(.role-client-dossier) #main-screen #view-dashboard.home-view{
    padding-left:14px!important;
    padding-right:14px!important;
  }
  body:not(.role-client-dossier) #main-screen #view-dashboard #kpi-grid{
    grid-template-columns:1fr!important;
  }
}


/* ============================================================================
   AZALYS v17.21 — Réduction légère du bloc cockpit supérieur
   On garde la page large, mais le premier bloc respire davantage.
   ============================================================================ */
body:not(.role-client-dossier) #main-screen #view-dashboard .cockpit-hero{
  width:min(96%, 1520px)!important;
  margin:0 auto 18px auto!important;
}
@media(min-width:1600px){
  body:not(.role-client-dossier) #main-screen #view-dashboard .cockpit-hero{
    width:min(95%, 1500px)!important;
  }
}
@media(max-width:1100px){
  body:not(.role-client-dossier) #main-screen #view-dashboard .cockpit-hero{
    width:100%!important;
    margin:0 0 18px 0!important;
  }
}


/* ============================================================================
   AZALYS v17.22 — Harmonisation globale de toutes les pages cabinet
   Objectif : même niveau premium que l'espace client, sur tous les écrans.
   ============================================================================ */
body:not(.role-client-dossier) #main-screen .view:not(#view-client){
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
}
body:not(.role-client-dossier) #main-screen .view:not(#view-client):not(#view-dashboard){
  max-width:1760px!important;
  margin:0 auto!important;
  padding-left:clamp(18px,1.6vw,30px)!important;
  padding-right:clamp(18px,1.6vw,30px)!important;
}

/* Outils/filtres */
body:not(.role-client-dossier) #main-screen .panel-tools,
body:not(.role-client-dossier) #main-screen .mission-filterbar,
body:not(.role-client-dossier) #main-screen .docs-inbox-filters,
body:not(.role-client-dossier) #main-screen .cabinet-inbox-filters,
body:not(.role-client-dossier) #main-screen .internal-toolbar,
body:not(.role-client-dossier) #main-screen .toolbar,
body:not(.role-client-dossier) #main-screen .filters-bar{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:10px!important;
  padding:12px!important;
  background:linear-gradient(180deg,#ffffff,#f7fbff)!important;
  border:1px solid #dbe7f5!important;
  border-radius:20px!important;
  box-shadow:0 14px 34px rgba(15,23,42,.05)!important;
  margin-bottom:14px!important;
}
body:not(.role-client-dossier) #main-screen .panel-tools .btn,
body:not(.role-client-dossier) #main-screen .mission-filterbar .btn{
  justify-self:start;
}

/* Cartes / tuiles */
body:not(.role-client-dossier) #main-screen .card,
body:not(.role-client-dossier) #main-screen .collab-pro-head,
body:not(.role-client-dossier) #main-screen .collab-pro-tabs,
body:not(.role-client-dossier) #main-screen .collab-pro-kpis,
body:not(.role-client-dossier) #main-screen .dossiers-overview,
body:not(.role-client-dossier) #main-screen .modules-grid,
body:not(.role-client-dossier) #main-screen .grid.two > article,
body:not(.role-client-dossier) #main-screen #legal-root > *,
body:not(.role-client-dossier) #main-screen #internal-messages-root > *,
body:not(.role-client-dossier) #main-screen #cabinet-messages-root > *,
body:not(.role-client-dossier) #main-screen #client-documents-inbox-root > *{
  border-radius:24px!important;
}
body:not(.role-client-dossier) #main-screen .card-head,
body:not(.role-client-dossier) #main-screen .section-head,
body:not(.role-client-dossier) #main-screen .list-head,
body:not(.role-client-dossier) #main-screen .table-head{
  padding:16px 18px!important;
  border-bottom:1px solid #e5edf7!important;
}
body:not(.role-client-dossier) #main-screen .card-head h3,
body:not(.role-client-dossier) #main-screen .section-head h3{
  color:#0b2347!important;
  font-size:clamp(20px,1.35vw,28px)!important;
  letter-spacing:-.03em!important;
}
body:not(.role-client-dossier) #main-screen .card-head .muted,
body:not(.role-client-dossier) #main-screen .section-head .muted,
body:not(.role-client-dossier) #main-screen .card > p.muted{
  color:#60758d!important;
}

/* Tableaux */
body:not(.role-client-dossier) #main-screen .table-wrap{
  border:1px solid #dbe7f5!important;
  border-radius:22px!important;
  overflow:auto!important;
  box-shadow:0 12px 32px rgba(15,23,42,.04)!important;
  background:#fff!important;
}
body:not(.role-client-dossier) #main-screen table thead th{
  position:sticky;
  top:0;
  z-index:1;
  background:#f7fbff!important;
  color:#5b7189!important;
  font-size:12px!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  border-bottom:1px solid #dbe7f5!important;
}
body:not(.role-client-dossier) #main-screen table tbody tr:hover{
  background:#f9fbff!important;
}
body:not(.role-client-dossier) #main-screen table td,
body:not(.role-client-dossier) #main-screen table th{
  padding:14px 16px!important;
}

/* Formulaires */
body:not(.role-client-dossier) #main-screen .form-grid,
body:not(.role-client-dossier) #main-screen .stack,
body:not(.role-client-dossier) #main-screen .settings-grid{
  gap:12px!important;
}
body:not(.role-client-dossier) #main-screen label{
  display:grid!important;
  gap:7px!important;
  color:#0b2347!important;
  font-weight:750!important;
}
body:not(.role-client-dossier) #main-screen .control,
body:not(.role-client-dossier) #main-screen input,
body:not(.role-client-dossier) #main-screen select,
body:not(.role-client-dossier) #main-screen textarea{
  min-height:44px!important;
  border-radius:14px!important;
  border:1px solid #d5e2f1!important;
  background:#fff!important;
  color:#0b2347!important;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.02)!important;
}
body:not(.role-client-dossier) #main-screen textarea{min-height:110px!important;}
body:not(.role-client-dossier) #main-screen .control:focus,
body:not(.role-client-dossier) #main-screen input:focus,
body:not(.role-client-dossier) #main-screen select:focus,
body:not(.role-client-dossier) #main-screen textarea:focus{
  outline:none!important;
  border-color:#93c5fd!important;
  box-shadow:0 0 0 4px rgba(59,130,246,.12)!important;
}

/* Vues spécifiques */
body:not(.role-client-dossier) #main-screen #view-dossiers .dossiers-overview,
body:not(.role-client-dossier) #main-screen #view-dossiers .dossiers-card,
body:not(.role-client-dossier) #main-screen #view-modules .card,
body:not(.role-client-dossier) #main-screen #view-alerts .card,
body:not(.role-client-dossier) #main-screen #view-settings .grid.two,
body:not(.role-client-dossier) #main-screen #view-settings .grid.two > article{
  width:100%!important;
}
body:not(.role-client-dossier) #main-screen #view-settings .grid.two{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px!important;
}
body:not(.role-client-dossier) #main-screen #view-collaborateurs .collab-pro-wrap,
body:not(.role-client-dossier) #main-screen #view-collaborateurs .collab-pro-head,
body:not(.role-client-dossier) #main-screen #view-collaborateurs .collab-pro-tabs,
body:not(.role-client-dossier) #main-screen #view-collaborateurs .collab-pro-kpis{
  width:100%!important;
}
body:not(.role-client-dossier) #main-screen #view-collaborateurs .collab-pro-head{
  padding:18px 20px!important;
  background:linear-gradient(180deg,#ffffff,#f7fbff)!important;
  border:1px solid #dbe7f5!important;
  box-shadow:0 14px 34px rgba(15,23,42,.05)!important;
}
body:not(.role-client-dossier) #main-screen #view-collaborateurs .collab-pro-head h3{
  color:#0b2347!important;
  font-size:clamp(24px,2vw,34px)!important;
  letter-spacing:-.04em!important;
}
body:not(.role-client-dossier) #main-screen #view-collaborateurs .collab-pro-tabs{
  background:#fff!important;
  border:1px solid #dbe7f5!important;
  padding:8px!important;
  display:flex!important;
  gap:8px!important;
  flex-wrap:wrap!important;
}
body:not(.role-client-dossier) #main-screen #view-collaborateurs .collab-pro-tabs button{
  min-height:40px!important;
  border-radius:14px!important;
}

/* Racines générées JS */
body:not(.role-client-dossier) #main-screen #legal-root,
body:not(.role-client-dossier) #main-screen #internal-messages-root,
body:not(.role-client-dossier) #main-screen #cabinet-messages-root,
body:not(.role-client-dossier) #main-screen #client-documents-inbox-root{
  display:grid!important;
  gap:14px!important;
}

/* Espacement cohérent */
body:not(.role-client-dossier) #main-screen .view:not(#view-client) > * + *{
  margin-top:14px!important;
}
body:not(.role-client-dossier) #main-screen .empty{
  border-radius:18px!important;
  border:1px dashed #cfe0f5!important;
  background:#f8fbff!important;
  color:#60758d!important;
}

/* Responsive */
@media(max-width:1100px){
  body:not(.role-client-dossier) #main-screen #view-settings .grid.two{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:760px){
  body:not(.role-client-dossier) #main-screen .view:not(#view-client):not(#view-dashboard){
    padding-left:14px!important;
    padding-right:14px!important;
  }
  body:not(.role-client-dossier) #main-screen .panel-tools,
  body:not(.role-client-dossier) #main-screen .mission-filterbar,
  body:not(.role-client-dossier) #main-screen .docs-inbox-filters,
  body:not(.role-client-dossier) #main-screen .cabinet-inbox-filters,
  body:not(.role-client-dossier) #main-screen .internal-toolbar,
  body:not(.role-client-dossier) #main-screen .toolbar,
  body:not(.role-client-dossier) #main-screen .filters-bar{
    grid-template-columns:1fr!important;
  }
}


/* ============================================================================
   AZALYS v17.23 — Harmonisation page Modules des dossiers
   ============================================================================ */
body:not(.role-client-dossier) #main-screen #view-modules.modules-premium-view{
  gap:14px!important;
}
body:not(.role-client-dossier) #main-screen #view-modules.modules-premium-view:not(.active){
  display:none!important;
}
body:not(.role-client-dossier) #main-screen #view-modules.modules-premium-view.active{
  display:grid!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .modules-hero{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding:18px 22px!important;
  background:linear-gradient(180deg,#ffffff,#f7fbff)!important;
  border:1px solid #dbe7f5!important;
  box-shadow:0 14px 34px rgba(15,23,42,.05)!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .modules-hero h3{
  margin:4px 0 6px!important;
  color:#0b2347!important;
  font-size:clamp(24px,2vw,34px)!important;
  letter-spacing:-.04em!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .modules-hero .muted{
  max-width:760px!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .modules-hero-actions{
  display:flex!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .modules-overview{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;
  gap:14px!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .module-kpi{
  min-height:120px!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .modules-main-card{
  overflow:hidden!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .modules-premium-grid{
  padding:16px!important;
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr))!important;
  gap:14px!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .premium-module-card{
  min-height:220px!important;
  display:grid!important;
  gap:10px!important;
  align-content:start!important;
  padding:16px!important;
  border:1px solid #dbe7f5!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,#fff,#f8fbff)!important;
  box-shadow:0 12px 30px rgba(15,23,42,.045)!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .premium-module-card .module-card-top{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .premium-module-card .ico{
  width:48px!important;
  height:48px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:16px!important;
  font-size:24px!important;
  background:linear-gradient(180deg,#f6f9ff,#edf4ff)!important;
  border:1px solid #d8e5f8!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .premium-module-card h4{
  margin:0!important;
  color:#0b2347!important;
  font-size:18px!important;
  letter-spacing:-.02em!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .premium-module-card p{
  margin:0!important;
  color:#60758d!important;
  font-size:13px!important;
  line-height:1.55!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .premium-module-card .module-card-foot{
  margin-top:auto!important;
  display:flex!important;
  gap:8px!important;
  flex-wrap:wrap!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .premium-module-card .badge.soft{
  background:#f3f7fd!important;
  color:#4d6480!important;
  border:1px solid #d8e5f8!important;
}
@media(max-width:760px){
  body:not(.role-client-dossier) #main-screen #view-modules .modules-hero{
    flex-direction:column!important;
    align-items:flex-start!important;
  }
  body:not(.role-client-dossier) #main-screen #view-modules .modules-hero-actions{
    justify-content:flex-start!important;
  }
}


/* AZALYS v17.24 — Hotfix visibilité page Modules */
body:not(.role-client-dossier) #main-screen #view-modules.modules-premium-view:not(.active){
  display:none!important;
}
body:not(.role-client-dossier) #main-screen #view-modules.modules-premium-view.active{
  display:grid!important;
}


/* ============================================================================
   AZALYS v17.25 — Modules des dossiers niveau premium renforcé
   ============================================================================ */
body:not(.role-client-dossier) #main-screen #view-modules .modules-hero{
  position:relative!important;
  overflow:hidden!important;
  min-height:136px!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .modules-hero::after{
  content:"";
  position:absolute;
  inset:auto -60px -80px auto;
  width:280px;
  height:280px;
  border-radius:50%;
  background:radial-gradient(circle at center, rgba(59,130,246,.12), rgba(59,130,246,0));
  pointer-events:none;
}
body:not(.role-client-dossier) #main-screen #view-modules .modules-hero-actions .badge{
  min-height:34px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .modules-overview{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .premium-kpi{
  min-height:138px!important;
  display:grid!important;
  align-content:start!important;
  gap:10px!important;
  padding:18px 18px 16px!important;
  border:1px solid #dbe7f5!important;
  box-shadow:0 14px 34px rgba(15,23,42,.045)!important;
  position:relative!important;
  overflow:hidden!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .premium-kpi::before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  width:4px;
  border-radius:4px;
  background:linear-gradient(180deg,#60a5fa,#2563eb);
}
body:not(.role-client-dossier) #main-screen #view-modules .premium-kpi.green::before{background:linear-gradient(180deg,#4ade80,#22c55e)!important;}
body:not(.role-client-dossier) #main-screen #view-modules .premium-kpi.violet::before{background:linear-gradient(180deg,#a78bfa,#7c3aed)!important;}
body:not(.role-client-dossier) #main-screen #view-modules .premium-kpi.gold::before{background:linear-gradient(180deg,#fbbf24,#f59e0b)!important;}
body:not(.role-client-dossier) #main-screen #view-modules .premium-kpi .kpi-label{
  color:#5f7390!important;
  font-size:12px!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  font-weight:900!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .module-kpi-row{
  display:flex!important;
  align-items:flex-end!important;
  gap:10px!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .premium-kpi .kpi-value{
  color:#0b2347!important;
  font-size:clamp(34px,2.2vw,44px)!important;
  line-height:1!important;
  letter-spacing:-.05em!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .premium-kpi .kpi-sub{
  color:#60758d!important;
  font-size:13px!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .modules-highlights{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:14px!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .module-highlight-card{
  padding:16px 18px!important;
  border:1px solid #dbe7f5!important;
  background:linear-gradient(180deg,#fff,#f8fbff)!important;
  box-shadow:0 14px 34px rgba(15,23,42,.04)!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .module-highlight-head{
  display:grid!important;
  gap:4px!important;
  margin-bottom:12px!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .module-highlight-head h4{
  margin:0!important;
  color:#0b2347!important;
  font-size:20px!important;
  letter-spacing:-.03em!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .module-highlight-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .module-highlight-item{
  padding:14px!important;
  border:1px solid #dde8f6!important;
  border-radius:18px!important;
  background:#fff!important;
  display:grid!important;
  gap:6px!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .module-highlight-item .mini-label{
  color:#5f7390!important;
  font-size:11px!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-weight:900!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .module-highlight-item strong{
  color:#0b2347!important;
  font-size:18px!important;
  line-height:1.2!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .module-highlight-item small{
  color:#60758d!important;
  font-size:12.5px!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .modules-main-card > .card-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:18px 20px!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .modules-main-card > .card-head h3{
  margin-bottom:3px!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .modules-premium-grid{
  grid-template-columns:repeat(auto-fit,minmax(290px,1fr))!important;
  gap:16px!important;
  padding:18px!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .premium-module-card{
  min-height:255px!important;
  gap:12px!important;
  padding:18px!important;
  position:relative!important;
  overflow:hidden!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .premium-module-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg,#38bdf8,#2563eb,#7c3aed);
}
body:not(.role-client-dossier) #main-screen #view-modules .premium-module-card.tone-low::before{background:linear-gradient(90deg,#cbd5e1,#93c5fd)!important;}
body:not(.role-client-dossier) #main-screen #view-modules .premium-module-card.tone-high::before{background:linear-gradient(90deg,#22c55e,#38bdf8)!important;}
body:not(.role-client-dossier) #main-screen #view-modules .premium-module-card .module-card-body{
  display:grid!important;
  gap:10px!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .premium-module-card .module-card-heading{
  display:grid!important;
  gap:4px!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .premium-module-card .module-card-heading h4{
  font-size:17px!important;
  line-height:1.28!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .premium-module-card .module-card-heading small{
  color:#60758d!important;
  font-size:12px!important;
  font-weight:800!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .premium-module-card p{
  min-height:42px!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .premium-module-card .module-progress-meta{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  color:#60758d!important;
  font-size:12px!important;
  font-weight:800!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .premium-module-card .module-progress-meta strong{
  color:#0b2347!important;
  font-size:13px!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .premium-module-card .module-progress{
  height:8px!important;
  border-radius:999px!important;
  background:#e8eef7!important;
  overflow:hidden!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .premium-module-card .module-progress span{
  display:block!important;
  height:100%!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#38bdf8,#2563eb)!important;
}
@media(max-width:1180px){
  body:not(.role-client-dossier) #main-screen #view-modules .modules-overview{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body:not(.role-client-dossier) #main-screen #view-modules .module-highlight-grid{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:760px){
  body:not(.role-client-dossier) #main-screen #view-modules .modules-overview{
    grid-template-columns:1fr!important;
  }
}


/* ============================================================================
   AZALYS v17.26 — Modules par dossier plus compacts
   Objectif : réduire la hauteur des blocs du haut.
   ============================================================================ */
body:not(.role-client-dossier) #main-screen #view-modules{
  gap:12px!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .modules-hero{
  min-height:unset!important;
  padding:14px 20px!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .modules-hero h3{
  font-size:clamp(22px,1.8vw,30px)!important;
  margin:2px 0 4px!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .modules-hero .muted{
  font-size:13px!important;
  line-height:1.45!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .modules-overview{
  gap:12px!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .premium-kpi{
  min-height:108px!important;
  padding:14px 16px 13px!important;
  gap:6px!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .premium-kpi .kpi-value{
  font-size:clamp(28px,1.8vw,36px)!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .premium-kpi .kpi-sub{
  font-size:12px!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .modules-highlights{
  gap:12px!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .module-highlight-card{
  padding:12px 16px!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .module-highlight-head{
  margin-bottom:8px!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .module-highlight-head h4{
  font-size:18px!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .module-highlight-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .module-highlight-item{
  padding:10px 12px!important;
  gap:4px!important;
  min-height:82px!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .module-highlight-item strong{
  font-size:15px!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .module-highlight-item small{
  font-size:11.5px!important;
  line-height:1.35!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .modules-main-card > .card-head{
  padding:16px 18px!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .modules-main-card > .card-head h3{
  font-size:clamp(22px,1.8vw,30px)!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .modules-premium-grid{
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;
  gap:14px!important;
  padding:16px!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .premium-module-card{
  min-height:228px!important;
  padding:16px!important;
  gap:10px!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .premium-module-card .module-card-body{
  gap:8px!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .premium-module-card p{
  min-height:0!important;
  font-size:12.5px!important;
  line-height:1.45!important;
}
body:not(.role-client-dossier) #main-screen #view-modules .premium-module-card .module-progress{
  height:7px!important;
}

@media(max-width:1180px){
  body:not(.role-client-dossier) #main-screen #view-modules .module-highlight-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:760px){
  body:not(.role-client-dossier) #main-screen #view-modules .module-highlight-grid{
    grid-template-columns:1fr!important;
  }
  body:not(.role-client-dossier) #main-screen #view-modules .premium-kpi{
    min-height:96px!important;
  }
}


/* ============================================================================
   AZALYS v17.27 — Refonte premium messagerie interne
   ============================================================================ */
body:not(.role-client-dossier) #view-internal-messages{
  padding-top:14px!important;
}
body:not(.role-client-dossier) #main-screen #internal-messages-root{
  display:block!important;
}
body:not(.role-client-dossier) #main-screen .internal-messaging{
  display:grid!important;
  gap:12px!important;
}
body:not(.role-client-dossier) #main-screen .internal-hero{
  padding:16px 18px!important;
  border-radius:24px!important;
  min-height:auto!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:16px!important;
}
body:not(.role-client-dossier) #main-screen .internal-hero-copy{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  max-width:820px!important;
}
body:not(.role-client-dossier) #main-screen .internal-hero-note{
  opacity:.95!important;
}
body:not(.role-client-dossier) #main-screen .internal-hero-metrics{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin-top:4px!important;
}
body:not(.role-client-dossier) #main-screen .internal-hero-metric{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-width:110px!important;
  padding:9px 12px!important;
  border-radius:16px!important;
  border:1px solid rgba(203,213,225,.9)!important;
  background:linear-gradient(180deg,#fff,#f8fbff)!important;
  box-shadow:0 8px 22px rgba(15,23,42,.05)!important;
}
body:not(.role-client-dossier) #main-screen .internal-hero-metric b{
  font-size:20px!important;
  line-height:1!important;
  color:#0f2b55!important;
}
body:not(.role-client-dossier) #main-screen .internal-hero-metric small{
  font-size:11px!important;
  color:#6b7f94!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
}
body:not(.role-client-dossier) #main-screen .internal-hero-metric.ok{
  background:linear-gradient(180deg,#f3fff7,#ecfdf3)!important;
  border-color:#ccefd6!important;
}
body:not(.role-client-dossier) #main-screen .internal-hero-metric.ok b,
body:not(.role-client-dossier) #main-screen .internal-hero-metric.ok small{
  color:#16794b!important;
}
body:not(.role-client-dossier) #main-screen .internal-hero-metric.attention{
  background:linear-gradient(180deg,#fff8ef,#fff2db)!important;
  border-color:#f3d59d!important;
}
body:not(.role-client-dossier) #main-screen .internal-hero-metric.attention b,
body:not(.role-client-dossier) #main-screen .internal-hero-metric.attention small{
  color:#9a6700!important;
}
body:not(.role-client-dossier) #main-screen .internal-hero-actions{
  align-self:flex-start!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
}
body:not(.role-client-dossier) #main-screen .internal-action-btn{
  min-width:130px!important;
}
body:not(.role-client-dossier) #main-screen .internal-workspace{
  grid-template-columns:minmax(280px,330px) minmax(0,1fr)!important;
  gap:12px!important;
  align-items:stretch!important;
}
body:not(.role-client-dossier) #main-screen .internal-contacts-panel,
body:not(.role-client-dossier) #main-screen .internal-thread-panel{
  min-height:calc(100vh - 245px)!important;
  border-radius:24px!important;
  overflow:hidden!important;
}
body:not(.role-client-dossier) #main-screen .internal-contacts-panel{
  display:flex!important;
  flex-direction:column!important;
  padding:16px!important;
  gap:12px!important;
}
body:not(.role-client-dossier) #main-screen .internal-toolbar{
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
}
body:not(.role-client-dossier) #main-screen .internal-sidebar-title{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
}
body:not(.role-client-dossier) #main-screen .internal-sidebar-icon{
  width:40px!important;
  height:40px!important;
  border-radius:14px!important;
  display:grid!important;
  place-items:center!important;
  background:linear-gradient(135deg,#f1f5ff,#e8f0ff)!important;
  border:1px solid #dbe7ff!important;
  box-shadow:0 10px 24px rgba(37,99,235,.08)!important;
}
body:not(.role-client-dossier) #main-screen .internal-sidebar-title h3{
  margin:0!important;
  font-size:15px!important;
  color:#0f244a!important;
}
body:not(.role-client-dossier) #main-screen .internal-search-wrap{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  background:linear-gradient(180deg,#ffffff,#f8fbff)!important;
  border:1px solid rgba(203,213,225,.95)!important;
  border-radius:16px!important;
  padding:10px 12px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7)!important;
}
body:not(.role-client-dossier) #main-screen .internal-search-wrap input{
  border:none!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
  min-height:auto!important;
}
body:not(.role-client-dossier) #main-screen .internal-search-wrap input:focus{
  outline:none!important;
}
body:not(.role-client-dossier) #main-screen .internal-contacts-list{
  flex:1!important;
  min-height:0!important;
  overflow:auto!important;
  padding-right:4px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
}
body:not(.role-client-dossier) #main-screen .internal-section-title{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  padding:8px 4px 2px!important;
  font-size:11.5px!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  color:#5e7287!important;
}
body:not(.role-client-dossier) #main-screen .internal-section-plus{
  width:28px!important;
  height:28px!important;
  border:none!important;
  border-radius:10px!important;
  background:#eef4ff!important;
  color:#2563eb!important;
  font-weight:900!important;
}
body:not(.role-client-dossier) #main-screen .internal-mini-empty{
  border:1px dashed rgba(203,213,225,.95)!important;
  background:#fbfdff!important;
  border-radius:16px!important;
  padding:14px 12px!important;
  color:#60758d!important;
}
body:not(.role-client-dossier) #main-screen .internal-contact{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  padding:10px 12px!important;
  border-radius:18px!important;
  transition:all .18s ease!important;
}
body:not(.role-client-dossier) #main-screen .internal-contact:hover{
  transform:translateY(-1px)!important;
  background:#fcfdff!important;
}
body:not(.role-client-dossier) #main-screen .internal-contact.active{
  border-color:#bfdbfe!important;
  background:linear-gradient(180deg,#ffffff,#f3f8ff)!important;
  box-shadow:0 14px 28px rgba(37,99,235,.10)!important;
}
body:not(.role-client-dossier) #main-screen .internal-contact.has-unread{
  border-left:4px solid #2563eb!important;
}
body:not(.role-client-dossier) #main-screen .internal-contact-avatar{
  width:46px!important;
  height:46px!important;
  border-radius:16px!important;
  display:grid!important;
  place-items:center!important;
  font-weight:900!important;
  color:#1e3a8a!important;
  background:linear-gradient(135deg,#c7d2fe,#8b5cf6)!important;
  box-shadow:0 10px 24px rgba(99,102,241,.18)!important;
}
body:not(.role-client-dossier) #main-screen .internal-contact-avatar.group{
  background:linear-gradient(135deg,#dbeafe,#93c5fd)!important;
  color:#1d4ed8!important;
}
body:not(.role-client-dossier) #main-screen .internal-contact-main{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:2px!important;
  text-align:left!important;
}
body:not(.role-client-dossier) #main-screen .internal-contact-main strong{
  font-size:14px!important;
  line-height:1.25!important;
  color:#10264b!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body:not(.role-client-dossier) #main-screen .internal-contact-main small{
  font-size:12px!important;
  color:#6d8094!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body:not(.role-client-dossier) #main-screen .internal-contact-main small b{
  color:#1d4ed8!important;
}
body:not(.role-client-dossier) #main-screen .internal-contact-side{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  gap:6px!important;
  color:#6b7f94!important;
  font-size:11px!important;
}
body:not(.role-client-dossier) #main-screen .internal-thread-panel{
  display:flex!important;
  flex-direction:column!important;
  padding:0!important;
}
body:not(.role-client-dossier) #main-screen .internal-thread-shell{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  min-height:calc(100vh - 245px)!important;
}
body:not(.role-client-dossier) #main-screen .internal-thread-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:18px 22px!important;
  background:linear-gradient(180deg,#ffffff,#f8fbff)!important;
  border-bottom:1px solid rgba(226,232,240,.9)!important;
}
body:not(.role-client-dossier) #main-screen .internal-avatar{
  width:48px!important;
  height:48px!important;
  border-radius:16px!important;
  display:grid!important;
  place-items:center!important;
  font-weight:900!important;
  color:#fff!important;
  background:linear-gradient(135deg,#2563eb,#7c3aed)!important;
  box-shadow:0 14px 30px rgba(59,130,246,.18)!important;
}
body:not(.role-client-dossier) #main-screen .internal-avatar.group{
  background:linear-gradient(135deg,#38bdf8,#2563eb)!important;
}
body:not(.role-client-dossier) #main-screen .internal-thread-title{
  flex:1!important;
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
}
body:not(.role-client-dossier) #main-screen .internal-thread-title h3{
  margin:0!important;
  font-size:18px!important;
  line-height:1.15!important;
  color:#0f244a!important;
}
body:not(.role-client-dossier) #main-screen .internal-thread-title .muted{
  color:#688099!important;
}
body:not(.role-client-dossier) #main-screen .internal-member-chips{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  margin-top:2px!important;
}
body:not(.role-client-dossier) #main-screen .internal-member-chips span{
  padding:4px 8px!important;
  border-radius:999px!important;
  background:#eef4ff!important;
  border:1px solid #d7e6ff!important;
  color:#2958b8!important;
  font-size:11px!important;
}
body:not(.role-client-dossier) #main-screen .internal-thread-menu{
  width:38px!important;
  height:38px!important;
  border-radius:12px!important;
  border:1px solid rgba(203,213,225,.9)!important;
  background:#fff!important;
  color:#334155!important;
}
body:not(.role-client-dossier) #main-screen .internal-thread-body{
  max-height:none!important;
  min-height:0!important;
  overflow:auto!important;
  padding:16px 18px!important;
  background:
    radial-gradient(circle at 50% 0%, rgba(37,99,235,.05), transparent 35%),
    linear-gradient(180deg,#fbfdff 0%,#f5f9ff 100%)!important;
}
body:not(.role-client-dossier) #main-screen .internal-date-divider{
  display:flex!important;
  justify-content:center!important;
  margin:6px 0 10px!important;
}
body:not(.role-client-dossier) #main-screen .internal-date-divider span{
  padding:5px 10px!important;
  border-radius:999px!important;
  font-size:11px!important;
  color:#6f8194!important;
  background:rgba(255,255,255,.92)!important;
  border:1px solid rgba(203,213,225,.88)!important;
}
body:not(.role-client-dossier) #main-screen .internal-bubble{
  max-width:min(72%, 680px)!important;
  margin-bottom:12px!important;
  padding:12px 14px!important;
  border-radius:18px!important;
  box-shadow:0 10px 26px rgba(15,23,42,.06)!important;
}
body:not(.role-client-dossier) #main-screen .internal-bubble.theirs{
  background:#ffffff!important;
  border:1px solid rgba(226,232,240,.95)!important;
  margin-right:auto!important;
}
body:not(.role-client-dossier) #main-screen .internal-bubble.mine{
  background:linear-gradient(135deg,#2563eb,#4f46e5)!important;
  border:1px solid rgba(59,130,246,.28)!important;
  color:#fff!important;
  margin-left:auto!important;
}
body:not(.role-client-dossier) #main-screen .internal-bubble.mine p,
body:not(.role-client-dossier) #main-screen .internal-bubble.mine strong,
body:not(.role-client-dossier) #main-screen .internal-bubble.mine span,
body:not(.role-client-dossier) #main-screen .internal-bubble.mine small{
  color:#fff!important;
}
body:not(.role-client-dossier) #main-screen .internal-bubble-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  align-items:center!important;
  margin-bottom:6px!important;
  font-size:11.5px!important;
}
body:not(.role-client-dossier) #main-screen .internal-bubble p{
  margin:0!important;
  font-size:13px!important;
  line-height:1.5!important;
}
body:not(.role-client-dossier) #main-screen .internal-checks{
  margin-left:auto!important;
  opacity:.9!important;
}
body:not(.role-client-dossier) #main-screen .internal-composer{
  padding:14px 18px 18px!important;
  border-top:1px solid rgba(226,232,240,.9)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.92),#ffffff)!important;
}
body:not(.role-client-dossier) #main-screen .internal-composer-box{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto!important;
  align-items:flex-end!important;
  gap:10px!important;
  padding:10px!important;
  border-radius:18px!important;
  border:1px solid rgba(203,213,225,.95)!important;
  background:#fff!important;
  box-shadow:0 10px 28px rgba(15,23,42,.05)!important;
}
body:not(.role-client-dossier) #main-screen #internal-body{
  min-height:44px!important;
  max-height:132px!important;
  border:none!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:2px 4px!important;
  resize:none!important;
}
body:not(.role-client-dossier) #main-screen .internal-compose-icon,
body:not(.role-client-dossier) #main-screen .internal-send-btn{
  width:40px!important;
  height:40px!important;
  border:none!important;
  border-radius:14px!important;
}
body:not(.role-client-dossier) #main-screen .internal-compose-icon{
  background:#f1f5ff!important;
  color:#3457d6!important;
}
body:not(.role-client-dossier) #main-screen .internal-send-btn{
  background:linear-gradient(135deg,#2563eb,#4f46e5)!important;
  color:#fff!important;
  box-shadow:0 12px 26px rgba(59,130,246,.18)!important;
}
body:not(.role-client-dossier) #main-screen .internal-group-create{
  border:1px solid rgba(203,213,225,.95)!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,#ffffff,#fbfdff)!important;
  padding:14px!important;
  box-shadow:0 12px 26px rgba(15,23,42,.05)!important;
}
body:not(.role-client-dossier) #main-screen .internal-group-create-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  margin-bottom:10px!important;
}
body:not(.role-client-dossier) #main-screen .internal-members-picker{
  display:grid!important;
  gap:8px!important;
  margin:10px 0!important;
}
body:not(.role-client-dossier) #main-screen .internal-member-check{
  display:grid!important;
  grid-template-columns:auto 1fr auto!important;
  align-items:center!important;
  gap:8px!important;
  padding:9px 10px!important;
  border:1px solid rgba(226,232,240,.9)!important;
  border-radius:14px!important;
  background:#fff!important;
}
@media(max-width:1180px){
  body:not(.role-client-dossier) #main-screen .internal-workspace{
    grid-template-columns:1fr!important;
  }
  body:not(.role-client-dossier) #main-screen .internal-contacts-panel,
  body:not(.role-client-dossier) #main-screen .internal-thread-panel,
  body:not(.role-client-dossier) #main-screen .internal-thread-shell{
    min-height:auto!important;
  }
  body:not(.role-client-dossier) #main-screen .internal-thread-body{
    max-height:60vh!important;
  }
}
@media(max-width:760px){
  body:not(.role-client-dossier) #main-screen .internal-hero{
    padding:14px!important;
  }
  body:not(.role-client-dossier) #main-screen .internal-hero-actions{
    width:100%!important;
    justify-content:stretch!important;
  }
  body:not(.role-client-dossier) #main-screen .internal-action-btn{
    flex:1 1 calc(50% - 6px)!important;
  }
  body:not(.role-client-dossier) #main-screen .internal-hero-metric{
    min-width:92px!important;
  }
  body:not(.role-client-dossier) #main-screen .internal-bubble{
    max-width:88%!important;
  }
  body:not(.role-client-dossier) #main-screen .internal-thread-head{
    padding:14px!important;
  }
}


/* ============================================================================
   AZALYS v17.28 — Refonte disposition messages clients cabinet
   ============================================================================ */
body:not(.role-client-dossier) #main-screen .cabinet-inbox-workspace-v3{
  grid-template-columns:minmax(300px,330px) minmax(0,1fr) 270px!important;
  align-items:stretch!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-conversation-list-panel,
body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-panel{
  border-radius:24px!important;
  min-height:calc(100vh - 305px)!important;
  overflow:hidden!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-conversation-list-panel{
  display:flex!important;
  flex-direction:column!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-conversation-list-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:18px 18px 14px!important;
  border-bottom:1px solid rgba(226,232,240,.9)!important;
  background:linear-gradient(180deg,#ffffff,#f8fbff)!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-conversation-list-head h4{
  margin:2px 0 4px!important;
  color:#0f244a!important;
  font-size:18px!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-conversation-list{
  flex:1!important;
  min-height:0!important;
  overflow:auto!important;
  padding:12px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  background:linear-gradient(180deg,#fbfdff 0%,#f4f8ff 100%)!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-conversation-item{
  width:100%!important;
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr) auto!important;
  align-items:flex-start!important;
  gap:10px!important;
  padding:12px!important;
  border-radius:18px!important;
  border:1px solid rgba(203,213,225,.95)!important;
  background:#fff!important;
  text-align:left!important;
  box-shadow:0 10px 24px rgba(15,23,42,.04)!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-conversation-item:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 14px 28px rgba(37,99,235,.08)!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-conversation-item.active{
  border-color:#bfdbfe!important;
  background:linear-gradient(180deg,#ffffff,#eff6ff)!important;
  box-shadow:0 18px 32px rgba(37,99,235,.12)!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-conversation-item.has-unread{
  border-left:4px solid #2563eb!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-conversation-avatar,
body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-avatar{
  width:48px!important;
  height:48px!important;
  border-radius:16px!important;
  display:grid!important;
  place-items:center!important;
  font-weight:900!important;
  color:#1e3a8a!important;
  background:linear-gradient(135deg,#dbeafe,#bfdbfe)!important;
  border:1px solid #cfe0ff!important;
  box-shadow:0 10px 24px rgba(37,99,235,.10)!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-conversation-main{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-conversation-top{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:8px!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-conversation-top strong{
  color:#10264b!important;
  font-size:14px!important;
  line-height:1.25!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-conversation-top small,
body:not(.role-client-dossier) #main-screen .cabinet-conversation-stats,
body:not(.role-client-dossier) #main-screen .cabinet-conversation-main p{
  color:#6a7e93!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-conversation-main p{
  margin:0!important;
  font-size:12.5px!important;
  line-height:1.45!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-panel{
  display:flex!important;
  flex-direction:column!important;
  padding:0!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-shell{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  min-height:calc(100vh - 305px)!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:18px 20px!important;
  background:linear-gradient(180deg,#ffffff,#f8fbff)!important;
  border-bottom:1px solid rgba(226,232,240,.9)!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-title{
  display:flex!important;
  gap:12px!important;
  align-items:flex-start!important;
  flex:1!important;
  min-width:0!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-title h3{
  margin:2px 0 4px!important;
  font-size:22px!important;
  line-height:1.15!important;
  color:#0f244a!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-actions{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-body{
  min-height:0!important;
  overflow:auto!important;
  padding:18px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  background:radial-gradient(circle at 50% 0%, rgba(37,99,235,.05), transparent 34%),linear-gradient(180deg,#fbfdff 0%,#f5f9ff 100%)!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-chat-line{
  display:flex!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-chat-line.from-client{justify-content:flex-start!important;}
body:not(.role-client-dossier) #main-screen .cabinet-chat-line.from-cabinet{justify-content:flex-end!important;}
body:not(.role-client-dossier) #main-screen .cabinet-chat-line.is-unread .cabinet-chat-bubble{
  border-left:4px solid #2563eb!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-chat-bubble{
  max-width:min(74%, 680px)!important;
  padding:12px 14px!important;
  border-radius:18px!important;
  box-shadow:0 10px 26px rgba(15,23,42,.06)!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-chat-line.from-client .cabinet-chat-bubble{
  background:#ffffff!important;
  border:1px solid rgba(226,232,240,.95)!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-chat-line.from-cabinet .cabinet-chat-bubble{
  background:linear-gradient(135deg,#2563eb,#4f46e5)!important;
  border:1px solid rgba(59,130,246,.28)!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-chat-line.from-cabinet .cabinet-chat-bubble,
body:not(.role-client-dossier) #main-screen .cabinet-chat-line.from-cabinet .cabinet-chat-bubble b,
body:not(.role-client-dossier) #main-screen .cabinet-chat-line.from-cabinet .cabinet-chat-bubble strong,
body:not(.role-client-dossier) #main-screen .cabinet-chat-line.from-cabinet .cabinet-chat-bubble span,
body:not(.role-client-dossier) #main-screen .cabinet-chat-line.from-cabinet .cabinet-chat-bubble p{
  color:#fff!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-chat-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  align-items:center!important;
  margin-bottom:6px!important;
  font-size:11.5px!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-chat-bubble strong{
  display:block!important;
  margin-bottom:5px!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-chat-bubble p{
  margin:0!important;
  line-height:1.5!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-compose{
  display:grid!important;
  gap:10px!important;
  padding:16px 18px 18px!important;
  border-top:1px solid rgba(226,232,240,.9)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.92),#ffffff)!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-compose textarea{
  min-height:86px!important;
  border-radius:16px!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-compose-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-priority-empty{
  margin-top:10px!important;
  padding:10px 12px!important;
  border-radius:14px!important;
  background:#fbfdff!important;
  border:1px dashed rgba(203,213,225,.9)!important;
  color:#64748b!important;
}
@media(max-width:1280px){
  body:not(.role-client-dossier) #main-screen .cabinet-inbox-workspace-v3{
    grid-template-columns:300px minmax(0,1fr)!important;
  }
  body:not(.role-client-dossier) #main-screen .cabinet-inbox-side-v3{
    grid-column:1 / -1!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:12px!important;
  }
}
@media(max-width:980px){
  body:not(.role-client-dossier) #main-screen .cabinet-inbox-workspace-v3{
    grid-template-columns:1fr!important;
  }
  body:not(.role-client-dossier) #main-screen .cabinet-conversation-list-panel,
  body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-panel,
  body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-shell{
    min-height:auto!important;
  }
  body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-body{
    max-height:60vh!important;
  }
}
@media(max-width:720px){
  body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-head,
  body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-compose-actions,
  body:not(.role-client-dossier) #main-screen .cabinet-conversation-top{
    flex-direction:column!important;
    align-items:flex-start!important;
  }
  body:not(.role-client-dossier) #main-screen .cabinet-chat-bubble{
    max-width:90%!important;
  }
  body:not(.role-client-dossier) #main-screen .cabinet-inbox-side-v3{
    grid-template-columns:1fr!important;
  }
}


/* ============================================================================
   AZALYS v17.29 — Messages clients : zone de réponse toujours visible
   ============================================================================ */

body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-shell{
  height:calc(100vh - 305px)!important;
  min-height:560px!important;
  max-height:calc(100vh - 230px)!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
}

body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-body{
  min-height:0!important;
  overflow:auto!important;
  padding-bottom:18px!important;
}

body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-compose{
  position:sticky!important;
  bottom:0!important;
  z-index:8!important;
  background:linear-gradient(180deg,rgba(255,255,255,.96),#ffffff)!important;
  border-top:1px solid rgba(203,213,225,.95)!important;
  box-shadow:0 -14px 30px rgba(15,23,42,.06)!important;
}

body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-compose::before{
  content:"Réponse au client";
  display:block;
  margin-bottom:8px;
  color:#0b2347;
  font-size:12px;
  font-weight:1000;
  letter-spacing:.08em;
  text-transform:uppercase;
}

body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-compose textarea{
  width:100%!important;
  min-height:72px!important;
  max-height:130px!important;
  resize:vertical!important;
  background:#fff!important;
  border:1px solid #cfe0f5!important;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.03)!important;
}

body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-compose textarea:focus{
  border-color:#93c5fd!important;
  box-shadow:0 0 0 4px rgba(59,130,246,.12)!important;
}

body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-compose-actions{
  margin-top:8px!important;
}

body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-compose-actions .btn.primary{
  min-width:190px!important;
  min-height:44px!important;
}

/* Bouton secondaire dans l'en-tête pour descendre directement à la réponse */
body:not(.role-client-dossier) #main-screen .cabinet-reply-jump{
  border:1px solid rgba(37,99,235,.28)!important;
  background:#eff6ff!important;
  color:#1d4ed8!important;
}

/* Ancien composer caché dans les cartes héritées si jamais un vieux layout reste rendu */
body:not(.role-client-dossier) #main-screen .cabinet-thread-card .cabinet-reply-composer{
  position:sticky!important;
  bottom:0!important;
  background:#fff!important;
  border-top:1px solid rgba(203,213,225,.9)!important;
  box-shadow:0 -10px 24px rgba(15,23,42,.05)!important;
}

@media(max-width:980px){
  body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-shell{
    height:auto!important;
    min-height:520px!important;
    max-height:none!important;
  }
  body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-body{
    max-height:48vh!important;
  }
}

@media(max-width:720px){
  body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-compose-actions{
    flex-direction:column!important;
    align-items:stretch!important;
  }
  body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-compose-actions .btn.primary{
    width:100%!important;
  }
}


/* ============================================================================
   AZALYS v17.30 — Messagerie interne : composer visible + scroll interne
   ============================================================================ */
body:not(.role-client-dossier) #main-screen .internal-workspace{
  align-items:stretch!important;
}
body:not(.role-client-dossier) #main-screen .internal-thread-panel{
  height:calc(100vh - 255px)!important;
  min-height:620px!important;
  max-height:calc(100vh - 255px)!important;
}
body:not(.role-client-dossier) #main-screen .internal-thread-shell{
  height:100%!important;
  min-height:0!important;
  max-height:100%!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
}
body:not(.role-client-dossier) #main-screen .internal-thread-head{
  flex:0 0 auto!important;
}
body:not(.role-client-dossier) #main-screen .internal-thread-body{
  min-height:0!important;
  height:100%!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
  padding:16px 18px 20px!important;
}
body:not(.role-client-dossier) #main-screen .internal-composer{
  position:sticky!important;
  bottom:0!important;
  z-index:12!important;
  flex:0 0 auto!important;
  padding:12px 18px 16px!important;
  background:linear-gradient(180deg, rgba(255,255,255,.94), #ffffff)!important;
  box-shadow:0 -14px 30px rgba(15,23,42,.06)!important;
}
body:not(.role-client-dossier) #main-screen .internal-composer::before{
  content:'Réponse';
  display:block;
  margin-bottom:8px;
  color:#0f244a;
  font-size:11px;
  font-weight:1000;
  letter-spacing:.12em;
  text-transform:uppercase;
}
body:not(.role-client-dossier) #main-screen .internal-composer-box{
  border-radius:18px!important;
}
body:not(.role-client-dossier) #main-screen #internal-body{
  min-height:48px!important;
}
body:not(.role-client-dossier) #main-screen .internal-contacts-panel{
  height:calc(100vh - 255px)!important;
  min-height:620px!important;
  max-height:calc(100vh - 255px)!important;
}
body:not(.role-client-dossier) #main-screen .internal-contacts-list{
  overscroll-behavior:contain!important;
}
@media(max-width:1180px){
  body:not(.role-client-dossier) #main-screen .internal-thread-panel,
  body:not(.role-client-dossier) #main-screen .internal-contacts-panel{
    height:auto!important;
    min-height:560px!important;
    max-height:none!important;
  }
  body:not(.role-client-dossier) #main-screen .internal-thread-shell{
    height:auto!important;
  }
  body:not(.role-client-dossier) #main-screen .internal-thread-body{
    max-height:48vh!important;
  }
}
@media(max-width:760px){
  body:not(.role-client-dossier) #main-screen .internal-thread-panel,
  body:not(.role-client-dossier) #main-screen .internal-contacts-panel{
    min-height:520px!important;
  }
  body:not(.role-client-dossier) #main-screen .internal-thread-body{
    max-height:42vh!important;
    padding:14px!important;
  }
  body:not(.role-client-dossier) #main-screen .internal-composer{
    padding:10px 14px 14px!important;
  }
}


/* ============================================================================
   AZALYS v17.31 — messageries : hauteur ajustée + scroll réellement interne
   ============================================================================ */
body:not(.role-client-dossier) #main-screen .internal-workspace,
body:not(.role-client-dossier) #main-screen .cabinet-inbox-workspace-v3{
  align-items:stretch!important;
}

/* Messagerie interne */
body:not(.role-client-dossier) #main-screen .internal-contacts-panel,
body:not(.role-client-dossier) #main-screen .internal-thread-panel{
  height:clamp(520px, calc(var(--az-screen-vh, 100dvh) - 355px), 680px)!important;
  min-height:520px!important;
  max-height:calc(var(--az-screen-vh, 100dvh) - 355px)!important;
  overflow:hidden!important;
}
body:not(.role-client-dossier) #main-screen .internal-thread-shell{
  height:100%!important;
  min-height:0!important;
  max-height:100%!important;
}
body:not(.role-client-dossier) #main-screen .internal-thread-body{
  min-height:0!important;
  overflow:auto!important;
  padding:14px 18px 10px!important;
}
body:not(.role-client-dossier) #main-screen .internal-composer{
  position:sticky!important;
  bottom:0!important;
  z-index:15!important;
  padding:10px 16px 14px!important;
}
body:not(.role-client-dossier) #main-screen .internal-composer-box{
  min-height:64px!important;
}
body:not(.role-client-dossier) #main-screen #internal-body{
  min-height:42px!important;
  max-height:120px!important;
}
body:not(.role-client-dossier) #main-screen .internal-contacts-list{
  min-height:0!important;
  overflow:auto!important;
}

/* Messages clients cabinet */
body:not(.role-client-dossier) #main-screen .cabinet-conversation-list-panel,
body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-panel{
  height:clamp(520px, calc(var(--az-screen-vh, 100dvh) - 355px), 690px)!important;
  min-height:520px!important;
  max-height:calc(var(--az-screen-vh, 100dvh) - 355px)!important;
  overflow:hidden!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-shell{
  height:100%!important;
  min-height:0!important;
  max-height:100%!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-body{
  min-height:0!important;
  overflow:auto!important;
  padding:16px 18px 12px!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-compose{
  position:sticky!important;
  bottom:0!important;
  z-index:12!important;
  padding:12px 16px 14px!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-compose textarea{
  min-height:76px!important;
  max-height:150px!important;
  resize:vertical!important;
}
body:not(.role-client-dossier) #main-screen .cabinet-conversation-list{
  min-height:0!important;
  overflow:auto!important;
}
@media(max-width:1180px){
  body:not(.role-client-dossier) #main-screen .internal-contacts-panel,
  body:not(.role-client-dossier) #main-screen .internal-thread-panel,
  body:not(.role-client-dossier) #main-screen .cabinet-conversation-list-panel,
  body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-panel{
    height:auto!important;
    min-height:500px!important;
    max-height:none!important;
  }
  body:not(.role-client-dossier) #main-screen .internal-thread-body,
  body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-body{
    max-height:44vh!important;
  }
}
@media(max-width:760px){
  body:not(.role-client-dossier) #main-screen .internal-thread-body,
  body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-body{
    max-height:40vh!important;
    padding:12px!important;
  }
  body:not(.role-client-dossier) #main-screen .internal-composer,
  body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-compose{
    padding:10px 12px 12px!important;
  }
}


/* ============================================================================
   AZALYS v17.33 — Polish premium final des messageries
   Messages internes + Messages clients : style pro, compact, lisible.
   ============================================================================ */

/* Base commune */
body:not(.role-client-dossier) #main-screen .internal-thread-body,
body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-body{
  background:
    radial-gradient(circle at 50% 0%, rgba(37,99,235,.045), transparent 34%),
    linear-gradient(180deg,#fbfdff 0%,#f6f9fe 100%)!important;
  scrollbar-width:thin;
  scrollbar-color:#b9c8da transparent;
}

body:not(.role-client-dossier) #main-screen .internal-thread-body::-webkit-scrollbar,
body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-body::-webkit-scrollbar,
body:not(.role-client-dossier) #main-screen .internal-contacts-list::-webkit-scrollbar,
body:not(.role-client-dossier) #main-screen .cabinet-conversation-list::-webkit-scrollbar{
  width:8px;
}

body:not(.role-client-dossier) #main-screen .internal-thread-body::-webkit-scrollbar-thumb,
body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-body::-webkit-scrollbar-thumb,
body:not(.role-client-dossier) #main-screen .internal-contacts-list::-webkit-scrollbar-thumb,
body:not(.role-client-dossier) #main-screen .cabinet-conversation-list::-webkit-scrollbar-thumb{
  background:#bfd0e4;
  border-radius:999px;
}

/* Header conversation */
body:not(.role-client-dossier) #main-screen .internal-thread-head,
body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-head{
  min-height:74px!important;
  padding:14px 18px!important;
  background:rgba(255,255,255,.96)!important;
  backdrop-filter:blur(14px)!important;
  box-shadow:0 10px 28px rgba(15,23,42,.045)!important;
}

body:not(.role-client-dossier) #main-screen .internal-thread-title h3,
body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-title h3{
  font-size:18px!important;
  letter-spacing:-.025em!important;
}

body:not(.role-client-dossier) #main-screen .internal-avatar,
body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-avatar{
  width:44px!important;
  height:44px!important;
  border-radius:15px!important;
}

/* Bulles internes */
body:not(.role-client-dossier) #main-screen .internal-bubble{
  max-width:min(68%, 620px)!important;
  padding:10px 12px!important;
  border-radius:18px!important;
  margin-bottom:9px!important;
  position:relative!important;
}

body:not(.role-client-dossier) #main-screen .internal-bubble.theirs{
  background:#ffffff!important;
  border:1px solid rgba(220,229,240,.95)!important;
  box-shadow:0 8px 22px rgba(15,23,42,.045)!important;
}

body:not(.role-client-dossier) #main-screen .internal-bubble.mine{
  background:linear-gradient(135deg,#2563eb,#4f46e5)!important;
  border:1px solid rgba(59,130,246,.24)!important;
  box-shadow:0 12px 28px rgba(37,99,235,.18)!important;
}

body:not(.role-client-dossier) #main-screen .internal-bubble.theirs::before{
  content:"";
  position:absolute;
  left:-5px;
  top:16px;
  border-top:6px solid transparent;
  border-bottom:6px solid transparent;
  border-right:6px solid #ffffff;
}

body:not(.role-client-dossier) #main-screen .internal-bubble.mine::after{
  content:"";
  position:absolute;
  right:-5px;
  top:16px;
  border-top:6px solid transparent;
  border-bottom:6px solid transparent;
  border-left:6px solid #3f56e6;
}

body:not(.role-client-dossier) #main-screen .internal-bubble-meta{
  margin-bottom:5px!important;
  gap:7px!important;
  opacity:.92!important;
}

body:not(.role-client-dossier) #main-screen .internal-bubble p{
  font-size:13px!important;
  line-height:1.48!important;
}

/* Bulles messages clients */
body:not(.role-client-dossier) #main-screen .cabinet-chat-bubble{
  max-width:min(68%, 620px)!important;
  padding:10px 12px!important;
  border-radius:18px!important;
  position:relative!important;
}

body:not(.role-client-dossier) #main-screen .cabinet-chat-line.from-client .cabinet-chat-bubble{
  background:#ffffff!important;
  border:1px solid rgba(220,229,240,.95)!important;
  box-shadow:0 8px 22px rgba(15,23,42,.045)!important;
}

body:not(.role-client-dossier) #main-screen .cabinet-chat-line.from-cabinet .cabinet-chat-bubble{
  background:linear-gradient(135deg,#2563eb,#4f46e5)!important;
  box-shadow:0 12px 28px rgba(37,99,235,.18)!important;
}

body:not(.role-client-dossier) #main-screen .cabinet-chat-line.from-client .cabinet-chat-bubble::before{
  content:"";
  position:absolute;
  left:-5px;
  top:16px;
  border-top:6px solid transparent;
  border-bottom:6px solid transparent;
  border-right:6px solid #ffffff;
}

body:not(.role-client-dossier) #main-screen .cabinet-chat-line.from-cabinet .cabinet-chat-bubble::after{
  content:"";
  position:absolute;
  right:-5px;
  top:16px;
  border-top:6px solid transparent;
  border-bottom:6px solid transparent;
  border-left:6px solid #3f56e6;
}

body:not(.role-client-dossier) #main-screen .cabinet-chat-bubble strong{
  font-size:13.2px!important;
  margin-bottom:4px!important;
}

body:not(.role-client-dossier) #main-screen .cabinet-chat-bubble p{
  font-size:13px!important;
  line-height:1.48!important;
}

/* Date divider */
body:not(.role-client-dossier) #main-screen .internal-date-divider{
  margin:4px 0 12px!important;
}

body:not(.role-client-dossier) #main-screen .internal-date-divider span{
  background:rgba(255,255,255,.92)!important;
  color:#64748b!important;
  font-size:10.5px!important;
  font-weight:850!important;
  box-shadow:0 8px 18px rgba(15,23,42,.04)!important;
}

/* Composer commun */
body:not(.role-client-dossier) #main-screen .internal-composer,
body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-compose{
  background:
    linear-gradient(180deg,rgba(255,255,255,.96),#ffffff)!important;
  box-shadow:0 -16px 34px rgba(15,23,42,.07)!important;
  border-top:1px solid rgba(203,213,225,.9)!important;
}

body:not(.role-client-dossier) #main-screen .internal-composer::before,
body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-compose::before{
  font-size:10.5px!important;
  letter-spacing:.13em!important;
  color:#64748b!important;
  margin-bottom:6px!important;
}

body:not(.role-client-dossier) #main-screen .internal-composer-box{
  grid-template-columns:minmax(0,1fr) 40px 42px!important;
  gap:8px!important;
  padding:8px!important;
  min-height:58px!important;
  border-radius:18px!important;
  border:1px solid #cfe0f5!important;
  background:#ffffff!important;
}

body:not(.role-client-dossier) #main-screen #internal-body{
  font-size:13px!important;
  line-height:1.45!important;
  padding:6px 8px!important;
  min-height:38px!important;
}

body:not(.role-client-dossier) #main-screen .internal-compose-icon,
body:not(.role-client-dossier) #main-screen .internal-send-btn{
  width:38px!important;
  height:38px!important;
  border-radius:14px!important;
}

body:not(.role-client-dossier) #main-screen .internal-send-btn{
  background:linear-gradient(135deg,#2563eb,#4f46e5)!important;
  box-shadow:0 10px 22px rgba(37,99,235,.18)!important;
}

body:not(.role-client-dossier) #main-screen .internal-send-btn:hover,
body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-compose-actions .btn.primary:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 14px 28px rgba(37,99,235,.22)!important;
}

/* Composer client/cabinet */
body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-compose{
  display:grid!important;
  gap:8px!important;
}

body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-compose textarea{
  min-height:70px!important;
  max-height:132px!important;
  font-size:13px!important;
  line-height:1.45!important;
  border-radius:17px!important;
  padding:10px 12px!important;
}

body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-compose-actions{
  margin-top:2px!important;
  gap:10px!important;
}

body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-compose-actions .btn.primary{
  min-height:42px!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,#2563eb,#4f46e5)!important;
}

/* Liste conversations */
body:not(.role-client-dossier) #main-screen .internal-contact,
body:not(.role-client-dossier) #main-screen .cabinet-conversation-item{
  border-radius:18px!important;
  padding:10px!important;
}

body:not(.role-client-dossier) #main-screen .internal-contact.active,
body:not(.role-client-dossier) #main-screen .cabinet-conversation-item.active{
  background:linear-gradient(180deg,#ffffff,#eff6ff)!important;
  border-color:#bfdbfe!important;
  box-shadow:0 12px 28px rgba(37,99,235,.10)!important;
}

body:not(.role-client-dossier) #main-screen .internal-contact-avatar,
body:not(.role-client-dossier) #main-screen .cabinet-conversation-avatar{
  width:42px!important;
  height:42px!important;
  border-radius:15px!important;
}

body:not(.role-client-dossier) #main-screen .internal-contact-main strong,
body:not(.role-client-dossier) #main-screen .cabinet-conversation-top strong{
  font-size:13.5px!important;
}

/* Petite indication en bas de la conversation */
body:not(.role-client-dossier) #main-screen .internal-thread-body::after,
body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-body::after{
  content:"";
  display:block;
  height:4px;
}

/* Responsive */
@media(max-width:760px){
  body:not(.role-client-dossier) #main-screen .internal-bubble,
  body:not(.role-client-dossier) #main-screen .cabinet-chat-bubble{
    max-width:88%!important;
  }

  body:not(.role-client-dossier) #main-screen .internal-composer-box{
    grid-template-columns:minmax(0,1fr) 38px 40px!important;
  }

  body:not(.role-client-dossier) #main-screen .cabinet-thread-focus-compose-actions .muted{
    display:none!important;
  }
}


/* ============================================================================
   AZALYS v17.34 — Pièces à traiter : visualiser / télécharger / archiver
   ============================================================================ */

body:not(.role-client-dossier) #main-screen .doc-inbox-archive{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  margin-top:10px!important;
}

body:not(.role-client-dossier) #main-screen .doc-inbox-archive span{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  min-height:26px!important;
  padding:5px 9px!important;
  border-radius:999px!important;
  border:1px solid #d8e5f8!important;
  background:#f7fbff!important;
  color:#425b78!important;
  font-size:11.5px!important;
  font-weight:850!important;
}

body:not(.role-client-dossier) #main-screen .doc-inbox-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  align-items:flex-start!important;
  justify-content:flex-end!important;
}

body:not(.role-client-dossier) #main-screen .doc-preview-btn{
  border-color:#bfdbfe!important;
  background:#eff6ff!important;
  color:#1d4ed8!important;
}

body:not(.role-client-dossier) #main-screen .docs-inbox-hero::after{
  content:"Archive officielle = serveur AZALYS · téléchargement local = simple copie";
  display:block;
  margin-top:10px;
  max-width:max-content;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid #d8e5f8;
  background:#ffffff;
  color:#425b78;
  font-size:12px;
  font-weight:900;
}

@media(max-width:900px){
  body:not(.role-client-dossier) #main-screen .doc-inbox-actions{
    justify-content:flex-start!important;
  }
}


/* ============================================================================
   AZALYS v17.35 — Pièces à traiter : affichage compact 1 à 2 lignes
   ============================================================================ */

body:not(.role-client-dossier) #main-screen .docs-inbox-hero::after{
  display:none!important;
}

body:not(.role-client-dossier) #main-screen .doc-inbox-row-compact{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  padding:10px 12px!important;
  border-radius:18px!important;
  min-height:76px!important;
}

body:not(.role-client-dossier) #main-screen .doc-inbox-row-compact .doc-inbox-icon{
  width:42px!important;
  height:42px!important;
  border-radius:14px!important;
  display:grid!important;
  place-items:center!important;
  font-size:20px!important;
}

body:not(.role-client-dossier) #main-screen .doc-inbox-row-compact .doc-inbox-main{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
}

body:not(.role-client-dossier) #main-screen .doc-inbox-line-primary{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
}

body:not(.role-client-dossier) #main-screen .doc-inbox-line-primary strong{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#0f244a!important;
  font-size:14px!important;
  line-height:1.25!important;
}

body:not(.role-client-dossier) #main-screen .doc-inbox-line-primary .badge{
  flex:0 0 auto!important;
  font-size:10.5px!important;
  padding:4px 8px!important;
}

body:not(.role-client-dossier) #main-screen .doc-inbox-line-secondary{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:5px 8px!important;
  color:#64748b!important;
  font-size:11.5px!important;
  line-height:1.25!important;
}

body:not(.role-client-dossier) #main-screen .doc-inbox-line-secondary span{
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
}

body:not(.role-client-dossier) #main-screen .doc-inbox-line-secondary span:not(:last-child)::after{
  content:"·";
  margin-left:8px;
  color:#cbd5e1;
}

body:not(.role-client-dossier) #main-screen .doc-archive-mini{
  color:#2563eb!important;
  font-weight:850!important;
}

body:not(.role-client-dossier) #main-screen .doc-ai-flow.compact{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  margin-top:1px!important;
}

body:not(.role-client-dossier) #main-screen .doc-ai-flow.compact span{
  min-height:22px!important;
  padding:3px 7px!important;
  font-size:10.5px!important;
  border-radius:999px!important;
}

body:not(.role-client-dossier) #main-screen .doc-inbox-comment.compact,
body:not(.role-client-dossier) #main-screen .doc-inbox-note.compact{
  margin:2px 0 0!important;
  font-size:11.5px!important;
  line-height:1.35!important;
  max-height:34px!important;
  overflow:hidden!important;
}

body:not(.role-client-dossier) #main-screen .doc-inbox-actions-compact{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:6px!important;
  justify-content:flex-end!important;
  align-items:center!important;
  min-width:max-content!important;
}

body:not(.role-client-dossier) #main-screen .doc-inbox-actions-compact .btn{
  min-height:30px!important;
  height:30px!important;
  padding:5px 8px!important;
  border-radius:10px!important;
  font-size:11.5px!important;
  white-space:nowrap!important;
}

body:not(.role-client-dossier) #main-screen .doc-inbox-archive{
  display:none!important;
}

@media(max-width:980px){
  body:not(.role-client-dossier) #main-screen .doc-inbox-row-compact{
    grid-template-columns:38px minmax(0,1fr)!important;
  }
  body:not(.role-client-dossier) #main-screen .doc-inbox-actions-compact{
    grid-column:2!important;
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
    margin-top:3px!important;
  }
}

@media(max-width:640px){
  body:not(.role-client-dossier) #main-screen .doc-inbox-line-primary{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:4px!important;
  }
  body:not(.role-client-dossier) #main-screen .doc-inbox-line-primary strong{
    white-space:normal!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
  }
}


/* ============================================================================
   AZALYS v17.36 — Pièces à traiter : sélection + aperçu à droite + relais AI
   ============================================================================ */
body:not(.role-client-dossier) #main-screen .docs-inbox-workspace-preview{
  display:grid!important;
  grid-template-columns:230px minmax(420px,1fr) minmax(340px,430px)!important;
  gap:12px!important;
  align-items:stretch!important;
}
body:not(.role-client-dossier) #main-screen .docs-inbox-list-compact{
  min-height:calc(100vh - 330px)!important;
  max-height:calc(100vh - 300px)!important;
  overflow:auto!important;
  padding:14px!important;
}
body:not(.role-client-dossier) #main-screen .doc-selectable{
  cursor:pointer!important;
  border:1px solid rgba(203,213,225,.88)!important;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease!important;
}
body:not(.role-client-dossier) #main-screen .doc-selectable:hover,
body:not(.role-client-dossier) #main-screen .doc-selectable:focus{
  transform:translateY(-1px)!important;
  border-color:#bfdbfe!important;
  box-shadow:0 12px 26px rgba(37,99,235,.09)!important;
  outline:none!important;
}
body:not(.role-client-dossier) #main-screen .doc-selectable.selected{
  border-color:#60a5fa!important;
  background:linear-gradient(180deg,#fff,#eff6ff)!important;
  box-shadow:0 16px 30px rgba(37,99,235,.14)!important;
}
body:not(.role-client-dossier) #main-screen .doc-route-mini{
  margin-top:2px!important;
}
body:not(.role-client-dossier) #main-screen .doc-preview-panel{
  position:sticky!important;
  top:14px!important;
  height:calc(100vh - 235px)!important;
  min-height:560px!important;
  max-height:calc(100vh - 235px)!important;
  display:grid!important;
  grid-template-rows:auto minmax(230px,1fr) auto auto auto!important;
  gap:10px!important;
  padding:14px!important;
  overflow:hidden!important;
  border-radius:24px!important;
}
body:not(.role-client-dossier) #main-screen .doc-preview-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:10px!important;
}
body:not(.role-client-dossier) #main-screen .doc-preview-head h3{
  margin:2px 0 4px!important;
  color:#0f244a!important;
  font-size:16px!important;
  line-height:1.18!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
body:not(.role-client-dossier) #main-screen .doc-preview-frame{
  min-height:0!important;
  overflow:hidden!important;
  border-radius:18px!important;
  border:1px solid #dbe7f6!important;
  background:#f8fbff!important;
}
body:not(.role-client-dossier) #main-screen .doc-preview-frame iframe{
  width:100%!important;
  height:100%!important;
  border:0!important;
  background:#fff!important;
}
body:not(.role-client-dossier) #main-screen .doc-preview-placeholder{
  height:100%!important;
  display:grid!important;
  place-items:center!important;
  align-content:center!important;
  gap:8px!important;
  color:#64748b!important;
  text-align:center!important;
  padding:18px!important;
}
body:not(.role-client-dossier) #main-screen .doc-preview-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
}
body:not(.role-client-dossier) #main-screen .doc-preview-meta span,
body:not(.role-client-dossier) #main-screen .doc-preview-route{
  border:1px solid #d8e5f8!important;
  background:#f8fbff!important;
  color:#425b78!important;
  border-radius:14px!important;
  padding:6px 9px!important;
  font-size:11.5px!important;
  font-weight:800!important;
}
body:not(.role-client-dossier) #main-screen .doc-preview-route{
  display:grid!important;
  gap:4px!important;
  line-height:1.35!important;
}
body:not(.role-client-dossier) #main-screen .doc-preview-route strong{
  color:#0f244a!important;
  font-size:13px!important;
}
body:not(.role-client-dossier) #main-screen .doc-preview-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  align-items:center!important;
  justify-content:flex-end!important;
  border-top:1px solid rgba(226,232,240,.9)!important;
  padding-top:10px!important;
}
body:not(.role-client-dossier) #main-screen .doc-preview-actions .btn{
  min-height:34px!important;
  border-radius:12px!important;
}
body:not(.role-client-dossier) #main-screen .doc-preview-panel.bank{border-color:#bfdbfe!important;}
body:not(.role-client-dossier) #main-screen .doc-preview-panel.purchase{border-color:#c7d2fe!important;}
body:not(.role-client-dossier) #main-screen .doc-preview-panel.sales{border-color:#bbf7d0!important;}
@media(max-width:1280px){
  body:not(.role-client-dossier) #main-screen .docs-inbox-workspace-preview{
    grid-template-columns:220px minmax(0,1fr)!important;
  }
  body:not(.role-client-dossier) #main-screen .doc-preview-panel{
    grid-column:1 / -1!important;
    position:relative!important;
    top:auto!important;
    height:620px!important;
    max-height:none!important;
  }
}
@media(max-width:860px){
  body:not(.role-client-dossier) #main-screen .docs-inbox-workspace-preview{
    grid-template-columns:1fr!important;
  }
  body:not(.role-client-dossier) #main-screen .docs-inbox-list-compact{
    max-height:none!important;
  }
}


/* ============================================================================
   AZALYS v17.37 — Pièces envoyées : file En traitement
   ============================================================================ */
body:not(.role-client-dossier) #main-screen .badge.purple,
.badge.purple{
  background:#f3e8ff!important;
  color:#7e22ce!important;
  border-color:#d8b4fe!important;
}

body:not(.role-client-dossier) #main-screen .doc-preview-panel.sent-process{
  border-color:#d8b4fe!important;
  box-shadow:0 20px 46px rgba(126,34,206,.10)!important;
}

body:not(.role-client-dossier) #main-screen .doc-preview-panel.sent-process .doc-preview-route{
  background:linear-gradient(180deg,#faf5ff,#f3e8ff)!important;
  border-color:#d8b4fe!important;
}

body:not(.role-client-dossier) #main-screen .docs-filter[data-doc-filter="processing"].active{
  border-color:#d8b4fe!important;
  background:linear-gradient(180deg,#ffffff,#faf5ff)!important;
}

body:not(.role-client-dossier) #main-screen .doc-route-mini span{
  white-space:nowrap!important;
}


/* ============================================================================
   AZALYS v17.40 — AI Pilotage flottant minimaliste lisible
   ============================================================================ */

.ai-floating-panel{
  width:min(360px,calc(100vw - 20px))!important;
  max-height:min(620px,calc(100vh - 96px))!important;
  border-radius:22px!important;
}
.ai-floating-head{padding:10px 12px!important;min-height:58px!important;}
.ai-avatar{width:36px!important;height:36px!important;border-radius:13px!important;}
.ai-head-left strong{font-size:13.5px!important;line-height:1.15!important;}
.ai-head-left span{font-size:10.5px!important;line-height:1.25!important;}
.ai-head-actions .icon-btn{width:32px!important;height:32px!important;border-radius:12px!important;}

.ai-floating-context{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  padding:7px 10px!important;
  min-height:0!important;
  max-height:44px!important;
  overflow:hidden!important;
  border-bottom:1px solid #e2e8f0!important;
}
.ai-context-chip{
  flex:0 0 auto!important;
  min-width:auto!important;
  padding:5px 8px!important;
  border-radius:999px!important;
}
.ai-context-chip strong{
  display:inline!important;
  font-size:12px!important;
  margin-right:3px!important;
}
.ai-context-chip span{
  display:inline!important;
  font-size:9px!important;
  margin:0!important;
}
.ai-agent-strip{
  flex:1 1 auto!important;
  display:flex!important;
  gap:6px!important;
  min-width:0!important;
  overflow:auto!important;
  padding:0!important;
  scrollbar-width:none!important;
}
.ai-agent-strip::-webkit-scrollbar{display:none!important;}
.ai-agent-chip{
  flex:0 0 auto!important;
  padding:5px 8px!important;
  border-radius:999px!important;
  min-height:28px!important;
  box-shadow:none!important;
}
.ai-agent-chip span{font-size:13px!important;}
.ai-agent-chip strong{font-size:10.5px!important;white-space:nowrap!important;}

.ai-floating-chat{
  flex:1 1 auto!important;
  min-height:260px!important;
  max-height:none!important;
  padding:10px!important;
  overflow:auto!important;
  background:linear-gradient(180deg,#ffffff,#f8fbff)!important;
}
.ai-welcome-card{
  padding:12px 13px!important;
  border-radius:16px!important;
  border-style:solid!important;
}
.ai-welcome-card strong{font-size:13.5px!important;}
.ai-welcome-card p{font-size:12.5px!important;line-height:1.45!important;margin:5px 0 0!important;}
.ai-float-msg{
  max-width:96%!important;
  padding:10px 12px!important;
  border-radius:15px!important;
  font-size:13px!important;
  line-height:1.55!important;
  margin-bottom:8px!important;
}

.ai-floating-quick{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:6px!important;
  padding:8px 10px!important;
  max-height:48px!important;
  overflow:hidden!important;
  border-top:1px solid #e2e8f0!important;
}
.ai-floating-quick .btn{
  min-height:32px!important;
  padding:6px 5px!important;
  border-radius:11px!important;
  font-size:10.5px!important;
  line-height:1!important;
}
.ai-floating-quick #ai-supervise-current,
.ai-floating-quick #ai-audit-current{
  display:none!important;
}

.ai-floating-compose{
  grid-template-columns:minmax(0,1fr) 82px!important;
  padding:8px 10px!important;
  gap:7px!important;
}
.ai-floating-compose textarea{
  min-height:42px!important;
  max-height:82px!important;
  border-radius:13px!important;
  font-size:12.5px!important;
}
.ai-floating-compose .btn{
  min-height:42px!important;
  border-radius:13px!important;
  font-size:12px!important;
  padding:0 8px!important;
}
.ai-floating-note{display:none!important;}

@media(max-width:720px){
  .ai-floating{right:12px!important;bottom:12px!important;}
  .ai-floating-panel{
    left:8px!important;
    right:8px!important;
    top:8px!important;
    bottom:78px!important;
    width:auto!important;
    max-height:none!important;
    height:auto!important;
    border-radius:20px!important;
  }
  .ai-floating-head{padding:9px 10px!important;min-height:52px!important;}
  .ai-avatar{width:32px!important;height:32px!important;border-radius:12px!important;}
  .ai-head-left strong{font-size:13px!important;}
  .ai-head-left span{font-size:10px!important;}
  .ai-head-actions .icon-btn{width:30px!important;height:30px!important;}
  .ai-floating-context{padding:6px 8px!important;max-height:36px!important;}
  .ai-context-chip{display:none!important;}
  .ai-agent-strip{width:100%!important;}
  .ai-agent-chip{padding:5px 8px!important;min-height:26px!important;}
  .ai-agent-chip strong{font-size:10px!important;}
  .ai-floating-chat{min-height:0!important;flex:1 1 auto!important;padding:9px!important;}
  .ai-welcome-card{padding:11px 12px!important;}
  .ai-welcome-card p{font-size:12px!important;}
  .ai-floating-quick{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    max-height:42px!important;
    padding:6px 8px!important;
    gap:5px!important;
  }
  .ai-floating-quick .btn{min-height:30px!important;padding:5px 3px!important;font-size:10px!important;}
  .ai-floating-compose{grid-template-columns:minmax(0,1fr) 76px!important;padding:8px!important;}
  .ai-floating-compose textarea{min-height:40px!important;max-height:72px!important;}
  .ai-floating-compose .btn{min-height:40px!important;}
}
